@flosum/cli 0.0.0 → 0.0.1
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/cli.js +1 -1
- package/package.json +2 -4
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0_0x2b7e27=a0_0x3ffa;(function(_0x40576c,_0x4c85a4){const _0x213434=a0_0x3ffa,_0x2a41c5=_0x40576c();while(!![]){try{const _0x5f2d47=parseInt(_0x213434(0x1c2))/0x1+parseInt(_0x213434(0x1fa))/0x2*(-parseInt(_0x213434(0x195))/0x3)+parseInt(_0x213434(0x186))/0x4+-parseInt(_0x213434(0x19e))/0x5*(parseInt(_0x213434(0x200))/0x6)+parseInt(_0x213434(0x15d))/0x7+parseInt(_0x213434(0x1e9))/0x8*(-parseInt(_0x213434(0x19d))/0x9)+parseInt(_0x213434(0x276))/0xa;if(_0x5f2d47===_0x4c85a4)break;else _0x2a41c5['push'](_0x2a41c5['shift']());}catch(_0x1f649a){_0x2a41c5['push'](_0x2a41c5['shift']());}}}(a0_0x218d,0x73e70));const a0_0x334fcc=(function(){let _0x19f986=!![];return function(_0x4d2e3a,_0x55a3d7){const _0x1ada5c=_0x19f986?function(){const _0x9a6b84=a0_0x3ffa;if(_0x55a3d7){const _0x4628d4=_0x55a3d7[_0x9a6b84(0x148)](_0x4d2e3a,arguments);return _0x55a3d7=null,_0x4628d4;}}:function(){};return _0x19f986=![],_0x1ada5c;};}()),a0_0x242db2=a0_0x334fcc(this,function(){const _0x5b5b9b=a0_0x3ffa;return a0_0x242db2[_0x5b5b9b(0x2a3)]()['search'](_0x5b5b9b(0x171))['toString']()[_0x5b5b9b(0x268)](a0_0x242db2)['search'](_0x5b5b9b(0x171));});a0_0x242db2();'use strict';var node_path=require('node:path'),commander=require('commander'),promises=require(a0_0x2b7e27(0x185)),node_os=require(a0_0x2b7e27(0x20c)),axios=require(a0_0x2b7e27(0x15b)),salesforce=require(a0_0x2b7e27(0x1ee)),node_crypto=require(a0_0x2b7e27(0x135)),readline=require(a0_0x2b7e27(0x1c0)),debug=require(a0_0x2b7e27(0x1b1)),table=require(a0_0x2b7e27(0x15a)),path=require(a0_0x2b7e27(0x1be)),version=a0_0x2b7e27(0x1cf),config={'version':version};const ROOT_NAME='flosum',DEFAULT_ALIAS_NAME='default';class FileUtils{static async[a0_0x2b7e27(0x183)](_0x5c2c84){const _0x547679=a0_0x2b7e27,_0xa782e=await promises[_0x547679(0x234)](_0x5c2c84,{'withFileTypes':!![]}),_0x4d2b6a=[];for(const _0x41d047 of _0xa782e){const _0x3cd07e=node_path['join'](_0x5c2c84,_0x41d047[_0x547679(0x27d)]);if(_0x41d047[_0x547679(0x229)]()){const _0x2ea902=await FileUtils[_0x547679(0x183)](_0x3cd07e);_0x4d2b6a['push'](_0x2ea902);continue;}_0x4d2b6a[_0x547679(0x213)](_0x3cd07e);}return _0x4d2b6a[_0x547679(0x1e6)]();}static async[a0_0x2b7e27(0x237)](_0x3f82d3,_0x10295d=!![]){const _0x5e8fb2=a0_0x2b7e27,_0x221884=await promises[_0x5e8fb2(0x234)](_0x3f82d3,{'withFileTypes':!![]});let _0x1a0e8b=!![];for(const _0x1eb2f5 of _0x221884){const _0x594676=node_path[_0x5e8fb2(0x1fe)](_0x3f82d3,_0x1eb2f5[_0x5e8fb2(0x27d)]);if(_0x1eb2f5[_0x5e8fb2(0x229)]()){const _0x367ec5=await FileUtils[_0x5e8fb2(0x237)](_0x594676);!_0x367ec5&&(_0x1a0e8b=![]);}else _0x1a0e8b=![];}return _0x10295d&&_0x1a0e8b&&await promises[_0x5e8fb2(0x184)](_0x3f82d3),_0x1a0e8b;}static async[a0_0x2b7e27(0x1b8)](_0x29e6e7){const _0x568260=a0_0x2b7e27;return promises[_0x568260(0x191)](_0x29e6e7)[_0x568260(0x236)](async _0x5727b4=>{const _0x5f21aa=_0x568260;return await promises[_0x5f21aa(0x12d)](_0x29e6e7,promises[_0x5f21aa(0x28d)]['R_OK']|promises[_0x5f21aa(0x28d)][_0x5f21aa(0x13a)]),_0x5727b4['isDirectory']();})[_0x568260(0x1b3)](()=>![]);}static async[a0_0x2b7e27(0x1ed)](_0x4c6a66){const _0x493881=a0_0x2b7e27;return promises['stat'](_0x4c6a66)[_0x493881(0x236)](async _0x1359b8=>{const _0x24a48f=_0x493881;return await promises['access'](_0x4c6a66,promises[_0x24a48f(0x28d)][_0x24a48f(0x11b)]|promises['constants'][_0x24a48f(0x13a)]),_0x1359b8['isFile']();})['catch'](()=>![]);}}const SYSTEM_FOLDER$1='.'+ROOT_NAME,CREDENTIALS_FILE_NAME=a0_0x2b7e27(0x11c);class CredentialsManager{static async[a0_0x2b7e27(0x1e2)](_0x455e4a){const _0x44970f=a0_0x2b7e27,_0x3b35d5=node_path[_0x44970f(0x1fe)](node_os['homedir'](),SYSTEM_FOLDER$1);await promises[_0x44970f(0x287)](_0x3b35d5,{'recursive':!![]});const _0x2cb9b5=node_path[_0x44970f(0x1fe)](_0x3b35d5,CREDENTIALS_FILE_NAME),_0x5e2c4=await CredentialsManager['getAllCredentials'](_0x2cb9b5),_0x5cf6a5=_0x5e2c4[_0x44970f(0x1af)](({alias:_0x3e4787})=>_0x3e4787===_0x455e4a[_0x44970f(0x224)]);!_0x5cf6a5?_0x5e2c4['push'](_0x455e4a):(_0x5cf6a5[_0x44970f(0x17f)]=_0x455e4a[_0x44970f(0x17f)],_0x5cf6a5[_0x44970f(0x18d)]=_0x455e4a['globalSettingsUrl'],_0x5cf6a5[_0x44970f(0x1d2)]=_0x455e4a['devopsUrl']),await promises[_0x44970f(0x17c)](_0x2cb9b5,Buffer[_0x44970f(0x243)](JSON['stringify'](_0x5e2c4)));}static async['get']({alias:_0x298956}){const _0x3c6514=a0_0x2b7e27,_0x2f29f8=node_path[_0x3c6514(0x1fe)](node_os['homedir'](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x352fdf=await CredentialsManager[_0x3c6514(0x157)](_0x2f29f8),_0x1aa1b4=_0x352fdf[_0x3c6514(0x1af)](_0xae2e52=>_0xae2e52[_0x3c6514(0x224)]===_0x298956);if(!_0x1aa1b4)throw new Error(_0x3c6514(0x130)+_0x298956+_0x3c6514(0x133));return _0x1aa1b4;}static async[a0_0x2b7e27(0x20f)](){const _0x45fa4e=a0_0x2b7e27,_0x1f63af=node_path['join'](node_os['homedir'](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x58f578=await CredentialsManager[_0x45fa4e(0x157)](_0x1f63af);return _0x58f578;}static async['getAllCredentials'](_0x25337b){const _0x184348=a0_0x2b7e27,_0x18eada=await FileUtils[_0x184348(0x1ed)](_0x25337b);if(_0x18eada){const _0x10b6f8=await promises[_0x184348(0x14b)](_0x25337b);return JSON[_0x184348(0x10f)](_0x10b6f8[_0x184348(0x2a3)]());}return[];}static async[a0_0x2b7e27(0x13c)]({alias:_0x835f6e}){const _0x3f70ea=a0_0x2b7e27,_0x2d52b1=node_path[_0x3f70ea(0x1fe)](node_os[_0x3f70ea(0x1c8)](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x1ab291=await CredentialsManager[_0x3f70ea(0x157)](_0x2d52b1),_0x463811=_0x1ab291[_0x3f70ea(0x272)](_0x93c3cb=>_0x93c3cb[_0x3f70ea(0x224)]===_0x835f6e);if(_0x463811<0x0)throw new Error(_0x3f70ea(0x130)+_0x835f6e+_0x3f70ea(0x133));_0x1ab291[_0x3f70ea(0x1e4)](_0x463811,0x1),await promises[_0x3f70ea(0x17c)](_0x2d52b1,Buffer['from'](JSON[_0x3f70ea(0x1bf)](_0x1ab291)));}}class CommitAction{[a0_0x2b7e27(0x17f)];[a0_0x2b7e27(0x1d2)];[a0_0x2b7e27(0x20a)];['branchId'];[a0_0x2b7e27(0x16a)];[a0_0x2b7e27(0x13f)];[a0_0x2b7e27(0x16b)]=new Date();constructor(_0x47f69f){const _0x457766=a0_0x2b7e27;this[_0x457766(0x17f)]=_0x47f69f[_0x457766(0x17f)],this[_0x457766(0x1d2)]=_0x47f69f[_0x457766(0x1d2)],this[_0x457766(0x20a)]=_0x47f69f[_0x457766(0x20a)],this[_0x457766(0x22e)]=_0x47f69f[_0x457766(0x22e)],this[_0x457766(0x16a)]=_0x47f69f['components'],this[_0x457766(0x13f)]=_0x47f69f[_0x457766(0x13f)];}async[a0_0x2b7e27(0x1ea)](){const _0x4d1dca=a0_0x2b7e27;try{const _0x454a95=await Promise[_0x4d1dca(0x286)](this[_0x4d1dca(0x16a)][_0x4d1dca(0x257)](async _0x482496=>await this[_0x4d1dca(0x187)](_0x482496))),{data:_0x2e2f48}=await axios['post']('fit/branches/'+this[_0x4d1dca(0x22e)]+'/commits',{'message':this['message'],'components':_0x454a95},{'headers':{'authorization':'Token\x20'+this[_0x4d1dca(0x17f)]},'baseURL':this[_0x4d1dca(0x1d2)]});return _0x2e2f48;}catch(_0x1f2037){if(axios[_0x4d1dca(0x20b)](_0x1f2037))throw Error(_0x1f2037[_0x4d1dca(0x123)]?.['data']['message']||_0x1f2037[_0x4d1dca(0x123)]?.[_0x4d1dca(0x16e)]||_0x1f2037['message'],{'cause':_0x1f2037});throw _0x1f2037;}}async['convertToCommit'](_0x36b634){const _0xe4aa69=a0_0x2b7e27,_0x1e542a=[];for(const {path:_0x2800b7,localPath:_0x5795bf}of _0x36b634[_0xe4aa69(0x165)]){_0x1e542a[_0xe4aa69(0x213)](promises[_0xe4aa69(0x14b)](_0x5795bf)[_0xe4aa69(0x236)](_0x9edd26=>({'path':_0x2800b7,'content':_0x9edd26[_0xe4aa69(0x2a3)](_0xe4aa69(0x26a))})));}const _0x3cd998=await Promise['all'](_0x1e542a);return{'name':_0x36b634[_0xe4aa69(0x27d)],'type':_0x36b634['type'],'sourceName':_0xe4aa69(0x29a),'sourceType':_0xe4aa69(0x29a),'externalUpdatedAt':this[_0xe4aa69(0x16b)],'externalUpdatedBy':this[_0xe4aa69(0x13f)],'files':_0x3cd998};}}class CreateBranchAction{['accessToken'];[a0_0x2b7e27(0x1d2)];constructor(_0x550ab5){const _0x2f7c13=a0_0x2b7e27;this[_0x2f7c13(0x17f)]=_0x550ab5['accessToken'],this[_0x2f7c13(0x1d2)]=_0x550ab5[_0x2f7c13(0x1d2)];}async[a0_0x2b7e27(0x1ea)](_0x457660){const _0xb1a68e=a0_0x2b7e27;try{const {data:_0x4d3cba}=await axios[_0xb1a68e(0x27f)](_0xb1a68e(0x1ac),{..._0x457660},{'headers':{'authorization':_0xb1a68e(0x209)+this[_0xb1a68e(0x17f)]},'baseURL':this[_0xb1a68e(0x1d2)]});return _0x4d3cba;}catch(_0x3d638c){if(axios[_0xb1a68e(0x20b)](_0x3d638c))throw Error(_0x3d638c[_0xb1a68e(0x123)]?.[_0xb1a68e(0x179)]['message']||_0x3d638c[_0xb1a68e(0x123)]?.[_0xb1a68e(0x16e)]||_0x3d638c[_0xb1a68e(0x20a)],{'cause':_0x3d638c});throw _0x3d638c;}}}class GetBranchAction{['accessToken'];[a0_0x2b7e27(0x1d2)];constructor(_0x1ccfe6){const _0xcd8b2f=a0_0x2b7e27;this[_0xcd8b2f(0x17f)]=_0x1ccfe6['accessToken'],this[_0xcd8b2f(0x1d2)]=_0x1ccfe6['devopsUrl'];}async[a0_0x2b7e27(0x1ea)](_0x228394){const _0x2fc5a0=a0_0x2b7e27;try{const {data:_0x33c43a}=await axios[_0x2fc5a0(0x14d)](_0x2fc5a0(0x23d)+_0x228394[_0x2fc5a0(0x22e)],{'headers':{'authorization':_0x2fc5a0(0x209)+this[_0x2fc5a0(0x17f)]},'baseURL':this[_0x2fc5a0(0x1d2)]});return _0x33c43a;}catch(_0x5e90d6){if(axios[_0x2fc5a0(0x20b)](_0x5e90d6))throw Error(_0x5e90d6[_0x2fc5a0(0x123)]?.[_0x2fc5a0(0x179)]['message']||_0x5e90d6[_0x2fc5a0(0x123)]?.[_0x2fc5a0(0x16e)]||_0x5e90d6['message'],{'cause':_0x5e90d6});throw _0x5e90d6;}}}class GetDefaultBranchAction{['devopsUrl'];[a0_0x2b7e27(0x17f)];constructor(_0x56bd00){const _0x1c857b=a0_0x2b7e27;this[_0x1c857b(0x1d2)]=_0x56bd00[_0x1c857b(0x1d2)],this[_0x1c857b(0x17f)]=_0x56bd00['accessToken'];}async[a0_0x2b7e27(0x1ea)](){const _0x2bd09d=a0_0x2b7e27;try{const {data:_0x1e9c45}=await axios[_0x2bd09d(0x14d)](_0x2bd09d(0x188),{'headers':{'authorization':_0x2bd09d(0x209)+this[_0x2bd09d(0x17f)]},'baseURL':this[_0x2bd09d(0x1d2)]});return _0x1e9c45;}catch(_0x423afa){if(axios[_0x2bd09d(0x20b)](_0x423afa))throw Error(_0x423afa[_0x2bd09d(0x123)]?.[_0x2bd09d(0x179)][_0x2bd09d(0x20a)]||_0x423afa[_0x2bd09d(0x123)]?.[_0x2bd09d(0x16e)]||_0x423afa[_0x2bd09d(0x20a)],{'cause':_0x423afa});throw _0x423afa;}}}class GetMeAction{[a0_0x2b7e27(0x17f)];[a0_0x2b7e27(0x1d2)];constructor(_0x5074ee){const _0x380e4d=a0_0x2b7e27;this[_0x380e4d(0x17f)]=_0x5074ee[_0x380e4d(0x17f)],this[_0x380e4d(0x1d2)]=_0x5074ee['devopsUrl'];}async[a0_0x2b7e27(0x1ea)](){const _0x355229=a0_0x2b7e27;try{const {data:_0x57a9cd}=await axios[_0x355229(0x14d)](_0x355229(0x23f),{'headers':{'authorization':_0x355229(0x209)+this[_0x355229(0x17f)]},'baseURL':this[_0x355229(0x1d2)]});return _0x57a9cd;}catch(_0x3a1e79){if(axios[_0x355229(0x20b)](_0x3a1e79))throw Error(_0x3a1e79['response']?.['data'][_0x355229(0x20a)]||_0x3a1e79['response']?.[_0x355229(0x16e)]||_0x3a1e79[_0x355229(0x20a)],{'cause':_0x3a1e79});throw _0x3a1e79;}}}class ListBranchesAction{[a0_0x2b7e27(0x1d2)];[a0_0x2b7e27(0x17f)];[a0_0x2b7e27(0x1c5)];constructor(_0x314242){const _0x113cea=a0_0x2b7e27;this['devopsUrl']=_0x314242[_0x113cea(0x1d2)],this[_0x113cea(0x17f)]=_0x314242[_0x113cea(0x17f)],this[_0x113cea(0x1c5)]=_0x314242['search'];}async['execute'](){const _0x1b1b3d=a0_0x2b7e27;try{const _0x245022=[];let _0x1a09aa=0x0,_0x176dd5=0x0;do{const {data:_0x487fca}=await axios[_0x1b1b3d(0x14d)](_0x1b1b3d(0x1ac),{'headers':{'authorization':_0x1b1b3d(0x209)+this['accessToken']},'params':{'search':this[_0x1b1b3d(0x1c5)],'offset':_0x1a09aa,'limit':0x64},'baseURL':this[_0x1b1b3d(0x1d2)]});_0x245022[_0x1b1b3d(0x213)](..._0x487fca[_0x1b1b3d(0x1fc)]),_0x1a09aa+=_0x487fca['rows'][_0x1b1b3d(0x1ba)],_0x176dd5=_0x487fca[_0x1b1b3d(0x247)];}while(_0x1a09aa<_0x176dd5);return _0x245022;}catch(_0x3da3b0){if(axios[_0x1b1b3d(0x20b)](_0x3da3b0))throw Error(_0x3da3b0[_0x1b1b3d(0x123)]?.[_0x1b1b3d(0x179)]['message']||_0x3da3b0[_0x1b1b3d(0x123)]?.[_0x1b1b3d(0x16e)]||_0x3da3b0[_0x1b1b3d(0x20a)],{'cause':_0x3da3b0});throw _0x3da3b0;}}}class ListComponentsAction{[a0_0x2b7e27(0x1d2)];['accessToken'];[a0_0x2b7e27(0x22e)];['commitId'];['indexes'];constructor(_0x3879d9){const _0x35bf22=a0_0x2b7e27;this['devopsUrl']=_0x3879d9[_0x35bf22(0x1d2)],this[_0x35bf22(0x17f)]=_0x3879d9[_0x35bf22(0x17f)],this[_0x35bf22(0x22e)]=_0x3879d9[_0x35bf22(0x22e)],this['commitId']=_0x3879d9['commitId'],_0x3879d9['components']&&(this[_0x35bf22(0x1a7)]=new Set(_0x3879d9[_0x35bf22(0x16a)][_0x35bf22(0x257)](({name:_0x523406,type:_0x32ae59})=>_0x32ae59+'_'+_0x523406)));}async*[a0_0x2b7e27(0x1ea)](){const _0x3425e1=a0_0x2b7e27;try{let _0x3e1f62=0x0,_0x1cdc6c=0x0;do{const {data:_0x2e4a50}=await axios[_0x3425e1(0x14d)](_0x3425e1(0x23d)+this[_0x3425e1(0x22e)]+'/commits/'+this[_0x3425e1(0x212)]+_0x3425e1(0x161),{'headers':{'authorization':'Token\x20'+this[_0x3425e1(0x17f)]},'params':{'offset':_0x3e1f62,'limit':0x64},'baseURL':this[_0x3425e1(0x1d2)]});_0x3e1f62+=_0x2e4a50[_0x3425e1(0x1fc)][_0x3425e1(0x1ba)],_0x1cdc6c=_0x2e4a50[_0x3425e1(0x1c6)];let _0x3c726c=_0x2e4a50[_0x3425e1(0x1fc)];this['indexes']&&(_0x3c726c=_0x2e4a50[_0x3425e1(0x1fc)][_0x3425e1(0x17b)](({name:_0x3dd52d,type:_0x23062f})=>this['indexes']?.[_0x3425e1(0x1e8)](_0x23062f+'_'+_0x3dd52d))),yield*_0x3c726c;}while(_0x3e1f62<_0x1cdc6c);}catch(_0x34a160){if(axios[_0x3425e1(0x20b)](_0x34a160))throw Error(_0x34a160[_0x3425e1(0x123)]?.[_0x3425e1(0x179)][_0x3425e1(0x20a)]||_0x34a160['response']?.[_0x3425e1(0x16e)]||_0x34a160[_0x3425e1(0x20a)],{'cause':_0x34a160});throw _0x34a160;}}}class RetrieveComponentAction{[a0_0x2b7e27(0x1d2)];[a0_0x2b7e27(0x17f)];constructor(_0x2d7644){const _0x2cf158=a0_0x2b7e27;this['devopsUrl']=_0x2d7644['devopsUrl'],this[_0x2cf158(0x17f)]=_0x2d7644[_0x2cf158(0x17f)];}async[a0_0x2b7e27(0x1ea)](_0xf0a55d){const _0x5b337a=a0_0x2b7e27;try{const {data:{id:_0x35f4f1,name:_0x35631a,type:_0x4b6432,fHash:_0x292f2a,files:_0x26ad7e}}=await axios[_0x5b337a(0x14d)](_0x5b337a(0x118)+_0xf0a55d,{'headers':{'authorization':_0x5b337a(0x209)+this[_0x5b337a(0x17f)]},'baseURL':this[_0x5b337a(0x1d2)]}),_0x32611a=_0x26ad7e['map'](_0x293460=>({'path':_0x293460[_0x5b337a(0x1be)],'content':Buffer['from'](_0x293460[_0x5b337a(0x290)],_0x5b337a(0x26a))[_0x5b337a(0x2a3)](_0x5b337a(0x121))}));return{'id':_0x35f4f1,'name':_0x35631a,'type':_0x4b6432,'fHash':_0x292f2a,'files':_0x32611a};}catch(_0x311297){if(axios[_0x5b337a(0x20b)](_0x311297))throw Error(_0x311297['response']?.[_0x5b337a(0x179)][_0x5b337a(0x20a)]||_0x311297[_0x5b337a(0x123)]?.[_0x5b337a(0x16e)]||_0x311297[_0x5b337a(0x20a)],{'cause':_0x311297});throw _0x311297;}}}const RETRIEVE_COMPONENT_CHUNK_SIZE=0xa;class ApiService{static async[a0_0x2b7e27(0x28a)](_0x1d4b61){const _0x4943ff=a0_0x2b7e27,_0x3d4c3f=new ListBranchesAction(_0x1d4b61);return _0x3d4c3f[_0x4943ff(0x1ea)]();}static async['getDefaultBranch'](_0x46f4a2){const _0x5eb052=a0_0x2b7e27,_0x45714f=new GetDefaultBranchAction(_0x46f4a2);return _0x45714f[_0x5eb052(0x1ea)]();}static async[a0_0x2b7e27(0x253)](_0x2ba1f4){const _0x235951=a0_0x2b7e27,_0xd0cdbb=await ApiService[_0x235951(0x28a)]({'devopsUrl':_0x2ba1f4[_0x235951(0x1d2)],'accessToken':_0x2ba1f4[_0x235951(0x17f)],'search':_0x2ba1f4['branchName']});return _0xd0cdbb[_0x235951(0x1af)](({name:_0xc45436})=>_0xc45436===_0x2ba1f4[_0x235951(0x1d9)])||null;}static async[a0_0x2b7e27(0x12f)](_0x102d9e){const _0x267d25=a0_0x2b7e27,_0x13c723=new GetBranchAction({'accessToken':_0x102d9e[_0x267d25(0x17f)],'devopsUrl':_0x102d9e[_0x267d25(0x1d2)]});return _0x13c723[_0x267d25(0x1ea)]({'branchId':_0x102d9e[_0x267d25(0x22e)]});}static[a0_0x2b7e27(0x27c)](_0x4639a9){const _0x1ca42e=a0_0x2b7e27,_0x526de9=new ListComponentsAction(_0x4639a9);return _0x526de9[_0x1ca42e(0x1ea)]();}static async['listComponents'](_0x57fc8d){const _0x27adee=a0_0x2b7e27,_0x3acdb3=[];for await(const _0x41d759 of ApiService[_0x27adee(0x27c)](_0x57fc8d)){_0x3acdb3['push'](_0x41d759);}return _0x3acdb3;}static async*[a0_0x2b7e27(0x241)](_0x48d239){const _0xf2256a=a0_0x2b7e27,_0x472111=new RetrieveComponentAction({'devopsUrl':_0x48d239[_0xf2256a(0x1d2)],'accessToken':_0x48d239[_0xf2256a(0x17f)]});let _0x3c0273=[];for await(const _0x93e774 of ApiService[_0xf2256a(0x27c)]({'devopsUrl':_0x48d239[_0xf2256a(0x1d2)],'accessToken':_0x48d239[_0xf2256a(0x17f)],'branchId':_0x48d239[_0xf2256a(0x22e)],'commitId':_0x48d239['commitId'],'components':_0x48d239[_0xf2256a(0x16a)]})){_0x3c0273[_0xf2256a(0x213)](_0x472111[_0xf2256a(0x1ea)](_0x93e774['id'])),_0x3c0273[_0xf2256a(0x1ba)]>=RETRIEVE_COMPONENT_CHUNK_SIZE&&(yield*await Promise[_0xf2256a(0x286)](_0x3c0273),_0x3c0273=[]);}_0x3c0273['length']&&(yield*await Promise[_0xf2256a(0x286)](_0x3c0273));}static async[a0_0x2b7e27(0x206)]({devopsUrl:_0x14555e,accessToken:_0x242c43,componentId:_0x21e24e}){const _0x28c916=a0_0x2b7e27,_0x20aabd=new RetrieveComponentAction({'devopsUrl':_0x14555e,'accessToken':_0x242c43});return _0x20aabd[_0x28c916(0x1ea)](_0x21e24e);}static async['getCredentials'](_0x1f3e09){const _0xff4a56=a0_0x2b7e27,{accessToken:_0x136841,devopsUrl:_0x46e959}=await CredentialsManager[_0xff4a56(0x14d)]({'alias':_0x1f3e09});if(!_0x46e959)throw new Error(_0xff4a56(0x293));return{'accessToken':_0x136841,'devopsUrl':_0x46e959};}static async[a0_0x2b7e27(0x113)](_0x50c2e9){const _0x95f69a=a0_0x2b7e27,_0x3758d8=new GetMeAction(_0x50c2e9);return _0x3758d8[_0x95f69a(0x1ea)]();}static async['commit'](_0x314742){const _0x180dc4=new CommitAction(_0x314742);await _0x180dc4['execute']();}static async[a0_0x2b7e27(0x14a)](_0xa42664){const _0x3e78d0=a0_0x2b7e27,_0x38fabd=new CreateBranchAction({'accessToken':_0xa42664[_0x3e78d0(0x17f)],'devopsUrl':_0xa42664[_0x3e78d0(0x1d2)]});return _0x38fabd[_0x3e78d0(0x1ea)]({'name':_0xa42664['name'],'parentId':_0xa42664[_0x3e78d0(0x1dc)]});}}var ConfigName=(_0x5a3af6=>{const _0x3fbf9a=a0_0x2b7e27;return _0x5a3af6[_0x3fbf9a(0x28c)]=_0x3fbf9a(0x1e0),_0x5a3af6;})(ConfigName||{}),ChangeType=(_0x154cce=>{const _0x40ef7d=a0_0x2b7e27;return _0x154cce[_0x40ef7d(0x277)]=_0x40ef7d(0x19a),_0x154cce[_0x40ef7d(0x20e)]=_0x40ef7d(0x1c4),_0x154cce[_0x40ef7d(0x169)]='Delete',_0x154cce;})(ChangeType||{});class CompareWithRemoteBranchAction{[a0_0x2b7e27(0x1d2)];['accessToken'];[a0_0x2b7e27(0x218)];[a0_0x2b7e27(0x23b)];[a0_0x2b7e27(0x1ae)];constructor(_0x58753a){const _0x51fdfd=a0_0x2b7e27;this['devopsUrl']=_0x58753a[_0x51fdfd(0x1d2)],this[_0x51fdfd(0x17f)]=_0x58753a[_0x51fdfd(0x17f)],this[_0x51fdfd(0x218)]=_0x58753a[_0x51fdfd(0x218)],this[_0x51fdfd(0x23b)]=_0x58753a[_0x51fdfd(0x23b)],this[_0x51fdfd(0x1ae)]=_0x58753a['stage'];}async['execute'](){const _0x3ce10c=a0_0x2b7e27,_0xdbe287=await ApiService['listComponents']({'devopsUrl':this[_0x3ce10c(0x1d2)],'accessToken':this[_0x3ce10c(0x17f)],'branchId':this[_0x3ce10c(0x218)],'commitId':this[_0x3ce10c(0x23b)]}),_0x1e4a83=new Map(_0xdbe287[_0x3ce10c(0x257)](_0x386491=>[_0x386491[_0x3ce10c(0x1fb)]+'_'+_0x386491[_0x3ce10c(0x27d)],_0x386491])),_0x6f0d9e=[];for(const _0x2fcf7e of this[_0x3ce10c(0x207)](_0x1e4a83)){_0x6f0d9e[_0x3ce10c(0x213)](_0x2fcf7e),_0x1e4a83[_0x3ce10c(0x13c)](_0x2fcf7e['type']+'_'+_0x2fcf7e[_0x3ce10c(0x27d)]);}for(const [_0x2d1a50,_0x2c2511]of _0x1e4a83[_0x3ce10c(0x110)]()){const _0xdf8c3a=this['stage'][_0x3ce10c(0x1bd)]['get'](_0x2d1a50);!_0xdf8c3a&&_0x6f0d9e[_0x3ce10c(0x213)]({'id':_0x2c2511['id'],'name':_0x2c2511['name'],'type':_0x2c2511[_0x3ce10c(0x1fb)],'fHash':_0x2c2511[_0x3ce10c(0x275)],'changeType':ChangeType['CREATE']});}return _0x6f0d9e;}*[a0_0x2b7e27(0x207)](_0x2a4484){const _0x14b44b=a0_0x2b7e27;for(const [_0x35e910,_0x568df2]of this[_0x14b44b(0x1ae)][_0x14b44b(0x1bd)][_0x14b44b(0x110)]()){const _0x3c64cf=_0x2a4484[_0x14b44b(0x14d)](_0x35e910);!_0x3c64cf&&(yield{'name':_0x568df2[_0x14b44b(0x27d)],'type':_0x568df2[_0x14b44b(0x1fb)],'changeType':ChangeType[_0x14b44b(0x169)]}),_0x3c64cf&&_0x3c64cf[_0x14b44b(0x275)]!==_0x568df2[_0x14b44b(0x275)]&&(yield{'id':_0x3c64cf['id'],'name':_0x3c64cf['name'],'type':_0x3c64cf[_0x14b44b(0x1fb)],'fHash':_0x3c64cf[_0x14b44b(0x275)],'changeType':ChangeType[_0x14b44b(0x20e)]});}}}class ConfigSetAction{[a0_0x2b7e27(0x1ae)];constructor({stage:_0x23acfe}){const _0x4aec68=a0_0x2b7e27;this[_0x4aec68(0x1ae)]=_0x23acfe;}async[a0_0x2b7e27(0x1ea)]({name:_0x3b2c0a,value:_0x2d1843}){const _0x37a435=a0_0x2b7e27;switch(_0x3b2c0a){case ConfigName[_0x37a435(0x28c)]:await CredentialsManager['get']({'alias':_0x2d1843}),this[_0x37a435(0x1ae)][_0x37a435(0x150)](_0x3b2c0a,_0x2d1843);break;default:throw new Error(_0x37a435(0x124)+_0x3b2c0a);}}}class FindChangesAction{[a0_0x2b7e27(0x1ae)];constructor(_0xfe7bec){const _0x11a5c9=a0_0x2b7e27;this[_0x11a5c9(0x1ae)]=_0xfe7bec[_0x11a5c9(0x1ae)];}async[a0_0x2b7e27(0x1ea)](){const _0xcb653f=a0_0x2b7e27,_0x2370a7=new Map(this[_0xcb653f(0x1ae)][_0xcb653f(0x1bd)]),_0xc1bd6b=[];for await(const {componentName:_0x3c9d38,componentType:_0x285143,filePaths:_0x5c5655}of salesforce[_0xcb653f(0x1a3)][_0xcb653f(0x16f)](this[_0xcb653f(0x1ae)][_0xcb653f(0x279)])){const _0x46e258=_0x285143+'_'+_0x3c9d38,_0x2f60e0=_0x2370a7[_0xcb653f(0x14d)](_0x46e258),_0x388a16=_0x5c5655[_0xcb653f(0x257)](_0x15c055=>_0x15c055[_0xcb653f(0x1c3)](this[_0xcb653f(0x1ae)]['projectPath']+'/',''));if(!_0x2f60e0){_0xc1bd6b[_0xcb653f(0x213)]({'type':_0x285143,'name':_0x3c9d38,'changes':_0x388a16[_0xcb653f(0x257)](_0x34163e=>({'path':_0x34163e,'changeType':ChangeType[_0xcb653f(0x277)]}))});continue;}_0x2370a7['delete'](_0x46e258);const _0x3a9515=await this['getUpdatedComponentChanges'](_0x388a16,_0x2f60e0[_0xcb653f(0x29f)]);_0x3a9515[_0xcb653f(0x1ba)]&&_0xc1bd6b[_0xcb653f(0x213)]({'type':_0x285143,'name':_0x3c9d38,'changes':_0x3a9515});}for(const [,_0x511436]of _0x2370a7[_0xcb653f(0x110)]()){_0xc1bd6b[_0xcb653f(0x213)]({'type':_0x511436['type'],'name':_0x511436[_0xcb653f(0x27d)],'changes':_0x511436[_0xcb653f(0x29f)][_0xcb653f(0x257)](_0x4888d4=>({'path':_0x4888d4,'changeType':ChangeType[_0xcb653f(0x169)]}))});}return _0xc1bd6b;}async[a0_0x2b7e27(0x1df)](_0x342da9,_0x42690f){const _0x21b317=a0_0x2b7e27,{lastStageTimestamp:_0x2d820e}=this[_0x21b317(0x1ae)][_0x21b317(0x116)],_0xc5533a=[];for(const _0x52f09d of _0x342da9){const _0x63e14a=_0x42690f['includes'](_0x52f09d);if(!_0x63e14a){_0xc5533a['push']({'path':_0x52f09d,'changeType':ChangeType[_0x21b317(0x277)]});continue;}const {ctimeMs:_0x21a412,mtimeMs:_0x3c912a}=await promises[_0x21b317(0x191)](_0x52f09d);(!_0x2d820e||Math[_0x21b317(0x223)](_0x3c912a)>_0x2d820e||Math[_0x21b317(0x223)](_0x21a412)>_0x2d820e)&&_0xc5533a['push']({'path':_0x52f09d,'changeType':ChangeType['UPDATE']});}for(const _0x1fbcae of _0x42690f){const _0x2aca1c=!_0x342da9[_0x21b317(0x285)](_0x1fbcae);_0x2aca1c&&_0xc5533a[_0x21b317(0x213)]({'path':_0x1fbcae,'changeType':ChangeType[_0x21b317(0x169)]});}return _0xc5533a;}}const STAGE_FOLDER_NAME='.stage',SYSTEM_FOLDER='.'+ROOT_NAME,CONFIG_FILE_NAME='config.json',BRANCH_STATE_FILE_NAME=a0_0x2b7e27(0x235),COMPONENTS_STATE_FILE_NAME=a0_0x2b7e27(0x22f),COMPONENT_PROJECT_PATH=node_path['join'](a0_0x2b7e27(0x134),a0_0x2b7e27(0x131),'default'),SFDX_PROJECT_FILE_NAME='sfdx-project.json',INITIAL_BRANCH_STATE={'id':null,'name':null,'headCommitId':null,'lastStageTimestamp':null},INITIAL_CONFIG={'credentialsAlias':null};function a0_0x3ffa(_0x24ca48,_0x4de200){const _0x40fdb5=a0_0x218d();return a0_0x3ffa=function(_0x242db2,_0x334fcc){_0x242db2=_0x242db2-0x10e;let _0x218d1d=_0x40fdb5[_0x242db2];return _0x218d1d;},a0_0x3ffa(_0x24ca48,_0x4de200);}class InitProjectAction{['stage'];['config'];constructor({stage:_0x47b7b7,config:_0x1714e7}){const _0x2ef128=a0_0x2b7e27;this[_0x2ef128(0x1ae)]=_0x47b7b7,this[_0x2ef128(0x182)]=_0x1714e7;}async[a0_0x2b7e27(0x1ea)](){const _0x3966c0=a0_0x2b7e27,_0x4725f8=new salesforce['CreateProjectSfCommand']({'cwd':node_path['dirname'](this[_0x3966c0(0x1ae)][_0x3966c0(0x14c)]),'projectName':node_path[_0x3966c0(0x27a)](this[_0x3966c0(0x1ae)][_0x3966c0(0x14c)])});await _0x4725f8[_0x3966c0(0x280)]();const _0x1ae17d=await FileUtils['getFolderFilePaths'](this[_0x3966c0(0x1ae)][_0x3966c0(0x14c)]);for(const _0x18a1b9 of _0x1ae17d){const _0x4771fa=_0x18a1b9['split'](STAGE_FOLDER_NAME)[0x1];this[_0x3966c0(0x1ae)][_0x3966c0(0x282)]({'path':_0x4771fa,'changeType':ChangeType['CREATE']});}if(this[_0x3966c0(0x182)])for(const _0x2765c4 of Object[_0x3966c0(0x1d4)](ConfigName)){this['stage'][_0x3966c0(0x150)](_0x2765c4,this['config'][_0x2765c4]);}}}class SaveComponentAction{[a0_0x2b7e27(0x1ae)];constructor(_0x29be46){const _0x46d9df=a0_0x2b7e27;this[_0x46d9df(0x1ae)]=_0x29be46[_0x46d9df(0x1ae)];}async['execute'](_0x2baa6f){const _0x388bcb=a0_0x2b7e27;switch(_0x2baa6f[_0x388bcb(0x291)]){case ChangeType[_0x388bcb(0x277)]:{if(!_0x2baa6f[_0x388bcb(0x115)])throw new Error(_0x388bcb(0x29d));await this['stage']['createComponent'](_0x2baa6f[_0x388bcb(0x115)]);break;}case ChangeType['UPDATE']:if(!_0x2baa6f[_0x388bcb(0x115)])throw new Error(_0x388bcb(0x1b5));await this[_0x388bcb(0x1ae)][_0x388bcb(0x21f)](_0x2baa6f[_0x388bcb(0x115)]);break;case ChangeType[_0x388bcb(0x169)]:await this['stage'][_0x388bcb(0x112)]({'name':_0x2baa6f[_0x388bcb(0x27d)],'type':_0x2baa6f['type']});break;}}}class UpdateComponentStateAction{[a0_0x2b7e27(0x1ae)];[a0_0x2b7e27(0x27d)];[a0_0x2b7e27(0x1fb)];[a0_0x2b7e27(0x199)];constructor(_0x26a49a){const _0x3ad382=a0_0x2b7e27;this[_0x3ad382(0x1ae)]=_0x26a49a[_0x3ad382(0x1ae)],this['name']=_0x26a49a['name'],this[_0x3ad382(0x1fb)]=_0x26a49a['type'],this[_0x3ad382(0x199)]=_0x26a49a['changes'];}async[a0_0x2b7e27(0x1ea)](){const _0x5aa4ec=a0_0x2b7e27,_0x38deaf=this['type']+'_'+this[_0x5aa4ec(0x27d)];let _0x14dfe4=this[_0x5aa4ec(0x1ae)][_0x5aa4ec(0x1bd)][_0x5aa4ec(0x14d)](_0x38deaf);!_0x14dfe4&&(_0x14dfe4={'name':this[_0x5aa4ec(0x27d)],'type':this[_0x5aa4ec(0x1fb)],'fHash':'','paths':[]},this['stage'][_0x5aa4ec(0x1bd)][_0x5aa4ec(0x1b7)](_0x38deaf,_0x14dfe4));let _0x3058c1;for(const _0x5dfaa6 of this[_0x5aa4ec(0x199)]){this['handleFileChange'](_0x14dfe4,_0x5dfaa6),_0x5dfaa6[_0x5aa4ec(0x291)]===ChangeType[_0x5aa4ec(0x277)]&&(_0x3058c1=ChangeType[_0x5aa4ec(0x277)]);}if(!_0x14dfe4[_0x5aa4ec(0x29f)][_0x5aa4ec(0x1ba)])return this[_0x5aa4ec(0x1ae)][_0x5aa4ec(0x1bd)][_0x5aa4ec(0x13c)](_0x38deaf),{'name':this[_0x5aa4ec(0x27d)],'type':this[_0x5aa4ec(0x1fb)],'changeType':ChangeType[_0x5aa4ec(0x169)]};return!_0x3058c1&&(_0x3058c1=ChangeType['UPDATE']),_0x14dfe4['fHash']=await this[_0x5aa4ec(0x249)](_0x14dfe4[_0x5aa4ec(0x29f)]),{..._0x14dfe4,'changeType':_0x3058c1};}[a0_0x2b7e27(0x21b)](_0x41416b,{path:_0x2702d2,changeType:_0x26d820}){const _0x4057ca=a0_0x2b7e27;if(_0x26d820===ChangeType[_0x4057ca(0x277)]){if(_0x41416b[_0x4057ca(0x29f)][_0x4057ca(0x285)](_0x2702d2))throw new Error(_0x4057ca(0x190)+_0x2702d2+_0x4057ca(0x154));_0x41416b[_0x4057ca(0x29f)][_0x4057ca(0x213)](_0x2702d2);}if(_0x26d820===ChangeType['DELETE']){const _0x3a8bfa=_0x41416b['paths'][_0x4057ca(0x215)](_0x2702d2);if(_0x3a8bfa<0x0)throw new Error('File\x20\x22'+_0x2702d2+_0x4057ca(0x133));_0x41416b[_0x4057ca(0x29f)]['splice'](_0x3a8bfa,0x1);}}async['calculateComponentHash'](_0x397ff3){const _0x2f1953=a0_0x2b7e27,_0x319771=node_crypto['createHash'](_0x2f1953(0x270));for(const _0x4dc509 of _0x397ff3){const _0x311dcc=await promises[_0x2f1953(0x14b)](node_path[_0x2f1953(0x1fe)](this[_0x2f1953(0x1ae)]['projectPath'],_0x4dc509),{'encoding':_0x2f1953(0x121)}),_0x877a5=_0x4dc509[_0x2f1953(0x284)](node_path[_0x2f1953(0x1f0)])['slice'](0x3)[_0x2f1953(0x1fe)]('/');_0x319771[_0x2f1953(0x1f4)](_0x877a5),_0x319771[_0x2f1953(0x1f4)](_0x311dcc);}const _0x87d4a4=_0x319771[_0x2f1953(0x189)](_0x2f1953(0x22c));return _0x87d4a4;}}class Stage{[a0_0x2b7e27(0x168)];['_stagePath'];[a0_0x2b7e27(0x182)];[a0_0x2b7e27(0x1ab)];['_componentsState'];['fileChanges']=[];get['projectPath'](){const _0x2b0d37=a0_0x2b7e27;return this[_0x2b0d37(0x168)];}get[a0_0x2b7e27(0x14c)](){const _0x1cc392=a0_0x2b7e27;return this[_0x1cc392(0x28f)];}get[a0_0x2b7e27(0x116)](){return this['_branchState'];}get[a0_0x2b7e27(0x1bd)](){return this['_componentsState'];}constructor(_0x52759f){const _0x344e3f=a0_0x2b7e27;this[_0x344e3f(0x168)]=_0x52759f['projectPath'],this[_0x344e3f(0x28f)]=_0x52759f['stagePath'],this[_0x344e3f(0x182)]=_0x52759f['config'],this[_0x344e3f(0x1ab)]=_0x52759f[_0x344e3f(0x116)],this['_componentsState']=_0x52759f['componentsState']?new Map(_0x52759f[_0x344e3f(0x1bd)][_0x344e3f(0x257)](_0x10201c=>[_0x10201c[_0x344e3f(0x1fb)]+'_'+_0x10201c[_0x344e3f(0x27d)],_0x10201c])):new Map();}[a0_0x2b7e27(0x150)](_0x311d2d,_0x359e3f){const _0xa7b88b=a0_0x2b7e27;this[_0xa7b88b(0x182)][_0x311d2d]=_0x359e3f;}['unsetConfig'](_0x58a9eb){this['config'][_0x58a9eb]=null;}[a0_0x2b7e27(0x166)](_0x26bdc3){const _0x81b9c6=a0_0x2b7e27;this[_0x81b9c6(0x116)]['id']=_0x26bdc3['id'],this['branchState'][_0x81b9c6(0x27d)]=_0x26bdc3[_0x81b9c6(0x27d)],this[_0x81b9c6(0x116)][_0x81b9c6(0x1eb)]=_0x26bdc3[_0x81b9c6(0x1eb)];}async[a0_0x2b7e27(0x1a6)](_0x4d028e){const _0x376106=a0_0x2b7e27,_0x3b1f67={'name':_0x4d028e[_0x376106(0x27d)],'type':_0x4d028e['type'],'fHash':_0x4d028e[_0x376106(0x275)],'paths':_0x4d028e[_0x376106(0x165)][_0x376106(0x257)](({path:_0xc777cc})=>node_path[_0x376106(0x1fe)](COMPONENT_PROJECT_PATH,_0xc777cc))};this[_0x376106(0x1ad)][_0x376106(0x1b7)](_0x4d028e['type']+'_'+_0x4d028e[_0x376106(0x27d)],_0x3b1f67);for(const {path:_0x32d15b,content:_0x365e15}of _0x4d028e[_0x376106(0x165)]){await this['addFileChange']({'path':node_path[_0x376106(0x1fe)](COMPONENT_PROJECT_PATH,_0x32d15b),'content':_0x365e15,'changeType':ChangeType[_0x376106(0x277)]});}}async[a0_0x2b7e27(0x21f)](_0x519eb3){const _0x596a50=a0_0x2b7e27,_0x1c9109=this[_0x596a50(0x1ad)]['get'](_0x519eb3[_0x596a50(0x1fb)]+'_'+_0x519eb3[_0x596a50(0x27d)]),_0x592c52=[];if(!_0x1c9109)throw new Error(_0x596a50(0x1a5)+_0x519eb3[_0x596a50(0x27d)]+'\x20of\x20type\x20'+_0x519eb3[_0x596a50(0x1fb)]+_0x596a50(0x292));for(const _0x15ea30 of _0x1c9109[_0x596a50(0x29f)]){await this[_0x596a50(0x1d0)]({'path':_0x15ea30,'changeType':ChangeType[_0x596a50(0x169)]});}for(const {path:_0x568f05,content:_0x3e5c08}of _0x519eb3[_0x596a50(0x165)]){const _0x7d3330=node_path[_0x596a50(0x1fe)](COMPONENT_PROJECT_PATH,_0x568f05);await this[_0x596a50(0x1d0)]({'path':_0x7d3330,'content':_0x3e5c08,'changeType':ChangeType[_0x596a50(0x277)]}),_0x592c52[_0x596a50(0x213)](_0x7d3330);}_0x1c9109[_0x596a50(0x275)]=_0x519eb3[_0x596a50(0x275)],_0x1c9109['paths']=_0x592c52;}async[a0_0x2b7e27(0x112)](_0x4c4301){const _0x361985=a0_0x2b7e27,_0x3f31f0=_0x4c4301[_0x361985(0x1fb)]+'_'+_0x4c4301['name'],_0x49b64d=this[_0x361985(0x1ad)][_0x361985(0x14d)](_0x3f31f0);if(!_0x49b64d)throw new Error(_0x361985(0x192)+_0x4c4301[_0x361985(0x27d)]+_0x361985(0x25b)+_0x4c4301[_0x361985(0x1fb)]+'\x20not\x20found');for(const _0x4c3d93 of _0x49b64d[_0x361985(0x29f)]){await this[_0x361985(0x1d0)]({'path':_0x4c3d93,'changeType':ChangeType[_0x361985(0x169)]});}this[_0x361985(0x1ad)]['delete'](_0x3f31f0);}async['addFileChange']({path:_0x341d31,content:_0x3b5bd3,changeType:_0x120c07}){const _0x24a4f1=a0_0x2b7e27;if(_0x120c07!==ChangeType['DELETE']){if(!_0x3b5bd3)throw new Error(_0x24a4f1(0x125));const _0xca30de=node_path[_0x24a4f1(0x1fe)](this['stagePath'],_0x341d31);await promises[_0x24a4f1(0x287)](node_path['dirname'](_0xca30de),{'recursive':!![]}),await promises['writeFile'](_0xca30de,_0x3b5bd3);}this[_0x24a4f1(0x1bb)]['push']({'path':_0x341d31,'changeType':_0x120c07});}async[a0_0x2b7e27(0x111)](_0x2d0df3){const _0x297c31=a0_0x2b7e27,_0x48f67d=new UpdateComponentStateAction({'stage':this,..._0x2d0df3});return _0x48f67d[_0x297c31(0x1ea)]();}async['changeFile'](){}[a0_0x2b7e27(0x282)]({path:_0x330d08,changeType:_0x3f0cb8}){const _0x13d961=a0_0x2b7e27;this[_0x13d961(0x1bb)][_0x13d961(0x213)]({'path':_0x330d08,'changeType':_0x3f0cb8});}async['apply'](){const _0x1b2062=a0_0x2b7e27,_0xca7994=await FileUtils[_0x1b2062(0x1b8)](this[_0x1b2062(0x14c)]);if(!_0xca7994)throw Error(_0x1b2062(0x25a));await this[_0x1b2062(0x1f8)](),await this[_0x1b2062(0x248)](),await promises['rm'](this['stagePath'],{'recursive':!![]});const _0x109d20=node_path[_0x1b2062(0x1fe)](this[_0x1b2062(0x168)],COMPONENT_PROJECT_PATH),_0x4189fa=await FileUtils[_0x1b2062(0x1b8)](_0x109d20);_0x4189fa?await FileUtils[_0x1b2062(0x237)](_0x109d20,![]):await promises[_0x1b2062(0x287)](_0x109d20,{'recursive':!![]});}async[a0_0x2b7e27(0x1b0)](){const _0x2dee44=a0_0x2b7e27;await promises['rm'](this[_0x2dee44(0x14c)],{'recursive':!![],'force':!![]});}async[a0_0x2b7e27(0x1f8)](){const _0x47ac27=a0_0x2b7e27;for(const {path:_0x470911,changeType:_0x34c77b}of this['fileChanges']){switch(_0x34c77b){case ChangeType['CREATE']:case ChangeType[_0x47ac27(0x20e)]:await this[_0x47ac27(0x240)](_0x470911);break;case ChangeType[_0x47ac27(0x169)]:await this[_0x47ac27(0x1f5)](_0x470911);break;}}}async[a0_0x2b7e27(0x240)](_0x29d4c8){const _0x2e560f=a0_0x2b7e27,_0x422f8b=node_path['join'](this[_0x2e560f(0x28f)],_0x29d4c8),_0x587440=node_path[_0x2e560f(0x1fe)](this[_0x2e560f(0x168)],_0x29d4c8);await promises[_0x2e560f(0x287)](node_path[_0x2e560f(0x26e)](_0x587440),{'recursive':!![]}),await promises[_0x2e560f(0x1cd)](_0x422f8b,_0x587440);}async[a0_0x2b7e27(0x1f5)](_0x1ae92e){const _0x61d820=a0_0x2b7e27;await promises['rm'](node_path[_0x61d820(0x1fe)](this[_0x61d820(0x168)],_0x1ae92e),{'recursive':!![]});}async[a0_0x2b7e27(0x248)](){const _0x3f8e05=a0_0x2b7e27;await promises[_0x3f8e05(0x17c)](node_path[_0x3f8e05(0x1fe)](this['projectPath'],SYSTEM_FOLDER,CONFIG_FILE_NAME),JSON['stringify'](this[_0x3f8e05(0x182)])),this['branchState'][_0x3f8e05(0x228)]=Date['now'](),await promises['writeFile'](node_path['join'](this[_0x3f8e05(0x279)],SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),JSON[_0x3f8e05(0x1bf)](this[_0x3f8e05(0x116)])),await promises[_0x3f8e05(0x17c)](node_path[_0x3f8e05(0x1fe)](this[_0x3f8e05(0x279)],SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),JSON[_0x3f8e05(0x1bf)](Array[_0x3f8e05(0x243)](this[_0x3f8e05(0x1ad)][_0x3f8e05(0x1d4)]())));}}class ProjectManager{static [a0_0x2b7e27(0x11a)];[a0_0x2b7e27(0x25f)];get['stage'](){const _0x1fbebe=a0_0x2b7e27;if(!this[_0x1fbebe(0x25f)])throw new Error(_0x1fbebe(0x24e));return this[_0x1fbebe(0x25f)];}constructor(){}static[a0_0x2b7e27(0x12a)](){const _0x302871=a0_0x2b7e27;return!ProjectManager[_0x302871(0x11a)]&&(ProjectManager[_0x302871(0x11a)]=new ProjectManager()),ProjectManager[_0x302871(0x11a)];}async['initStage'](_0x15fcff){const _0x56e445=a0_0x2b7e27,_0x5e21b0=node_path[_0x56e445(0x1fe)](_0x15fcff,SYSTEM_FOLDER,STAGE_FOLDER_NAME);await promises['rm'](_0x5e21b0,{'recursive':!![],'force':!![]}),await promises[_0x56e445(0x287)](_0x5e21b0,{'recursive':!![]});const _0x4240d5=await this[_0x56e445(0x140)](_0x15fcff),_0x5a1182=await this[_0x56e445(0x1da)](_0x15fcff),_0x1182e1=await this[_0x56e445(0x1d3)](_0x15fcff);this[_0x56e445(0x25f)]=new Stage({'projectPath':_0x15fcff,'stagePath':_0x5e21b0,'config':_0x4240d5,'branchState':_0x5a1182,'componentsState':_0x1182e1});}async[a0_0x2b7e27(0x1d6)](){const _0x39fef2=a0_0x2b7e27;await this[_0x39fef2(0x1ae)]['apply']();}async[a0_0x2b7e27(0x269)](){const _0x13c381=a0_0x2b7e27;await this[_0x13c381(0x1ae)]['abort']();}async[a0_0x2b7e27(0x230)]({config:_0x1ced8b}){const _0x4603b8=new InitProjectAction({'stage':this['stage'],'config':_0x1ced8b});await _0x4603b8['execute']();}[a0_0x2b7e27(0x208)](_0x6414d6){const _0x3033b3=a0_0x2b7e27;this[_0x3033b3(0x1ae)][_0x3033b3(0x166)](_0x6414d6);}async[a0_0x2b7e27(0x252)](_0x21b8f0){const _0x2c36f4=new SaveComponentAction({'stage':this['stage']});await _0x2c36f4['execute'](_0x21b8f0);}async['findChanges'](){const _0x2b91ae=new FindChangesAction({'stage':this['stage']});return _0x2b91ae['execute']();}async[a0_0x2b7e27(0x22a)](_0x27d8ba){const _0x203de7=a0_0x2b7e27,_0x11c98e=new CompareWithRemoteBranchAction({..._0x27d8ba,'stage':this[_0x203de7(0x1ae)]});return _0x11c98e[_0x203de7(0x1ea)]();}async[a0_0x2b7e27(0x140)](_0x4c9e55){const _0x71ee33=a0_0x2b7e27,_0x44180a=node_path[_0x71ee33(0x1fe)](_0x4c9e55,SYSTEM_FOLDER,CONFIG_FILE_NAME),_0x2517b3=await FileUtils[_0x71ee33(0x1ed)](_0x44180a);if(!_0x2517b3)return INITIAL_CONFIG;const _0xc95ac=await promises[_0x71ee33(0x14b)](_0x44180a);return JSON[_0x71ee33(0x10f)](_0xc95ac[_0x71ee33(0x2a3)]());}async['readBranchState'](_0x444242){const _0x2df5d5=a0_0x2b7e27,_0x57827b=node_path[_0x2df5d5(0x1fe)](_0x444242,SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),_0x241bcb=await FileUtils[_0x2df5d5(0x1ed)](_0x57827b);if(!_0x241bcb)return INITIAL_BRANCH_STATE;const _0x282385=await promises[_0x2df5d5(0x14b)](_0x57827b);return JSON[_0x2df5d5(0x10f)](_0x282385['toString']());}async[a0_0x2b7e27(0x1d3)](_0x163217){const _0x23007d=a0_0x2b7e27,_0x37faff=node_path[_0x23007d(0x1fe)](_0x163217,SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),_0xab2df=await FileUtils[_0x23007d(0x1ed)](_0x37faff);if(!_0xab2df)return[];const _0x208252=await promises[_0x23007d(0x14b)](_0x37faff);return JSON['parse'](_0x208252[_0x23007d(0x2a3)]());}async[a0_0x2b7e27(0x281)](_0x2bbd2f){const _0x5bb710=a0_0x2b7e27,_0x3c74fc=[node_path[_0x5bb710(0x1fe)](_0x2bbd2f,SYSTEM_FOLDER,CONFIG_FILE_NAME),node_path[_0x5bb710(0x1fe)](_0x2bbd2f,SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),node_path[_0x5bb710(0x1fe)](_0x2bbd2f,SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),node_path[_0x5bb710(0x1fe)](_0x2bbd2f,SFDX_PROJECT_FILE_NAME)];for(const _0x1d161d of _0x3c74fc){const _0x2bdeaa=await FileUtils['isFileExists'](_0x1d161d);if(!_0x2bdeaa)return![];}return!![];}async[a0_0x2b7e27(0x150)](_0x2498b9,_0x57639f){const _0x3c74e6=a0_0x2b7e27,_0xc3c241=new ConfigSetAction({'stage':this[_0x3c74e6(0x1ae)]});await _0xc3c241[_0x3c74e6(0x1ea)]({'name':_0x2498b9,'value':_0x57639f});}async[a0_0x2b7e27(0x263)](_0x2843e0){const _0x86b5fe=a0_0x2b7e27;this[_0x86b5fe(0x1ae)][_0x86b5fe(0x263)](_0x2843e0);}[a0_0x2b7e27(0x111)](_0x1ce8ed){const _0x1f66b3=a0_0x2b7e27;return this[_0x1f66b3(0x1ae)][_0x1f66b3(0x111)](_0x1ce8ed);}async[a0_0x2b7e27(0x1d0)](_0x38974d){const _0x3e8bf4=a0_0x2b7e27;await this[_0x3e8bf4(0x1ae)]['addFileChange'](_0x38974d);}}class ReadlineUtils{static async[a0_0x2b7e27(0x19c)](_0x4a89ba){const _0xabcb4b=a0_0x2b7e27,_0x4d4c9b=readline[_0xabcb4b(0x23c)]({'input':process[_0xabcb4b(0x19b)],'output':process['stdout']}),_0x1e3b81=await _0x4d4c9b['question'](_0x4a89ba);return _0x4d4c9b['close'](),_0x1e3b81;}}const INFO_COLOR_INDEX='4',WARN_COLOR_INDEX='3',ERROR_COLOR_INDEX='1';class Logger{[a0_0x2b7e27(0x173)];[a0_0x2b7e27(0x28e)];[a0_0x2b7e27(0x264)];[a0_0x2b7e27(0x141)];constructor({isJson:_0x49674d}){const _0x153bf9=a0_0x2b7e27;this['isJson']=_0x49674d,debug[_0x153bf9(0x129)]=console[_0x153bf9(0x129)]['bind'](console),debug['enable'](ROOT_NAME+':*'),this[_0x153bf9(0x28e)]=debug(ROOT_NAME+_0x153bf9(0x238)),this[_0x153bf9(0x28e)][_0x153bf9(0x27b)]=INFO_COLOR_INDEX,this['warnDebug']=debug(ROOT_NAME+':WARN'),this[_0x153bf9(0x264)][_0x153bf9(0x27b)]=WARN_COLOR_INDEX,this[_0x153bf9(0x141)]=debug(ROOT_NAME+_0x153bf9(0x1c7)),this[_0x153bf9(0x141)][_0x153bf9(0x27b)]=ERROR_COLOR_INDEX;}[a0_0x2b7e27(0x1d5)](_0x5f4cce){const _0x180ada=a0_0x2b7e27;!this[_0x180ada(0x173)]&&this['infoDebug'](_0x5f4cce);}[a0_0x2b7e27(0x26c)](_0x1ea2e0){const _0x2627c8=a0_0x2b7e27;!this['isJson']&&this[_0x2627c8(0x264)](_0x1ea2e0);}['error'](_0x478ded){!this['isJson']&&this['errorDebug'](_0x478ded);}}class BaseCommand{[a0_0x2b7e27(0x258)];get[a0_0x2b7e27(0x149)](){const _0x2b3e1a=a0_0x2b7e27;if(!this[_0x2b3e1a(0x258)])throw new Error('Logger\x20not\x20found');return this[_0x2b3e1a(0x258)];}['register'](_0x45f523){const _0x11821a=a0_0x2b7e27,_0x3dc2f5=new commander[(_0x11821a(0x24b))]()[_0x11821a(0x27d)](this['commandName'])[_0x11821a(0x1c1)](this[_0x11821a(0x1c1)]);for(const {name:_0x5533d9,description:_0x30669b,defaultValue:_0x3d866b}of this[_0x11821a(0x26d)]){_0x3dc2f5['argument'](_0x5533d9,_0x30669b,_0x3d866b);}for(const {flags:_0x3882dc,description:_0x2d5e78,defaultValue:_0x3fbcf4}of this[_0x11821a(0x26f)]){_0x3dc2f5['option'](_0x3882dc,_0x2d5e78,_0x3fbcf4);}_0x3dc2f5[_0x11821a(0x23a)](async(..._0xe24e40)=>{const _0x498c82=_0x11821a,_0x3d9ab9=this[_0x498c82(0x173)](_0xe24e40);this['_logger']=new Logger({'isJson':_0x3d9ab9});try{const _0xaf2bfe=await this['execute'](_0xe24e40);_0xaf2bfe[_0x498c82(0x1a4)](_0x3d9ab9);}catch(_0x47a5b6){_0x47a5b6 instanceof Error&&this[_0x498c82(0x149)]['error'](_0x47a5b6[_0x498c82(0x20a)]);throw _0x47a5b6;}}),_0x45f523['addCommand'](_0x3dc2f5);}}class BaseReporter{[a0_0x2b7e27(0x17e)];get[a0_0x2b7e27(0x136)](){return this['_success'];}constructor(_0x56da91){const _0x1254ee=a0_0x2b7e27;this['_success']=_0x56da91[_0x1254ee(0x136)];}['report'](_0x3bb13e){const _0x2002a7=a0_0x2b7e27,_0x2fa9ee=this['buildReport']();_0x3bb13e?this[_0x2002a7(0x197)](_0x2fa9ee):this['print'](_0x2fa9ee);}[a0_0x2b7e27(0x197)](_0x3742c8){const _0x40ca1c=a0_0x2b7e27,_0x178a20=JSON[_0x40ca1c(0x1bf)](_0x3742c8,null,0x2);console[_0x40ca1c(0x129)](_0x178a20);}}class FailReporter extends BaseReporter{[a0_0x2b7e27(0x2a4)];constructor({failMessage:_0x2be995}){const _0x4da27d=a0_0x2b7e27;super({'success':![]}),this[_0x4da27d(0x2a4)]=_0x2be995;}[a0_0x2b7e27(0x15f)](){const _0x24a823=a0_0x2b7e27;return{'success':this[_0x24a823(0x136)],'failMessage':this[_0x24a823(0x2a4)]};}['print'](_0x4def18){const _0xcc6199=a0_0x2b7e27,_0x67f032=[['Fail\x20Message'],[_0x4def18[_0xcc6199(0x2a4)]]];console['log'](table['table'](_0x67f032,{'columns':[{'width':0x64}]}));}}class CheckoutReporter extends BaseReporter{['currentBranch'];[a0_0x2b7e27(0x199)];constructor({currentBranch:_0x46f811,changes:_0x2a52fb}){const _0xf6e15f=a0_0x2b7e27;super({'success':!![]}),this[_0xf6e15f(0x127)]=_0x46f811,this['changes']=_0x2a52fb;}['buildReport'](){const _0xbbd6b9=a0_0x2b7e27;return{'success':this[_0xbbd6b9(0x136)],'targetBranch':this[_0xbbd6b9(0x127)],'changes':this[_0xbbd6b9(0x199)]};}['print'](_0x2d2454){const _0x3052a1=a0_0x2b7e27;console[_0x3052a1(0x129)](_0x3052a1(0x17a)+this[_0x3052a1(0x127)]['name']+'\x0a'),console[_0x3052a1(0x129)](_0x3052a1(0x1a1));const _0x114376=[[_0x3052a1(0x2a1),_0x3052a1(0x274),'Type',_0x3052a1(0x12e)]];for(const {changeType:_0x402c6e,name:_0x16927a,type:_0x44df21,paths:_0x247ffe}of _0x2d2454['changes']){_0x114376[_0x3052a1(0x213)]([_0x402c6e,_0x16927a,_0x44df21,_0x247ffe?.[_0x3052a1(0x1fe)]('\x0a')||'']);}console[_0x3052a1(0x129)](table[_0x3052a1(0x15a)](_0x114376,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class BaseHandler{}class TargetBranchExistHandler extends BaseHandler{[a0_0x2b7e27(0x15c)];[a0_0x2b7e27(0x114)];[a0_0x2b7e27(0x242)];['logger'];[a0_0x2b7e27(0x1ef)]=[];constructor(_0x18dc6e){const _0x35f800=a0_0x2b7e27;super(),this['manager']=_0x18dc6e[_0x35f800(0x15c)],this[_0x35f800(0x114)]=_0x18dc6e[_0x35f800(0x114)],this[_0x35f800(0x242)]=_0x18dc6e[_0x35f800(0x242)],this['logger']=_0x18dc6e[_0x35f800(0x149)];}async['handle'](){const _0x50e2fc=a0_0x2b7e27,_0x454ae1=await this[_0x50e2fc(0x163)]();if(_0x454ae1)return new FailReporter({'failMessage':_0x50e2fc(0x1b4)});return this[_0x50e2fc(0x149)][_0x50e2fc(0x1d5)]('Checking\x20manual\x20changes\x20completed'),this[_0x50e2fc(0x149)][_0x50e2fc(0x1d5)](_0x50e2fc(0x1f2)),await this['retrieveDifference'](),this[_0x50e2fc(0x149)][_0x50e2fc(0x1d5)](_0x50e2fc(0x297)),new CheckoutReporter({'currentBranch':{'id':this[_0x50e2fc(0x242)]['id'],'name':this[_0x50e2fc(0x242)][_0x50e2fc(0x27d)],'headCommitId':this[_0x50e2fc(0x242)][_0x50e2fc(0x1eb)]},'changes':this[_0x50e2fc(0x1ef)]});}async[a0_0x2b7e27(0x163)](){const _0x412b06=a0_0x2b7e27,_0x12c604=await this['manager'][_0x412b06(0x25d)]();return!!_0x12c604[_0x412b06(0x1ba)];}async[a0_0x2b7e27(0x196)](){const _0x3c0c3b=a0_0x2b7e27,{devopsUrl:_0x1c8e07,accessToken:_0x1bc873}=this[_0x3c0c3b(0x114)],_0x2c4640=await this[_0x3c0c3b(0x15c)][_0x3c0c3b(0x22a)]({'devopsUrl':_0x1c8e07,'accessToken':_0x1bc873,'targetBranchId':this[_0x3c0c3b(0x242)]['id'],'targetCommitId':this['targetBranch']['headCommitId']});for(const {id:_0x59e40e,name:_0x3b6c03,type:_0xd7e9b,changeType:_0x792857}of _0x2c4640){if(!_0x59e40e){if(_0x792857!==ChangeType[_0x3c0c3b(0x169)])throw new Error(_0x3c0c3b(0x246));await this[_0x3c0c3b(0x15c)][_0x3c0c3b(0x252)]({'name':_0x3b6c03,'type':_0xd7e9b,'changeType':_0x792857}),this[_0x3c0c3b(0x1ef)][_0x3c0c3b(0x213)]({'changeType':_0x792857,'name':_0x3b6c03,'type':_0xd7e9b});continue;}const _0x53af63=await ApiService[_0x3c0c3b(0x206)]({'devopsUrl':_0x1c8e07,'accessToken':_0x1bc873,'componentId':_0x59e40e});if(!_0x53af63[_0x3c0c3b(0x275)])throw new Error(_0x3c0c3b(0x153)+_0x53af63['name']+'\x22\x20of\x20type\x20\x22'+_0x53af63[_0x3c0c3b(0x1fb)]+_0x3c0c3b(0x133));await this[_0x3c0c3b(0x15c)][_0x3c0c3b(0x252)]({'name':_0x3b6c03,'type':_0xd7e9b,'changeType':_0x792857,'component':{..._0x53af63,'fHash':_0x53af63['fHash']}}),this['componentChanges'][_0x3c0c3b(0x213)]({'changeType':_0x792857,'name':_0x3b6c03,'type':_0xd7e9b,'paths':_0x53af63['files'][_0x3c0c3b(0x257)](_0x39d5ac=>_0x39d5ac['path'])});}this[_0x3c0c3b(0x15c)][_0x3c0c3b(0x208)](this[_0x3c0c3b(0x242)]);}}class TargetBranchNotFoundHandler extends BaseHandler{[a0_0x2b7e27(0x279)];[a0_0x2b7e27(0x15c)];[a0_0x2b7e27(0x114)];['targetBranchName'];[a0_0x2b7e27(0x149)];constructor(_0xfdba8){const _0x3d90e3=a0_0x2b7e27;super(),this[_0x3d90e3(0x279)]=_0xfdba8[_0x3d90e3(0x279)],this[_0x3d90e3(0x15c)]=_0xfdba8[_0x3d90e3(0x15c)],this[_0x3d90e3(0x114)]=_0xfdba8[_0x3d90e3(0x114)],this['targetBranchName']=_0xfdba8[_0x3d90e3(0x1dd)],this[_0x3d90e3(0x149)]=_0xfdba8['logger'];}async[a0_0x2b7e27(0x245)](){const _0x1f152e=a0_0x2b7e27;this[_0x1f152e(0x149)]['info'](_0x1f152e(0x294));const {id:_0x25b324}=await this[_0x1f152e(0x15c)][_0x1f152e(0x1da)](this[_0x1f152e(0x279)]);if(!_0x25b324)return new FailReporter({'failMessage':_0x1f152e(0x156)});const _0x2442a2=await ApiService[_0x1f152e(0x14a)]({'accessToken':this[_0x1f152e(0x114)][_0x1f152e(0x17f)],'devopsUrl':this[_0x1f152e(0x114)][_0x1f152e(0x1d2)],'name':this['targetBranchName'],'parentId':_0x25b324});return this[_0x1f152e(0x15c)][_0x1f152e(0x208)](_0x2442a2),this[_0x1f152e(0x149)][_0x1f152e(0x1d5)]('Creation\x20new\x20branch\x20completed'),new CheckoutReporter({'currentBranch':_0x2442a2,'changes':[]});}}class HandlerFactory{static[a0_0x2b7e27(0x177)](_0x442f49){const _0x423b3e=a0_0x2b7e27;if(_0x442f49[_0x423b3e(0x242)])return new TargetBranchExistHandler({..._0x442f49,'targetBranch':_0x442f49[_0x423b3e(0x242)]});if(!_0x442f49['targetBranch'])return new TargetBranchNotFoundHandler(_0x442f49);throw new Error(_0x423b3e(0x244));}}class CheckoutCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x1ce);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x10e);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x225),'description':a0_0x2b7e27(0x29c)},{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process[a0_0x2b7e27(0x262)]();[a0_0x2b7e27(0x15c)]=ProjectManager['getInstance']();async['execute']([{branch:_0x3ff418}]){const _0x52c830=a0_0x2b7e27,_0x372b11=await this[_0x52c830(0x222)](_0x3ff418);this[_0x52c830(0x149)]['info'](_0x52c830(0x288)+_0x372b11+_0x52c830(0x1b6));const _0x162079=await this[_0x52c830(0x15c)][_0x52c830(0x281)](this[_0x52c830(0x279)]);if(!_0x162079)return this[_0x52c830(0x149)][_0x52c830(0x26c)]('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':'Project\x20is\x20not\x20initialized'});const _0x297759=await this[_0x52c830(0x216)](),_0x20f51c=await ApiService[_0x52c830(0x1de)](_0x297759);await this['manager'][_0x52c830(0x2a2)](this[_0x52c830(0x279)]);try{const _0x1252f9=await ApiService[_0x52c830(0x253)]({'devopsUrl':_0x20f51c[_0x52c830(0x1d2)],'accessToken':_0x20f51c[_0x52c830(0x17f)],'branchName':_0x372b11}),_0x4f6ddd=HandlerFactory[_0x52c830(0x177)]({'projectPath':this[_0x52c830(0x279)],'manager':this[_0x52c830(0x15c)],'credentials':_0x20f51c,'targetBranch':_0x1252f9,'targetBranchName':_0x372b11,'logger':this[_0x52c830(0x149)]}),_0x35989f=await _0x4f6ddd[_0x52c830(0x245)]();return _0x35989f[_0x52c830(0x136)]?(await this['manager'][_0x52c830(0x1d6)](),this[_0x52c830(0x149)][_0x52c830(0x1d5)](_0x52c830(0x288)+_0x372b11+_0x52c830(0x1f7))):await this[_0x52c830(0x15c)][_0x52c830(0x269)](),_0x35989f;}catch(_0x44d334){await this[_0x52c830(0x15c)][_0x52c830(0x269)]();throw _0x44d334;}}[a0_0x2b7e27(0x173)]([{json:_0x172c5b}]){return _0x172c5b;}async[a0_0x2b7e27(0x222)](_0x49aeed){const _0x8409bc=a0_0x2b7e27;if(_0x49aeed)return _0x49aeed;return ReadlineUtils['askString'](_0x8409bc(0x144));}async[a0_0x2b7e27(0x216)](){const _0xbedf11=a0_0x2b7e27,{credentialsAlias:_0x3c3769}=await this['manager'][_0xbedf11(0x140)](this[_0xbedf11(0x279)]);if(!_0x3c3769)throw new Error(_0xbedf11(0x1ec));if(typeof _0x3c3769!==_0xbedf11(0x1b9))throw new Error(_0xbedf11(0x198));return _0x3c3769;}}class CloneReporter extends BaseReporter{[a0_0x2b7e27(0x279)];['components'];constructor({projectPath:_0x17b829,components:_0x341d0e}){const _0x4e8b79=a0_0x2b7e27;super({'success':!![]}),this[_0x4e8b79(0x279)]=_0x17b829,this['components']=_0x341d0e;}['buildReport'](){const _0x58b703=a0_0x2b7e27;return{'success':this[_0x58b703(0x136)],'projectPath':this[_0x58b703(0x279)],'components':this['components']};}[a0_0x2b7e27(0x232)](_0x2dd2d6){const _0x353804=a0_0x2b7e27;console[_0x353804(0x129)]('Init\x20Result:');const _0x397d1a=[[_0x353804(0x1db)],[_0x2dd2d6['projectPath']]];console[_0x353804(0x129)](table['table'](_0x397d1a,{'columns':[{'width':0x28}]})),console[_0x353804(0x129)](_0x353804(0x24a));const _0x29fe9a=[[_0x353804(0x274),'Type','Files']];for(const {name:_0x52f4ae,type:_0x5a5ce3,paths:_0x28fc66}of _0x2dd2d6[_0x353804(0x16a)]){_0x29fe9a[_0x353804(0x213)]([_0x52f4ae,_0x5a5ce3,_0x28fc66[_0x353804(0x1fe)]('\x0a')]);}console['log'](table['table'](_0x29fe9a,{'columns':[{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class CloneCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x1aa);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x14e);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x18e),'description':a0_0x2b7e27(0x1e7)},{'flags':'-a,\x20--alias\x20<string>','description':a0_0x2b7e27(0x217),'defaultValue':DEFAULT_ALIAS_NAME},{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x15c)]=ProjectManager['getInstance']();[a0_0x2b7e27(0x1ff)]=[];[a0_0x2b7e27(0x278)];get[a0_0x2b7e27(0x114)](){const _0x2772b9=a0_0x2b7e27;if(!this[_0x2772b9(0x278)])throw new Error(_0x2772b9(0x1e1));return this[_0x2772b9(0x278)];}async[a0_0x2b7e27(0x1ea)]([_0x327b21]){const _0x313ef6=a0_0x2b7e27;this[_0x313ef6(0x149)][_0x313ef6(0x1d5)](_0x313ef6(0x1e3)),this[_0x313ef6(0x278)]=await ApiService['getCredentials'](_0x327b21[_0x313ef6(0x224)]);const _0x597ec5=await this['buildProjectPath'](_0x327b21[_0x313ef6(0x27d)]);this[_0x313ef6(0x149)]['info'](_0x313ef6(0x250));const _0x5a57d2=await this[_0x313ef6(0x15c)][_0x313ef6(0x281)](_0x597ec5);if(_0x5a57d2)return this['logger'][_0x313ef6(0x26c)](_0x313ef6(0x172)),new FailReporter({'failMessage':_0x313ef6(0x172)});await this[_0x313ef6(0x15c)][_0x313ef6(0x2a2)](_0x597ec5);try{return await this[_0x313ef6(0x15c)][_0x313ef6(0x230)]({'config':{'credentialsAlias':_0x327b21[_0x313ef6(0x224)]}}),this[_0x313ef6(0x149)]['info']('Project\x20initialization\x20completed'),await this[_0x313ef6(0x193)](),await this[_0x313ef6(0x15c)][_0x313ef6(0x1d6)](),this[_0x313ef6(0x149)][_0x313ef6(0x1d5)]('Cloning\x20completed'),new CloneReporter({'projectPath':_0x597ec5,'components':this[_0x313ef6(0x1ff)]});}catch(_0x5221b8){await this['manager'][_0x313ef6(0x269)]();throw _0x5221b8;}}[a0_0x2b7e27(0x173)]([{json:_0x1aa439}]){return _0x1aa439;}async[a0_0x2b7e27(0x193)](){const _0x45f44c=a0_0x2b7e27;this[_0x45f44c(0x149)][_0x45f44c(0x1d5)]('Retrieve\x20components\x20started');const {accessToken:_0x494c89,devopsUrl:_0x19c566}=this[_0x45f44c(0x114)],_0x16b871=await ApiService[_0x45f44c(0x1b2)]({'devopsUrl':_0x19c566,'accessToken':_0x494c89});this[_0x45f44c(0x15c)][_0x45f44c(0x208)](_0x16b871);for await(const _0x5ac5e8 of ApiService[_0x45f44c(0x241)]({'devopsUrl':_0x19c566,'accessToken':_0x494c89,'branchId':_0x16b871['id'],'commitId':_0x16b871[_0x45f44c(0x1eb)]})){if(!_0x5ac5e8['fHash'])throw new Error(_0x5ac5e8[_0x45f44c(0x27d)]+_0x45f44c(0x25b)+_0x5ac5e8['type']+_0x45f44c(0x267));await this[_0x45f44c(0x15c)]['saveComponent']({'name':_0x5ac5e8['name'],'type':_0x5ac5e8['type'],'changeType':ChangeType[_0x45f44c(0x277)],'component':{..._0x5ac5e8,'fHash':_0x5ac5e8[_0x45f44c(0x275)]}}),this['retrievedComponents'][_0x45f44c(0x213)]({'name':_0x5ac5e8[_0x45f44c(0x27d)],'type':_0x5ac5e8[_0x45f44c(0x1fb)],'paths':_0x5ac5e8[_0x45f44c(0x165)][_0x45f44c(0x257)](_0x8bcee6=>_0x8bcee6['path'])});}this[_0x45f44c(0x149)][_0x45f44c(0x1d5)](_0x45f44c(0x297));}async['buildProjectPath'](_0x11ada5){const _0x3b0bc3=a0_0x2b7e27;if(_0x11ada5)return node_path[_0x3b0bc3(0x1fe)](process[_0x3b0bc3(0x262)](),_0x11ada5);const _0x10e398=await ReadlineUtils[_0x3b0bc3(0x19c)](_0x3b0bc3(0x14f));return node_path[_0x3b0bc3(0x1fe)](process[_0x3b0bc3(0x262)](),_0x10e398);}}class CommitReporter extends BaseReporter{['changes'];constructor({changes:_0x1ffcbb}){super({'success':!![]}),this['changes']=_0x1ffcbb;}[a0_0x2b7e27(0x15f)](){const _0x7a447c=a0_0x2b7e27;return{'success':this['success'],'changes':this[_0x7a447c(0x199)]};}['print'](_0x2322ed){const _0x276fa9=a0_0x2b7e27;console[_0x276fa9(0x129)](_0x276fa9(0x119));const _0x3574de=[[_0x276fa9(0x2a1),_0x276fa9(0x274),_0x276fa9(0x21c),_0x276fa9(0x12e)]];for(const {changeType:_0x462c05,name:_0x30ec59,type:_0x587aa3,paths:_0x167374}of _0x2322ed[_0x276fa9(0x199)]){_0x3574de['push']([_0x462c05,_0x30ec59,_0x587aa3,_0x167374?.[_0x276fa9(0x1fe)]('\x0a')||'']);}console[_0x276fa9(0x129)](table[_0x276fa9(0x15a)](_0x3574de,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class CommitCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x1a0);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x255);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x1bc),'description':'Commit\x20message'},{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process['cwd']();[a0_0x2b7e27(0x15c)]=ProjectManager[a0_0x2b7e27(0x12a)]();[a0_0x2b7e27(0x1ef)]=[];[a0_0x2b7e27(0x278)];[a0_0x2b7e27(0x22d)];[a0_0x2b7e27(0x181)];get[a0_0x2b7e27(0x114)](){if(!this['_credentials'])throw new Error('Credentials\x20not\x20found');return this['_credentials'];}get[a0_0x2b7e27(0x22e)](){const _0x152726=a0_0x2b7e27;if(!this[_0x152726(0x22d)])throw new Error(_0x152726(0x20d));return this[_0x152726(0x22d)];}get[a0_0x2b7e27(0x120)](){const _0x275f86=a0_0x2b7e27;if(!this['_localHeadCommit'])throw new Error(_0x275f86(0x24f));return this[_0x275f86(0x181)];}async[a0_0x2b7e27(0x1ea)]([_0x5b5920]){const _0x1f2057=a0_0x2b7e27;this['logger'][_0x1f2057(0x1d5)](_0x1f2057(0x283));const _0x57fcb2=await this[_0x1f2057(0x15c)][_0x1f2057(0x281)](this[_0x1f2057(0x279)]);if(!_0x57fcb2)return this['logger']['warn'](_0x1f2057(0x138)),new FailReporter({'failMessage':_0x1f2057(0x138)});const _0x54c59d=await this[_0x1f2057(0x17d)](_0x5b5920[_0x1f2057(0x20a)]);await this[_0x1f2057(0x16d)](),await this[_0x1f2057(0x1de)]();const _0x415100=await this[_0x1f2057(0x1f1)]();if(_0x415100)return this[_0x1f2057(0x149)][_0x1f2057(0x26c)](_0x1f2057(0x180)),new FailReporter({'failMessage':_0x1f2057(0x180)});await this[_0x1f2057(0x15c)][_0x1f2057(0x2a2)](this[_0x1f2057(0x279)]);try{return await this[_0x1f2057(0x1c9)](_0x54c59d),await this[_0x1f2057(0x15c)][_0x1f2057(0x1d6)](),this[_0x1f2057(0x149)][_0x1f2057(0x1d5)](_0x1f2057(0x1d7)),new CommitReporter({'changes':this[_0x1f2057(0x1ef)]});}catch(_0x151374){await this[_0x1f2057(0x15c)][_0x1f2057(0x269)]();throw _0x151374;}}[a0_0x2b7e27(0x173)]([{json:_0x4fafa7}]){return _0x4fafa7;}async['getMessage'](_0x36c0d2){const _0x189ce=a0_0x2b7e27;if(_0x36c0d2)return _0x36c0d2;const _0x49b5b0=await ReadlineUtils[_0x189ce(0x19c)](_0x189ce(0x266));return _0x49b5b0;}async['getCredentials'](){const _0x10a360=a0_0x2b7e27,{credentialsAlias:_0x5d933b}=await this[_0x10a360(0x15c)]['readConfig'](this[_0x10a360(0x279)]);if(!_0x5d933b)throw new Error(_0x10a360(0x1ec));if(typeof _0x5d933b!==_0x10a360(0x1b9))throw new Error(_0x10a360(0x198));this[_0x10a360(0x278)]=await ApiService[_0x10a360(0x1de)](_0x5d933b);}async['getBranchState'](){const _0xdff2cc=a0_0x2b7e27,{id:_0x34a7a7,headCommitId:_0x678f6d}=await this['manager'][_0xdff2cc(0x1da)](this[_0xdff2cc(0x279)]);this['_branchId']=_0x34a7a7||void 0x0,this[_0xdff2cc(0x181)]=_0x678f6d||void 0x0;}async['areRemoteChanges'](){const _0x37d2a0=a0_0x2b7e27,{headCommitId:_0x4c5ce8}=await ApiService[_0x37d2a0(0x12f)]({'accessToken':this[_0x37d2a0(0x114)]['accessToken'],'devopsUrl':this['credentials']['devopsUrl'],'branchId':this[_0x37d2a0(0x22e)]});return this['localHeadCommit']!==_0x4c5ce8;}async[a0_0x2b7e27(0x1c9)](_0x52545a){const _0x5359ff=a0_0x2b7e27;this['logger']['info']('Detecting\x20changes\x20started');const _0x393a71=await this[_0x5359ff(0x15c)][_0x5359ff(0x25d)](),_0x4da90a=await ApiService['getMe']({'accessToken':this[_0x5359ff(0x114)][_0x5359ff(0x17f)],'devopsUrl':this[_0x5359ff(0x114)]['devopsUrl']}),_0x5896b6={'accessToken':this[_0x5359ff(0x114)]['accessToken'],'devopsUrl':this[_0x5359ff(0x114)][_0x5359ff(0x1d2)],'message':_0x52545a,'branchId':this['branchId'],'components':[],'userName':_0x4da90a[_0x5359ff(0x210)]+'\x20'+_0x4da90a['lastName']};for(const _0x419174 of _0x393a71){const _0x17b9d6=await this[_0x5359ff(0x15c)]['updateComponentState'](_0x419174),_0x1f07d0=this[_0x5359ff(0x273)](_0x17b9d6['name'],_0x17b9d6['type'],_0x17b9d6?.[_0x5359ff(0x29f)]||[]);_0x5896b6[_0x5359ff(0x16a)]['push'](_0x1f07d0),this[_0x5359ff(0x1ef)][_0x5359ff(0x213)](_0x17b9d6);}this[_0x5359ff(0x149)][_0x5359ff(0x1d5)](_0x5359ff(0x261)+_0x393a71[_0x5359ff(0x1ba)]+_0x5359ff(0x12c)),await ApiService[_0x5359ff(0x1a0)](_0x5896b6);const _0x3f083b=await ApiService['getBranchById']({'accessToken':this[_0x5359ff(0x114)]['accessToken'],'devopsUrl':this[_0x5359ff(0x114)][_0x5359ff(0x1d2)],'branchId':this['branchId']});this[_0x5359ff(0x15c)][_0x5359ff(0x208)](_0x3f083b);}['convertToLocalComponent'](_0x1f1285,_0x21b70a,_0x3bc313){const _0x3375c6=a0_0x2b7e27,_0x1a5631={'name':_0x1f1285,'type':_0x21b70a,'files':[]};for(const _0x55c93a of _0x3bc313){const _0xd5bf00=_0x55c93a[_0x3375c6(0x284)](path[_0x3375c6(0x1f0)])['slice'](0x3)[_0x3375c6(0x1fe)]('/'),_0xd8eb8d=path['join'](this[_0x3375c6(0x279)],_0x55c93a);_0x1a5631[_0x3375c6(0x165)]['push']({'path':_0xd5bf00,'localPath':_0xd8eb8d});}return _0x1a5631;}}class ConfigSetReporter extends BaseReporter{[a0_0x2b7e27(0x13d)];[a0_0x2b7e27(0x159)];constructor({configName:_0x3d076d,value:_0x541c5f}){const _0x41a9da=a0_0x2b7e27;super({'success':!![]}),this[_0x41a9da(0x13d)]=_0x3d076d,this[_0x41a9da(0x159)]=_0x541c5f;}['buildReport'](){const _0x3bf590=a0_0x2b7e27;return{'success':this[_0x3bf590(0x136)],'configName':this[_0x3bf590(0x13d)],'value':this['value']};}[a0_0x2b7e27(0x232)](_0x31c6dd){const _0x5dd09e=a0_0x2b7e27,_0x4179b6=[[_0x5dd09e(0x211),_0x5dd09e(0x299)],[_0x31c6dd['configName'],_0x31c6dd[_0x5dd09e(0x159)]]];console[_0x5dd09e(0x129)](table[_0x5dd09e(0x15a)](_0x4179b6));}}const ALLOWED_VALUES$1=[ConfigName[a0_0x2b7e27(0x28c)]+a0_0x2b7e27(0x117)];class ConfigSetCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x176);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x143);['arguments']=[{'name':a0_0x2b7e27(0x12b),'description':a0_0x2b7e27(0x1f3)+ALLOWED_VALUES$1[a0_0x2b7e27(0x1fe)](',\x20')},{'name':a0_0x2b7e27(0x13e),'description':a0_0x2b7e27(0x167)}];[a0_0x2b7e27(0x26f)]=[{'flags':'--json','description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x15c)]=ProjectManager[a0_0x2b7e27(0x12a)]();async[a0_0x2b7e27(0x1ea)]([_0x2b893a,_0x2cd5ed]){const _0x21b38d=a0_0x2b7e27;this['logger'][_0x21b38d(0x1d5)]('Config\x20set\x20started');const _0xd01653=process['cwd'](),_0x3f42ea=await this[_0x21b38d(0x15c)]['isInitialized'](_0xd01653);if(!_0x3f42ea)return this[_0x21b38d(0x149)][_0x21b38d(0x26c)]('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':'Project\x20is\x20not\x20initialized'});await this['manager'][_0x21b38d(0x2a2)](_0xd01653);try{return await this['manager'][_0x21b38d(0x150)](_0x2b893a,_0x2cd5ed),await this['manager'][_0x21b38d(0x1d6)](),this[_0x21b38d(0x149)]['info'](_0x21b38d(0x24d)),new ConfigSetReporter({'configName':_0x2b893a,'value':_0x2cd5ed});}catch(_0x3c9fa7){await this[_0x21b38d(0x15c)][_0x21b38d(0x269)]();throw _0x3c9fa7;}}['isJson']([,,{json:_0x51981f}]){return _0x51981f;}}class ConfigUnsetReporter extends BaseReporter{['configName'];constructor(_0x2d3440){const _0x2030f2=a0_0x2b7e27;super({'success':!![]}),this[_0x2030f2(0x13d)]=_0x2d3440[_0x2030f2(0x13d)];}['buildReport'](){const _0x17b677=a0_0x2b7e27;return{'success':!![],'configName':this[_0x17b677(0x13d)],'value':null};}[a0_0x2b7e27(0x232)](_0x53f0aa){const _0x5b92f0=a0_0x2b7e27,_0x144318=[[_0x5b92f0(0x211),'Value'],[_0x53f0aa[_0x5b92f0(0x13d)],_0x53f0aa['value']||_0x5b92f0(0x11e)]];console[_0x5b92f0(0x129)](table[_0x5b92f0(0x15a)](_0x144318));}}const ALLOWED_VALUES=[ConfigName[a0_0x2b7e27(0x28c)]+'(string)'];class ConfigUnset extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x18a);[a0_0x2b7e27(0x1c1)]='Cleat\x20project\x20config\x20property';[a0_0x2b7e27(0x26d)]=[{'name':a0_0x2b7e27(0x12b),'description':'Config\x20name.\x20Allowed\x20values:\x20'+ALLOWED_VALUES[a0_0x2b7e27(0x1fe)](',\x20')}];['options']=[{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process[a0_0x2b7e27(0x262)]();['manager']=ProjectManager[a0_0x2b7e27(0x12a)]();async[a0_0x2b7e27(0x1ea)]([_0x3aee5a]){const _0x8f7438=a0_0x2b7e27;this['logger'][_0x8f7438(0x1d5)]('Config\x20set\x20started');const _0x51d7fc=await this[_0x8f7438(0x15c)][_0x8f7438(0x281)](this['projectPath']);if(!_0x51d7fc)return this[_0x8f7438(0x149)][_0x8f7438(0x26c)](_0x8f7438(0x138)),new FailReporter({'failMessage':_0x8f7438(0x138)});await this['manager'][_0x8f7438(0x2a2)](this[_0x8f7438(0x279)]);try{return await this[_0x8f7438(0x15c)]['unsetConfig'](_0x3aee5a),await this['manager'][_0x8f7438(0x1d6)](),this[_0x8f7438(0x149)][_0x8f7438(0x1d5)](_0x8f7438(0x24d)),new ConfigUnsetReporter({'configName':_0x3aee5a});}catch(_0x214e1d){await this[_0x8f7438(0x15c)]['abortStage']();throw _0x214e1d;}}['isJson']([,{json:_0x39abdd}]){return _0x39abdd;}}class InitReporter extends BaseReporter{[a0_0x2b7e27(0x279)];constructor({projectPath:_0x5b5f74}){const _0x4a1ab4=a0_0x2b7e27;super({'success':!![]}),this[_0x4a1ab4(0x279)]=_0x5b5f74;}[a0_0x2b7e27(0x15f)](){const _0x5d433a=a0_0x2b7e27;return{'success':this[_0x5d433a(0x136)],'projectPath':this[_0x5d433a(0x279)]};}[a0_0x2b7e27(0x232)](_0x1b96aa){const _0xe2837f=a0_0x2b7e27,_0x5df78b=[[_0xe2837f(0x1db)],[_0x1b96aa[_0xe2837f(0x279)]]];console[_0xe2837f(0x129)](table[_0xe2837f(0x15a)](_0x5df78b,{'columns':[{'width':0x28}]}));}}class InitCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x18b);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x175);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x18e),'description':a0_0x2b7e27(0x1e7)},{'flags':'--json','description':'Applies\x20json\x20formatted\x20result','defaultValue':![]}];[a0_0x2b7e27(0x15c)]=ProjectManager[a0_0x2b7e27(0x12a)]();async[a0_0x2b7e27(0x1ea)]([_0x166a28]){const _0x13769d=a0_0x2b7e27;this[_0x13769d(0x149)][_0x13769d(0x1d5)](_0x13769d(0x250));const _0x2f3f58=await this[_0x13769d(0x298)](_0x166a28[_0x13769d(0x27d)]),_0x1a04e5=await this[_0x13769d(0x15c)][_0x13769d(0x281)](_0x2f3f58);if(_0x1a04e5)return this[_0x13769d(0x149)][_0x13769d(0x26c)](_0x13769d(0x172)),new FailReporter({'failMessage':_0x13769d(0x172)});await this[_0x13769d(0x15c)][_0x13769d(0x2a2)](_0x2f3f58);try{return await this[_0x13769d(0x15c)][_0x13769d(0x230)]({}),await this[_0x13769d(0x15c)]['applyStage'](),this['logger']['info']('Project\x20initialization\x20completed'),new InitReporter({'projectPath':_0x2f3f58});}catch(_0x395283){await this['manager']['abortStage']();throw _0x395283;}}[a0_0x2b7e27(0x173)]([{json:_0x494d7a}]){return _0x494d7a;}async['buildProjectPath'](_0xf938c){const _0x514ab2=a0_0x2b7e27;if(_0xf938c)return node_path[_0x514ab2(0x1fe)](process[_0x514ab2(0x262)](),_0xf938c);const _0x272ae7=await ReadlineUtils[_0x514ab2(0x19c)](_0x514ab2(0x14f));return node_path[_0x514ab2(0x1fe)](process[_0x514ab2(0x262)](),_0x272ae7);}}class ListBranchesReporter extends BaseReporter{['branches'];constructor(_0x4833e6){const _0x5a7a55=a0_0x2b7e27;super({'success':!![]}),this['branches']=_0x4833e6[_0x5a7a55(0x142)];}[a0_0x2b7e27(0x15f)](){return{'success':this['success'],'branches':this['branches']};}[a0_0x2b7e27(0x232)](_0xa6c3a5){const _0xf1fe70=a0_0x2b7e27,_0x52a403=[[_0xf1fe70(0x1d1)]];for(const _0x53cdde of _0xa6c3a5[_0xf1fe70(0x142)]){_0x52a403[_0xf1fe70(0x213)]([_0x53cdde]);}console[_0xf1fe70(0x129)](table[_0xf1fe70(0x15a)](_0x52a403,{'columns':[{'width':0x1e}]}));}}class ListBranchesCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x146);[a0_0x2b7e27(0x1c1)]='List\x20all\x20remote\x20branches';['arguments']=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x221),'description':'Applies\x20json\x20formatted\x20result','defaultValue':![]}];[a0_0x2b7e27(0x279)]=process['cwd']();[a0_0x2b7e27(0x15c)]=ProjectManager['getInstance']();async['execute'](){const _0x20c84=a0_0x2b7e27;this[_0x20c84(0x149)][_0x20c84(0x1d5)](_0x20c84(0x227));const _0x34ed47=await this['manager'][_0x20c84(0x281)](this[_0x20c84(0x279)]);if(!_0x34ed47)return this[_0x20c84(0x149)][_0x20c84(0x26c)]('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':_0x20c84(0x138)});const _0x3d587f=await this[_0x20c84(0x216)](),{accessToken:_0x3cc534,devopsUrl:_0x28c4ca}=await ApiService[_0x20c84(0x1de)](_0x3d587f),_0x593325=await ApiService[_0x20c84(0x28a)]({'accessToken':_0x3cc534,'devopsUrl':_0x28c4ca});return this[_0x20c84(0x149)][_0x20c84(0x1d5)](_0x20c84(0x16c)),new ListBranchesReporter({'branches':_0x593325['map'](_0x195da5=>_0x195da5[_0x20c84(0x27d)])});}[a0_0x2b7e27(0x173)]([{json:_0xd00c6d}]){return _0xd00c6d;}async[a0_0x2b7e27(0x216)](){const _0x536bb6=a0_0x2b7e27,{credentialsAlias:_0x2d3597}=await this[_0x536bb6(0x15c)][_0x536bb6(0x140)](this[_0x536bb6(0x279)]);if(!_0x2d3597)throw new Error(_0x536bb6(0x1ec));if(typeof _0x2d3597!=='string')throw new Error(_0x536bb6(0x198));return _0x2d3597;}}class ListCredentialsReporter extends BaseReporter{[a0_0x2b7e27(0x114)];constructor(_0x4a8cd1){const _0x4d1389=a0_0x2b7e27;super({'success':!![]}),this[_0x4d1389(0x114)]=_0x4a8cd1[_0x4d1389(0x114)];}['buildReport'](){return{'success':this['success'],'credentials':this['credentials']};}['print'](_0x5033c0){const _0x45bd16=a0_0x2b7e27,_0x55a47e=[[_0x45bd16(0x11f),_0x45bd16(0x265),_0x45bd16(0x139)]];for(const {alias:_0x348d5f,globalSettingsUrl:_0x1667eb,devopsUrl:_0xb525d4}of _0x5033c0[_0x45bd16(0x114)]){_0x55a47e[_0x45bd16(0x213)]([_0x348d5f,_0x1667eb,_0xb525d4||_0x45bd16(0x155)]);}console[_0x45bd16(0x129)](table['table'](_0x55a47e));}}class ListCredentialsCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x1a9);[a0_0x2b7e27(0x1c1)]='Display\x20all\x20authorized\x20credentials';[a0_0x2b7e27(0x26d)]=[];['options']=[{'flags':a0_0x2b7e27(0x221),'description':'Applies\x20json\x20formatted\x20result','defaultValue':![]}];async[a0_0x2b7e27(0x1ea)](){const _0x2cff45=a0_0x2b7e27;this[_0x2cff45(0x149)][_0x2cff45(0x1d5)]('List\x20credentials\x20started');const _0x22ef0f=await CredentialsManager[_0x2cff45(0x20f)]();return this[_0x2cff45(0x149)][_0x2cff45(0x1d5)](_0x2cff45(0x202)),new ListCredentialsReporter({'credentials':_0x22ef0f[_0x2cff45(0x257)](({alias:_0x37652a,globalSettingsUrl:_0x49caa8,devopsUrl:_0x2c6878})=>({'alias':_0x37652a,'globalSettingsUrl':_0x49caa8,'devopsUrl':_0x2c6878}))});}['isJson']([{json:_0x4bd214}]){return _0x4bd214;}}class LoginAction{constructor(_0x13021c){const _0x5a37c9=a0_0x2b7e27;this[_0x5a37c9(0x17f)]=_0x13021c;}async[a0_0x2b7e27(0x1ea)](){const _0xfa71d6=a0_0x2b7e27;try{const _0x651c44=JSON[_0xfa71d6(0x10f)](Buffer['from'](this[_0xfa71d6(0x17f)],'base64')[_0xfa71d6(0x2a3)](_0xfa71d6(0x121))),_0xfd464e=await axios[_0xfa71d6(0x14d)](_0xfa71d6(0x256),{'headers':{'authorization':_0xfa71d6(0x209)+this[_0xfa71d6(0x17f)]},'baseURL':_0x651c44[_0xfa71d6(0x226)]})['then'](({data:_0x465cf4})=>new Map(_0x465cf4[_0xfa71d6(0x257)](_0x32a2bc=>[_0x32a2bc[_0xfa71d6(0x27d)],_0x32a2bc[_0xfa71d6(0x1ca)]]))),_0x386892={'globalSettingsUrl':_0x651c44[_0xfa71d6(0x226)]};for(const [_0x84dd41,_0x12fb5d]of _0xfd464e[_0xfa71d6(0x110)]()){_0x84dd41===_0xfa71d6(0x251)&&(_0x386892['devopsUrl']=_0x12fb5d);}return _0x386892;}catch(_0x4b308a){if(axios[_0xfa71d6(0x20b)](_0x4b308a))throw Error(_0x4b308a[_0xfa71d6(0x123)]?.[_0xfa71d6(0x179)][_0xfa71d6(0x20a)]||_0x4b308a[_0xfa71d6(0x123)]?.[_0xfa71d6(0x16e)]||_0x4b308a[_0xfa71d6(0x20a)],{'cause':_0x4b308a});throw _0x4b308a;}}}class GlobalSettingsService{static async[a0_0x2b7e27(0x18c)]({accessToken:_0x3f49a5}){const _0x3482d7=new LoginAction(_0x3f49a5);return _0x3482d7['execute']();}}class LoginReporter extends BaseReporter{[a0_0x2b7e27(0x224)];[a0_0x2b7e27(0x18d)];[a0_0x2b7e27(0x1d2)];constructor({alias:_0x2d92ef,globalSettingsUrl:_0x48a1f8,devopsUrl:_0x3b06d}){const _0x485e2d=a0_0x2b7e27;super({'success':!![]}),this[_0x485e2d(0x224)]=_0x2d92ef,this[_0x485e2d(0x18d)]=_0x48a1f8,this[_0x485e2d(0x1d2)]=_0x3b06d;}[a0_0x2b7e27(0x15f)](){const _0xe512a=a0_0x2b7e27;return{'success':this[_0xe512a(0x136)],'alias':this[_0xe512a(0x224)],'globalSettingsUrl':this[_0xe512a(0x18d)],'devopsUrl':this['devopsUrl']};}['print'](_0x41944d){const _0x24b101=a0_0x2b7e27,_0x175306=[['Alias',_0x24b101(0x265),'Devops\x20Url'],[_0x41944d['alias'],_0x41944d[_0x24b101(0x18d)],_0x41944d[_0x24b101(0x1d2)]||_0x24b101(0x155)]];console['log'](table[_0x24b101(0x15a)](_0x175306));}}class LoginCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x18c);[a0_0x2b7e27(0x1c1)]='Login\x20into\x20global\x20settings\x20and\x20retrieve\x20data\x20about\x20related\x20services';[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x1fd),'description':a0_0x2b7e27(0x128),'defaultValue':DEFAULT_ALIAS_NAME},{'flags':a0_0x2b7e27(0x21a),'description':'Token\x20for\x20getting\x20access\x20to\x20'+ROOT_NAME+a0_0x2b7e27(0x132)},{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];async[a0_0x2b7e27(0x1ea)]([_0x4082de]){const _0x13447e=a0_0x2b7e27;this[_0x13447e(0x149)][_0x13447e(0x1d5)](_0x13447e(0x271));const _0x53cd0e=await this[_0x13447e(0x162)](_0x4082de[_0x13447e(0x28b)]),_0x4d7c38=await GlobalSettingsService[_0x13447e(0x18c)]({'accessToken':_0x53cd0e});return await CredentialsManager[_0x13447e(0x1e2)]({'alias':_0x4082de[_0x13447e(0x224)],'accessToken':_0x53cd0e,'globalSettingsUrl':_0x4d7c38[_0x13447e(0x18d)],'devopsUrl':_0x4d7c38[_0x13447e(0x1d2)]}),this[_0x13447e(0x149)][_0x13447e(0x1d5)](_0x13447e(0x220)+_0x4082de[_0x13447e(0x224)]+'\x22'),new LoginReporter({'alias':_0x4082de[_0x13447e(0x224)],'globalSettingsUrl':_0x4d7c38[_0x13447e(0x18d)],'devopsUrl':_0x4d7c38[_0x13447e(0x1d2)]});}[a0_0x2b7e27(0x173)]([{json:_0x23f0ae}]){return _0x23f0ae;}async[a0_0x2b7e27(0x162)](_0x342c23){const _0x54a94c=a0_0x2b7e27;if(_0x342c23)return _0x342c23;const _0x3bfe92=await ReadlineUtils[_0x54a94c(0x19c)](_0x54a94c(0x201));return _0x3bfe92;}}const DELETED_STATUS=a0_0x2b7e27(0x219);class LogoutReporter extends BaseReporter{[a0_0x2b7e27(0x224)];constructor({alias:_0x2cee60}){const _0x40bb26=a0_0x2b7e27;super({'success':!![]}),this[_0x40bb26(0x224)]=_0x2cee60;}['buildReport'](){const _0x287a8c=a0_0x2b7e27;return{'success':this[_0x287a8c(0x136)],'alias':this[_0x287a8c(0x224)],'status':DELETED_STATUS};}['print'](_0x19d76a){const _0x37a87f=a0_0x2b7e27,_0x53ee7c=[[_0x37a87f(0x11f),_0x37a87f(0x13b)],[_0x19d76a[_0x37a87f(0x224)],_0x19d76a['status']]];console[_0x37a87f(0x129)](table[_0x37a87f(0x15a)](_0x53ee7c));}}function a0_0x218d(){const _0x573f24=['push','register','indexOf','getCredentialsAlias','Alias\x20of\x20credentials\x20which\x20will\x20be\x20used\x20to\x20retrieve\x20your\x20components\x20from\x20devops','targetBranchId','Deleted','-t,\x20--token\x20<string>','handleFileChange','Type','Looking\x20for\x20changes\x20completed.\x20','version','updateComponent','Login\x20successfully\x20completed.\x20You\x20credentials\x20are\x20saved\x20with\x20alias\x20\x22','--json','getBranchName','trunc','alias','-b,\x20--branch\x20<string>','applicationUrl','Listing\x20remote\x20branches\x20started','lastStageTimestamp','isDirectory','compareWithRemoteBranch','defineRollbackTypes','hex','_branchId','branchId','components-state.json','initProject','commandName','print','pull','readdir','branch-state.json','then','cleanUpEmptyFolders',':INFO','pendingChanges','action','targetCommitId','createInterface','fit/branches/','Component\x20Updates:','auth/me','applyCreateUpdate','retrieveComponents','targetBranch','from','Checkout\x20handler\x20not\x20found','handle','Component\x20id\x20not\x20found\x20after\x20comparison','total','updateSystemFiles','calculateComponentHash','Retrieve\x20Result:','Command','Rolls\x20back\x20your\x20branch\x20state\x20to\x20last\x20committed\x20one','Config\x20set\x20completed','Stage\x20not\x20found','Local\x20head\x20commit\x20id\x20not\x20found','Project\x20initialization\x20started','DevOps','saveComponent','getBranch','\x22\x20of\x20type\x20\x22','Commits\x20local\x20changes\x20to\x20a\x20remote\x20branch\x20on\x20devops','/api/v1/links','map','_logger','Logout\x20completed','Stage\x20folder\x20not\x20found','\x20of\x20type\x20','Logout\x20started','findChanges','PATH','_stage','Rollback\x20started','Detecting\x20changes\x20completed.\x20','cwd','unsetConfig','warnDebug','Global\x20Settings\x20Url','Enter\x20commit\x20message:\x20','\x20was\x20deleted','constructor','abortStage','base64','DEVOPS_COMMANDS','warn','arguments','dirname','options','sha1','Login\x20started','findIndex','convertToLocalComponent','Name','fHash','1109650CGfKMZ','CREATE','_credentials','projectPath','basename','color','listComponentsGenerator','name','Returns\x20changed\x20not\x20committed\x20files','post','run','isInitialized','registerFileChange','Commit\x20started','split','includes','all','mkdir','Checkout\x20on\x20\x22','ROOT_COMMANDS','listBranches','token','CREDENTIALS_ALIAS','constants','infoDebug','_stagePath','content','changeType','\x20not\x20found','Devops\x20url\x20not\x20found','Creation\x20new\x20branch\x20started','_headCommitId','env','Retrieve\x20components\x20completed','buildProjectPath','Value','CLI','Applies\x20json\x20formatted\x20result','A\x20branch\x20name\x20which\x20you\x20checkout\x20on','Create:\x20Component\x20not\x20found','Saved\x20credentials\x20alias','paths','status','Change\x20Type','initStage','toString','failMessage','Checkout\x20on\x20another\x20branch.\x20During\x20checkout\x20process\x20retrieves\x20components\x20missing\x20locally','parse','entries','updateComponentState','deleteComponent','getMe','credentials','component','branchState','(string)','fit/file-versions/','Committed\x20Components:','instance','R_OK','credentials.json','No\x20changes\x20for\x20rollback','NULL','Alias','localHeadCommit','utf-8','rollbackTypes','response','Unknown\x20config\x20name:\x20','Missing\x20content\x20for\x20not\x20Delete\x20change\x20type','CLI\x20for\x20work\x20with\x20','currentBranch','Alias\x20which\x20saved\x20credentials\x20will\x20be\x20accessed\x20with','log','getInstance','<config-name>','\x20components\x20will\x20be\x20committed','access','Files','getBranchById','Credentials\x20with\x20alias\x20\x22','main','\x20services','\x22\x20not\x20found','force-app','node:crypto','success','devops','Project\x20is\x20not\x20initialized','Devops\x20Url','W_OK','Status','delete','configName','<value>','userName','readConfig','errorDebug','branches','Set\x20project\x20config','Enter\x20a\x20branch\x20name:\x20','componentsForRetrieve','list-branches','addCommand','apply','logger','createBranch','readFile','stagePath','get','Clone\x20\x22main\x22\x20branch\x20from\x20registered\x20devops\x20tenant','Enter\x20project\x20name:\x20','setConfig','Pulling\x20latest\x20updates\x20completed','node_modules','fHash\x20for\x20component\x20\x22','\x22\x20already\x20exists','Not\x20Found','To\x20create\x20a\x20new\x20branch\x20a\x20branch\x20should\x20be\x20selected.\x20Checkout\x20on\x20any\x20existing\x20branch','getAllCredentials','A\x20branch\x20is\x20not\x20selected.\x20Use\x20\x22flosum\x20devops\x20checkout\x22\x20at\x20first','value','table','axios','manager','3306422Xiammu','filesChanges','buildReport','handleRestore','/components','getAccessToken','areChanges','Status\x20calculation\x20completed','files','updateBranchState','Config\x20value','_projectPath','DELETE','components','commitDate','Listing\x20remote\x20branches\x20completed','getBranchState','statusText','scan','rollback','(((.+)+)+)+$','Project\x20has\x20already\x20been\x20initialized.\x20Duplicate\x20initialization\x20is\x20not\x20allowed.','isJson','Checking\x20manual\x20changes\x20completed','Create\x20sf\x20project\x20and\x20cli\x20system\x20folder','config-set','create','delimiter','data','Current\x20Branch:\x20','filter','writeFile','getMessage','_success','accessToken','Local\x20and\x20remote\x20head\x20commits\x20don\x27t\x20match.\x20Use\x20\x22flosum\x20devops\x20pull\x22\x20to\x20retrieve\x20latest\x20updates\x20from\x20devops','_localHeadCommit','config','getFolderFilePaths','rmdir','node:fs/promises','2282904nikycv','convertToCommit','fit/branches/default','digest','config-unset','init','login','globalSettingsUrl','-n,\x20--name\x20<string>','Rolling\x20back\x20to\x20last\x20committed\x20state\x20started','File\x20\x22','stat','Component\x20','retrieve','Rollback\x20completed','123xMyUYR','retrieveDifference','printJson','Invalid\x20credentials\x20type','changes','Create','stdin','askString','928269xRTCUs','5gBBNKO','Pulling\x20latest\x20updates\x20started','commit','Project\x20Updates:','logout','SfProjectScanner','report','Update:\x20Component\x20','createComponent','indexes','Checking\x20manual\x20changes\x20started','list-credentials','clone','_branchState','fit/branches','_componentsState','stage','find','abort','debug','getDefaultBranch','catch','Uncommitted\x20changes\x20found.\x20Commit\x20or\x20rollback\x20them\x20to\x20proceed','Update:\x20Component\x20not\x20found','\x22\x20started','set','isDirectoryExists','string','length','fileChanges','-m,\x20--message\x20<string>','componentsState','path','stringify','node:readline/promises','description','426858tRFgce','replace','Update','search','count',':ERROR','homedir','findAndCommitChanges','api','Head\x20commit\x20id\x20not\x20found','Delete\x20saved\x20credentials','copyFile','checkout','1.0.0','addFileChange','Branch\x20Name','devopsUrl','readComponentsState','values','info','applyStage','Commit\x20completed','PATH\x20env\x20not\x20found','branchName','readBranchState','Project\x20Path','parentId','targetBranchName','getCredentials','getUpdatedComponentChanges','credentialsAlias','Credentials\x20not\x20found','save','Cloning\x20started','splice','size','flat','A\x20name\x20of\x20a\x20folder\x20where\x20a\x20project\x20will\x20be\x20stored.\x20If\x20specified\x20a\x20new\x20folder\x20is\x20created\x20for\x20a\x20project\x20with\x20specified\x20name\x20otherwise\x20a\x20current\x20folder\x20is\x20used.','has','40EkJmpF','execute','headCommitId','Credentials\x20alias\x20is\x20not\x20configured','isFileExists','@flosum/salesforce','componentChanges','sep','areRemoteChanges','Retrieve\x20components\x20started','Config\x20name.\x20Allowed\x20values:\x20','update','applyDelete','\x20files\x20will\x20be\x20rolled\x20back','\x22\x20completed','applyFileChanges','Pending\x20Changes:','19508xXJAcd','type','rows','-a,\x20--alias\x20<string>','join','retrievedComponents','1143240mBKUYo','Enter\x20api\x20token:\x20','List\x20credentials\x20completed','Rolling\x20back\x20to\x20last\x20committed\x20state\x20completed','File','\x22\x20wasn\x27t\x20restored','retrieveComponentById','findDeletedAndUpdated','saveBranchState','Token\x20','message','isAxiosError','node:os','Branch\x20id\x20not\x20found','UPDATE','list','firstName','Config\x20Name','commitId'];a0_0x218d=function(){return _0x573f24;};return a0_0x218d();}class LogoutCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x1a2);[a0_0x2b7e27(0x1c1)]=a0_0x2b7e27(0x1cc);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x1fd),'description':a0_0x2b7e27(0x29e),'defaultValue':DEFAULT_ALIAS_NAME},{'flags':'--json','description':a0_0x2b7e27(0x29b),'defaultValue':![]}];async[a0_0x2b7e27(0x1ea)]([_0x9fdbc3]){const _0x1ed305=a0_0x2b7e27;return this[_0x1ed305(0x149)][_0x1ed305(0x1d5)](_0x1ed305(0x25c)),await CredentialsManager[_0x1ed305(0x13c)]({'alias':_0x9fdbc3[_0x1ed305(0x224)]}),this[_0x1ed305(0x149)][_0x1ed305(0x1d5)](_0x1ed305(0x259)),new LogoutReporter({'alias':_0x9fdbc3[_0x1ed305(0x224)]});}[a0_0x2b7e27(0x173)]([{json:_0x46ce0d}]){return _0x46ce0d;}}class PullReporter extends BaseReporter{[a0_0x2b7e27(0x199)];constructor({changes:_0x445c61}){super({'success':!![]}),this['changes']=_0x445c61;}[a0_0x2b7e27(0x15f)](){return{'success':this['success'],'changes':this['changes']};}[a0_0x2b7e27(0x232)](_0x21038a){const _0x5c34ca=a0_0x2b7e27;console[_0x5c34ca(0x129)](_0x5c34ca(0x23e));const _0x5f56bb=[[_0x5c34ca(0x2a1),'Name',_0x5c34ca(0x21c),_0x5c34ca(0x12e)]];for(const {changeType:_0x109ddf,name:_0x5d5f05,type:_0x4cf3ac,paths:_0x5b7652}of _0x21038a[_0x5c34ca(0x199)]){_0x5f56bb['push']([_0x109ddf,_0x5d5f05,_0x4cf3ac,_0x5b7652?.[_0x5c34ca(0x1fe)]('\x0a')||'']);}console[_0x5c34ca(0x129)](table['table'](_0x5f56bb,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class PullCommand extends BaseCommand{['commandName']=a0_0x2b7e27(0x233);[a0_0x2b7e27(0x1c1)]='Pulls\x20latest\x20branch\x20commit\x20from\x20devops';[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process[a0_0x2b7e27(0x262)]();['manager']=ProjectManager['getInstance']();[a0_0x2b7e27(0x1ef)]=[];[a0_0x2b7e27(0x278)];get[a0_0x2b7e27(0x114)](){const _0x29c47e=a0_0x2b7e27;if(!this[_0x29c47e(0x278)])throw new Error(_0x29c47e(0x1e1));return this[_0x29c47e(0x278)];}async[a0_0x2b7e27(0x1ea)](){const _0x3614b4=a0_0x2b7e27;this[_0x3614b4(0x149)][_0x3614b4(0x1d5)](_0x3614b4(0x19f));const _0x338d36=await this[_0x3614b4(0x15c)][_0x3614b4(0x281)](this[_0x3614b4(0x279)]);if(!_0x338d36)return this['logger']['warn'](_0x3614b4(0x138)),new FailReporter({'failMessage':_0x3614b4(0x138)});const _0x578833=await this[_0x3614b4(0x216)]();this[_0x3614b4(0x278)]=await ApiService[_0x3614b4(0x1de)](_0x578833);const {id:_0x3ebc26,headCommitId:_0xa8680d}=await this[_0x3614b4(0x15c)][_0x3614b4(0x1da)](this[_0x3614b4(0x279)]);if(!_0x3ebc26)return this[_0x3614b4(0x149)]['warn'](_0x3614b4(0x158)),new FailReporter({'failMessage':_0x3614b4(0x158)});const _0x8faea5=await ApiService['getBranchById']({'accessToken':this[_0x3614b4(0x114)]['accessToken'],'devopsUrl':this['credentials'][_0x3614b4(0x1d2)],'branchId':_0x3ebc26});if(_0xa8680d===_0x8faea5[_0x3614b4(0x1eb)])return new PullReporter({'changes':this[_0x3614b4(0x1ef)]});await this[_0x3614b4(0x15c)][_0x3614b4(0x2a2)](this['projectPath']);try{this['logger'][_0x3614b4(0x1d5)](_0x3614b4(0x1a8));const _0x53eb9b=await this[_0x3614b4(0x163)]();if(_0x53eb9b)return this[_0x3614b4(0x149)][_0x3614b4(0x26c)]('Uncommitted\x20changes\x20found.\x20Commit\x20or\x20rollback\x20them\x20to\x20proceed'),await this[_0x3614b4(0x15c)][_0x3614b4(0x269)](),new FailReporter({'failMessage':_0x3614b4(0x1b4)});return this[_0x3614b4(0x149)]['info'](_0x3614b4(0x174)),this[_0x3614b4(0x149)][_0x3614b4(0x1d5)](_0x3614b4(0x1f2)),await this[_0x3614b4(0x196)](_0x8faea5),this['logger'][_0x3614b4(0x1d5)](_0x3614b4(0x297)),await this[_0x3614b4(0x15c)][_0x3614b4(0x1d6)](),this[_0x3614b4(0x149)][_0x3614b4(0x1d5)](_0x3614b4(0x151)),new PullReporter({'changes':this['componentChanges']});}catch(_0x1475f2){await this['manager']['abortStage']();throw _0x1475f2;}}[a0_0x2b7e27(0x173)]([{json:_0x2694fb}]){return _0x2694fb;}async[a0_0x2b7e27(0x216)](){const _0x1855e7=a0_0x2b7e27,{credentialsAlias:_0x2e78c3}=await this[_0x1855e7(0x15c)][_0x1855e7(0x140)](this[_0x1855e7(0x279)]);if(!_0x2e78c3)throw new Error(_0x1855e7(0x1ec));if(typeof _0x2e78c3!==_0x1855e7(0x1b9))throw new Error('Invalid\x20credentials\x20type');return _0x2e78c3;}async[a0_0x2b7e27(0x163)](){const _0x129846=a0_0x2b7e27,_0x1e9892=await this[_0x129846(0x15c)][_0x129846(0x25d)]();return!!_0x1e9892['length'];}async[a0_0x2b7e27(0x196)](_0x31b8ed){const _0x4367ea=a0_0x2b7e27,{devopsUrl:_0x148256,accessToken:_0x3d0079}=this[_0x4367ea(0x114)],_0x1b4610=await this[_0x4367ea(0x15c)][_0x4367ea(0x22a)]({'devopsUrl':_0x148256,'accessToken':_0x3d0079,'targetBranchId':_0x31b8ed['id'],'targetCommitId':_0x31b8ed[_0x4367ea(0x1eb)]});for(const {id:_0x353d19,name:_0x347d8a,type:_0x6a5ccd,changeType:_0x2ddda6}of _0x1b4610){if(!_0x353d19){if(_0x2ddda6!==ChangeType[_0x4367ea(0x169)])throw new Error(_0x4367ea(0x246));await this[_0x4367ea(0x15c)][_0x4367ea(0x252)]({'name':_0x347d8a,'type':_0x6a5ccd,'changeType':_0x2ddda6}),this[_0x4367ea(0x1ef)][_0x4367ea(0x213)]({'changeType':_0x2ddda6,'name':_0x347d8a,'type':_0x6a5ccd});continue;}const _0x5463c6=await ApiService['retrieveComponentById']({'devopsUrl':_0x148256,'accessToken':_0x3d0079,'componentId':_0x353d19});if(!_0x5463c6[_0x4367ea(0x275)])throw new Error(_0x4367ea(0x153)+_0x5463c6[_0x4367ea(0x27d)]+_0x4367ea(0x254)+_0x5463c6[_0x4367ea(0x1fb)]+_0x4367ea(0x133));await this[_0x4367ea(0x15c)][_0x4367ea(0x252)]({'name':_0x347d8a,'type':_0x6a5ccd,'changeType':_0x2ddda6,'component':{..._0x5463c6,'fHash':_0x5463c6[_0x4367ea(0x275)]}}),this[_0x4367ea(0x1ef)][_0x4367ea(0x213)]({'changeType':_0x2ddda6,'name':_0x347d8a,'type':_0x6a5ccd,'paths':_0x5463c6[_0x4367ea(0x165)][_0x4367ea(0x257)](_0x4b2e27=>_0x4b2e27['path'])});}await this[_0x4367ea(0x15c)][_0x4367ea(0x208)](_0x31b8ed);}}class RollbackReporter extends BaseReporter{['fileChanges'];constructor({fileChanges:_0x436158}){super({'success':!![]}),this['fileChanges']=_0x436158;}[a0_0x2b7e27(0x15f)](){const _0x23b14f=a0_0x2b7e27;return{'success':this['success'],'fileChanges':this[_0x23b14f(0x1bb)]};}[a0_0x2b7e27(0x232)](_0x117163){const _0x43cc32=a0_0x2b7e27;console[_0x43cc32(0x129)]('Rolled\x20Back\x20Changes:');const _0x181341=[[_0x43cc32(0x2a1),'File']];for(const {changeType:_0x6a4870,path:_0x3fca7d}of _0x117163[_0x43cc32(0x1bb)]){_0x181341[_0x43cc32(0x213)]([_0x6a4870,_0x3fca7d]);}console[_0x43cc32(0x129)](table['table'](_0x181341,{'columns':[{},{'width':0x28}]}));}}class RollbackCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x170);['description']=a0_0x2b7e27(0x24c);[a0_0x2b7e27(0x26d)]=[];['options']=[{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process[a0_0x2b7e27(0x262)]();[a0_0x2b7e27(0x15c)]=ProjectManager[a0_0x2b7e27(0x12a)]();['rollbackTypes']=new Map();[a0_0x2b7e27(0x145)]=[];['filesChanges']=[];['_credentials'];['_branchId'];[a0_0x2b7e27(0x295)];get[a0_0x2b7e27(0x114)](){const _0x4b0cdf=a0_0x2b7e27;if(!this[_0x4b0cdf(0x278)])throw new Error(_0x4b0cdf(0x1e1));return this[_0x4b0cdf(0x278)];}get['branchId'](){const _0x5dcfe4=a0_0x2b7e27;if(!this[_0x5dcfe4(0x22d)])throw new Error(_0x5dcfe4(0x20d));return this[_0x5dcfe4(0x22d)];}get[a0_0x2b7e27(0x1eb)](){const _0x25d300=a0_0x2b7e27;if(!this[_0x25d300(0x295)])throw new Error(_0x25d300(0x1cb));return this[_0x25d300(0x295)];}async[a0_0x2b7e27(0x1ea)](){const _0x39f997=a0_0x2b7e27;this['logger'][_0x39f997(0x1d5)](_0x39f997(0x18f));const _0x32f166=await this[_0x39f997(0x15c)][_0x39f997(0x281)](this['projectPath']);if(!_0x32f166)return this['logger']['warn'](_0x39f997(0x138)),new FailReporter({'failMessage':_0x39f997(0x138)});const _0x318ade=await this[_0x39f997(0x216)]();this['_credentials']=await ApiService[_0x39f997(0x1de)](_0x318ade),await this['getBranchState'](),await this[_0x39f997(0x15c)][_0x39f997(0x2a2)](this['projectPath']);try{this[_0x39f997(0x149)][_0x39f997(0x1d5)]('Looking\x20for\x20changes\x20started'),await this['defineRollbackTypes']();if(!this[_0x39f997(0x122)][_0x39f997(0x1e5)])return this[_0x39f997(0x149)][_0x39f997(0x1d5)](_0x39f997(0x11d)),new RollbackReporter({'fileChanges':this[_0x39f997(0x15e)]});return this[_0x39f997(0x149)][_0x39f997(0x1d5)](_0x39f997(0x21d)+this[_0x39f997(0x122)]['size']+_0x39f997(0x1f6)),this[_0x39f997(0x149)]['info'](_0x39f997(0x260)),await this[_0x39f997(0x170)](),this['logger'][_0x39f997(0x1d5)](_0x39f997(0x194)),await this[_0x39f997(0x15c)][_0x39f997(0x1d6)](),this[_0x39f997(0x149)][_0x39f997(0x1d5)](_0x39f997(0x203)),new RollbackReporter({'fileChanges':this[_0x39f997(0x15e)]});}catch(_0x160713){await this[_0x39f997(0x15c)][_0x39f997(0x269)]();throw _0x160713;}}['isJson']([{json:_0x402d3a}]){return _0x402d3a;}async[a0_0x2b7e27(0x216)](){const _0x491127=a0_0x2b7e27,{credentialsAlias:_0x3166d4}=await this[_0x491127(0x15c)][_0x491127(0x140)](this[_0x491127(0x279)]);if(!_0x3166d4)throw new Error(_0x491127(0x1ec));if(typeof _0x3166d4!==_0x491127(0x1b9))throw new Error(_0x491127(0x198));return _0x3166d4;}async[a0_0x2b7e27(0x16d)](){const _0x4adeeb=a0_0x2b7e27,{id:_0x261853,headCommitId:_0x3b54be}=await this[_0x4adeeb(0x15c)][_0x4adeeb(0x1da)](this[_0x4adeeb(0x279)]);if(!_0x261853||!_0x3b54be)throw new Error('A\x20branch\x20is\x20not\x20selected.\x20Use\x20\x22flosum\x20devops\x20checkout\x22\x20at\x20first');this[_0x4adeeb(0x22d)]=_0x261853||void 0x0,this[_0x4adeeb(0x295)]=_0x3b54be||void 0x0;}async['rollback'](){const _0x1bb052=a0_0x2b7e27;if(this[_0x1bb052(0x145)][_0x1bb052(0x1ba)])for await(const {files:_0xf93c69}of ApiService[_0x1bb052(0x241)]({'devopsUrl':this['credentials'][_0x1bb052(0x1d2)],'accessToken':this[_0x1bb052(0x114)][_0x1bb052(0x17f)],'branchId':this['branchId'],'commitId':this[_0x1bb052(0x1eb)],'components':this['componentsForRetrieve']})){await this[_0x1bb052(0x160)](_0xf93c69);}for(const [_0x324cc8,_0x55aec3]of this[_0x1bb052(0x122)][_0x1bb052(0x110)]()){if(_0x55aec3!==ChangeType[_0x1bb052(0x169)])throw new Error(_0x1bb052(0x190)+_0x324cc8+_0x1bb052(0x205));await this[_0x1bb052(0x15c)][_0x1bb052(0x1d0)]({'path':_0x324cc8,'changeType':_0x55aec3});}return{'success':!![]};}async[a0_0x2b7e27(0x22b)](){const _0xe89bc8=a0_0x2b7e27,_0x5eba55=await this[_0xe89bc8(0x15c)][_0xe89bc8(0x25d)]();for(const {name:_0x11d55c,type:_0x33cd61,changes:_0x50ae3b}of _0x5eba55){let _0x4b22a4=![];for(const {path:_0x3a2f5a,changeType:_0xa89b59}of _0x50ae3b){let _0x5dc094;_0xa89b59===ChangeType[_0xe89bc8(0x277)]?_0x5dc094=ChangeType[_0xe89bc8(0x169)]:(_0x5dc094=_0xa89b59===ChangeType[_0xe89bc8(0x169)]?ChangeType[_0xe89bc8(0x277)]:ChangeType['UPDATE'],_0x4b22a4=!![]),this[_0xe89bc8(0x122)][_0xe89bc8(0x1b7)](_0x3a2f5a,_0x5dc094),this[_0xe89bc8(0x15e)][_0xe89bc8(0x213)]({'changeType':_0x5dc094,'path':_0x3a2f5a});}_0x4b22a4&&this['componentsForRetrieve'][_0xe89bc8(0x213)]({'name':_0x11d55c,'type':_0x33cd61});}}async[a0_0x2b7e27(0x160)](_0x11b35e){const _0x50bf79=a0_0x2b7e27;for(const {path:_0x25ac2f,content:_0x4da624}of _0x11b35e){const _0x19f3cc=path[_0x50bf79(0x1fe)](COMPONENT_PROJECT_PATH,_0x25ac2f),_0xc73bf2=this[_0x50bf79(0x122)][_0x50bf79(0x14d)](_0x19f3cc);if(!_0xc73bf2)continue;await this['manager'][_0x50bf79(0x1d0)]({'path':_0x19f3cc,'content':_0x4da624,'changeType':_0xc73bf2}),this[_0x50bf79(0x122)][_0x50bf79(0x13c)](_0x19f3cc);}}}class StatusReporter extends BaseReporter{[a0_0x2b7e27(0x239)];constructor({pendingChanges:_0x4f68de}){const _0x2937cc=a0_0x2b7e27;super({'success':!![]}),this[_0x2937cc(0x239)]=_0x4f68de;}[a0_0x2b7e27(0x15f)](){const _0x1aa360=a0_0x2b7e27;return{'success':this[_0x1aa360(0x136)],'pendingChanges':this[_0x1aa360(0x239)]};}[a0_0x2b7e27(0x232)](_0x339cf3){const _0x4a253a=a0_0x2b7e27;console[_0x4a253a(0x129)](_0x4a253a(0x1f9));const _0x409b6c=[[_0x4a253a(0x2a1),_0x4a253a(0x204)]];for(const {changeType:_0x3fa158,path:_0x4077fa}of _0x339cf3[_0x4a253a(0x239)]){_0x409b6c['push']([_0x3fa158,_0x4077fa]);}console['log'](table[_0x4a253a(0x15a)](_0x409b6c,{'columns':[{},{'width':0x28}]}));}}class StatusCommand extends BaseCommand{[a0_0x2b7e27(0x231)]=a0_0x2b7e27(0x2a0);['description']=a0_0x2b7e27(0x27e);[a0_0x2b7e27(0x26d)]=[];[a0_0x2b7e27(0x26f)]=[{'flags':a0_0x2b7e27(0x221),'description':a0_0x2b7e27(0x29b),'defaultValue':![]}];[a0_0x2b7e27(0x279)]=process[a0_0x2b7e27(0x262)]();[a0_0x2b7e27(0x15c)]=ProjectManager[a0_0x2b7e27(0x12a)]();[a0_0x2b7e27(0x239)]=[];async[a0_0x2b7e27(0x1ea)](){const _0x3ff250=a0_0x2b7e27;this[_0x3ff250(0x149)][_0x3ff250(0x1d5)]('Status\x20calculation\x20started');const _0x286fe7=await this[_0x3ff250(0x15c)][_0x3ff250(0x281)](this[_0x3ff250(0x279)]);if(!_0x286fe7)return this[_0x3ff250(0x149)]['warn']('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':_0x3ff250(0x138)});await this[_0x3ff250(0x15c)][_0x3ff250(0x2a2)](this[_0x3ff250(0x279)]);const _0xbd0ae4=await this[_0x3ff250(0x15c)][_0x3ff250(0x25d)]();for(const {changes:_0x2ae29c}of _0xbd0ae4){for(const {changeType:_0x3e3e5b,path:_0x5af941}of _0x2ae29c){this[_0x3ff250(0x239)][_0x3ff250(0x213)]({'changeType':_0x3e3e5b,'path':_0x5af941});}}return await this['manager'][_0x3ff250(0x269)](),this[_0x3ff250(0x149)][_0x3ff250(0x1d5)](_0x3ff250(0x164)),new StatusReporter({'pendingChanges':this[_0x3ff250(0x239)]});}[a0_0x2b7e27(0x173)]([{json:_0x5df3eb}]){return _0x5df3eb;}}configurePathEnv();const ROOT_COMMANDS=[LoginCommand,LogoutCommand,ListCredentialsCommand],DEVOPS_COMMANDS=[InitCommand,CloneCommand,CheckoutCommand,ConfigSetCommand,ConfigUnset,PullCommand,CommitCommand,RollbackCommand,StatusCommand,ListBranchesCommand],root=new commander[(a0_0x2b7e27(0x24b))]()[a0_0x2b7e27(0x27d)](ROOT_NAME)[a0_0x2b7e27(0x1c1)](a0_0x2b7e27(0x126)+ROOT_NAME+'\x20services')[a0_0x2b7e27(0x21e)](config[a0_0x2b7e27(0x21e)]);for(const command of ROOT_COMMANDS){new command()['register'](root);}const devops=new commander[(a0_0x2b7e27(0x24b))]()[a0_0x2b7e27(0x27d)](a0_0x2b7e27(0x137))[a0_0x2b7e27(0x1c1)]('Devops\x20commands');for(const command of DEVOPS_COMMANDS){new command()[a0_0x2b7e27(0x214)](devops);}root[a0_0x2b7e27(0x147)](devops),root[a0_0x2b7e27(0x10f)]();function configurePathEnv(){const _0x39de4d=a0_0x2b7e27,_0x153ae4=process[_0x39de4d(0x296)][_0x39de4d(0x25e)]?.['split'](node_path[_0x39de4d(0x178)]);if(!_0x153ae4)throw new Error(_0x39de4d(0x1d8));const _0x2a6cdd=node_path[_0x39de4d(0x1fe)](node_path[_0x39de4d(0x26e)](__dirname),_0x39de4d(0x152),'.bin');_0x153ae4[_0x39de4d(0x213)](_0x2a6cdd),process[_0x39de4d(0x296)]['PATH']=_0x153ae4[_0x39de4d(0x1fe)](node_path[_0x39de4d(0x178)]);}exports[a0_0x2b7e27(0x26b)]=DEVOPS_COMMANDS,exports[a0_0x2b7e27(0x289)]=ROOT_COMMANDS;
|
|
2
|
+
const a0_0x2cdf9a=a0_0x21da;(function(_0x32ebb2,_0x53aae9){const _0x4317dd=a0_0x21da,_0x4405c8=_0x32ebb2();while(!![]){try{const _0x123dda=parseInt(_0x4317dd(0xc8))/0x1*(-parseInt(_0x4317dd(0x197))/0x2)+-parseInt(_0x4317dd(0x19f))/0x3*(-parseInt(_0x4317dd(0x159))/0x4)+parseInt(_0x4317dd(0x1ed))/0x5*(-parseInt(_0x4317dd(0x157))/0x6)+parseInt(_0x4317dd(0xd3))/0x7*(parseInt(_0x4317dd(0x220))/0x8)+parseInt(_0x4317dd(0x1a3))/0x9+parseInt(_0x4317dd(0xd2))/0xa*(parseInt(_0x4317dd(0xe1))/0xb)+parseInt(_0x4317dd(0x133))/0xc*(-parseInt(_0x4317dd(0x200))/0xd);if(_0x123dda===_0x53aae9)break;else _0x4405c8['push'](_0x4405c8['shift']());}catch(_0x3548d6){_0x4405c8['push'](_0x4405c8['shift']());}}}(a0_0x173a,0x3b9c2));const a0_0x433cef=(function(){let _0x2dec95=!![];return function(_0x5a91d7,_0x219766){const _0x560a4e=_0x2dec95?function(){const _0x344cf1=a0_0x21da;if(_0x219766){const _0xa18fff=_0x219766[_0x344cf1(0x1ec)](_0x5a91d7,arguments);return _0x219766=null,_0xa18fff;}}:function(){};return _0x2dec95=![],_0x560a4e;};}()),a0_0x269aa1=a0_0x433cef(this,function(){const _0x5a2344=a0_0x21da;return a0_0x269aa1['toString']()['search']('(((.+)+)+)+$')[_0x5a2344(0x20a)]()['constructor'](a0_0x269aa1)[_0x5a2344(0x132)]('(((.+)+)+)+$');});a0_0x269aa1();'use strict';var node_path=require(a0_0x2cdf9a(0x1d5)),commander=require('commander'),promises=require(a0_0x2cdf9a(0xec)),node_os=require('node:os'),axios=require('axios'),salesforce=require('@flosum/salesforce'),node_crypto=require(a0_0x2cdf9a(0x1ca)),readline=require(a0_0x2cdf9a(0x1c1)),debug=require(a0_0x2cdf9a(0x170)),table=require('table'),path=require(a0_0x2cdf9a(0x16e)),version='0.0.1',config={'version':version};const ROOT_NAME=a0_0x2cdf9a(0x175),DEFAULT_ALIAS_NAME=a0_0x2cdf9a(0xc2);class FileUtils{static async[a0_0x2cdf9a(0x19d)](_0x3d90e4){const _0x75b490=a0_0x2cdf9a,_0x455c22=await promises[_0x75b490(0xd9)](_0x3d90e4,{'withFileTypes':!![]}),_0x39d1c0=[];for(const _0x8893a of _0x455c22){const _0x557104=node_path[_0x75b490(0x11b)](_0x3d90e4,_0x8893a[_0x75b490(0x127)]);if(_0x8893a['isDirectory']()){const _0x208f0d=await FileUtils[_0x75b490(0x19d)](_0x557104);_0x39d1c0[_0x75b490(0x10e)](_0x208f0d);continue;}_0x39d1c0[_0x75b490(0x10e)](_0x557104);}return _0x39d1c0[_0x75b490(0xc5)]();}static async['cleanUpEmptyFolders'](_0x5f2832,_0x265fef=!![]){const _0x39d642=a0_0x2cdf9a,_0x233169=await promises[_0x39d642(0xd9)](_0x5f2832,{'withFileTypes':!![]});let _0x48747e=!![];for(const _0x496b92 of _0x233169){const _0x303e43=node_path[_0x39d642(0x11b)](_0x5f2832,_0x496b92[_0x39d642(0x127)]);if(_0x496b92[_0x39d642(0x135)]()){const _0x1565b0=await FileUtils[_0x39d642(0xfe)](_0x303e43);!_0x1565b0&&(_0x48747e=![]);}else _0x48747e=![];}return _0x265fef&&_0x48747e&&await promises[_0x39d642(0x1c8)](_0x5f2832),_0x48747e;}static async[a0_0x2cdf9a(0x178)](_0x2f7d9e){const _0x49afd4=a0_0x2cdf9a;return promises[_0x49afd4(0x137)](_0x2f7d9e)[_0x49afd4(0x103)](async _0x2df1c4=>{const _0x5bd653=_0x49afd4;return await promises[_0x5bd653(0x15d)](_0x2f7d9e,promises['constants']['R_OK']|promises[_0x5bd653(0x210)][_0x5bd653(0x16b)]),_0x2df1c4[_0x5bd653(0x135)]();})[_0x49afd4(0x12d)](()=>![]);}static async[a0_0x2cdf9a(0x1c0)](_0x483450){const _0x218768=a0_0x2cdf9a;return promises[_0x218768(0x137)](_0x483450)[_0x218768(0x103)](async _0x3c1859=>{const _0x2e2fc2=_0x218768;return await promises[_0x2e2fc2(0x15d)](_0x483450,promises['constants'][_0x2e2fc2(0x184)]|promises[_0x2e2fc2(0x210)][_0x2e2fc2(0x16b)]),_0x3c1859[_0x2e2fc2(0x223)]();})[_0x218768(0x12d)](()=>![]);}}const SYSTEM_FOLDER$1='.'+ROOT_NAME,CREDENTIALS_FILE_NAME=a0_0x2cdf9a(0x107);class CredentialsManager{static async['save'](_0x471ce9){const _0xcff1ad=a0_0x2cdf9a,_0x6ed0ae=node_path[_0xcff1ad(0x11b)](node_os[_0xcff1ad(0x151)](),SYSTEM_FOLDER$1);await promises[_0xcff1ad(0x17d)](_0x6ed0ae,{'recursive':!![]});const _0x59cbe5=node_path[_0xcff1ad(0x11b)](_0x6ed0ae,CREDENTIALS_FILE_NAME),_0x3c8d49=await CredentialsManager[_0xcff1ad(0x11d)](_0x59cbe5),_0x5f5705=_0x3c8d49['find'](({alias:_0x1f85b5})=>_0x1f85b5===_0x471ce9[_0xcff1ad(0x196)]);!_0x5f5705?_0x3c8d49[_0xcff1ad(0x10e)](_0x471ce9):(_0x5f5705[_0xcff1ad(0xbd)]=_0x471ce9['accessToken'],_0x5f5705['globalSettingsUrl']=_0x471ce9[_0xcff1ad(0x153)],_0x5f5705[_0xcff1ad(0x143)]=_0x471ce9[_0xcff1ad(0x143)]),await promises[_0xcff1ad(0x181)](_0x59cbe5,Buffer[_0xcff1ad(0x213)](JSON['stringify'](_0x3c8d49)));}static async[a0_0x2cdf9a(0x231)]({alias:_0x2c1623}){const _0x568db2=a0_0x2cdf9a,_0x74e8cc=node_path[_0x568db2(0x11b)](node_os[_0x568db2(0x151)](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x381708=await CredentialsManager[_0x568db2(0x11d)](_0x74e8cc),_0x4406eb=_0x381708[_0x568db2(0x117)](_0x1ba570=>_0x1ba570[_0x568db2(0x196)]===_0x2c1623);if(!_0x4406eb)throw new Error(_0x568db2(0x149)+_0x2c1623+_0x568db2(0x172));return _0x4406eb;}static async[a0_0x2cdf9a(0x201)](){const _0x36d2f1=a0_0x2cdf9a,_0x5ae0e0=node_path[_0x36d2f1(0x11b)](node_os[_0x36d2f1(0x151)](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x3eef43=await CredentialsManager[_0x36d2f1(0x11d)](_0x5ae0e0);return _0x3eef43;}static async['getAllCredentials'](_0x2d7248){const _0x3d8130=a0_0x2cdf9a,_0x58fe2f=await FileUtils[_0x3d8130(0x1c0)](_0x2d7248);if(_0x58fe2f){const _0x186fca=await promises[_0x3d8130(0x13b)](_0x2d7248);return JSON[_0x3d8130(0x14f)](_0x186fca[_0x3d8130(0x20a)]());}return[];}static async['delete']({alias:_0x15ea9a}){const _0x404cb8=a0_0x2cdf9a,_0x1a6c4c=node_path[_0x404cb8(0x11b)](node_os[_0x404cb8(0x151)](),SYSTEM_FOLDER$1,CREDENTIALS_FILE_NAME),_0x2cda3f=await CredentialsManager[_0x404cb8(0x11d)](_0x1a6c4c),_0x1bb732=_0x2cda3f[_0x404cb8(0xef)](_0x106b77=>_0x106b77[_0x404cb8(0x196)]===_0x15ea9a);if(_0x1bb732<0x0)throw new Error('Credentials\x20with\x20alias\x20\x22'+_0x15ea9a+_0x404cb8(0x172));_0x2cda3f[_0x404cb8(0x1d7)](_0x1bb732,0x1),await promises[_0x404cb8(0x181)](_0x1a6c4c,Buffer[_0x404cb8(0x213)](JSON[_0x404cb8(0x192)](_0x2cda3f)));}}class CommitAction{['accessToken'];['devopsUrl'];[a0_0x2cdf9a(0x1b7)];[a0_0x2cdf9a(0x1fb)];[a0_0x2cdf9a(0xe2)];[a0_0x2cdf9a(0x1fe)];['commitDate']=new Date();constructor(_0x2d2490){const _0x2c543c=a0_0x2cdf9a;this[_0x2c543c(0xbd)]=_0x2d2490['accessToken'],this['devopsUrl']=_0x2d2490['devopsUrl'],this[_0x2c543c(0x1b7)]=_0x2d2490['message'],this[_0x2c543c(0x1fb)]=_0x2d2490['branchId'],this[_0x2c543c(0xe2)]=_0x2d2490[_0x2c543c(0xe2)],this[_0x2c543c(0x1fe)]=_0x2d2490[_0x2c543c(0x1fe)];}async[a0_0x2cdf9a(0x20c)](){const _0x4a3db6=a0_0x2cdf9a;try{const _0x18e085=await Promise[_0x4a3db6(0xe5)](this[_0x4a3db6(0xe2)][_0x4a3db6(0xf3)](async _0x4b11ed=>await this['convertToCommit'](_0x4b11ed))),{data:_0x5c3b9b}=await axios[_0x4a3db6(0x1a5)](_0x4a3db6(0x18c)+this[_0x4a3db6(0x1fb)]+_0x4a3db6(0xe7),{'message':this[_0x4a3db6(0x1b7)],'components':_0x18e085},{'headers':{'authorization':_0x4a3db6(0x11a)+this[_0x4a3db6(0xbd)]},'baseURL':this['devopsUrl']});return _0x5c3b9b;}catch(_0x4a5f50){if(axios['isAxiosError'](_0x4a5f50))throw Error(_0x4a5f50[_0x4a3db6(0x11c)]?.['data'][_0x4a3db6(0x1b7)]||_0x4a5f50[_0x4a3db6(0x11c)]?.[_0x4a3db6(0x11f)]||_0x4a5f50[_0x4a3db6(0x1b7)],{'cause':_0x4a5f50});throw _0x4a5f50;}}async['convertToCommit'](_0x3ab385){const _0xc294c5=a0_0x2cdf9a,_0xe672ab=[];for(const {path:_0x4f219c,localPath:_0x1e8c77}of _0x3ab385[_0xc294c5(0xe6)]){_0xe672ab[_0xc294c5(0x10e)](promises[_0xc294c5(0x13b)](_0x1e8c77)['then'](_0x295622=>({'path':_0x4f219c,'content':_0x295622[_0xc294c5(0x20a)](_0xc294c5(0x173))})));}const _0x442b27=await Promise[_0xc294c5(0xe5)](_0xe672ab);return{'name':_0x3ab385[_0xc294c5(0x127)],'type':_0x3ab385[_0xc294c5(0xd5)],'sourceName':_0xc294c5(0xc3),'sourceType':_0xc294c5(0xc3),'externalUpdatedAt':this[_0xc294c5(0x16f)],'externalUpdatedBy':this['userName'],'files':_0x442b27};}}class CreateBranchAction{[a0_0x2cdf9a(0xbd)];[a0_0x2cdf9a(0x143)];constructor(_0x1b8929){const _0x2a2b76=a0_0x2cdf9a;this['accessToken']=_0x1b8929['accessToken'],this[_0x2a2b76(0x143)]=_0x1b8929[_0x2a2b76(0x143)];}async[a0_0x2cdf9a(0x20c)](_0x276050){const _0xd1ec41=a0_0x2cdf9a;try{const {data:_0x2b0299}=await axios['post'](_0xd1ec41(0x1a8),{..._0x276050},{'headers':{'authorization':_0xd1ec41(0x11a)+this['accessToken']},'baseURL':this[_0xd1ec41(0x143)]});return _0x2b0299;}catch(_0xcd6536){if(axios['isAxiosError'](_0xcd6536))throw Error(_0xcd6536['response']?.[_0xd1ec41(0x164)][_0xd1ec41(0x1b7)]||_0xcd6536[_0xd1ec41(0x11c)]?.['statusText']||_0xcd6536[_0xd1ec41(0x1b7)],{'cause':_0xcd6536});throw _0xcd6536;}}}class GetBranchAction{[a0_0x2cdf9a(0xbd)];[a0_0x2cdf9a(0x143)];constructor(_0x5306da){const _0x4d8176=a0_0x2cdf9a;this[_0x4d8176(0xbd)]=_0x5306da[_0x4d8176(0xbd)],this['devopsUrl']=_0x5306da[_0x4d8176(0x143)];}async[a0_0x2cdf9a(0x20c)](_0xe58707){const _0x4711b5=a0_0x2cdf9a;try{const {data:_0x3bf262}=await axios[_0x4711b5(0x231)](_0x4711b5(0x18c)+_0xe58707[_0x4711b5(0x1fb)],{'headers':{'authorization':_0x4711b5(0x11a)+this[_0x4711b5(0xbd)]},'baseURL':this[_0x4711b5(0x143)]});return _0x3bf262;}catch(_0x239500){if(axios[_0x4711b5(0x23b)](_0x239500))throw Error(_0x239500[_0x4711b5(0x11c)]?.[_0x4711b5(0x164)][_0x4711b5(0x1b7)]||_0x239500['response']?.[_0x4711b5(0x11f)]||_0x239500['message'],{'cause':_0x239500});throw _0x239500;}}}class GetDefaultBranchAction{['devopsUrl'];[a0_0x2cdf9a(0xbd)];constructor(_0x367a70){const _0x7b9109=a0_0x2cdf9a;this[_0x7b9109(0x143)]=_0x367a70['devopsUrl'],this['accessToken']=_0x367a70['accessToken'];}async[a0_0x2cdf9a(0x20c)](){const _0x4f35d2=a0_0x2cdf9a;try{const {data:_0x173168}=await axios[_0x4f35d2(0x231)]('fit/branches/default',{'headers':{'authorization':_0x4f35d2(0x11a)+this[_0x4f35d2(0xbd)]},'baseURL':this[_0x4f35d2(0x143)]});return _0x173168;}catch(_0x1ea612){if(axios['isAxiosError'](_0x1ea612))throw Error(_0x1ea612[_0x4f35d2(0x11c)]?.[_0x4f35d2(0x164)][_0x4f35d2(0x1b7)]||_0x1ea612[_0x4f35d2(0x11c)]?.['statusText']||_0x1ea612['message'],{'cause':_0x1ea612});throw _0x1ea612;}}}class GetMeAction{['accessToken'];[a0_0x2cdf9a(0x143)];constructor(_0x4ffffc){const _0x3d1c54=a0_0x2cdf9a;this[_0x3d1c54(0xbd)]=_0x4ffffc[_0x3d1c54(0xbd)],this[_0x3d1c54(0x143)]=_0x4ffffc[_0x3d1c54(0x143)];}async[a0_0x2cdf9a(0x20c)](){const _0x3ce660=a0_0x2cdf9a;try{const {data:_0x2c187e}=await axios[_0x3ce660(0x231)](_0x3ce660(0x1f1),{'headers':{'authorization':_0x3ce660(0x11a)+this[_0x3ce660(0xbd)]},'baseURL':this[_0x3ce660(0x143)]});return _0x2c187e;}catch(_0x5dc8c7){if(axios[_0x3ce660(0x23b)](_0x5dc8c7))throw Error(_0x5dc8c7['response']?.[_0x3ce660(0x164)][_0x3ce660(0x1b7)]||_0x5dc8c7[_0x3ce660(0x11c)]?.['statusText']||_0x5dc8c7[_0x3ce660(0x1b7)],{'cause':_0x5dc8c7});throw _0x5dc8c7;}}}class ListBranchesAction{[a0_0x2cdf9a(0x143)];[a0_0x2cdf9a(0xbd)];[a0_0x2cdf9a(0x132)];constructor(_0x5755dc){const _0x43fcb4=a0_0x2cdf9a;this[_0x43fcb4(0x143)]=_0x5755dc[_0x43fcb4(0x143)],this[_0x43fcb4(0xbd)]=_0x5755dc[_0x43fcb4(0xbd)],this[_0x43fcb4(0x132)]=_0x5755dc[_0x43fcb4(0x132)];}async[a0_0x2cdf9a(0x20c)](){const _0x23680f=a0_0x2cdf9a;try{const _0x43f059=[];let _0x247763=0x0,_0x12fb69=0x0;do{const {data:_0x5313ed}=await axios[_0x23680f(0x231)](_0x23680f(0x1a8),{'headers':{'authorization':_0x23680f(0x11a)+this[_0x23680f(0xbd)]},'params':{'search':this['search'],'offset':_0x247763,'limit':0x64},'baseURL':this[_0x23680f(0x143)]});_0x43f059[_0x23680f(0x10e)](..._0x5313ed[_0x23680f(0x1cc)]),_0x247763+=_0x5313ed[_0x23680f(0x1cc)][_0x23680f(0xc7)],_0x12fb69=_0x5313ed[_0x23680f(0x1aa)];}while(_0x247763<_0x12fb69);return _0x43f059;}catch(_0x4bd313){if(axios[_0x23680f(0x23b)](_0x4bd313))throw Error(_0x4bd313[_0x23680f(0x11c)]?.[_0x23680f(0x164)][_0x23680f(0x1b7)]||_0x4bd313[_0x23680f(0x11c)]?.[_0x23680f(0x11f)]||_0x4bd313[_0x23680f(0x1b7)],{'cause':_0x4bd313});throw _0x4bd313;}}}class ListComponentsAction{['devopsUrl'];[a0_0x2cdf9a(0xbd)];['branchId'];[a0_0x2cdf9a(0x1e0)];[a0_0x2cdf9a(0xd4)];constructor(_0x14a9f3){const _0x4a25a1=a0_0x2cdf9a;this[_0x4a25a1(0x143)]=_0x14a9f3[_0x4a25a1(0x143)],this[_0x4a25a1(0xbd)]=_0x14a9f3['accessToken'],this[_0x4a25a1(0x1fb)]=_0x14a9f3[_0x4a25a1(0x1fb)],this[_0x4a25a1(0x1e0)]=_0x14a9f3[_0x4a25a1(0x1e0)],_0x14a9f3['components']&&(this['indexes']=new Set(_0x14a9f3[_0x4a25a1(0xe2)]['map'](({name:_0x43bdda,type:_0x710d87})=>_0x710d87+'_'+_0x43bdda)));}async*[a0_0x2cdf9a(0x20c)](){const _0x2eb55c=a0_0x2cdf9a;try{let _0x890982=0x0,_0x2e89dc=0x0;do{const {data:_0x27fd6b}=await axios[_0x2eb55c(0x231)](_0x2eb55c(0x18c)+this[_0x2eb55c(0x1fb)]+'/commits/'+this[_0x2eb55c(0x1e0)]+'/components',{'headers':{'authorization':_0x2eb55c(0x11a)+this[_0x2eb55c(0xbd)]},'params':{'offset':_0x890982,'limit':0x64},'baseURL':this[_0x2eb55c(0x143)]});_0x890982+=_0x27fd6b[_0x2eb55c(0x1cc)][_0x2eb55c(0xc7)],_0x2e89dc=_0x27fd6b[_0x2eb55c(0x10f)];let _0x6d85b5=_0x27fd6b[_0x2eb55c(0x1cc)];this['indexes']&&(_0x6d85b5=_0x27fd6b['rows'][_0x2eb55c(0x180)](({name:_0x534380,type:_0x3900c6})=>this[_0x2eb55c(0xd4)]?.[_0x2eb55c(0x1c9)](_0x3900c6+'_'+_0x534380))),yield*_0x6d85b5;}while(_0x890982<_0x2e89dc);}catch(_0x510b57){if(axios['isAxiosError'](_0x510b57))throw Error(_0x510b57[_0x2eb55c(0x11c)]?.[_0x2eb55c(0x164)][_0x2eb55c(0x1b7)]||_0x510b57[_0x2eb55c(0x11c)]?.['statusText']||_0x510b57[_0x2eb55c(0x1b7)],{'cause':_0x510b57});throw _0x510b57;}}}class RetrieveComponentAction{[a0_0x2cdf9a(0x143)];[a0_0x2cdf9a(0xbd)];constructor(_0x563b1a){const _0x4045fc=a0_0x2cdf9a;this[_0x4045fc(0x143)]=_0x563b1a[_0x4045fc(0x143)],this['accessToken']=_0x563b1a['accessToken'];}async[a0_0x2cdf9a(0x20c)](_0xf5037e){const _0x2e1969=a0_0x2cdf9a;try{const {data:{id:_0x2fc4fb,name:_0x2c6e13,type:_0x3da6a9,fHash:_0x259989,files:_0x28736f}}=await axios['get'](_0x2e1969(0x1b8)+_0xf5037e,{'headers':{'authorization':'Token\x20'+this[_0x2e1969(0xbd)]},'baseURL':this[_0x2e1969(0x143)]}),_0x2c6550=_0x28736f['map'](_0x19651b=>({'path':_0x19651b['path'],'content':Buffer[_0x2e1969(0x213)](_0x19651b[_0x2e1969(0x21d)],_0x2e1969(0x173))[_0x2e1969(0x20a)](_0x2e1969(0x179))}));return{'id':_0x2fc4fb,'name':_0x2c6e13,'type':_0x3da6a9,'fHash':_0x259989,'files':_0x2c6550};}catch(_0x40e4fa){if(axios['isAxiosError'](_0x40e4fa))throw Error(_0x40e4fa[_0x2e1969(0x11c)]?.['data'][_0x2e1969(0x1b7)]||_0x40e4fa['response']?.[_0x2e1969(0x11f)]||_0x40e4fa[_0x2e1969(0x1b7)],{'cause':_0x40e4fa});throw _0x40e4fa;}}}const RETRIEVE_COMPONENT_CHUNK_SIZE=0xa;class ApiService{static async[a0_0x2cdf9a(0x1fa)](_0x1a3abd){const _0x273300=a0_0x2cdf9a,_0x2a7825=new ListBranchesAction(_0x1a3abd);return _0x2a7825[_0x273300(0x20c)]();}static async[a0_0x2cdf9a(0x1d9)](_0x46f8b5){const _0x574e26=a0_0x2cdf9a,_0x430b09=new GetDefaultBranchAction(_0x46f8b5);return _0x430b09[_0x574e26(0x20c)]();}static async[a0_0x2cdf9a(0x1b6)](_0x447c92){const _0xcbcf29=a0_0x2cdf9a,_0x553fe1=await ApiService[_0xcbcf29(0x1fa)]({'devopsUrl':_0x447c92[_0xcbcf29(0x143)],'accessToken':_0x447c92[_0xcbcf29(0xbd)],'search':_0x447c92[_0xcbcf29(0x163)]});return _0x553fe1[_0xcbcf29(0x117)](({name:_0x201227})=>_0x201227===_0x447c92['branchName'])||null;}static async['getBranchById'](_0x4b6edc){const _0x1ee177=a0_0x2cdf9a,_0x4aa9f9=new GetBranchAction({'accessToken':_0x4b6edc['accessToken'],'devopsUrl':_0x4b6edc[_0x1ee177(0x143)]});return _0x4aa9f9[_0x1ee177(0x20c)]({'branchId':_0x4b6edc['branchId']});}static[a0_0x2cdf9a(0x100)](_0x302cda){const _0x284aaa=new ListComponentsAction(_0x302cda);return _0x284aaa['execute']();}static async[a0_0x2cdf9a(0x15c)](_0x30ced8){const _0x3ba0d2=a0_0x2cdf9a,_0x28608d=[];for await(const _0x1ed251 of ApiService[_0x3ba0d2(0x100)](_0x30ced8)){_0x28608d[_0x3ba0d2(0x10e)](_0x1ed251);}return _0x28608d;}static async*[a0_0x2cdf9a(0x1d2)](_0x1cff65){const _0x3e0f3e=a0_0x2cdf9a,_0x5c977f=new RetrieveComponentAction({'devopsUrl':_0x1cff65[_0x3e0f3e(0x143)],'accessToken':_0x1cff65[_0x3e0f3e(0xbd)]});let _0x3c5cfe=[];for await(const _0x7968d1 of ApiService[_0x3e0f3e(0x100)]({'devopsUrl':_0x1cff65['devopsUrl'],'accessToken':_0x1cff65[_0x3e0f3e(0xbd)],'branchId':_0x1cff65[_0x3e0f3e(0x1fb)],'commitId':_0x1cff65['commitId'],'components':_0x1cff65[_0x3e0f3e(0xe2)]})){_0x3c5cfe[_0x3e0f3e(0x10e)](_0x5c977f[_0x3e0f3e(0x20c)](_0x7968d1['id'])),_0x3c5cfe[_0x3e0f3e(0xc7)]>=RETRIEVE_COMPONENT_CHUNK_SIZE&&(yield*await Promise['all'](_0x3c5cfe),_0x3c5cfe=[]);}_0x3c5cfe['length']&&(yield*await Promise[_0x3e0f3e(0xe5)](_0x3c5cfe));}static async[a0_0x2cdf9a(0x1c7)]({devopsUrl:_0x55abc0,accessToken:_0x3b9f07,componentId:_0x2fa247}){const _0x45d3dd=a0_0x2cdf9a,_0xec12f4=new RetrieveComponentAction({'devopsUrl':_0x55abc0,'accessToken':_0x3b9f07});return _0xec12f4[_0x45d3dd(0x20c)](_0x2fa247);}static async['getCredentials'](_0x6cc89d){const _0x516843=a0_0x2cdf9a,{accessToken:_0x49efb2,devopsUrl:_0x4e9e05}=await CredentialsManager[_0x516843(0x231)]({'alias':_0x6cc89d});if(!_0x4e9e05)throw new Error(_0x516843(0x15f));return{'accessToken':_0x49efb2,'devopsUrl':_0x4e9e05};}static async[a0_0x2cdf9a(0x203)](_0x990e30){const _0x51043c=a0_0x2cdf9a,_0x196bf2=new GetMeAction(_0x990e30);return _0x196bf2[_0x51043c(0x20c)]();}static async['commit'](_0x5a0103){const _0xd7837a=new CommitAction(_0x5a0103);await _0xd7837a['execute']();}static async[a0_0x2cdf9a(0xed)](_0x4b6754){const _0x39f785=a0_0x2cdf9a,_0xded4e0=new CreateBranchAction({'accessToken':_0x4b6754[_0x39f785(0xbd)],'devopsUrl':_0x4b6754[_0x39f785(0x143)]});return _0xded4e0[_0x39f785(0x20c)]({'name':_0x4b6754['name'],'parentId':_0x4b6754[_0x39f785(0x1e3)]});}}var ConfigName=(_0xe31d14=>{return _0xe31d14['CREDENTIALS_ALIAS']='credentialsAlias',_0xe31d14;})(ConfigName||{}),ChangeType=(_0x245e62=>{const _0x3e37f1=a0_0x2cdf9a;return _0x245e62[_0x3e37f1(0x239)]=_0x3e37f1(0xbe),_0x245e62[_0x3e37f1(0x199)]=_0x3e37f1(0x125),_0x245e62[_0x3e37f1(0x1df)]=_0x3e37f1(0x1ac),_0x245e62;})(ChangeType||{});class CompareWithRemoteBranchAction{[a0_0x2cdf9a(0x143)];['accessToken'];['targetBranchId'];[a0_0x2cdf9a(0x115)];[a0_0x2cdf9a(0xb8)];constructor(_0x477fa9){const _0x2ef00e=a0_0x2cdf9a;this[_0x2ef00e(0x143)]=_0x477fa9[_0x2ef00e(0x143)],this[_0x2ef00e(0xbd)]=_0x477fa9[_0x2ef00e(0xbd)],this[_0x2ef00e(0x21b)]=_0x477fa9['targetBranchId'],this['targetCommitId']=_0x477fa9[_0x2ef00e(0x115)],this[_0x2ef00e(0xb8)]=_0x477fa9[_0x2ef00e(0xb8)];}async[a0_0x2cdf9a(0x20c)](){const _0x4fb4ee=a0_0x2cdf9a,_0x22073e=await ApiService[_0x4fb4ee(0x15c)]({'devopsUrl':this[_0x4fb4ee(0x143)],'accessToken':this[_0x4fb4ee(0xbd)],'branchId':this[_0x4fb4ee(0x21b)],'commitId':this[_0x4fb4ee(0x115)]}),_0x2bf99c=new Map(_0x22073e[_0x4fb4ee(0xf3)](_0x18830c=>[_0x18830c[_0x4fb4ee(0xd5)]+'_'+_0x18830c[_0x4fb4ee(0x127)],_0x18830c])),_0x5ee032=[];for(const _0xa7acb of this['findDeletedAndUpdated'](_0x2bf99c)){_0x5ee032[_0x4fb4ee(0x10e)](_0xa7acb),_0x2bf99c[_0x4fb4ee(0x1e4)](_0xa7acb['type']+'_'+_0xa7acb['name']);}for(const [_0xa663a5,_0x3379e0]of _0x2bf99c[_0x4fb4ee(0x155)]()){const _0xfcb721=this[_0x4fb4ee(0xb8)][_0x4fb4ee(0x12b)][_0x4fb4ee(0x231)](_0xa663a5);!_0xfcb721&&_0x5ee032['push']({'id':_0x3379e0['id'],'name':_0x3379e0['name'],'type':_0x3379e0[_0x4fb4ee(0xd5)],'fHash':_0x3379e0[_0x4fb4ee(0x1c3)],'changeType':ChangeType[_0x4fb4ee(0x239)]});}return _0x5ee032;}*[a0_0x2cdf9a(0xf7)](_0x3ab3cd){const _0x59ceaf=a0_0x2cdf9a;for(const [_0x2cb0c3,_0x5149e2]of this[_0x59ceaf(0xb8)]['componentsState'][_0x59ceaf(0x155)]()){const _0x4874e6=_0x3ab3cd[_0x59ceaf(0x231)](_0x2cb0c3);!_0x4874e6&&(yield{'name':_0x5149e2[_0x59ceaf(0x127)],'type':_0x5149e2['type'],'changeType':ChangeType[_0x59ceaf(0x1df)]}),_0x4874e6&&_0x4874e6[_0x59ceaf(0x1c3)]!==_0x5149e2[_0x59ceaf(0x1c3)]&&(yield{'id':_0x4874e6['id'],'name':_0x4874e6[_0x59ceaf(0x127)],'type':_0x4874e6[_0x59ceaf(0xd5)],'fHash':_0x4874e6[_0x59ceaf(0x1c3)],'changeType':ChangeType['UPDATE']});}}}class ConfigSetAction{['stage'];constructor({stage:_0xfcb729}){this['stage']=_0xfcb729;}async['execute']({name:_0x448626,value:_0x1262d7}){const _0x240d01=a0_0x2cdf9a;switch(_0x448626){case ConfigName[_0x240d01(0x189)]:await CredentialsManager[_0x240d01(0x231)]({'alias':_0x1262d7}),this[_0x240d01(0xb8)]['setConfig'](_0x448626,_0x1262d7);break;default:throw new Error(_0x240d01(0x148)+_0x448626);}}}class FindChangesAction{[a0_0x2cdf9a(0xb8)];constructor(_0x3d87e0){const _0x37e0ac=a0_0x2cdf9a;this[_0x37e0ac(0xb8)]=_0x3d87e0[_0x37e0ac(0xb8)];}async['execute'](){const _0xcbb4b=a0_0x2cdf9a,_0x5f43ce=new Map(this[_0xcbb4b(0xb8)]['componentsState']),_0x5a26ed=[];for await(const {componentName:_0x41b382,componentType:_0xddc9d8,filePaths:_0x5d3b62}of salesforce[_0xcbb4b(0x22b)][_0xcbb4b(0x22a)](this['stage'][_0xcbb4b(0x1d3)])){const _0x2ba22f=_0xddc9d8+'_'+_0x41b382,_0x20d2a2=_0x5f43ce[_0xcbb4b(0x231)](_0x2ba22f),_0x4862ef=_0x5d3b62['map'](_0x2f7ee8=>_0x2f7ee8[_0xcbb4b(0x1ce)](this[_0xcbb4b(0xb8)][_0xcbb4b(0x1d3)]+'/',''));if(!_0x20d2a2){_0x5a26ed[_0xcbb4b(0x10e)]({'type':_0xddc9d8,'name':_0x41b382,'changes':_0x4862ef[_0xcbb4b(0xf3)](_0x54c69f=>({'path':_0x54c69f,'changeType':ChangeType[_0xcbb4b(0x239)]}))});continue;}_0x5f43ce['delete'](_0x2ba22f);const _0x23f3c1=await this[_0xcbb4b(0x235)](_0x4862ef,_0x20d2a2['paths']);_0x23f3c1[_0xcbb4b(0xc7)]&&_0x5a26ed[_0xcbb4b(0x10e)]({'type':_0xddc9d8,'name':_0x41b382,'changes':_0x23f3c1});}for(const [,_0x441843]of _0x5f43ce[_0xcbb4b(0x155)]()){_0x5a26ed[_0xcbb4b(0x10e)]({'type':_0x441843[_0xcbb4b(0xd5)],'name':_0x441843[_0xcbb4b(0x127)],'changes':_0x441843[_0xcbb4b(0x123)][_0xcbb4b(0xf3)](_0x3f4347=>({'path':_0x3f4347,'changeType':ChangeType[_0xcbb4b(0x1df)]}))});}return _0x5a26ed;}async['getUpdatedComponentChanges'](_0x3de7e,_0x402c52){const _0x413495=a0_0x2cdf9a,{lastStageTimestamp:_0x26481c}=this[_0x413495(0xb8)][_0x413495(0x10d)],_0x28d5d4=[];for(const _0x4c2613 of _0x3de7e){const _0x16d7a0=_0x402c52[_0x413495(0x126)](_0x4c2613);if(!_0x16d7a0){_0x28d5d4['push']({'path':_0x4c2613,'changeType':ChangeType['CREATE']});continue;}const {ctimeMs:_0x396dc2,mtimeMs:_0x141006}=await promises[_0x413495(0x137)](_0x4c2613);(!_0x26481c||Math[_0x413495(0x1f4)](_0x141006)>_0x26481c||Math[_0x413495(0x1f4)](_0x396dc2)>_0x26481c)&&_0x28d5d4['push']({'path':_0x4c2613,'changeType':ChangeType[_0x413495(0x199)]});}for(const _0x23d541 of _0x402c52){const _0x5a42a7=!_0x3de7e['includes'](_0x23d541);_0x5a42a7&&_0x28d5d4[_0x413495(0x10e)]({'path':_0x23d541,'changeType':ChangeType[_0x413495(0x1df)]});}return _0x28d5d4;}}const STAGE_FOLDER_NAME=a0_0x2cdf9a(0x1ab),SYSTEM_FOLDER='.'+ROOT_NAME,CONFIG_FILE_NAME='config.json',BRANCH_STATE_FILE_NAME=a0_0x2cdf9a(0x18e),COMPONENTS_STATE_FILE_NAME=a0_0x2cdf9a(0x22e),COMPONENT_PROJECT_PATH=node_path['join'](a0_0x2cdf9a(0x1f5),'main',a0_0x2cdf9a(0xc2)),SFDX_PROJECT_FILE_NAME=a0_0x2cdf9a(0x18a),INITIAL_BRANCH_STATE={'id':null,'name':null,'headCommitId':null,'lastStageTimestamp':null},INITIAL_CONFIG={'credentialsAlias':null};class InitProjectAction{[a0_0x2cdf9a(0xb8)];[a0_0x2cdf9a(0xbb)];constructor({stage:_0x31f077,config:_0x4bafe0}){const _0x375e75=a0_0x2cdf9a;this[_0x375e75(0xb8)]=_0x31f077,this[_0x375e75(0xbb)]=_0x4bafe0;}async['execute'](){const _0x6db568=a0_0x2cdf9a,_0xb24358=new salesforce['CreateProjectSfCommand']({'cwd':node_path[_0x6db568(0xda)](this[_0x6db568(0xb8)][_0x6db568(0x1bb)]),'projectName':node_path[_0x6db568(0x224)](this[_0x6db568(0xb8)]['stagePath'])});await _0xb24358['run']();const _0x144124=await FileUtils[_0x6db568(0x19d)](this['stage'][_0x6db568(0x1bb)]);for(const _0x184eba of _0x144124){const _0x341a43=_0x184eba['split'](STAGE_FOLDER_NAME)[0x1];this[_0x6db568(0xb8)]['registerFileChange']({'path':_0x341a43,'changeType':ChangeType['CREATE']});}if(this[_0x6db568(0xbb)])for(const _0xa18ce4 of Object[_0x6db568(0x214)](ConfigName)){this[_0x6db568(0xb8)][_0x6db568(0x154)](_0xa18ce4,this['config'][_0xa18ce4]);}}}class SaveComponentAction{[a0_0x2cdf9a(0xb8)];constructor(_0x6a25ee){const _0x2116ae=a0_0x2cdf9a;this[_0x2116ae(0xb8)]=_0x6a25ee[_0x2116ae(0xb8)];}async[a0_0x2cdf9a(0x20c)](_0xcda0eb){const _0x218415=a0_0x2cdf9a;switch(_0xcda0eb[_0x218415(0x1a0)]){case ChangeType['CREATE']:{if(!_0xcda0eb[_0x218415(0xc9)])throw new Error('Create:\x20Component\x20not\x20found');await this[_0x218415(0xb8)]['createComponent'](_0xcda0eb['component']);break;}case ChangeType['UPDATE']:if(!_0xcda0eb[_0x218415(0xc9)])throw new Error('Update:\x20Component\x20not\x20found');await this[_0x218415(0xb8)]['updateComponent'](_0xcda0eb[_0x218415(0xc9)]);break;case ChangeType[_0x218415(0x1df)]:await this[_0x218415(0xb8)]['deleteComponent']({'name':_0xcda0eb[_0x218415(0x127)],'type':_0xcda0eb[_0x218415(0xd5)]});break;}}}class UpdateComponentStateAction{[a0_0x2cdf9a(0xb8)];[a0_0x2cdf9a(0x127)];[a0_0x2cdf9a(0xd5)];['changes'];constructor(_0x1383b6){const _0x322c3e=a0_0x2cdf9a;this['stage']=_0x1383b6['stage'],this[_0x322c3e(0x127)]=_0x1383b6[_0x322c3e(0x127)],this['type']=_0x1383b6[_0x322c3e(0xd5)],this[_0x322c3e(0xfa)]=_0x1383b6[_0x322c3e(0xfa)];}async['execute'](){const _0x9793e3=a0_0x2cdf9a,_0x15f259=this[_0x9793e3(0xd5)]+'_'+this[_0x9793e3(0x127)];let _0x2a45e8=this[_0x9793e3(0xb8)]['componentsState']['get'](_0x15f259);!_0x2a45e8&&(_0x2a45e8={'name':this[_0x9793e3(0x127)],'type':this['type'],'fHash':'','paths':[]},this['stage'][_0x9793e3(0x12b)]['set'](_0x15f259,_0x2a45e8));let _0x584ea5;for(const _0x2996b5 of this[_0x9793e3(0xfa)]){this[_0x9793e3(0x230)](_0x2a45e8,_0x2996b5),_0x2996b5[_0x9793e3(0x1a0)]===ChangeType[_0x9793e3(0x239)]&&(_0x584ea5=ChangeType[_0x9793e3(0x239)]);}if(!_0x2a45e8[_0x9793e3(0x123)][_0x9793e3(0xc7)])return this[_0x9793e3(0xb8)][_0x9793e3(0x12b)][_0x9793e3(0x1e4)](_0x15f259),{'name':this[_0x9793e3(0x127)],'type':this[_0x9793e3(0xd5)],'changeType':ChangeType[_0x9793e3(0x1df)]};return!_0x584ea5&&(_0x584ea5=ChangeType[_0x9793e3(0x199)]),_0x2a45e8[_0x9793e3(0x1c3)]=await this[_0x9793e3(0xc4)](_0x2a45e8[_0x9793e3(0x123)]),{..._0x2a45e8,'changeType':_0x584ea5};}['handleFileChange'](_0x400fbe,{path:_0x4e6997,changeType:_0x3a6310}){const _0x2f3a5a=a0_0x2cdf9a;if(_0x3a6310===ChangeType['CREATE']){if(_0x400fbe[_0x2f3a5a(0x123)][_0x2f3a5a(0x126)](_0x4e6997))throw new Error(_0x2f3a5a(0xbc)+_0x4e6997+_0x2f3a5a(0x1de));_0x400fbe['paths'][_0x2f3a5a(0x10e)](_0x4e6997);}if(_0x3a6310===ChangeType[_0x2f3a5a(0x1df)]){const _0xec5d0f=_0x400fbe[_0x2f3a5a(0x123)][_0x2f3a5a(0xf5)](_0x4e6997);if(_0xec5d0f<0x0)throw new Error('File\x20\x22'+_0x4e6997+_0x2f3a5a(0x172));_0x400fbe[_0x2f3a5a(0x123)][_0x2f3a5a(0x1d7)](_0xec5d0f,0x1);}}async[a0_0x2cdf9a(0xc4)](_0xd4f8a4){const _0x442d30=a0_0x2cdf9a,_0x286b2d=node_crypto[_0x442d30(0x1eb)]('sha1');for(const _0x38f98d of _0xd4f8a4){const _0x187839=await promises['readFile'](node_path[_0x442d30(0x11b)](this[_0x442d30(0xb8)][_0x442d30(0x1d3)],_0x38f98d),{'encoding':_0x442d30(0x179)}),_0x2d68de=_0x38f98d[_0x442d30(0x15e)](node_path[_0x442d30(0xcc)])[_0x442d30(0x246)](0x3)[_0x442d30(0x11b)]('/');_0x286b2d['update'](_0x2d68de),_0x286b2d[_0x442d30(0x118)](_0x187839);}const _0x232be9=_0x286b2d[_0x442d30(0x1e2)]('hex');return _0x232be9;}}class Stage{[a0_0x2cdf9a(0x22c)];['_stagePath'];['config'];[a0_0x2cdf9a(0x111)];['_componentsState'];[a0_0x2cdf9a(0x1ef)]=[];['_isUpdateStageTimestamp']=!![];set[a0_0x2cdf9a(0xd6)](_0x4d607b){const _0x141c93=a0_0x2cdf9a;this[_0x141c93(0x22d)]=_0x4d607b;}get[a0_0x2cdf9a(0x1d3)](){const _0x41c574=a0_0x2cdf9a;return this[_0x41c574(0x22c)];}get[a0_0x2cdf9a(0x1bb)](){return this['_stagePath'];}get['branchState'](){const _0xf4248d=a0_0x2cdf9a;return this[_0xf4248d(0x111)];}get[a0_0x2cdf9a(0x12b)](){return this['_componentsState'];}constructor(_0x1f47bb){const _0x24ab21=a0_0x2cdf9a;this['_projectPath']=_0x1f47bb[_0x24ab21(0x1d3)],this[_0x24ab21(0x1a6)]=_0x1f47bb['stagePath'],this[_0x24ab21(0xbb)]=_0x1f47bb[_0x24ab21(0xbb)],this['_branchState']=_0x1f47bb[_0x24ab21(0x10d)],this[_0x24ab21(0x1f3)]=_0x1f47bb[_0x24ab21(0x12b)]?new Map(_0x1f47bb[_0x24ab21(0x12b)][_0x24ab21(0xf3)](_0x567e77=>[_0x567e77[_0x24ab21(0xd5)]+'_'+_0x567e77['name'],_0x567e77])):new Map();}[a0_0x2cdf9a(0x154)](_0x5aa412,_0x285440){const _0x5cf28a=a0_0x2cdf9a;this[_0x5cf28a(0xbb)][_0x5aa412]=_0x285440;}[a0_0x2cdf9a(0x142)](_0x2743ad){const _0x4759eb=a0_0x2cdf9a;this[_0x4759eb(0xbb)][_0x2743ad]=null;}[a0_0x2cdf9a(0x165)](_0x4d9138){const _0x440164=a0_0x2cdf9a;this[_0x440164(0x10d)]['id']=_0x4d9138['id'],this[_0x440164(0x10d)][_0x440164(0x127)]=_0x4d9138[_0x440164(0x127)],this[_0x440164(0x10d)][_0x440164(0x134)]=_0x4d9138[_0x440164(0x134)];}async[a0_0x2cdf9a(0x1c6)](_0x4c7c80){const _0x1308d0=a0_0x2cdf9a,_0x567ef1={'name':_0x4c7c80[_0x1308d0(0x127)],'type':_0x4c7c80[_0x1308d0(0xd5)],'fHash':_0x4c7c80[_0x1308d0(0x1c3)],'paths':_0x4c7c80[_0x1308d0(0xe6)][_0x1308d0(0xf3)](({path:_0x5c2975})=>node_path[_0x1308d0(0x11b)](COMPONENT_PROJECT_PATH,_0x5c2975))};this[_0x1308d0(0x1f3)][_0x1308d0(0x191)](_0x4c7c80['type']+'_'+_0x4c7c80[_0x1308d0(0x127)],_0x567ef1);for(const {path:_0x7856db,content:_0x4452c8}of _0x4c7c80[_0x1308d0(0xe6)]){await this['addFileChange']({'path':node_path[_0x1308d0(0x11b)](COMPONENT_PROJECT_PATH,_0x7856db),'content':_0x4452c8,'changeType':ChangeType[_0x1308d0(0x239)]});}}async[a0_0x2cdf9a(0x152)](_0x153756){const _0x2da338=a0_0x2cdf9a,_0x4a6335=this['_componentsState'][_0x2da338(0x231)](_0x153756[_0x2da338(0xd5)]+'_'+_0x153756[_0x2da338(0x127)]),_0xe018ac=[];if(!_0x4a6335)throw new Error(_0x2da338(0x19b)+_0x153756[_0x2da338(0x127)]+_0x2da338(0x20b)+_0x153756['type']+'\x20not\x20found');for(const _0x9571e4 of _0x4a6335[_0x2da338(0x123)]){await this['addFileChange']({'path':_0x9571e4,'changeType':ChangeType[_0x2da338(0x1df)]});}for(const {path:_0x3054b1,content:_0x274320}of _0x153756[_0x2da338(0xe6)]){const _0x5bcc18=node_path[_0x2da338(0x11b)](COMPONENT_PROJECT_PATH,_0x3054b1);await this[_0x2da338(0x1f9)]({'path':_0x5bcc18,'content':_0x274320,'changeType':ChangeType[_0x2da338(0x239)]}),_0xe018ac[_0x2da338(0x10e)](_0x5bcc18);}_0x4a6335['fHash']=_0x153756[_0x2da338(0x1c3)],_0x4a6335[_0x2da338(0x123)]=_0xe018ac;}async[a0_0x2cdf9a(0xe9)](_0x36921){const _0x1e07cc=a0_0x2cdf9a,_0x29415e=_0x36921[_0x1e07cc(0xd5)]+'_'+_0x36921[_0x1e07cc(0x127)],_0x52f8e0=this['_componentsState']['get'](_0x29415e);if(!_0x52f8e0)throw new Error(_0x1e07cc(0x17a)+_0x36921['name']+_0x1e07cc(0x20b)+_0x36921['type']+'\x20not\x20found');for(const _0x56be5a of _0x52f8e0[_0x1e07cc(0x123)]){await this['addFileChange']({'path':_0x56be5a,'changeType':ChangeType['DELETE']});}this['_componentsState'][_0x1e07cc(0x1e4)](_0x29415e);}async[a0_0x2cdf9a(0x1f9)]({path:_0x3d615b,content:_0x458504,changeType:_0x289c2c}){const _0x1d9cbc=a0_0x2cdf9a;if(_0x289c2c!==ChangeType[_0x1d9cbc(0x1df)]){if(!_0x458504)throw new Error(_0x1d9cbc(0x1e1));const _0x5e86ce=node_path['join'](this['stagePath'],_0x3d615b);await promises[_0x1d9cbc(0x17d)](node_path[_0x1d9cbc(0xda)](_0x5e86ce),{'recursive':!![]}),await promises[_0x1d9cbc(0x181)](_0x5e86ce,_0x458504);}this[_0x1d9cbc(0x1ef)][_0x1d9cbc(0x10e)]({'path':_0x3d615b,'changeType':_0x289c2c});}async[a0_0x2cdf9a(0x18b)](_0x423e06){const _0x242153=a0_0x2cdf9a,_0x2eee40=new UpdateComponentStateAction({'stage':this,..._0x423e06});return _0x2eee40[_0x242153(0x20c)]();}async[a0_0x2cdf9a(0x106)](){}[a0_0x2cdf9a(0x1d0)]({path:_0x45fbbd,changeType:_0x186596}){const _0x44704f=a0_0x2cdf9a;this[_0x44704f(0x1ef)][_0x44704f(0x10e)]({'path':_0x45fbbd,'changeType':_0x186596});}async['apply'](){const _0x59345a=a0_0x2cdf9a,_0x33def8=await FileUtils[_0x59345a(0x178)](this[_0x59345a(0x1bb)]);if(!_0x33def8)throw Error(_0x59345a(0x241));await this[_0x59345a(0x216)](),await this[_0x59345a(0xd7)](),await promises['rm'](this[_0x59345a(0x1bb)],{'recursive':!![]});const _0x48690e=node_path[_0x59345a(0x11b)](this[_0x59345a(0x22c)],COMPONENT_PROJECT_PATH),_0x3993ff=await FileUtils['isDirectoryExists'](_0x48690e);_0x3993ff?await FileUtils[_0x59345a(0xfe)](_0x48690e,![]):await promises[_0x59345a(0x17d)](_0x48690e,{'recursive':!![]});}async[a0_0x2cdf9a(0xb9)](){const _0x57b895=a0_0x2cdf9a;await promises['rm'](this[_0x57b895(0x1bb)],{'recursive':!![],'force':!![]});}async[a0_0x2cdf9a(0x216)](){const _0x5202c7=a0_0x2cdf9a;for(const {path:_0x38027e,changeType:_0x1dcd8a}of this['fileChanges']){switch(_0x1dcd8a){case ChangeType[_0x5202c7(0x239)]:case ChangeType[_0x5202c7(0x199)]:await this[_0x5202c7(0xeb)](_0x38027e);break;case ChangeType[_0x5202c7(0x1df)]:await this[_0x5202c7(0x234)](_0x38027e);break;}}}async[a0_0x2cdf9a(0xeb)](_0x3ed3cf){const _0xfe9cc1=a0_0x2cdf9a,_0x5e722c=node_path[_0xfe9cc1(0x11b)](this['_stagePath'],_0x3ed3cf),_0x2b6df5=node_path[_0xfe9cc1(0x11b)](this[_0xfe9cc1(0x22c)],_0x3ed3cf);await promises[_0xfe9cc1(0x17d)](node_path['dirname'](_0x2b6df5),{'recursive':!![]}),await promises[_0xfe9cc1(0x1a2)](_0x5e722c,_0x2b6df5);}async[a0_0x2cdf9a(0x234)](_0xe9a519){const _0x4dbee7=a0_0x2cdf9a;await promises['rm'](node_path[_0x4dbee7(0x11b)](this[_0x4dbee7(0x22c)],_0xe9a519),{'recursive':!![]});}async['updateSystemFiles'](){const _0x235055=a0_0x2cdf9a;await promises[_0x235055(0x181)](node_path[_0x235055(0x11b)](this[_0x235055(0x1d3)],SYSTEM_FOLDER,CONFIG_FILE_NAME),JSON[_0x235055(0x192)](this[_0x235055(0xbb)])),this[_0x235055(0x22d)]&&(this['branchState'][_0x235055(0xce)]=Date['now']()),await promises[_0x235055(0x181)](node_path[_0x235055(0x11b)](this[_0x235055(0x1d3)],SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),JSON[_0x235055(0x192)](this[_0x235055(0x10d)])),await promises[_0x235055(0x181)](node_path[_0x235055(0x11b)](this[_0x235055(0x1d3)],SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),JSON['stringify'](Array[_0x235055(0x213)](this['_componentsState'][_0x235055(0x214)]())));}}class ProjectManager{static [a0_0x2cdf9a(0x124)];['_stage'];get[a0_0x2cdf9a(0xb8)](){const _0x25c00a=a0_0x2cdf9a;if(!this[_0x25c00a(0x219)])throw new Error('Stage\x20not\x20found');return this['_stage'];}constructor(){}static['getInstance'](){const _0x69d954=a0_0x2cdf9a;return!ProjectManager[_0x69d954(0x124)]&&(ProjectManager[_0x69d954(0x124)]=new ProjectManager()),ProjectManager[_0x69d954(0x124)];}async[a0_0x2cdf9a(0x198)](_0x1c3926){const _0x1a671b=a0_0x2cdf9a,_0x3a559d=node_path['join'](_0x1c3926,SYSTEM_FOLDER,STAGE_FOLDER_NAME);await promises['rm'](_0x3a559d,{'recursive':!![],'force':!![]}),await promises['mkdir'](_0x3a559d,{'recursive':!![]});const _0x1726e8=await this[_0x1a671b(0x146)](_0x1c3926),_0x22032a=await this[_0x1a671b(0x12a)](_0x1c3926),_0x58cbdd=await this[_0x1a671b(0x15a)](_0x1c3926);this[_0x1a671b(0x219)]=new Stage({'projectPath':_0x1c3926,'stagePath':_0x3a559d,'config':_0x1726e8,'branchState':_0x22032a,'componentsState':_0x58cbdd});}async[a0_0x2cdf9a(0xba)](){await this['stage']['apply']();}async[a0_0x2cdf9a(0x156)](){const _0x514ae8=a0_0x2cdf9a;await this[_0x514ae8(0xb8)][_0x514ae8(0xb9)]();}async[a0_0x2cdf9a(0x105)]({config:_0x221fb8}){const _0x581bb4=a0_0x2cdf9a,_0x4ab3cf=new InitProjectAction({'stage':this[_0x581bb4(0xb8)],'config':_0x221fb8});await _0x4ab3cf['execute']();}[a0_0x2cdf9a(0x243)](_0x756be1){const _0x4b910f=a0_0x2cdf9a;this[_0x4b910f(0xb8)][_0x4b910f(0x165)](_0x756be1);}async[a0_0x2cdf9a(0x147)](_0x51ae8f){const _0x2e0ee3=a0_0x2cdf9a,_0x259504=new SaveComponentAction({'stage':this[_0x2e0ee3(0xb8)]});await _0x259504[_0x2e0ee3(0x20c)](_0x51ae8f);}async['findChanges'](){const _0x1766d9=a0_0x2cdf9a,_0x5c3275=new FindChangesAction({'stage':this[_0x1766d9(0xb8)]});return _0x5c3275[_0x1766d9(0x20c)]();}async[a0_0x2cdf9a(0x13c)](_0x1e8e10){const _0x12daa0=a0_0x2cdf9a,_0x231508=new CompareWithRemoteBranchAction({..._0x1e8e10,'stage':this[_0x12daa0(0xb8)]});return _0x231508[_0x12daa0(0x20c)]();}async[a0_0x2cdf9a(0x146)](_0x5c5479){const _0x3be1a4=a0_0x2cdf9a,_0x49560a=node_path['join'](_0x5c5479,SYSTEM_FOLDER,CONFIG_FILE_NAME),_0x1ac47=await FileUtils[_0x3be1a4(0x1c0)](_0x49560a);if(!_0x1ac47)return INITIAL_CONFIG;const _0x4c3535=await promises['readFile'](_0x49560a);return JSON[_0x3be1a4(0x14f)](_0x4c3535[_0x3be1a4(0x20a)]());}async[a0_0x2cdf9a(0x12a)](_0x1f96d2){const _0x53d55d=a0_0x2cdf9a,_0x519ae5=node_path[_0x53d55d(0x11b)](_0x1f96d2,SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),_0x46aa2a=await FileUtils[_0x53d55d(0x1c0)](_0x519ae5);if(!_0x46aa2a)return INITIAL_BRANCH_STATE;const _0x2111f1=await promises[_0x53d55d(0x13b)](_0x519ae5);return JSON[_0x53d55d(0x14f)](_0x2111f1[_0x53d55d(0x20a)]());}async[a0_0x2cdf9a(0x15a)](_0x47e4d7){const _0x5478f0=a0_0x2cdf9a,_0x29054a=node_path[_0x5478f0(0x11b)](_0x47e4d7,SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),_0xda8053=await FileUtils['isFileExists'](_0x29054a);if(!_0xda8053)return[];const _0x2be539=await promises[_0x5478f0(0x13b)](_0x29054a);return JSON[_0x5478f0(0x14f)](_0x2be539[_0x5478f0(0x20a)]());}async[a0_0x2cdf9a(0x249)](_0x3a2083){const _0x1d449d=a0_0x2cdf9a,_0x286fa8=[node_path[_0x1d449d(0x11b)](_0x3a2083,SYSTEM_FOLDER,CONFIG_FILE_NAME),node_path['join'](_0x3a2083,SYSTEM_FOLDER,BRANCH_STATE_FILE_NAME),node_path['join'](_0x3a2083,SYSTEM_FOLDER,COMPONENTS_STATE_FILE_NAME),node_path['join'](_0x3a2083,SFDX_PROJECT_FILE_NAME)];for(const _0x5b6ff9 of _0x286fa8){const _0x261eeb=await FileUtils[_0x1d449d(0x1c0)](_0x5b6ff9);if(!_0x261eeb)return![];}return!![];}async[a0_0x2cdf9a(0x154)](_0x55d01f,_0x45ff93){const _0x2bab74=a0_0x2cdf9a,_0x45f17c=new ConfigSetAction({'stage':this[_0x2bab74(0xb8)]});await _0x45f17c[_0x2bab74(0x20c)]({'name':_0x55d01f,'value':_0x45ff93});}async[a0_0x2cdf9a(0x142)](_0x1395fc){const _0x3d53d5=a0_0x2cdf9a;this[_0x3d53d5(0xb8)][_0x3d53d5(0x142)](_0x1395fc);}['updateComponentState'](_0x40879a){const _0x396d7d=a0_0x2cdf9a;return this[_0x396d7d(0xb8)][_0x396d7d(0x18b)](_0x40879a);}async[a0_0x2cdf9a(0x1f9)](_0x2cd9e3){const _0x12b318=a0_0x2cdf9a;await this[_0x12b318(0xb8)][_0x12b318(0x1f9)](_0x2cd9e3);}[a0_0x2cdf9a(0x14a)](_0x511edd){const _0x5f5d57=a0_0x2cdf9a;this[_0x5f5d57(0xb8)][_0x5f5d57(0xd6)]=_0x511edd;}}class ReadlineUtils{static async['askString'](_0x3d9090){const _0xec8f33=a0_0x2cdf9a,_0x2d7642=readline[_0xec8f33(0x110)]({'input':process[_0xec8f33(0x1ea)],'output':process['stdout']}),_0x22af8d=await _0x2d7642[_0xec8f33(0x19a)](_0x3d9090);return _0x2d7642[_0xec8f33(0x204)](),_0x22af8d;}}const INFO_COLOR_INDEX='4',WARN_COLOR_INDEX='3',ERROR_COLOR_INDEX='1';class Logger{[a0_0x2cdf9a(0xf1)];[a0_0x2cdf9a(0xc0)];[a0_0x2cdf9a(0x1ba)];[a0_0x2cdf9a(0x195)];constructor({isJson:_0x2b0fd9}){const _0x3b562f=a0_0x2cdf9a;this[_0x3b562f(0xf1)]=_0x2b0fd9,debug[_0x3b562f(0xdd)]=console[_0x3b562f(0xdd)][_0x3b562f(0x171)](console),debug[_0x3b562f(0x24a)](ROOT_NAME+':*'),this['infoDebug']=debug(ROOT_NAME+':INFO'),this[_0x3b562f(0xc0)][_0x3b562f(0x227)]=INFO_COLOR_INDEX,this[_0x3b562f(0x1ba)]=debug(ROOT_NAME+_0x3b562f(0x1cf)),this[_0x3b562f(0x1ba)][_0x3b562f(0x227)]=WARN_COLOR_INDEX,this[_0x3b562f(0x195)]=debug(ROOT_NAME+':ERROR'),this['errorDebug'][_0x3b562f(0x227)]=ERROR_COLOR_INDEX;}[a0_0x2cdf9a(0x217)](_0xbfa9d6){!this['isJson']&&this['infoDebug'](_0xbfa9d6);}[a0_0x2cdf9a(0x19e)](_0x47de9f){const _0x215135=a0_0x2cdf9a;!this[_0x215135(0xf1)]&&this['warnDebug'](_0x47de9f);}[a0_0x2cdf9a(0x1ae)](_0x55b0da){const _0xf68ec0=a0_0x2cdf9a;!this[_0xf68ec0(0xf1)]&&this[_0xf68ec0(0x195)](_0x55b0da);}}class BaseCommand{[a0_0x2cdf9a(0x207)];get[a0_0x2cdf9a(0x183)](){const _0x3541cd=a0_0x2cdf9a;if(!this[_0x3541cd(0x207)])throw new Error('Logger\x20not\x20found');return this[_0x3541cd(0x207)];}[a0_0x2cdf9a(0x1f6)](_0x4288c0){const _0x2ff8d8=a0_0x2cdf9a,_0x45bdcf=new commander[(_0x2ff8d8(0x20f))]()['name'](this[_0x2ff8d8(0x23f)])[_0x2ff8d8(0x17e)](this['description']);for(const {name:_0x4f7ca2,description:_0x45a976,defaultValue:_0x348020}of this[_0x2ff8d8(0xdf)]){_0x45bdcf[_0x2ff8d8(0x1dd)](_0x4f7ca2,_0x45a976,_0x348020);}for(const {flags:_0x5daabd,description:_0x590ea2,defaultValue:_0x29c758}of this[_0x2ff8d8(0x1b1)]){_0x45bdcf[_0x2ff8d8(0x112)](_0x5daabd,_0x590ea2,_0x29c758);}_0x45bdcf['action'](async(..._0x2676bb)=>{const _0x99fde9=_0x2ff8d8,_0x5f615d=this['isJson'](_0x2676bb);this['_logger']=new Logger({'isJson':_0x5f615d});try{const _0x13057a=await this[_0x99fde9(0x20c)](_0x2676bb);_0x13057a['report'](_0x5f615d);}catch(_0x509202){_0x509202 instanceof Error&&this[_0x99fde9(0x183)][_0x99fde9(0x1ae)](_0x509202['message']);throw _0x509202;}}),_0x4288c0['addCommand'](_0x45bdcf);}}class BaseReporter{[a0_0x2cdf9a(0x18f)];get['success'](){return this['_success'];}constructor(_0x57fc68){const _0x32a3c9=a0_0x2cdf9a;this[_0x32a3c9(0x18f)]=_0x57fc68[_0x32a3c9(0x1ad)];}[a0_0x2cdf9a(0x1fc)](_0x3f704d){const _0x102255=a0_0x2cdf9a,_0x1112c0=this['buildReport']();_0x3f704d?this[_0x102255(0x14b)](_0x1112c0):this['print'](_0x1112c0);}[a0_0x2cdf9a(0x14b)](_0x1ee6c3){const _0x278fc3=a0_0x2cdf9a,_0x22e38e=JSON[_0x278fc3(0x192)](_0x1ee6c3,null,0x2);console['log'](_0x22e38e);}}class FailReporter extends BaseReporter{[a0_0x2cdf9a(0x1be)];constructor({failMessage:_0x34b891}){const _0x3596e9=a0_0x2cdf9a;super({'success':![]}),this[_0x3596e9(0x1be)]=_0x34b891;}['buildReport'](){const _0x202be4=a0_0x2cdf9a;return{'success':this[_0x202be4(0x1ad)],'failMessage':this[_0x202be4(0x1be)]};}[a0_0x2cdf9a(0x150)](_0xb7f9fd){const _0x492d46=a0_0x2cdf9a,_0x21ce17=[[_0x492d46(0x14e)],[_0xb7f9fd['failMessage']]];console[_0x492d46(0xdd)](table[_0x492d46(0x221)](_0x21ce17,{'columns':[{'width':0x64}]}));}}class CheckoutReporter extends BaseReporter{[a0_0x2cdf9a(0x16d)];['changes'];constructor({currentBranch:_0x503703,changes:_0x337fc7}){const _0x1a4a33=a0_0x2cdf9a;super({'success':!![]}),this[_0x1a4a33(0x16d)]=_0x503703,this[_0x1a4a33(0xfa)]=_0x337fc7;}['buildReport'](){const _0x6759d9=a0_0x2cdf9a;return{'success':this[_0x6759d9(0x1ad)],'targetBranch':this[_0x6759d9(0x16d)],'changes':this[_0x6759d9(0xfa)]};}[a0_0x2cdf9a(0x150)](_0x5eee0f){const _0x5538e7=a0_0x2cdf9a;console[_0x5538e7(0xdd)](_0x5538e7(0xfd)+this[_0x5538e7(0x16d)][_0x5538e7(0x127)]+'\x0a'),console[_0x5538e7(0xdd)](_0x5538e7(0x245));const _0x4942b4=[[_0x5538e7(0xfc),_0x5538e7(0x1b3),_0x5538e7(0x20e),_0x5538e7(0x16c)]];for(const {changeType:_0x28b5dc,name:_0x5a30ce,type:_0x4d5257,paths:_0x19dff5}of _0x5eee0f['changes']){_0x4942b4[_0x5538e7(0x10e)]([_0x28b5dc,_0x5a30ce,_0x4d5257,_0x19dff5?.[_0x5538e7(0x11b)]('\x0a')||'']);}console['log'](table['table'](_0x4942b4,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class BaseHandler{}class TargetBranchExistHandler extends BaseHandler{[a0_0x2cdf9a(0xbf)];[a0_0x2cdf9a(0x1b5)];[a0_0x2cdf9a(0x215)];[a0_0x2cdf9a(0x183)];[a0_0x2cdf9a(0x205)]=[];constructor(_0x5e42ee){const _0x49a0a9=a0_0x2cdf9a;super(),this[_0x49a0a9(0xbf)]=_0x5e42ee[_0x49a0a9(0xbf)],this[_0x49a0a9(0x1b5)]=_0x5e42ee[_0x49a0a9(0x1b5)],this[_0x49a0a9(0x215)]=_0x5e42ee[_0x49a0a9(0x215)],this[_0x49a0a9(0x183)]=_0x5e42ee['logger'];}async[a0_0x2cdf9a(0x10a)](){const _0x38ead1=a0_0x2cdf9a,_0x310701=await this[_0x38ead1(0x138)]();if(_0x310701)return new FailReporter({'failMessage':_0x38ead1(0x1b4)});return this['logger']['info'](_0x38ead1(0x1ff)),this['logger'][_0x38ead1(0x217)](_0x38ead1(0x114)),await this['retrieveDifference'](),this[_0x38ead1(0x183)][_0x38ead1(0x217)](_0x38ead1(0x1a4)),new CheckoutReporter({'currentBranch':{'id':this[_0x38ead1(0x215)]['id'],'name':this[_0x38ead1(0x215)][_0x38ead1(0x127)],'headCommitId':this[_0x38ead1(0x215)][_0x38ead1(0x134)]},'changes':this[_0x38ead1(0x205)]});}async['areChanges'](){const _0x40556d=a0_0x2cdf9a,_0x3f242d=await this[_0x40556d(0xbf)][_0x40556d(0xde)]();return!!_0x3f242d[_0x40556d(0xc7)];}async[a0_0x2cdf9a(0x13a)](){const _0x512f09=a0_0x2cdf9a,{devopsUrl:_0x34d5f9,accessToken:_0x49e3a2}=this[_0x512f09(0x1b5)],_0x25df72=await this['manager']['compareWithRemoteBranch']({'devopsUrl':_0x34d5f9,'accessToken':_0x49e3a2,'targetBranchId':this['targetBranch']['id'],'targetCommitId':this['targetBranch']['headCommitId']});for(const {id:_0x545b96,name:_0x5bddd7,type:_0x213aae,changeType:_0x2f90fc}of _0x25df72){if(!_0x545b96){if(_0x2f90fc!==ChangeType['DELETE'])throw new Error(_0x512f09(0xcb));await this[_0x512f09(0xbf)][_0x512f09(0x147)]({'name':_0x5bddd7,'type':_0x213aae,'changeType':_0x2f90fc}),this['componentChanges'][_0x512f09(0x10e)]({'changeType':_0x2f90fc,'name':_0x5bddd7,'type':_0x213aae});continue;}const _0x5510f5=await ApiService['retrieveComponentById']({'devopsUrl':_0x34d5f9,'accessToken':_0x49e3a2,'componentId':_0x545b96});if(!_0x5510f5[_0x512f09(0x1c3)])throw new Error(_0x512f09(0x1db)+_0x5510f5['name']+_0x512f09(0xe8)+_0x5510f5[_0x512f09(0xd5)]+_0x512f09(0x172));await this[_0x512f09(0xbf)][_0x512f09(0x147)]({'name':_0x5bddd7,'type':_0x213aae,'changeType':_0x2f90fc,'component':{..._0x5510f5,'fHash':_0x5510f5[_0x512f09(0x1c3)]}}),this[_0x512f09(0x205)][_0x512f09(0x10e)]({'changeType':_0x2f90fc,'name':_0x5bddd7,'type':_0x213aae,'paths':_0x5510f5[_0x512f09(0xe6)][_0x512f09(0xf3)](_0x3d70c6=>_0x3d70c6['path'])});}this[_0x512f09(0xbf)][_0x512f09(0x243)](this[_0x512f09(0x215)]);}}class TargetBranchNotFoundHandler extends BaseHandler{[a0_0x2cdf9a(0x1d3)];[a0_0x2cdf9a(0xbf)];[a0_0x2cdf9a(0x1b5)];[a0_0x2cdf9a(0x17c)];[a0_0x2cdf9a(0x183)];constructor(_0x91401a){const _0x31a7d1=a0_0x2cdf9a;super(),this['projectPath']=_0x91401a[_0x31a7d1(0x1d3)],this['manager']=_0x91401a[_0x31a7d1(0xbf)],this[_0x31a7d1(0x1b5)]=_0x91401a[_0x31a7d1(0x1b5)],this[_0x31a7d1(0x17c)]=_0x91401a['targetBranchName'],this[_0x31a7d1(0x183)]=_0x91401a[_0x31a7d1(0x183)];}async['handle'](){const _0x4c3b28=a0_0x2cdf9a;this['logger']['info']('Creation\x20new\x20branch\x20started');const {id:_0x54df37}=await this[_0x4c3b28(0xbf)][_0x4c3b28(0x12a)](this[_0x4c3b28(0x1d3)]);if(!_0x54df37)return new FailReporter({'failMessage':'To\x20create\x20a\x20new\x20branch\x20a\x20branch\x20should\x20be\x20selected.\x20Checkout\x20on\x20any\x20existing\x20branch'});const _0x2b535d=await ApiService[_0x4c3b28(0xed)]({'accessToken':this['credentials'][_0x4c3b28(0xbd)],'devopsUrl':this['credentials'][_0x4c3b28(0x143)],'name':this[_0x4c3b28(0x17c)],'parentId':_0x54df37});return this['manager']['saveBranchState'](_0x2b535d),this['manager'][_0x4c3b28(0x14a)](![]),this[_0x4c3b28(0x183)][_0x4c3b28(0x217)]('Creation\x20new\x20branch\x20completed'),new CheckoutReporter({'currentBranch':_0x2b535d,'changes':[]});}}function a0_0x21da(_0x6a94f3,_0x2261f9){const _0x9c5978=a0_0x173a();return a0_0x21da=function(_0x269aa1,_0x433cef){_0x269aa1=_0x269aa1-0xb6;let _0x173a8e=_0x9c5978[_0x269aa1];return _0x173a8e;},a0_0x21da(_0x6a94f3,_0x2261f9);}class HandlerFactory{static['create'](_0x482c3b){const _0x389d17=a0_0x2cdf9a;if(_0x482c3b[_0x389d17(0x215)])return new TargetBranchExistHandler({..._0x482c3b,'targetBranch':_0x482c3b[_0x389d17(0x215)]});if(!_0x482c3b[_0x389d17(0x215)])return new TargetBranchNotFoundHandler(_0x482c3b);throw new Error(_0x389d17(0x128));}}class CheckoutCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x1c5);['description']=a0_0x2cdf9a(0x102);[a0_0x2cdf9a(0xdf)]=[];['options']=[{'flags':'-b,\x20--branch\x20<string>','description':a0_0x2cdf9a(0xd0)},{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];[a0_0x2cdf9a(0x1d3)]=process[a0_0x2cdf9a(0x1dc)]();['manager']=ProjectManager[a0_0x2cdf9a(0x1f2)]();async[a0_0x2cdf9a(0x20c)]([{branch:_0x33ae20}]){const _0x469665=a0_0x2cdf9a,_0x308da1=await this['getBranchName'](_0x33ae20);this[_0x469665(0x183)][_0x469665(0x217)](_0x469665(0x1a9)+_0x308da1+_0x469665(0x120));const _0x37e98f=await this[_0x469665(0xbf)]['isInitialized'](this[_0x469665(0x1d3)]);if(!_0x37e98f)return this[_0x469665(0x183)][_0x469665(0x19e)](_0x469665(0x211)),new FailReporter({'failMessage':'Project\x20is\x20not\x20initialized'});const _0x37f3cc=await this[_0x469665(0x109)](),_0xa59a91=await ApiService[_0x469665(0x202)](_0x37f3cc);await this[_0x469665(0xbf)]['initStage'](this[_0x469665(0x1d3)]);try{const _0xd45523=await ApiService[_0x469665(0x1b6)]({'devopsUrl':_0xa59a91[_0x469665(0x143)],'accessToken':_0xa59a91['accessToken'],'branchName':_0x308da1}),_0x3f3f3c=HandlerFactory['create']({'projectPath':this[_0x469665(0x1d3)],'manager':this['manager'],'credentials':_0xa59a91,'targetBranch':_0xd45523,'targetBranchName':_0x308da1,'logger':this['logger']}),_0x1a2126=await _0x3f3f3c['handle']();return _0x1a2126[_0x469665(0x1ad)]?(await this['manager'][_0x469665(0xba)](),this[_0x469665(0x183)]['info'](_0x469665(0x1a9)+_0x308da1+_0x469665(0xe3))):await this[_0x469665(0xbf)]['abortStage'](),_0x1a2126;}catch(_0x21fbe0){await this[_0x469665(0xbf)][_0x469665(0x156)]();throw _0x21fbe0;}}[a0_0x2cdf9a(0xf1)]([{json:_0x38e44b}]){return _0x38e44b;}async[a0_0x2cdf9a(0x229)](_0x12e6a2){const _0x285bc4=a0_0x2cdf9a;if(_0x12e6a2)return _0x12e6a2;return ReadlineUtils[_0x285bc4(0x226)]('Enter\x20a\x20branch\x20name:\x20');}async[a0_0x2cdf9a(0x109)](){const _0x1e9177=a0_0x2cdf9a,{credentialsAlias:_0x2bf60e}=await this[_0x1e9177(0xbf)]['readConfig'](this[_0x1e9177(0x1d3)]);if(!_0x2bf60e)throw new Error(_0x1e9177(0xc6));if(typeof _0x2bf60e!==_0x1e9177(0x10c))throw new Error(_0x1e9177(0x1a1));return _0x2bf60e;}}class CloneReporter extends BaseReporter{[a0_0x2cdf9a(0x1d3)];[a0_0x2cdf9a(0xe2)];constructor({projectPath:_0x3c099c,components:_0x381f29}){const _0x436255=a0_0x2cdf9a;super({'success':!![]}),this[_0x436255(0x1d3)]=_0x3c099c,this[_0x436255(0xe2)]=_0x381f29;}[a0_0x2cdf9a(0xca)](){const _0x1e56bd=a0_0x2cdf9a;return{'success':this[_0x1e56bd(0x1ad)],'projectPath':this['projectPath'],'components':this[_0x1e56bd(0xe2)]};}[a0_0x2cdf9a(0x150)](_0x305780){const _0x2af171=a0_0x2cdf9a;console['log'](_0x2af171(0xd1));const _0x545e51=[['Project\x20Path'],[_0x305780[_0x2af171(0x1d3)]]];console['log'](table[_0x2af171(0x221)](_0x545e51,{'columns':[{'width':0x28}]})),console[_0x2af171(0xdd)](_0x2af171(0x194));const _0x102eb2=[['Name',_0x2af171(0x20e),_0x2af171(0x16c)]];for(const {name:_0x14f8cf,type:_0x1e2dc7,paths:_0x58ce19}of _0x305780[_0x2af171(0xe2)]){_0x102eb2[_0x2af171(0x10e)]([_0x14f8cf,_0x1e2dc7,_0x58ce19[_0x2af171(0x11b)]('\x0a')]);}console[_0x2af171(0xdd)](table[_0x2af171(0x221)](_0x102eb2,{'columns':[{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class CloneCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x122);[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0x1e8);['arguments']=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':'-n,\x20--name\x20<string>','description':a0_0x2cdf9a(0x247)},{'flags':a0_0x2cdf9a(0xc1),'description':'Alias\x20of\x20credentials\x20which\x20will\x20be\x20used\x20to\x20retrieve\x20your\x20components\x20from\x20devops.','defaultValue':DEFAULT_ALIAS_NAME},{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();[a0_0x2cdf9a(0x166)]=[];['_credentials'];get['credentials'](){const _0x1fed3d=a0_0x2cdf9a;if(!this[_0x1fed3d(0xb7)])throw new Error(_0x1fed3d(0xb6));return this[_0x1fed3d(0xb7)];}async[a0_0x2cdf9a(0x20c)]([_0x30eba6]){const _0x49405e=a0_0x2cdf9a;this['logger'][_0x49405e(0x217)](_0x49405e(0x218)),this[_0x49405e(0xb7)]=await ApiService['getCredentials'](_0x30eba6['alias']);const _0x356605=await this['buildProjectPath'](_0x30eba6['name']);this[_0x49405e(0x183)]['info'](_0x49405e(0x23c));const _0x458406=await this[_0x49405e(0xbf)][_0x49405e(0x249)](_0x356605);if(_0x458406)return this['logger'][_0x49405e(0x19e)](_0x49405e(0x193)),new FailReporter({'failMessage':_0x49405e(0x193)});await this[_0x49405e(0xbf)]['initStage'](_0x356605);try{return await this[_0x49405e(0xbf)][_0x49405e(0x105)]({'config':{'credentialsAlias':_0x30eba6[_0x49405e(0x196)]}}),this[_0x49405e(0x183)][_0x49405e(0x217)]('Project\x20initialization\x20completed'),await this['retrieve'](),await this[_0x49405e(0xbf)][_0x49405e(0xba)](),this['logger'][_0x49405e(0x217)](_0x49405e(0xd8)),new CloneReporter({'projectPath':_0x356605,'components':this[_0x49405e(0x166)]});}catch(_0x2195d6){await this[_0x49405e(0xbf)][_0x49405e(0x156)]();throw _0x2195d6;}}[a0_0x2cdf9a(0xf1)]([{json:_0x484fdf}]){return _0x484fdf;}async['retrieve'](){const _0x272b41=a0_0x2cdf9a;this[_0x272b41(0x183)]['info'](_0x272b41(0x114));const {accessToken:_0x11c84f,devopsUrl:_0x29805c}=this[_0x272b41(0x1b5)],_0xffb496=await ApiService['getDefaultBranch']({'devopsUrl':_0x29805c,'accessToken':_0x11c84f});this[_0x272b41(0xbf)][_0x272b41(0x243)](_0xffb496);for await(const _0x119374 of ApiService[_0x272b41(0x1d2)]({'devopsUrl':_0x29805c,'accessToken':_0x11c84f,'branchId':_0xffb496['id'],'commitId':_0xffb496[_0x272b41(0x134)]})){if(!_0x119374[_0x272b41(0x1c3)])throw new Error(_0x119374[_0x272b41(0x127)]+_0x272b41(0x20b)+_0x119374[_0x272b41(0xd5)]+_0x272b41(0xf2));await this[_0x272b41(0xbf)][_0x272b41(0x147)]({'name':_0x119374['name'],'type':_0x119374['type'],'changeType':ChangeType['CREATE'],'component':{..._0x119374,'fHash':_0x119374[_0x272b41(0x1c3)]}}),this[_0x272b41(0x166)]['push']({'name':_0x119374[_0x272b41(0x127)],'type':_0x119374[_0x272b41(0xd5)],'paths':_0x119374[_0x272b41(0xe6)][_0x272b41(0xf3)](_0x1dcf3b=>_0x1dcf3b['path'])});}this[_0x272b41(0x183)][_0x272b41(0x217)]('Retrieve\x20components\x20completed');}async[a0_0x2cdf9a(0xdb)](_0x57c6b8){const _0x1b133e=a0_0x2cdf9a;if(_0x57c6b8)return node_path['join'](process[_0x1b133e(0x1dc)](),_0x57c6b8);const _0x2f0251=await ReadlineUtils[_0x1b133e(0x226)](_0x1b133e(0x1af));return node_path[_0x1b133e(0x11b)](process[_0x1b133e(0x1dc)](),_0x2f0251);}}class CommitReporter extends BaseReporter{[a0_0x2cdf9a(0xfa)];constructor({changes:_0x5e8182}){super({'success':!![]}),this['changes']=_0x5e8182;}[a0_0x2cdf9a(0xca)](){const _0x4ceede=a0_0x2cdf9a;return{'success':this[_0x4ceede(0x1ad)],'changes':this['changes']};}[a0_0x2cdf9a(0x150)](_0x363f9f){const _0x2cde79=a0_0x2cdf9a;console[_0x2cde79(0xdd)](_0x2cde79(0xcf));const _0x34b7c1=[[_0x2cde79(0xfc),_0x2cde79(0x1b3),_0x2cde79(0x20e),_0x2cde79(0x16c)]];for(const {changeType:_0x577cc6,name:_0x4044fd,type:_0x59f72f,paths:_0x2b97c7}of _0x363f9f['changes']){_0x34b7c1['push']([_0x577cc6,_0x4044fd,_0x59f72f,_0x2b97c7?.[_0x2cde79(0x11b)]('\x0a')||'']);}console[_0x2cde79(0xdd)](table[_0x2cde79(0x221)](_0x34b7c1,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class CommitCommand extends BaseCommand{['commandName']=a0_0x2cdf9a(0x228);[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0xcd);['arguments']=[];['options']=[{'flags':'-m,\x20--message\x20<string>','description':a0_0x2cdf9a(0x1a7)},{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];[a0_0x2cdf9a(0x1d3)]=process['cwd']();[a0_0x2cdf9a(0xbf)]=ProjectManager['getInstance']();[a0_0x2cdf9a(0x205)]=[];[a0_0x2cdf9a(0xb7)];[a0_0x2cdf9a(0x145)];['_localHeadCommit'];[a0_0x2cdf9a(0x240)];get[a0_0x2cdf9a(0x1b5)](){const _0x35fd70=a0_0x2cdf9a;if(!this[_0x35fd70(0xb7)])throw new Error(_0x35fd70(0xb6));return this[_0x35fd70(0xb7)];}get[a0_0x2cdf9a(0x1fb)](){const _0x3f0ab1=a0_0x2cdf9a;if(!this['_branchId'])throw new Error(_0x3f0ab1(0x13e));return this['_branchId'];}get[a0_0x2cdf9a(0x108)](){if(!this['_localHeadCommit'])throw new Error('Local\x20head\x20commit\x20id\x20not\x20found');return this['_localHeadCommit'];}get[a0_0x2cdf9a(0xfa)](){const _0x424046=a0_0x2cdf9a;if(!this[_0x424046(0x240)])throw new Error(_0x424046(0x14d));return this[_0x424046(0x240)];}async[a0_0x2cdf9a(0x20c)]([_0x1cd5b3]){const _0x5d4b54=a0_0x2cdf9a;this[_0x5d4b54(0x183)][_0x5d4b54(0x217)]('Commit\x20started');const _0x35f42b=await this[_0x5d4b54(0xbf)][_0x5d4b54(0x249)](this[_0x5d4b54(0x1d3)]);if(!_0x35f42b)return this['logger'][_0x5d4b54(0x19e)](_0x5d4b54(0x211)),new FailReporter({'failMessage':_0x5d4b54(0x211)});const _0x18b9c4=await this[_0x5d4b54(0x1e7)](_0x1cd5b3['message']);await this[_0x5d4b54(0x23a)](),await this[_0x5d4b54(0x202)]();const _0x1852cb=await this['areRemoteChanges']();if(_0x1852cb)return this[_0x5d4b54(0x183)][_0x5d4b54(0x19e)](_0x5d4b54(0x169)),new FailReporter({'failMessage':_0x5d4b54(0x169)});await this[_0x5d4b54(0xbf)][_0x5d4b54(0x198)](this[_0x5d4b54(0x1d3)]);try{this[_0x5d4b54(0x240)]=await this[_0x5d4b54(0xbf)][_0x5d4b54(0xde)]();if(!this[_0x5d4b54(0xfa)][_0x5d4b54(0xc7)])return this[_0x5d4b54(0x183)]['warn'](_0x5d4b54(0x208)),new FailReporter({'failMessage':_0x5d4b54(0x208)});return await this['findAndCommitChanges'](_0x18b9c4),await this[_0x5d4b54(0xbf)][_0x5d4b54(0xba)](),this['logger'][_0x5d4b54(0x217)](_0x5d4b54(0x113)),new CommitReporter({'changes':this[_0x5d4b54(0x205)]});}catch(_0x1b53f7){await this[_0x5d4b54(0xbf)]['abortStage']();throw _0x1b53f7;}}[a0_0x2cdf9a(0xf1)]([{json:_0x2fde4c}]){return _0x2fde4c;}async['getMessage'](_0x31d35d){const _0x4ed549=a0_0x2cdf9a;if(_0x31d35d)return _0x31d35d;const _0x12e2ac=await ReadlineUtils['askString'](_0x4ed549(0x21a));return _0x12e2ac;}async[a0_0x2cdf9a(0x202)](){const _0x405612=a0_0x2cdf9a,{credentialsAlias:_0x3c4bcc}=await this['manager']['readConfig'](this['projectPath']);if(!_0x3c4bcc)throw new Error('Credentials\x20alias\x20is\x20not\x20configured');if(typeof _0x3c4bcc!==_0x405612(0x10c))throw new Error(_0x405612(0x1a1));this[_0x405612(0xb7)]=await ApiService[_0x405612(0x202)](_0x3c4bcc);}async['getBranchState'](){const _0x1fe3e7=a0_0x2cdf9a,{id:_0x120a36,headCommitId:_0x33ba08}=await this[_0x1fe3e7(0xbf)][_0x1fe3e7(0x12a)](this[_0x1fe3e7(0x1d3)]);this['_branchId']=_0x120a36||void 0x0,this[_0x1fe3e7(0x21f)]=_0x33ba08||void 0x0;}async[a0_0x2cdf9a(0x11e)](){const _0x5329cb=a0_0x2cdf9a,{headCommitId:_0x20f41c}=await ApiService['getBranchById']({'accessToken':this['credentials'][_0x5329cb(0xbd)],'devopsUrl':this[_0x5329cb(0x1b5)]['devopsUrl'],'branchId':this[_0x5329cb(0x1fb)]});return this[_0x5329cb(0x108)]!==_0x20f41c;}async[a0_0x2cdf9a(0x162)](_0x42b595){const _0x194d8f=a0_0x2cdf9a;this[_0x194d8f(0x183)][_0x194d8f(0x217)]('Detecting\x20changes\x20started');const _0x52efa8=await ApiService[_0x194d8f(0x203)]({'accessToken':this['credentials'][_0x194d8f(0xbd)],'devopsUrl':this['credentials'][_0x194d8f(0x143)]}),_0x241950={'accessToken':this[_0x194d8f(0x1b5)][_0x194d8f(0xbd)],'devopsUrl':this[_0x194d8f(0x1b5)][_0x194d8f(0x143)],'message':_0x42b595,'branchId':this[_0x194d8f(0x1fb)],'components':[],'userName':_0x52efa8[_0x194d8f(0x144)]+'\x20'+_0x52efa8['lastName']};for(const _0x4dd40c of this[_0x194d8f(0xfa)]){const _0x57aa46=await this[_0x194d8f(0xbf)]['updateComponentState'](_0x4dd40c),_0x433ea8=this['convertToLocalComponent'](_0x57aa46[_0x194d8f(0x127)],_0x57aa46[_0x194d8f(0xd5)],_0x57aa46?.[_0x194d8f(0x123)]||[]);_0x241950[_0x194d8f(0xe2)]['push'](_0x433ea8),this[_0x194d8f(0x205)][_0x194d8f(0x10e)](_0x57aa46);}this[_0x194d8f(0x183)]['info'](_0x194d8f(0xf4)+this['changes'][_0x194d8f(0xc7)]+_0x194d8f(0x209)),await ApiService[_0x194d8f(0x228)](_0x241950);const _0x26cee2=await ApiService[_0x194d8f(0x12f)]({'accessToken':this[_0x194d8f(0x1b5)]['accessToken'],'devopsUrl':this[_0x194d8f(0x1b5)][_0x194d8f(0x143)],'branchId':this[_0x194d8f(0x1fb)]});this[_0x194d8f(0xbf)][_0x194d8f(0x243)](_0x26cee2);}[a0_0x2cdf9a(0x160)](_0x229d7a,_0x33dd97,_0x37d4e2){const _0x5ff3b4=a0_0x2cdf9a,_0x538957={'name':_0x229d7a,'type':_0x33dd97,'files':[]};for(const _0x9f8d1d of _0x37d4e2){const _0x4141be=_0x9f8d1d[_0x5ff3b4(0x15e)](path['sep'])[_0x5ff3b4(0x246)](0x3)[_0x5ff3b4(0x11b)]('/'),_0x3e18fd=path[_0x5ff3b4(0x11b)](this[_0x5ff3b4(0x1d3)],_0x9f8d1d);_0x538957['files'][_0x5ff3b4(0x10e)]({'path':_0x4141be,'localPath':_0x3e18fd});}return _0x538957;}}class ConfigSetReporter extends BaseReporter{[a0_0x2cdf9a(0x248)];['value'];constructor({configName:_0x1abc77,value:_0x2ae062}){const _0x1fa724=a0_0x2cdf9a;super({'success':!![]}),this['configName']=_0x1abc77,this[_0x1fa724(0x131)]=_0x2ae062;}['buildReport'](){const _0x3f538f=a0_0x2cdf9a;return{'success':this[_0x3f538f(0x1ad)],'configName':this[_0x3f538f(0x248)],'value':this[_0x3f538f(0x131)]};}[a0_0x2cdf9a(0x150)](_0x448135){const _0xa61bd4=a0_0x2cdf9a,_0x246880=[[_0xa61bd4(0x140),_0xa61bd4(0x232)],[_0x448135[_0xa61bd4(0x248)],_0x448135[_0xa61bd4(0x131)]]];console[_0xa61bd4(0xdd)](table['table'](_0x246880));}}const ALLOWED_VALUES=[ConfigName[a0_0x2cdf9a(0x189)]+'(string)'];class ConfigSetCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0xf9);['description']=a0_0x2cdf9a(0x233);['arguments']=[{'name':'<config-name>','description':a0_0x2cdf9a(0x242)+ALLOWED_VALUES[a0_0x2cdf9a(0x11b)](',\x20')+'.'},{'name':a0_0x2cdf9a(0x158),'description':'Config\x20value'}];['options']=[{'flags':a0_0x2cdf9a(0x190),'description':'Applies\x20json\x20formatted\x20result.','defaultValue':![]}];[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();async['execute']([_0x516d36,_0x2cb48d]){const _0x282fe6=a0_0x2cdf9a;this[_0x282fe6(0x183)][_0x282fe6(0x217)]('Config\x20set\x20started');const _0x522301=process[_0x282fe6(0x1dc)](),_0x5815ce=await this[_0x282fe6(0xbf)][_0x282fe6(0x249)](_0x522301);if(!_0x5815ce)return this[_0x282fe6(0x183)][_0x282fe6(0x19e)](_0x282fe6(0x211)),new FailReporter({'failMessage':'Project\x20is\x20not\x20initialized'});await this['manager'][_0x282fe6(0x198)](_0x522301);try{return await this[_0x282fe6(0xbf)]['setConfig'](_0x516d36,_0x2cb48d),await this[_0x282fe6(0xbf)]['applyStage'](),this['logger'][_0x282fe6(0x217)]('Config\x20set\x20completed'),new ConfigSetReporter({'configName':_0x516d36,'value':_0x2cb48d});}catch(_0x3b59d0){await this['manager'][_0x282fe6(0x156)]();throw _0x3b59d0;}}[a0_0x2cdf9a(0xf1)]([,,{json:_0x53ab9e}]){return _0x53ab9e;}}class ConfigUnsetReporter extends BaseReporter{['configName'];constructor(_0x3ebf0f){const _0x59c338=a0_0x2cdf9a;super({'success':!![]}),this[_0x59c338(0x248)]=_0x3ebf0f[_0x59c338(0x248)];}['buildReport'](){const _0x25f748=a0_0x2cdf9a;return{'success':!![],'configName':this[_0x25f748(0x248)],'value':null};}[a0_0x2cdf9a(0x150)](_0x2a488f){const _0x2597f9=a0_0x2cdf9a,_0x5117b2=[[_0x2597f9(0x140),_0x2597f9(0x232)],[_0x2a488f['configName'],_0x2a488f[_0x2597f9(0x131)]||'NULL']];console[_0x2597f9(0xdd)](table['table'](_0x5117b2));}}class ConfigUnset extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x20d);[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0x187);[a0_0x2cdf9a(0xdf)]=[{'name':a0_0x2cdf9a(0x1e5),'description':'Config\x20name.\x20Allowed\x20values:\x20'+Object[a0_0x2cdf9a(0x214)](ConfigName)[a0_0x2cdf9a(0x11b)](',\x20')+'.'}];['options']=[{'flags':'--json','description':a0_0x2cdf9a(0x186),'defaultValue':![]}];[a0_0x2cdf9a(0x1d3)]=process[a0_0x2cdf9a(0x1dc)]();['manager']=ProjectManager['getInstance']();async['execute']([_0x30b290]){const _0x544aac=a0_0x2cdf9a;this['logger'][_0x544aac(0x217)](_0x544aac(0x1cd));const _0x4e6180=await this[_0x544aac(0xbf)][_0x544aac(0x249)](this[_0x544aac(0x1d3)]);if(!_0x4e6180)return this[_0x544aac(0x183)][_0x544aac(0x19e)]('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':_0x544aac(0x211)});await this[_0x544aac(0xbf)][_0x544aac(0x198)](this['projectPath']);try{return await this[_0x544aac(0xbf)][_0x544aac(0x142)](_0x30b290),await this[_0x544aac(0xbf)][_0x544aac(0xba)](),this['logger']['info']('Config\x20set\x20completed'),new ConfigUnsetReporter({'configName':_0x30b290});}catch(_0x5e33a4){await this[_0x544aac(0xbf)]['abortStage']();throw _0x5e33a4;}}[a0_0x2cdf9a(0xf1)]([,{json:_0x119270}]){return _0x119270;}}class InitReporter extends BaseReporter{[a0_0x2cdf9a(0x1d3)];constructor({projectPath:_0x2dfd61}){const _0x4e6565=a0_0x2cdf9a;super({'success':!![]}),this[_0x4e6565(0x1d3)]=_0x2dfd61;}['buildReport'](){const _0xcdc2ef=a0_0x2cdf9a;return{'success':this[_0xcdc2ef(0x1ad)],'projectPath':this['projectPath']};}['print'](_0x4896ed){const _0x3e3b64=a0_0x2cdf9a,_0x4900bf=[['Project\x20Path'],[_0x4896ed[_0x3e3b64(0x1d3)]]];console[_0x3e3b64(0xdd)](table[_0x3e3b64(0x221)](_0x4900bf,{'columns':[{'width':0x28}]}));}}class InitCommand extends BaseCommand{['commandName']=a0_0x2cdf9a(0x212);['description']=a0_0x2cdf9a(0x238);[a0_0x2cdf9a(0xdf)]=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':'-n,\x20--name\x20<string>','description':a0_0x2cdf9a(0x247)},{'flags':a0_0x2cdf9a(0x190),'description':'Applies\x20json\x20formatted\x20result.','defaultValue':![]}];[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();async['execute']([_0x3898d6]){const _0x46d5ae=a0_0x2cdf9a;this['logger'][_0x46d5ae(0x217)](_0x46d5ae(0x23c));const _0x35676c=await this[_0x46d5ae(0xdb)](_0x3898d6[_0x46d5ae(0x127)]),_0x5e291=await this[_0x46d5ae(0xbf)][_0x46d5ae(0x249)](_0x35676c);if(_0x5e291)return this[_0x46d5ae(0x183)][_0x46d5ae(0x19e)](_0x46d5ae(0x193)),new FailReporter({'failMessage':_0x46d5ae(0x193)});await this[_0x46d5ae(0xbf)][_0x46d5ae(0x198)](_0x35676c);try{return await this['manager'][_0x46d5ae(0x105)]({}),await this[_0x46d5ae(0xbf)][_0x46d5ae(0xba)](),this[_0x46d5ae(0x183)][_0x46d5ae(0x217)]('Project\x20initialization\x20completed'),new InitReporter({'projectPath':_0x35676c});}catch(_0x101783){await this[_0x46d5ae(0xbf)][_0x46d5ae(0x156)]();throw _0x101783;}}['isJson']([{json:_0x298a70}]){return _0x298a70;}async['buildProjectPath'](_0x4503bf){const _0x51ab2f=a0_0x2cdf9a;if(_0x4503bf)return node_path[_0x51ab2f(0x11b)](process['cwd'](),_0x4503bf);const _0x2ab5f6=await ReadlineUtils[_0x51ab2f(0x226)](_0x51ab2f(0x1af));return node_path[_0x51ab2f(0x11b)](process[_0x51ab2f(0x1dc)](),_0x2ab5f6);}}class ListBranchesReporter extends BaseReporter{[a0_0x2cdf9a(0x167)];constructor(_0x3bcfb3){const _0x59ee6a=a0_0x2cdf9a;super({'success':!![]}),this[_0x59ee6a(0x167)]=_0x3bcfb3['branches'];}['buildReport'](){const _0x469d6c=a0_0x2cdf9a;return{'success':this[_0x469d6c(0x1ad)],'branches':this['branches']};}[a0_0x2cdf9a(0x150)](_0x4ceea0){const _0x1e2cee=a0_0x2cdf9a,_0x24f3c0=[[_0x1e2cee(0x174)]];for(const _0x2e7605 of _0x4ceea0['branches']){_0x24f3c0[_0x1e2cee(0x10e)]([_0x2e7605]);}console[_0x1e2cee(0xdd)](table[_0x1e2cee(0x221)](_0x24f3c0,{'columns':[{'width':0x1e}]}));}}class ListBranchesCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x1f8);[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0x1f7);['arguments']=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];[a0_0x2cdf9a(0x1d3)]=process['cwd']();[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();async['execute'](){const _0x1c9659=a0_0x2cdf9a;this[_0x1c9659(0x183)][_0x1c9659(0x217)](_0x1c9659(0x23d));const _0x3fdc6e=await this[_0x1c9659(0xbf)][_0x1c9659(0x249)](this[_0x1c9659(0x1d3)]);if(!_0x3fdc6e)return this['logger'][_0x1c9659(0x19e)](_0x1c9659(0x211)),new FailReporter({'failMessage':_0x1c9659(0x211)});const _0x53bcd6=await this[_0x1c9659(0x109)](),{accessToken:_0x349bdf,devopsUrl:_0x1465a4}=await ApiService[_0x1c9659(0x202)](_0x53bcd6),_0x45b138=await ApiService[_0x1c9659(0x1fa)]({'accessToken':_0x349bdf,'devopsUrl':_0x1465a4});return this['logger'][_0x1c9659(0x217)](_0x1c9659(0xea)),new ListBranchesReporter({'branches':_0x45b138[_0x1c9659(0xf3)](_0x132463=>_0x132463[_0x1c9659(0x127)])});}[a0_0x2cdf9a(0xf1)]([{json:_0x457db0}]){return _0x457db0;}async[a0_0x2cdf9a(0x109)](){const _0x35a7e7=a0_0x2cdf9a,{credentialsAlias:_0x25d4e5}=await this[_0x35a7e7(0xbf)][_0x35a7e7(0x146)](this['projectPath']);if(!_0x25d4e5)throw new Error(_0x35a7e7(0xc6));if(typeof _0x25d4e5!=='string')throw new Error('Invalid\x20credentials\x20type');return _0x25d4e5;}}class ListCredentialsReporter extends BaseReporter{[a0_0x2cdf9a(0x1b5)];constructor(_0x2b3bf2){const _0x2a8e66=a0_0x2cdf9a;super({'success':!![]}),this['credentials']=_0x2b3bf2[_0x2a8e66(0x1b5)];}[a0_0x2cdf9a(0xca)](){const _0x243939=a0_0x2cdf9a;return{'success':this[_0x243939(0x1ad)],'credentials':this[_0x243939(0x1b5)]};}[a0_0x2cdf9a(0x150)](_0xb8834f){const _0x1ca6ed=a0_0x2cdf9a,_0x4f27f=[[_0x1ca6ed(0x244),'Global\x20Settings\x20Url',_0x1ca6ed(0x16a)]];for(const {alias:_0x2865f4,globalSettingsUrl:_0x55cf6c,devopsUrl:_0x1f8b2e}of _0xb8834f[_0x1ca6ed(0x1b5)]){_0x4f27f[_0x1ca6ed(0x10e)]([_0x2865f4,_0x55cf6c,_0x1f8b2e||_0x1ca6ed(0xf8)]);}console['log'](table[_0x1ca6ed(0x221)](_0x4f27f));}}class ListCredentialsCommand extends BaseCommand{['commandName']=a0_0x2cdf9a(0x22f);['description']='Display\x20all\x20authorized\x20credentials.';[a0_0x2cdf9a(0xdf)]=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':'--json','description':a0_0x2cdf9a(0x186),'defaultValue':![]}];async[a0_0x2cdf9a(0x20c)](){const _0x38442e=a0_0x2cdf9a;this[_0x38442e(0x183)]['info'](_0x38442e(0x1bd));const _0x250952=await CredentialsManager[_0x38442e(0x201)]();return this['logger']['info'](_0x38442e(0x12c)),new ListCredentialsReporter({'credentials':_0x250952[_0x38442e(0xf3)](({alias:_0x1826c8,globalSettingsUrl:_0x354c8f,devopsUrl:_0x315819})=>({'alias':_0x1826c8,'globalSettingsUrl':_0x354c8f,'devopsUrl':_0x315819}))});}[a0_0x2cdf9a(0xf1)]([{json:_0x34a539}]){return _0x34a539;}}class LoginAction{constructor(_0x121781){this['accessToken']=_0x121781;}async[a0_0x2cdf9a(0x20c)](){const _0x59c2f9=a0_0x2cdf9a;try{const _0x5f08e1=JSON[_0x59c2f9(0x14f)](Buffer[_0x59c2f9(0x213)](this[_0x59c2f9(0xbd)],_0x59c2f9(0x173))['toString'](_0x59c2f9(0x179))),_0x571005=await axios[_0x59c2f9(0x231)]('/api/v1/links',{'headers':{'authorization':_0x59c2f9(0x11a)+this[_0x59c2f9(0xbd)]},'baseURL':_0x5f08e1['applicationUrl']})['then'](({data:_0x547a5c})=>new Map(_0x547a5c['map'](_0xb323e6=>[_0xb323e6[_0x59c2f9(0x127)],_0xb323e6[_0x59c2f9(0x12e)]]))),_0x14c680={'globalSettingsUrl':_0x5f08e1['applicationUrl']};for(const [_0x453234,_0x54b38d]of _0x571005['entries']()){_0x453234===_0x59c2f9(0x23e)&&(_0x14c680[_0x59c2f9(0x143)]=_0x54b38d);}return _0x14c680;}catch(_0x371698){if(axios[_0x59c2f9(0x23b)](_0x371698))throw Error(_0x371698[_0x59c2f9(0x11c)]?.[_0x59c2f9(0x164)][_0x59c2f9(0x1b7)]||_0x371698[_0x59c2f9(0x11c)]?.[_0x59c2f9(0x11f)]||_0x371698[_0x59c2f9(0x1b7)],{'cause':_0x371698});throw _0x371698;}}}class GlobalSettingsService{static async[a0_0x2cdf9a(0x121)]({accessToken:_0x243b18}){const _0x163b4e=a0_0x2cdf9a,_0x36e52d=new LoginAction(_0x243b18);return _0x36e52d[_0x163b4e(0x20c)]();}}class LoginReporter extends BaseReporter{['alias'];[a0_0x2cdf9a(0x153)];[a0_0x2cdf9a(0x143)];constructor({alias:_0x3a2b41,globalSettingsUrl:_0x4f965e,devopsUrl:_0x2983f9}){const _0x563276=a0_0x2cdf9a;super({'success':!![]}),this[_0x563276(0x196)]=_0x3a2b41,this[_0x563276(0x153)]=_0x4f965e,this[_0x563276(0x143)]=_0x2983f9;}[a0_0x2cdf9a(0xca)](){const _0x56af28=a0_0x2cdf9a;return{'success':this[_0x56af28(0x1ad)],'alias':this['alias'],'globalSettingsUrl':this[_0x56af28(0x153)],'devopsUrl':this[_0x56af28(0x143)]};}[a0_0x2cdf9a(0x150)](_0x4f7008){const _0x43ee3e=a0_0x2cdf9a,_0x52c738=[['Alias',_0x43ee3e(0x236),_0x43ee3e(0x16a)],[_0x4f7008[_0x43ee3e(0x196)],_0x4f7008['globalSettingsUrl'],_0x4f7008['devopsUrl']||_0x43ee3e(0xf8)]];console[_0x43ee3e(0xdd)](table[_0x43ee3e(0x221)](_0x52c738));}}class LoginCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x121);[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0x225);['arguments']=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':a0_0x2cdf9a(0xc1),'description':'Alias\x20which\x20saved\x20credentials\x20will\x20be\x20accessed\x20with.','defaultValue':DEFAULT_ALIAS_NAME},{'flags':a0_0x2cdf9a(0x139),'description':a0_0x2cdf9a(0x1e9)+ROOT_NAME+a0_0x2cdf9a(0x206)},{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];async['execute']([_0x5a68eb]){const _0x5396a5=a0_0x2cdf9a;this['logger'][_0x5396a5(0x217)]('Login\x20started');const _0x3a425b=await this[_0x5396a5(0x101)](_0x5a68eb[_0x5396a5(0xf6)]),_0x5b9ea3=await GlobalSettingsService[_0x5396a5(0x121)]({'accessToken':_0x3a425b});return await CredentialsManager[_0x5396a5(0x1b0)]({'alias':_0x5a68eb[_0x5396a5(0x196)],'accessToken':_0x3a425b,'globalSettingsUrl':_0x5b9ea3[_0x5396a5(0x153)],'devopsUrl':_0x5b9ea3[_0x5396a5(0x143)]}),this['logger'][_0x5396a5(0x217)](_0x5396a5(0x1c2)+_0x5a68eb[_0x5396a5(0x196)]+'\x22'),new LoginReporter({'alias':_0x5a68eb[_0x5396a5(0x196)],'globalSettingsUrl':_0x5b9ea3['globalSettingsUrl'],'devopsUrl':_0x5b9ea3[_0x5396a5(0x143)]});}[a0_0x2cdf9a(0xf1)]([{json:_0x3b873f}]){return _0x3b873f;}async[a0_0x2cdf9a(0x101)](_0x328869){const _0x2efed1=a0_0x2cdf9a;if(_0x328869)return _0x328869;const _0x2e4e51=await ReadlineUtils[_0x2efed1(0x226)]('Enter\x20api\x20token:\x20');return _0x2e4e51;}}const DELETED_STATUS=a0_0x2cdf9a(0x1d6);class LogoutReporter extends BaseReporter{[a0_0x2cdf9a(0x196)];constructor({alias:_0x255de3}){super({'success':!![]}),this['alias']=_0x255de3;}['buildReport'](){const _0x14c6ca=a0_0x2cdf9a;return{'success':this[_0x14c6ca(0x1ad)],'alias':this[_0x14c6ca(0x196)],'status':DELETED_STATUS};}[a0_0x2cdf9a(0x150)](_0x4ab271){const _0x34f335=a0_0x2cdf9a,_0x23e901=[['Alias',_0x34f335(0xff)],[_0x4ab271[_0x34f335(0x196)],_0x4ab271[_0x34f335(0xee)]]];console[_0x34f335(0xdd)](table[_0x34f335(0x221)](_0x23e901));}}class LogoutCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0x104);['description']='Delete\x20saved\x20credentials.';[a0_0x2cdf9a(0xdf)]=[];['options']=[{'flags':'-a,\x20--alias\x20<string>','description':'Saved\x20credentials\x20alias.','defaultValue':DEFAULT_ALIAS_NAME},{'flags':a0_0x2cdf9a(0x190),'description':'Applies\x20json\x20formatted\x20result.','defaultValue':![]}];async[a0_0x2cdf9a(0x20c)]([_0x4e4d6]){const _0xc43a34=a0_0x2cdf9a;return this[_0xc43a34(0x183)][_0xc43a34(0x217)](_0xc43a34(0x237)),await CredentialsManager[_0xc43a34(0x1e4)]({'alias':_0x4e4d6['alias']}),this[_0xc43a34(0x183)][_0xc43a34(0x217)](_0xc43a34(0x182)),new LogoutReporter({'alias':_0x4e4d6[_0xc43a34(0x196)]});}[a0_0x2cdf9a(0xf1)]([{json:_0x419cc0}]){return _0x419cc0;}}class PullReporter extends BaseReporter{[a0_0x2cdf9a(0xfa)];constructor({changes:_0x1b5dac}){const _0x3b788b=a0_0x2cdf9a;super({'success':!![]}),this[_0x3b788b(0xfa)]=_0x1b5dac;}[a0_0x2cdf9a(0xca)](){const _0x54a133=a0_0x2cdf9a;return{'success':this['success'],'changes':this[_0x54a133(0xfa)]};}[a0_0x2cdf9a(0x150)](_0x20d002){const _0x26c1f5=a0_0x2cdf9a;console['log'](_0x26c1f5(0x1d8));const _0x416a5f=[[_0x26c1f5(0xfc),_0x26c1f5(0x1b3),_0x26c1f5(0x20e),_0x26c1f5(0x16c)]];for(const {changeType:_0x3a5c7c,name:_0x506282,type:_0xb36f0e,paths:_0x4a0fa5}of _0x20d002[_0x26c1f5(0xfa)]){_0x416a5f[_0x26c1f5(0x10e)]([_0x3a5c7c,_0x506282,_0xb36f0e,_0x4a0fa5?.[_0x26c1f5(0x11b)]('\x0a')||'']);}console[_0x26c1f5(0xdd)](table[_0x26c1f5(0x221)](_0x416a5f,{'columns':[{},{'width':0x28},{'width':0x1e},{'width':0x28}]}));}}class PullCommand extends BaseCommand{['commandName']='pull';[a0_0x2cdf9a(0x17e)]=a0_0x2cdf9a(0x14c);[a0_0x2cdf9a(0xdf)]=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];['projectPath']=process[a0_0x2cdf9a(0x1dc)]();[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();[a0_0x2cdf9a(0x205)]=[];['_credentials'];get['credentials'](){const _0x29a62f=a0_0x2cdf9a;if(!this['_credentials'])throw new Error(_0x29a62f(0xb6));return this[_0x29a62f(0xb7)];}async[a0_0x2cdf9a(0x20c)](){const _0xb968bb=a0_0x2cdf9a;this[_0xb968bb(0x183)][_0xb968bb(0x217)]('Pulling\x20latest\x20updates\x20started');const _0x3eb1fe=await this[_0xb968bb(0xbf)]['isInitialized'](this[_0xb968bb(0x1d3)]);if(!_0x3eb1fe)return this[_0xb968bb(0x183)]['warn']('Project\x20is\x20not\x20initialized'),new FailReporter({'failMessage':'Project\x20is\x20not\x20initialized'});const _0x277485=await this[_0xb968bb(0x109)]();this['_credentials']=await ApiService[_0xb968bb(0x202)](_0x277485);const {id:_0x23e233,headCommitId:_0x17e953}=await this[_0xb968bb(0xbf)][_0xb968bb(0x12a)](this[_0xb968bb(0x1d3)]);if(!_0x23e233)return this[_0xb968bb(0x183)][_0xb968bb(0x19e)](_0xb968bb(0x1ee)),new FailReporter({'failMessage':_0xb968bb(0x1ee)});const _0x5e2d0e=await ApiService['getBranchById']({'accessToken':this['credentials']['accessToken'],'devopsUrl':this[_0xb968bb(0x1b5)][_0xb968bb(0x143)],'branchId':_0x23e233});if(_0x17e953===_0x5e2d0e[_0xb968bb(0x134)])return new PullReporter({'changes':this[_0xb968bb(0x205)]});await this['manager']['initStage'](this[_0xb968bb(0x1d3)]);try{this['logger']['info'](_0xb968bb(0x177));const _0xd38a12=await this[_0xb968bb(0x138)]();if(_0xd38a12)return this[_0xb968bb(0x183)][_0xb968bb(0x19e)](_0xb968bb(0x1b4)),await this[_0xb968bb(0xbf)][_0xb968bb(0x156)](),new FailReporter({'failMessage':_0xb968bb(0x1b4)});return this['logger']['info'](_0xb968bb(0x1ff)),this['logger'][_0xb968bb(0x217)](_0xb968bb(0x114)),await this['retrieveDifference'](_0x5e2d0e),this[_0xb968bb(0x183)][_0xb968bb(0x217)](_0xb968bb(0x1a4)),await this[_0xb968bb(0xbf)]['applyStage'](),this['logger'][_0xb968bb(0x217)](_0xb968bb(0xfb)),new PullReporter({'changes':this[_0xb968bb(0x205)]});}catch(_0x37cef6){await this[_0xb968bb(0xbf)][_0xb968bb(0x156)]();throw _0x37cef6;}}[a0_0x2cdf9a(0xf1)]([{json:_0x160840}]){return _0x160840;}async['getCredentialsAlias'](){const _0x495000=a0_0x2cdf9a,{credentialsAlias:_0xd4eba7}=await this['manager'][_0x495000(0x146)](this[_0x495000(0x1d3)]);if(!_0xd4eba7)throw new Error(_0x495000(0xc6));if(typeof _0xd4eba7!==_0x495000(0x10c))throw new Error(_0x495000(0x1a1));return _0xd4eba7;}async[a0_0x2cdf9a(0x138)](){const _0x439c4e=a0_0x2cdf9a,_0x5d6ecc=await this[_0x439c4e(0xbf)][_0x439c4e(0xde)]();return!!_0x5d6ecc[_0x439c4e(0xc7)];}async[a0_0x2cdf9a(0x13a)](_0x4616eb){const _0x5cb18f=a0_0x2cdf9a,{devopsUrl:_0x489249,accessToken:_0x2b5534}=this[_0x5cb18f(0x1b5)],_0x158e12=await this[_0x5cb18f(0xbf)][_0x5cb18f(0x13c)]({'devopsUrl':_0x489249,'accessToken':_0x2b5534,'targetBranchId':_0x4616eb['id'],'targetCommitId':_0x4616eb['headCommitId']});for(const {id:_0x3097b8,name:_0x5f537a,type:_0x14cacd,changeType:_0x4e88cc}of _0x158e12){if(!_0x3097b8){if(_0x4e88cc!==ChangeType[_0x5cb18f(0x1df)])throw new Error(_0x5cb18f(0xcb));await this[_0x5cb18f(0xbf)][_0x5cb18f(0x147)]({'name':_0x5f537a,'type':_0x14cacd,'changeType':_0x4e88cc}),this[_0x5cb18f(0x205)][_0x5cb18f(0x10e)]({'changeType':_0x4e88cc,'name':_0x5f537a,'type':_0x14cacd});continue;}const _0x161ad4=await ApiService[_0x5cb18f(0x1c7)]({'devopsUrl':_0x489249,'accessToken':_0x2b5534,'componentId':_0x3097b8});if(!_0x161ad4[_0x5cb18f(0x1c3)])throw new Error(_0x5cb18f(0x1db)+_0x161ad4[_0x5cb18f(0x127)]+_0x5cb18f(0xe8)+_0x161ad4[_0x5cb18f(0xd5)]+'\x22\x20not\x20found');await this['manager'][_0x5cb18f(0x147)]({'name':_0x5f537a,'type':_0x14cacd,'changeType':_0x4e88cc,'component':{..._0x161ad4,'fHash':_0x161ad4[_0x5cb18f(0x1c3)]}}),this['componentChanges'][_0x5cb18f(0x10e)]({'changeType':_0x4e88cc,'name':_0x5f537a,'type':_0x14cacd,'paths':_0x161ad4[_0x5cb18f(0xe6)][_0x5cb18f(0xf3)](_0x375e52=>_0x375e52[_0x5cb18f(0x16e)])});}await this[_0x5cb18f(0xbf)]['saveBranchState'](_0x4616eb);}}class RollbackReporter extends BaseReporter{[a0_0x2cdf9a(0x1ef)];constructor({fileChanges:_0x4c2d73}){const _0x28342a=a0_0x2cdf9a;super({'success':!![]}),this[_0x28342a(0x1ef)]=_0x4c2d73;}['buildReport'](){const _0x453e47=a0_0x2cdf9a;return{'success':this['success'],'fileChanges':this[_0x453e47(0x1ef)]};}[a0_0x2cdf9a(0x150)](_0x68072f){const _0x42abd0=a0_0x2cdf9a;console['log'](_0x42abd0(0x116));const _0x308e95=[[_0x42abd0(0xfc),_0x42abd0(0x1bf)]];for(const {changeType:_0x2c4c7e,path:_0x3d8cea}of _0x68072f[_0x42abd0(0x1ef)]){_0x308e95[_0x42abd0(0x10e)]([_0x2c4c7e,_0x3d8cea]);}console[_0x42abd0(0xdd)](table[_0x42abd0(0x221)](_0x308e95,{'columns':[{},{'width':0x28}]}));}}class RollbackCommand extends BaseCommand{['commandName']=a0_0x2cdf9a(0x176);[a0_0x2cdf9a(0x17e)]='Roll\x20back\x20your\x20branch\x20state\x20to\x20last\x20committed\x20one.';[a0_0x2cdf9a(0xdf)]=[];['options']=[{'flags':'--json','description':a0_0x2cdf9a(0x186),'defaultValue':![]}];['projectPath']=process[a0_0x2cdf9a(0x1dc)]();[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();['rollbackTypes']=new Map();[a0_0x2cdf9a(0x19c)]=[];[a0_0x2cdf9a(0x185)]=[];[a0_0x2cdf9a(0xb7)];[a0_0x2cdf9a(0x145)];['_headCommitId'];get[a0_0x2cdf9a(0x1b5)](){const _0x4096ed=a0_0x2cdf9a;if(!this[_0x4096ed(0xb7)])throw new Error(_0x4096ed(0xb6));return this[_0x4096ed(0xb7)];}get[a0_0x2cdf9a(0x1fb)](){const _0x2d8ad4=a0_0x2cdf9a;if(!this[_0x2d8ad4(0x145)])throw new Error(_0x2d8ad4(0x13e));return this[_0x2d8ad4(0x145)];}get[a0_0x2cdf9a(0x134)](){const _0x20c624=a0_0x2cdf9a;if(!this[_0x20c624(0x1b9)])throw new Error(_0x20c624(0x1bc));return this[_0x20c624(0x1b9)];}async['execute'](){const _0x46129c=a0_0x2cdf9a;this[_0x46129c(0x183)]['info'](_0x46129c(0xe4));const _0x49291a=await this[_0x46129c(0xbf)]['isInitialized'](this[_0x46129c(0x1d3)]);if(!_0x49291a)return this[_0x46129c(0x183)][_0x46129c(0x19e)](_0x46129c(0x211)),new FailReporter({'failMessage':_0x46129c(0x211)});const _0x1eb860=await this['getCredentialsAlias']();this[_0x46129c(0xb7)]=await ApiService[_0x46129c(0x202)](_0x1eb860),await this[_0x46129c(0x23a)](),await this[_0x46129c(0xbf)][_0x46129c(0x198)](this[_0x46129c(0x1d3)]);try{this['logger']['info'](_0x46129c(0x13d)),await this['defineRollbackTypes']();if(!this[_0x46129c(0x1cb)][_0x46129c(0x1da)])return this[_0x46129c(0x183)][_0x46129c(0x217)](_0x46129c(0x1f0)),new RollbackReporter({'fileChanges':this[_0x46129c(0x185)]});return this[_0x46129c(0x183)][_0x46129c(0x217)](_0x46129c(0x10b)+this[_0x46129c(0x1cb)][_0x46129c(0x1da)]+_0x46129c(0x1b2)),this[_0x46129c(0x183)][_0x46129c(0x217)](_0x46129c(0x15b)),await this[_0x46129c(0x176)](),this[_0x46129c(0x183)]['info'](_0x46129c(0x1d4)),await this[_0x46129c(0xbf)][_0x46129c(0xba)](),this[_0x46129c(0x183)][_0x46129c(0x217)](_0x46129c(0x1fd)),new RollbackReporter({'fileChanges':this['filesChanges']});}catch(_0x249c6b){await this[_0x46129c(0xbf)][_0x46129c(0x156)]();throw _0x249c6b;}}['isJson']([{json:_0x2cfb97}]){return _0x2cfb97;}async[a0_0x2cdf9a(0x109)](){const _0x55215f=a0_0x2cdf9a,{credentialsAlias:_0x3491b5}=await this[_0x55215f(0xbf)]['readConfig'](this[_0x55215f(0x1d3)]);if(!_0x3491b5)throw new Error(_0x55215f(0xc6));if(typeof _0x3491b5!==_0x55215f(0x10c))throw new Error(_0x55215f(0x1a1));return _0x3491b5;}async[a0_0x2cdf9a(0x23a)](){const _0x4ebb08=a0_0x2cdf9a,{id:_0x47d734,headCommitId:_0x1d2b65}=await this['manager'][_0x4ebb08(0x12a)](this['projectPath']);if(!_0x47d734||!_0x1d2b65)throw new Error('A\x20branch\x20is\x20not\x20selected.\x20Use\x20\x22flosum\x20devops\x20checkout\x22\x20at\x20first');this[_0x4ebb08(0x145)]=_0x47d734||void 0x0,this[_0x4ebb08(0x1b9)]=_0x1d2b65||void 0x0;}async[a0_0x2cdf9a(0x176)](){const _0x3c7080=a0_0x2cdf9a;if(this[_0x3c7080(0x19c)]['length'])for await(const {files:_0x41d55a}of ApiService[_0x3c7080(0x1d2)]({'devopsUrl':this['credentials'][_0x3c7080(0x143)],'accessToken':this[_0x3c7080(0x1b5)]['accessToken'],'branchId':this[_0x3c7080(0x1fb)],'commitId':this[_0x3c7080(0x134)],'components':this['componentsForRetrieve']})){await this['handleRestore'](_0x41d55a);}for(const [_0x4ab790,_0x387412]of this[_0x3c7080(0x1cb)][_0x3c7080(0x155)]()){if(_0x387412!==ChangeType['DELETE'])throw new Error(_0x3c7080(0xbc)+_0x4ab790+_0x3c7080(0x168));await this[_0x3c7080(0xbf)][_0x3c7080(0x1f9)]({'path':_0x4ab790,'changeType':_0x387412});}return{'success':!![]};}async[a0_0x2cdf9a(0x222)](){const _0x3a1f8f=a0_0x2cdf9a,_0x339c0c=await this[_0x3a1f8f(0xbf)][_0x3a1f8f(0xde)]();for(const {name:_0x34d815,type:_0x32fe3b,changes:_0x238023}of _0x339c0c){let _0x532a66=![];for(const {path:_0x4021b7,changeType:_0xbbb303}of _0x238023){let _0xed78fd;_0xbbb303===ChangeType[_0x3a1f8f(0x239)]?_0xed78fd=ChangeType[_0x3a1f8f(0x1df)]:(_0xed78fd=_0xbbb303===ChangeType[_0x3a1f8f(0x1df)]?ChangeType[_0x3a1f8f(0x239)]:ChangeType[_0x3a1f8f(0x199)],_0x532a66=!![]),this[_0x3a1f8f(0x1cb)][_0x3a1f8f(0x191)](_0x4021b7,_0xed78fd),this[_0x3a1f8f(0x185)]['push']({'changeType':_0xed78fd,'path':_0x4021b7});}_0x532a66&&this[_0x3a1f8f(0x19c)][_0x3a1f8f(0x10e)]({'name':_0x34d815,'type':_0x32fe3b});}}async[a0_0x2cdf9a(0x188)](_0x2b4f68){const _0xb30c4b=a0_0x2cdf9a;for(const {path:_0x5430ee,content:_0x76ff24}of _0x2b4f68){const _0x119dfe=path[_0xb30c4b(0x11b)](COMPONENT_PROJECT_PATH,_0x5430ee),_0x57745c=this[_0xb30c4b(0x1cb)][_0xb30c4b(0x231)](_0x119dfe);if(!_0x57745c)continue;await this['manager'][_0xb30c4b(0x1f9)]({'path':_0x119dfe,'content':_0x76ff24,'changeType':_0x57745c}),this['rollbackTypes']['delete'](_0x119dfe);}}}class StatusReporter extends BaseReporter{[a0_0x2cdf9a(0x130)];constructor({pendingChanges:_0x3ce7ed}){const _0x11e3d7=a0_0x2cdf9a;super({'success':!![]}),this[_0x11e3d7(0x130)]=_0x3ce7ed;}['buildReport'](){const _0x326f6c=a0_0x2cdf9a;return{'success':this[_0x326f6c(0x1ad)],'pendingChanges':this[_0x326f6c(0x130)]};}[a0_0x2cdf9a(0x150)](_0x5e6b16){const _0x15f2ac=a0_0x2cdf9a;console[_0x15f2ac(0xdd)](_0x15f2ac(0x17f));const _0x400d0e=[[_0x15f2ac(0xfc),'File']];for(const {changeType:_0x4827a9,path:_0x7c3206}of _0x5e6b16[_0x15f2ac(0x130)]){_0x400d0e[_0x15f2ac(0x10e)]([_0x4827a9,_0x7c3206]);}console[_0x15f2ac(0xdd)](table[_0x15f2ac(0x221)](_0x400d0e,{'columns':[{},{'width':0x28}]}));}}class StatusCommand extends BaseCommand{[a0_0x2cdf9a(0x23f)]=a0_0x2cdf9a(0xee);['description']=a0_0x2cdf9a(0x1e6);[a0_0x2cdf9a(0xdf)]=[];[a0_0x2cdf9a(0x1b1)]=[{'flags':a0_0x2cdf9a(0x190),'description':a0_0x2cdf9a(0x186),'defaultValue':![]}];['projectPath']=process[a0_0x2cdf9a(0x1dc)]();[a0_0x2cdf9a(0xbf)]=ProjectManager[a0_0x2cdf9a(0x1f2)]();[a0_0x2cdf9a(0x130)]=[];async[a0_0x2cdf9a(0x20c)](){const _0x43419e=a0_0x2cdf9a;this[_0x43419e(0x183)]['info'](_0x43419e(0x13f));const _0x59e623=await this[_0x43419e(0xbf)][_0x43419e(0x249)](this[_0x43419e(0x1d3)]);if(!_0x59e623)return this[_0x43419e(0x183)][_0x43419e(0x19e)](_0x43419e(0x211)),new FailReporter({'failMessage':_0x43419e(0x211)});await this['manager'][_0x43419e(0x198)](this[_0x43419e(0x1d3)]);const _0x34895c=await this[_0x43419e(0xbf)][_0x43419e(0xde)]();for(const {changes:_0x109558}of _0x34895c){for(const {changeType:_0x26aa0f,path:_0x5c8b5b}of _0x109558){this[_0x43419e(0x130)][_0x43419e(0x10e)]({'changeType':_0x26aa0f,'path':_0x5c8b5b});}}return await this['manager'][_0x43419e(0x156)](),this[_0x43419e(0x183)][_0x43419e(0x217)](_0x43419e(0x129)),new StatusReporter({'pendingChanges':this[_0x43419e(0x130)]});}[a0_0x2cdf9a(0xf1)]([{json:_0x18e9a4}]){return _0x18e9a4;}}configurePathEnv();const ROOT_COMMANDS=[LoginCommand,LogoutCommand,ListCredentialsCommand],DEVOPS_COMMANDS=[InitCommand,CloneCommand,CheckoutCommand,ConfigSetCommand,ConfigUnset,PullCommand,CommitCommand,RollbackCommand,StatusCommand,ListBranchesCommand],root=new commander[(a0_0x2cdf9a(0x20f))]()[a0_0x2cdf9a(0x127)](ROOT_NAME)['description'](a0_0x2cdf9a(0x161)+ROOT_NAME+a0_0x2cdf9a(0x18d))[a0_0x2cdf9a(0xf0)](config[a0_0x2cdf9a(0xf0)]);for(const command of ROOT_COMMANDS){new command()[a0_0x2cdf9a(0x1f6)](root);}const devops=new commander[(a0_0x2cdf9a(0x20f))]()[a0_0x2cdf9a(0x127)](a0_0x2cdf9a(0xdc))[a0_0x2cdf9a(0x17e)](a0_0x2cdf9a(0x21c));for(const command of DEVOPS_COMMANDS){new command()[a0_0x2cdf9a(0x1f6)](devops);}root[a0_0x2cdf9a(0x141)](devops),root[a0_0x2cdf9a(0x14f)]();function configurePathEnv(){const _0x51154e=a0_0x2cdf9a,_0x3d0054=process['env'][_0x51154e(0x1c4)]?.[_0x51154e(0x15e)](node_path['delimiter']);if(!_0x3d0054)throw new Error(_0x51154e(0xe0));const _0x224807=node_path[_0x51154e(0x11b)](node_path[_0x51154e(0xda)](__dirname),_0x51154e(0x1d1),_0x51154e(0x119));_0x3d0054[_0x51154e(0x10e)](_0x224807),process[_0x51154e(0x136)][_0x51154e(0x1c4)]=_0x3d0054[_0x51154e(0x11b)](node_path[_0x51154e(0x21e)]);}function a0_0x173a(){const _0x4201c0=['Component\x20id\x20not\x20found\x20after\x20comparison','sep','Commit\x20local\x20changes\x20to\x20a\x20remote\x20branch\x20on\x20devops.','lastStageTimestamp','Committed\x20Components:','A\x20branch\x20name\x20which\x20you\x20checkout\x20on.\x20If\x20not\x20specified\x20it\x20will\x20be\x20requested\x20during\x20command\x20execution.','Init\x20Result:','15970MmcsiQ','7QVlRgU','indexes','type','isUpdateStageTimestamp','updateSystemFiles','Cloning\x20completed','readdir','dirname','buildProjectPath','devops','log','findChanges','arguments','PATH\x20env\x20not\x20found','1265mDCERX','components','\x22\x20completed','Rolling\x20back\x20to\x20last\x20committed\x20state\x20started','all','files','/commits','\x22\x20of\x20type\x20\x22','deleteComponent','Listing\x20remote\x20branches\x20completed','applyCreateUpdate','node:fs/promises','createBranch','status','findIndex','version','isJson','\x20was\x20deleted','map','Detecting\x20changes\x20completed.\x20','indexOf','token','findDeletedAndUpdated','Not\x20Found','config-set','changes','Pulling\x20latest\x20updates\x20completed','Change\x20Type','Current\x20Branch:\x20','cleanUpEmptyFolders','Status','listComponentsGenerator','getAccessToken','Checkout\x20on\x20another\x20branch.\x20Checkout\x20command\x20retrieves\x20components\x20missing\x20locally.','then','logout','initProject','changeFile','credentials.json','localHeadCommit','getCredentialsAlias','handle','Looking\x20for\x20changes\x20completed.\x20','string','branchState','push','count','createInterface','_branchState','option','Commit\x20completed','Retrieve\x20components\x20started','targetCommitId','Rolled\x20Back\x20Changes:','find','update','.bin','Token\x20','join','response','getAllCredentials','areRemoteChanges','statusText','\x22\x20started','login','clone','paths','instance','Update','includes','name','Checkout\x20handler\x20not\x20found','Status\x20calculation\x20completed','readBranchState','componentsState','List\x20credentials\x20completed','catch','api','getBranchById','pendingChanges','value','search','5920212wnsmeX','headCommitId','isDirectory','env','stat','areChanges','-t,\x20--token\x20<string>','retrieveDifference','readFile','compareWithRemoteBranch','Looking\x20for\x20changes\x20started','Branch\x20id\x20not\x20found','Status\x20calculation\x20started','Config\x20Name','addCommand','unsetConfig','devopsUrl','firstName','_branchId','readConfig','saveComponent','Unknown\x20config\x20name:\x20','Credentials\x20with\x20alias\x20\x22','setIsUpdateStageTimestamp','printJson','Pull\x20latest\x20branch\x20commit\x20from\x20devops.','Changes\x20not\x20found','Fail\x20Message','parse','print','homedir','updateComponent','globalSettingsUrl','setConfig','entries','abortStage','3582FCqlpm','<value>','1180xwALSV','readComponentsState','Rollback\x20started','listComponents','access','split','Devops\x20url\x20not\x20found','convertToLocalComponent','CLI\x20for\x20work\x20with\x20','findAndCommitChanges','branchName','data','updateBranchState','retrievedComponents','branches','\x22\x20wasn\x27t\x20restored','Local\x20and\x20remote\x20head\x20commits\x20don\x27t\x20match.\x20Use\x20\x22flosum\x20devops\x20pull\x22\x20to\x20retrieve\x20latest\x20updates\x20from\x20devops','Devops\x20Url','W_OK','Files','currentBranch','path','commitDate','debug','bind','\x22\x20not\x20found','base64','Branch\x20Name','flosum','rollback','Checking\x20manual\x20changes\x20started','isDirectoryExists','utf-8','Component\x20','ROOT_COMMANDS','targetBranchName','mkdir','description','Pending\x20Changes:','filter','writeFile','Logout\x20completed','logger','R_OK','filesChanges','Applies\x20json\x20formatted\x20result.','Clear\x20project\x20config\x20property.','handleRestore','CREDENTIALS_ALIAS','sfdx-project.json','updateComponentState','fit/branches/','\x20services','branch-state.json','_success','--json','set','stringify','Project\x20has\x20already\x20been\x20initialized.\x20Duplicate\x20initialization\x20is\x20not\x20allowed.','Retrieve\x20Result:','errorDebug','alias','14UqRiDC','initStage','UPDATE','question','Update:\x20Component\x20','componentsForRetrieve','getFolderFilePaths','warn','3450pJvVXw','changeType','Invalid\x20credentials\x20type','copyFile','3969972VDMHAc','Retrieve\x20components\x20completed','post','_stagePath','Commit\x20message.\x20If\x20not\x20specified\x20it\x20will\x20be\x20requested\x20during\x20command\x20execution.','fit/branches','Checkout\x20on\x20\x22','total','.stage','Delete','success','error','Enter\x20project\x20name:\x20','save','options','\x20files\x20will\x20be\x20rolled\x20back','Name','Uncommitted\x20changes\x20found.\x20Commit\x20or\x20rollback\x20them\x20to\x20proceed','credentials','getBranch','message','fit/file-versions/','_headCommitId','warnDebug','stagePath','Head\x20commit\x20id\x20not\x20found','List\x20credentials\x20started','failMessage','File','isFileExists','node:readline/promises','Login\x20successfully\x20completed.\x20You\x20credentials\x20are\x20saved\x20with\x20alias\x20\x22','fHash','PATH','checkout','createComponent','retrieveComponentById','rmdir','has','node:crypto','rollbackTypes','rows','Config\x20set\x20started','replace',':WARN','registerFileChange','node_modules','retrieveComponents','projectPath','Rollback\x20completed','node:path','Deleted','splice','Component\x20Updates:','getDefaultBranch','size','fHash\x20for\x20component\x20\x22','cwd','argument','\x22\x20already\x20exists','DELETE','commitId','Missing\x20content\x20for\x20not\x20Delete\x20change\x20type','digest','parentId','delete','<config-name>','Return\x20all\x20local\x20not\x20committed\x20changes.','getMessage','Initialize\x20salesforce\x20project\x20and\x20retrieve\x20\x22main\x22\x20branch\x20from\x20registered\x20devops\x20tenant.','Token\x20for\x20getting\x20access\x20to\x20','stdin','createHash','apply','1175rdUBjb','A\x20branch\x20is\x20not\x20selected.\x20Use\x20\x22flosum\x20devops\x20checkout\x22\x20at\x20first','fileChanges','No\x20changes\x20for\x20rollback','auth/me','getInstance','_componentsState','trunc','force-app','register','List\x20all\x20remote\x20branches.','list-branches','addFileChange','listBranches','branchId','report','Rolling\x20back\x20to\x20last\x20committed\x20state\x20completed','userName','Checking\x20manual\x20changes\x20completed','26ztcvAo','list','getCredentials','getMe','close','componentChanges','\x20services.\x20If\x20not\x20specified\x20it\x20will\x20be\x20requested\x20during\x20command\x20execution.','_logger','No\x20Local\x20Changes','\x20components\x20will\x20be\x20committed','toString','\x20of\x20type\x20','execute','config-unset','Type','Command','constants','Project\x20is\x20not\x20initialized','init','from','values','targetBranch','applyFileChanges','info','Cloning\x20started','_stage','Enter\x20commit\x20message:\x20','targetBranchId','Devops\x20commands','content','delimiter','_localHeadCommit','3381936QGTkNg','table','defineRollbackTypes','isFile','basename','Login\x20into\x20global\x20settings\x20and\x20retrieve\x20data\x20about\x20related\x20services.','askString','color','commit','getBranchName','scan','SfProjectScanner','_projectPath','_isUpdateStageTimestamp','components-state.json','list-credentials','handleFileChange','get','Value','Set\x20project\x20config.','applyDelete','getUpdatedComponentChanges','Global\x20Settings\x20Url','Logout\x20started','Create\x20salesforce\x20project\x20and\x20cli\x20system\x20files.','CREATE','getBranchState','isAxiosError','Project\x20initialization\x20started','Listing\x20remote\x20branches\x20started','DevOps','commandName','_changes','Stage\x20folder\x20not\x20found','Config\x20name.\x20Allowed\x20values:\x20','saveBranchState','Alias','Project\x20Updates:','slice','A\x20name\x20of\x20a\x20folder\x20where\x20a\x20project\x20will\x20be\x20stored.\x20If\x20not\x20specified\x20it\x20will\x20be\x20requested\x20during\x20command\x20execution.','configName','isInitialized','enable','Credentials\x20not\x20found','_credentials','stage','abort','applyStage','config','File\x20\x22','accessToken','Create','manager','infoDebug','-a,\x20--alias\x20<string>','default','CLI','calculateComponentHash','flat','Credentials\x20alias\x20is\x20not\x20configured','length','2228oTNqUO','component','buildReport'];a0_0x173a=function(){return _0x4201c0;};return a0_0x173a();}exports['DEVOPS_COMMANDS']=DEVOPS_COMMANDS,exports[a0_0x2cdf9a(0x17b)]=ROOT_COMMANDS;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flosum/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1",
|
|
4
4
|
"author": "Flosum",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"description": "Devops cli",
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "pkgroll --clean-dist && javascript-obfuscator ./dist --compact true --self-defending true --target 'node' --simplify true --output ./dist --exclude 'node_modules'",
|
|
21
|
-
"build:dev": "pkgroll --clean-dist --watch"
|
|
22
|
-
"release": "release-it"
|
|
21
|
+
"build:dev": "pkgroll --clean-dist --watch"
|
|
23
22
|
},
|
|
24
23
|
"dependencies": {
|
|
25
24
|
"@flosum/salesforce": "1.17.12-beta.14",
|
|
@@ -44,7 +43,6 @@
|
|
|
44
43
|
"@types/node": "24.10.1",
|
|
45
44
|
"lefthook": "2.0.4",
|
|
46
45
|
"javascript-obfuscator": "4.1.1",
|
|
47
|
-
"release-it": "19.0.4",
|
|
48
46
|
"pkgroll": "2.21.3",
|
|
49
47
|
"typescript": "5.9.3"
|
|
50
48
|
},
|