@ckeditor/ckeditor5-real-time-collaboration 46.0.2-alpha.1 → 46.0.2

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/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x2d60c1,Plugin as _0xa3957f,PendingActions as _0x46f226,Context as et}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x398b9e,CKEditorError as _0x361cf4,Collection as _0x5c1f9a,global as _0x34f2de,version as ht,uid as _0x43d7be,KeystrokeHandler as _0x403085}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1f910b,View as _0x40928d,ListView as _0xa396c4,ListItemView as rt,LabelView as at,BalloonPanelView as _0x584c05,clickOutsideHandler as _0x4ad730,BodyCollection as _0x2d8c37}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3788b9,History as _0x33b8ee,NoOperation as _0x22981c,InsertOperation as _0x4cd219,MarkerOperation as _0x38d7d0,RootAttributeOperation as _0xb7bde,transformOperationSets as _0x1b5db5,OperationFactory as _0x53e641}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x414fdf,CollaborativeEditingService as _0x10e105,User as ut,CommentsService as ot,TrackChangesService as _0x48f71b,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2cdae6,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2c6b24}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x873502}from'es-toolkit/compat';class n extends _0x2d60c1{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1f910b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13c132){super(_0x13c132),this['set']('state',_0x414fdf['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x398b9e())();}['init'](){const _0x3ebda3=this['context'],_0xd1ce00=_0x3ebda3['plugins']['get']('CloudServices'),_0x9980d2=_0x3ebda3['plugins']['get'](_0x1f910b);if(!_0xd1ce00['token'])throw new _0x361cf4('websocketgateway-missing-token',this);if(!_0xd1ce00['webSocketUrl'])throw new _0x361cf4('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0xd1ce00['token'],_0xd1ce00['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xb08a68=>{if(this['connection']=_0xb08a68,this['bind']('state')['to'](_0xb08a68,'state',this,'_isBrowserOffline',(_0x4f4698,_0x34ba9c)=>('connected'!==_0x4f4698&&(this['_shouldPluginsReconnect']=!0x0),_0x34ba9c||_0x4f4698!==_0x414fdf['CONNECTED']?_0x414fdf['DISCONNECTED']:this['state']==_0x414fdf['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x414fdf['CONNECTING']):_0x414fdf['CONNECTED'])),this['connection']['on']('error',(_0x2d30ad,_0x4ed858)=>{if('limitExceeded'!==_0x4ed858['code'])throw console['error'](_0x4ed858),new _0x361cf4('cloudservices-init',null,{'originalError':_0x4ed858});_0x9980d2['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0xb08a68['me'])return new Promise(_0x12d13c=>_0xb08a68['on']('change:me',_0x12d13c));})['catch'](_0x7dd56f=>{throw console['error'](_0x7dd56f),new _0x361cf4('cloudservices-init',null,{'originalError':_0x7dd56f});});}['addToReconnectionStack'](_0x24c418){if('function'!=typeof _0x24c418['reconnect'])throw new _0x361cf4('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x24c418))throw new _0x361cf4('websocketgateway-plugin-already-registered',this,{'name':_0x24c418['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x24c418);}['removeFromReconnectionStack'](_0x429d20){this['_reconnectionStack']['delete'](_0x429d20);}['isInReconnectionStack'](_0x56fbeb){return this['_reconnectionStack']['has'](_0x56fbeb);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x13a05c=>_0x13a05c['reconnect']())))['then'](()=>this['state']=_0x414fdf['CONNECTED'])['catch'](_0x3a5a1e=>{throw console['error'](_0x3a5a1e),new _0x361cf4('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x414fdf['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2d60c1{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x2cdae6];}constructor(_0xb634b8){super(_0xb634b8),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5c1f9a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2cdae6);}['init'](){const _0x22c809=this['context']['plugins']['get'](n);this['listenTo'](_0x22c809,'change:state',(_0x38f292,_0xeafcdf,_0x4c761b)=>{if('connected'!==_0x4c761b)this['channelSessions']['forEach'](_0x25c0c9=>_0x25c0c9['clear']()),this['channelConnectedUsers']['forEach'](_0x2cdb83=>_0x2cdb83['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2d01dc,_0x290033]of this['_registeredSessions'])for(const _0x261c60 of _0x290033)this['_handleSessionAdd'](_0x2d01dc,_0x261c60);}}),this['_createUser'](_0x22c809['connection']['me'],!0x0);}['register'](_0xef9ce0,_0x2485b4){if(this['_registeredSessions']['has'](_0xef9ce0))throw new _0x361cf4('sessions-register-already-registered',null,{'channelId':_0xef9ce0});this['_registeredSessions']['set'](_0xef9ce0,_0x2485b4),this['channelSessions']['set'](_0xef9ce0,new _0x5c1f9a()),this['channelConnectedUsers']['set'](_0xef9ce0,new _0x5c1f9a()),this['listenTo'](_0x2485b4,'add',(_0x597d4b,_0x2e960b)=>this['_handleSessionAdd'](_0xef9ce0,_0x2e960b)),this['listenTo'](_0x2485b4,'remove',(_0x4eb5ff,_0x213d3a)=>this['_handleSessionRemove'](_0xef9ce0,_0x213d3a));for(const _0x374e09 of _0x2485b4)this['_handleSessionAdd'](_0xef9ce0,_0x374e09);}['unregister'](_0x412f06){if(!this['_registeredSessions']['has'](_0x412f06))throw new _0x361cf4('sessions-unregister-not-exist',null,{'channelId':_0x412f06});const _0x34a26f=this['_registeredSessions']['get'](_0x412f06);this['stopListening'](_0x34a26f);for(const _0x13d7e9 of _0x34a26f)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x412f06,_0x13d7e9);this['_registeredSessions']['delete'](_0x412f06),this['channelSessions']['delete'](_0x412f06),this['channelConnectedUsers']['delete'](_0x412f06);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x32c159){for(const _0xae79e2 of this['channelSessions']['values']())for(const _0xaa5ed0 of _0xae79e2)if(_0xaa5ed0['id']===_0x32c159)return _0xaa5ed0['user'];}['getUserSessions'](_0x3b4fb5,_0x55a747){const _0x34ca42=_0x55a747?[this['channelSessions']['get'](_0x55a747)]:this['channelSessions']['values'](),_0x1e0bac=new Set();for(const _0x416efc of _0x34ca42)for(const _0x1558b1 of _0x416efc)_0x1558b1['user']['id']===_0x3b4fb5['id']&&_0x1e0bac['add'](_0x1558b1['id']);return _0x1e0bac;}['getUserRole'](_0xa709d3){for(const _0x79ada7 of this['channelSessions']['values']())for(const _0x4f78c6 of _0x79ada7)if(_0x4f78c6['user']===_0xa709d3)return _0x4f78c6['role'];}['_handleSessionAdd'](_0x280372,_0x31b9d6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x283178=_0x31b9d6['user'],_0x9533e2=this['_users']['getUser'](_0x283178['id'])||this['_createUser'](_0x283178),_0x4a7d99=Object['assign']({},_0x31b9d6,{'user':_0x9533e2});this['channelSessions']['get'](_0x280372)['add'](_0x4a7d99);const _0x356405=this['channelConnectedUsers']['get'](_0x280372);_0x356405['has'](_0x9533e2['id'])||_0x356405['add'](_0x9533e2),this['allConnectedUsers']['has'](_0x9533e2['id'])||this['allConnectedUsers']['add'](_0x9533e2,_0x9533e2['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x280372,{'channelId':_0x280372,'session':_0x4a7d99});}['_handleSessionRemove'](_0x5067cf,_0x21df8a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x56287e=this['channelConnectedUsers']['get'](_0x5067cf),_0x5e8faf=_0x21df8a['user'];_0x5e8faf['id']&&(this['channelSessions']['get'](_0x5067cf)['remove'](_0x21df8a['id']),_0x56287e['has'](_0x5e8faf['id'])&&!this['getUserSessions'](_0x5e8faf,_0x5067cf)['size']&&_0x56287e['remove'](_0x5e8faf['id']),this['allConnectedUsers']['get'](_0x5e8faf['id'])&&!this['getUserSessions'](_0x5e8faf)['size']&&this['allConnectedUsers']['remove'](_0x5e8faf['id']));}['_createUser'](_0x5f461b,_0x140f84){const _0x3c5da6=this['_users']['addUser'](_0x5f461b);return _0x140f84&&this['_users']['defineMe'](_0x5f461b['id']),_0x3c5da6['orderNumber']=this['_uniqueUsersCount']++,_0x3c5da6;}}class C extends _0xa3957f{['_domEmitter']=new(_0x398b9e())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4345d9=this['editor'],_0x1b4299=_0x4345d9['plugins']['get'](i);_0x4345d9['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x167965,{writer:_0x133b97})=>function(_0x83dd95,_0x48568a,_0x3f1b6d,_0x5ca304){const _0x7a29ed=_0x83dd95['markerName']['split'](':')[0x2],_0x1a9b10=_0x3f1b6d['getUserBySessionId'](_0x7a29ed);if(!_0x1a9b10||_0x7a29ed===_0x3f1b6d['mySessionId'])return;if(!_0x5ca304['model']['schema']['checkChild'](_0x83dd95['markerRange']['start'],'$text'))return;const _0x5a6d78={'class':'ck-user__marker\x20'+_0x1a9b10['color']['getMarkerClass'](),'data-name':_0x1a9b10['name'],'data-session-id':_0x7a29ed},_0x57dcc6=_0x5ca304['model']['markers']['get'](_0x83dd95['markerName']),_0x1e6fe3=_0x57dcc6['getStart'](),_0x5bb7c1=_0x1e6fe3['nodeAfter'],_0x3a7707=_0x5ca304['model']['schema'];if(_0x5bb7c1&&_0x3a7707['isObject'](_0x5bb7c1)&&_0x3a7707['isInline'](_0x5bb7c1)&&!_0x5ca304['model']['markers']['get']('user:range:'+_0x7a29ed)['getRange']()['isCollapsed'])return;const _0x3bfc57=_0x1e6fe3['parent'];return _0x5ca304['model']['schema']['isLimit'](_0x3bfc57)&&!_0x5ca304['model']['hasContent'](_0x3bfc57)&&(_0x5a6d78['contenteditable']=!0x1),function(_0x2cb7d3,_0x481319,_0x4e0711){const _0x363c74=_0x2cb7d3['createUIElement']('span',_0x481319);return _0x2cb7d3['setCustomProperty']('userPositionMarker',!0x0,_0x363c74),_0x363c74['render']=function(_0x2cfc95){const _0x53c935=this['toDomElement'](_0x2cfc95),_0x2bc4c7=document['createElement']('span');return _0x2bc4c7['classList']['add']('ck-user__marker-tooltip'),_0x2bc4c7['setAttribute']('contenteditable','false'),_0x2bc4c7['setAttribute']('spellcheck','false'),_0x2bc4c7['textContent']=_0x4e0711['name'],_0x53c935['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2bc4c7['outerHTML']+'⁠',_0x53c935['addEventListener']('mouseenter',()=>{_0x53c935['classList']['add']('ck-user__marker_hovered');}),_0x53c935['addEventListener']('mouseleave',()=>{_0x53c935['classList']['remove']('ck-user__marker_hovered');}),_0x53c935;},_0x363c74['isSimilar']=function(_0x133b3b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x133b3b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x133b3b['getAttribute']('data-session-id'));},_0x363c74;}(_0x48568a,_0x5a6d78,_0x1a9b10);}(_0x167965,_0x133b97,_0x1b4299,_0x4345d9)}),_0x4345d9['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x24f841=>function(_0x5180a5,_0x1647ce){const _0x63372f=_0x5180a5['markerName']['split'](':')[0x2];if(_0x63372f===_0x1647ce['mySessionId'])return null;const _0x282ead=_0x1647ce['getUserBySessionId'](_0x63372f);if(!_0x282ead)return{'id':_0x63372f,'classes':[]};return{'id':_0x63372f,'classes':['ck-user__selection',_0x282ead['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x63372f},'priority':0x7d0+_0x282ead['orderNumber']};}(_0x24f841,_0x1b4299)}),function(_0x33c511){const _0x171894=_0x33c511['model'],_0x170fbb=new Map(),_0x210770=_0x33c511['plugins']['get'](i);_0x171894['markers']['on']('update:user:range',(_0x12b9e0,_0xc01936,_0x1756c7,_0x438d98)=>{if(!_0x438d98&&_0x170fbb['get'](_0xc01936['name']))return _0x170fbb['get'](_0xc01936['name'])['detach'](),void _0x170fbb['delete'](_0xc01936['name']);const _0x2799ae=_0xc01936['name']['split'](':')[0x2];if(_0x2799ae===_0x210770['mySessionId'])return;const _0x5f40b8='user:position:'+_0x2799ae;_0x171894['markers']['has'](_0x5f40b8)&&_0x33c511['editing']['reconvertMarker'](_0x5f40b8),_0xc01936['on']('change:range',(_0x5e1e80,_0x310743,_0x1517b7)=>{if('$graveyard'!=_0x310743['root']['rootName']&&'$graveyard'==_0xc01936['getRange']()['root']['rootName']&&!_0x170fbb['has'](_0xc01936['name'])){const _0x5860b6=_0x171894['schema']['getNearestSelectionRange'](_0x1517b7['deletionPosition']);if(_0x5860b6){const _0x569349=_0x3788b9['fromRange'](_0x5860b6);_0x170fbb['set'](_0xc01936['name'],_0x569349),_0x569349['on']('change:range',(_0x271db8,_0x20ff83,_0x249d91)=>{if('$graveyard'==_0x569349['root']['rootName']){const _0x27412f=_0x171894['schema']['getNearestSelectionRange'](_0x249d91['deletionPosition']);_0x27412f?(_0x569349['start']=_0x27412f['start'],_0x569349['end']=_0x27412f['end']):(_0x170fbb['delete'](_0xc01936['name']),_0x569349['detach']());}});}}});}),_0x171894['document']['on']('change',()=>{_0x170fbb['size']>0x0&&_0x171894['enqueueChange']({'isUndoable':!0x1},_0xf0df95=>{for(const [_0x240bbf,_0x57b390]of _0x170fbb)'$graveyard'==_0x171894['markers']['get'](_0x240bbf)['getRange']()['root']['rootName']&&(J(_0x240bbf['split'](':')[0x2],_0x57b390['toRange'](),_0x171894,_0xf0df95),_0x57b390['detach']());_0x170fbb['clear']();});});}(_0x4345d9),this['_domEmitter']['listenTo'](_0x34f2de['document'],'keydown',(_0x4632be,{key:_0x56d826})=>{'Escape'===_0x56d826&&function(_0x5c8c39){_0x5c8c39['editing']['view']['change'](_0x239d2c=>{for(const _0x3adfa7 of _0x5c8c39['model']['markers']){if(!_0x3adfa7['name']['startsWith']('user:position'))continue;const _0x170dd5=_0x5c8c39['editing']['mapper']['markerNameToElements'](_0x3adfa7['name']);if(_0x170dd5){for(const _0x16eb77 of _0x170dd5)_0x239d2c['removeClass']('ck-user__marker_hovered',_0x16eb77);}}});}(_0x4345d9);},{'useCapture':!0x0});}['afterInit'](){const _0xb5da03=this['editor'],_0x38a8ea=_0xb5da03['commands']['get']('undo');_0x38a8ea&&_0xb5da03['model']['on']('applyOperation',(_0x562604,_0x3e32e2)=>{const _0x4bb73f=_0x3e32e2[0x0];if(!_0x4bb73f['isDocumentOperation'])return;if('marker'!=_0x4bb73f['type']||!_0x4bb73f['name']['startsWith']('user:'))return;const _0x220602=_0x4bb73f['batch'];_0x38a8ea['_createdBatches']['has'](_0x220602)&&(_0x4bb73f['newRange']=_0x4bb73f['oldRange']?_0xb5da03['model']['createRange'](_0x4bb73f['oldRange']['start'],_0x4bb73f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x17554e=this['editor'],_0x2ff88=_0x17554e['model']['document'],_0x22cb98=_0x17554e['plugins']['get'](i);_0x17554e['model']['enqueueChange']({'isUndoable':!0x1},_0x522af3=>{const _0x2f6fbc='user:range:'+_0x22cb98['mySessionId'],_0x2ade6b='user:position:'+_0x22cb98['mySessionId'],_0x1eb894=_0x17554e['model']['markers']['has'](_0x2f6fbc);_0x17554e['editing']['view']['hasDomSelection']?J(_0x22cb98['mySessionId'],_0x2ff88['selection']['getFirstRange'](),_0x17554e['model'],_0x522af3):_0x1eb894&&(_0x522af3['removeMarker'](_0x2f6fbc),_0x522af3['removeMarker'](_0x2ade6b));});}}function J(_0x260248,_0x5b1ecb,_0x4a006e,_0x277f55){const _0x506a01='user:range:'+_0x260248,_0xb86dc4='user:position:'+_0x260248,_0x25c0da=_0x5b1ecb['getContainedElement']();let _0x553ef0=_0x5b1ecb['start'];if(_0x25c0da&&_0x25c0da['is']('element','tableCell')){const _0x316545=function(_0x28dfef,_0x27d18a){for(const _0x289e5a of _0x28dfef['getPositions']())if(_0x27d18a['schema']['checkChild'](_0x289e5a,'$text'))return _0x289e5a;}(_0x5b1ecb,_0x4a006e);_0x316545&&(_0x553ef0=_0x316545,_0x5b1ecb=_0x277f55['createRange'](_0x553ef0));}const _0x4fd253=_0x277f55['createRange'](_0x553ef0);_0x4a006e['markers']['has'](_0x506a01)?(_0x277f55['updateMarker'](_0x506a01,{'range':_0x5b1ecb}),_0x277f55['updateMarker'](_0xb86dc4,{'range':_0x4fd253})):(_0x277f55['addMarker'](_0x506a01,{'range':_0x5b1ecb,'usingOperation':!0x0}),_0x277f55['addMarker'](_0xb86dc4,{'range':_0x4fd253,'usingOperation':!0x0}));}function E(_0x21abfa,_0x329d0a,_0x4eede7){const _0x286b37=_0x21abfa['t'],t=_0x21abfa['t'];switch(_0x329d0a){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x286b37({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x4eede7);default:return'';}}let H=0x1;class l extends _0xa3957f{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x10e105)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,C,_0x46f226,_0x2cdae6,_0x1f910b];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x51a8fa=this['serverHistory']['getOperations']();for(let _0x359fea=_0x51a8fa['length']-0x1;_0x359fea>=0x0;_0x359fea--){const _0x2515fc=_0x51a8fa[_0x359fea];if(!this['_disconnectionOperations']['has'](_0x2515fc))return _0x2515fc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x53ff9e){if(super(_0x53ff9e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x33b8ee(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x361cf4('collaboration-missing-channelid',this);const _0x2a248c=_0x53ff9e['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x2a248c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2c6b24(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x209f2e=this['editor'],_0x4b3495=_0x209f2e['plugins']['get'](_0x2cdae6),_0x4915d6=_0x209f2e['plugins']['get'](n);this['listenTo'](_0x4b3495,'getOperationAuthor',(_0xa87025,_0x40bde5)=>{const _0x19fef0=_0x40bde5[0x0];_0x19fef0['_authorId']&&(_0xa87025['return']=_0x4b3495['getUser'](_0x19fef0['_authorId']),_0xa87025['stop']()),null===_0x19fef0['_authorId']&&(_0xa87025['return']=null,_0xa87025['stop']());},{'priority':'high'}),this['listenTo'](_0x209f2e['model']['document']['selection'],'change:range',(_0x12da26,_0x234f39)=>{_0x234f39['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x209f2e['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x209f2e['model']['on']('applyOperation',(_0x5cec36,_0x2480fd)=>{const _0x5a77c7=_0x2480fd[0x0];_0x5a77c7['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a77c7),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4915d6,'state',this,'_hasSynchronizationProblem',(_0x1b735c,_0x2fa938)=>'connected'===_0x1b735c&&!_0x2fa938),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x209f2e['disableReadOnlyMode']('rtc-offline'):_0x209f2e['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x209f2e['disableReadOnlyMode']('rtc-offline'):_0x209f2e['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xcbcfb7=this['editor']['plugins']['get'](i),_0x23a816=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xcbcfb7['unregister'](this['_channelId']);const _0x29315c=await this['_service']['reconnect'](_0x23a816['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x29315c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4cbec8=await this['_service']['getConnectedSessions']();_0xcbcfb7['register'](this['_channelId'],_0x4cbec8),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xf0b3bc){if(function(_0x227e16){return'404'===_0x227e16['code'];}(_0xf0b3bc)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5b5f59){return'409'===_0x5b5f59['code'];}(_0xf0b3bc)){const _0x190681=E(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x190681);}else{if(!(_0xf0b3bc instanceof V))throw _0xf0b3bc;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2e1bfb=this['editor']['plugins']['get'](n),_0x3e7986=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3e7986['channelSessions']['has'](this['_channelId'])&&_0x3e7986['unregister'](this['_channelId']),_0x2e1bfb['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x47d26c){if(this['sessionId']!==_0x47d26c['sessionId']&&this['_lastSyncedOperationId']!==_0x47d26c['lastOperationId'])throw new V();return this['sessionId']=_0x47d26c['sessionId'],this['_handleServerResponse']([],{..._0x47d26c,'wereChangesApplied':!0x1,'data':_0x47d26c['data']},'reconnect');}async['_connectService'](_0xf1d612,_0x9febb5=!0x1){const {connection:_0x430fec}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x430fec,this['_channelId'])['then'](_0x21413d=>this['_initSessionsHandling'](_0x21413d))['catch'](_0x5850e0=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5850e0);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4ac5c3,_0x3371aa)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3371aa);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x12121a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xf1d612);this['_isPendingUpdate']=!0x0;const _0x35f009=await this['_service']['connect'](_0x430fec,this['_compressOperations'](_0xf1d612),_0x12121a);if(this['sessionId']=_0x35f009['sessionId'],_0x9febb5){if(!_0x35f009['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x35f009['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xf1d612,_0x35f009,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x35f009,_0xf1d612);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x16bc07=this['editor']['plugins']['get'](i),_0x46dfb8=this['editor']['plugins']['get'](C),_0x59eb75=_0x16bc07['channelSessions']['get'](this['_channelId']);_0x59eb75&&_0x59eb75['length']>0x1?_0x46dfb8['createUserMarkerOperations']():this['listenTo'](_0x16bc07,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x16bc07['channelSessions']['get'](this['_channelId'])['length']&&_0x46dfb8['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x517d8e,_0x1ef4ff,_0x2779b7,_0x572f91){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1ef4ff){const _0x443182=this['_decompressOperations'](_0x2779b7,_0x572f91);await this['_fetchMissingUsers'](_0x443182),this['_handleExternalOperations'](_0x443182,_0x1ef4ff,_0x2779b7['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3c3835}=this['editor'];let _0x1cf732;try{_0x1cf732=await this['_service']['getDocumentDetails']();}catch{const _0x3d0019=E(_0x3c3835,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3d0019);}const _0x900037=_0x1cf732['currentDocumentSession']||_0x1cf732['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x900037['lastOperationId']){const _0x5186e5=E(_0x3c3835,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x5186e5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x5ac640){const _0x50886f=this['editor']['plugins']['get'](i);this['listenTo'](_0x50886f,'sessionAdd:'+this['_channelId'],(_0x247932,{session:_0x38f601})=>{if(_0x38f601['id']===_0x50886f['mySessionId']){_0x247932['off']();const _0x165d2b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x409b5e=_0x38f601['permissions'];_0x165d2b&&_0x165d2b['isEnabled']&&(_0x409b5e=_0x409b5e['filter'](_0x508392=>'document:write'!==_0x508392)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x409b5e,this['_channelId']);}}),_0x50886f['register'](this['_channelId'],_0x5ac640);}['_initThrowingOnDataSet'](){const _0x2b66a0=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1c55f8)=>{if(!_0x1c55f8[_0x1c55f8['length']-0x1]['suppressErrorInCollaboration'])throw new _0x361cf4('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2b66a0['apply'](this['editor']['data'],_0x1c55f8);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x403fd3,[_0x58c2c6])=>{if(this['_document']['version'])throw new _0x361cf4('realtimecollaborationclient-init-document-already-initialized',this);_0x403fd3['stop'](),this['_setPendingAction']();const _0x2a2fe1=this['editor']['config']['get']('rootsAttributes'),_0x2842eb=this['_getOperationsFromInitData'](_0x58c2c6,_0x2a2fe1);0x0==_0x2842eb['length']&&_0x2842eb['push'](new _0x22981c(0x0)),_0x403fd3['return']=this['_connectService'](_0x2842eb)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x174fb1=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x174fb1))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2b5664,[_0x500808,_0x56b517])=>{_0x2b5664['stop']();const _0x1e1f83=this['editor']['model']['document']['getRoot'](_0x500808);if(!this['_knownRootNames']['has'](_0x500808)){const _0x2c8d3c=_0x56b517&&_0x56b517['data']?_0x56b517['data']:'',_0x474f1a=_0x56b517&&_0x56b517['attributes']?_0x56b517['attributes']:{};await this['_loadRoot'](_0x500808,_0x2c8d3c,_0x474f1a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1e1f83['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1e1f83);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x46822e){const _0x9cc2df=this['editor']['plugins']['get'](_0x2cdae6),{connection:_0x31358e}=this['editor']['plugins']['get'](n),_0x298201=new Set();for(const _0x212cb1 of _0x46822e){const _0x2471c5=_0x212cb1['_authorId'];_0x2471c5&&!_0x9cc2df['getUser'](_0x2471c5)&&_0x298201['add'](_0x2471c5);}if(0x0===_0x298201['size'])return;const _0x398733=await ut['getMany'](_0x31358e,Array['from'](_0x298201));for(const _0x1be052 of _0x398733)_0x9cc2df['getUser'](_0x1be052['id'])||_0x9cc2df['addUser'](_0x1be052);}['_getOperationsFromInitData'](_0x9a1c77,_0x32bd86={}){const _0x2cd9d5=this['editor']['model'],_0x115018=[];let _0xf7c91b=0x0;const _0xed551='string'==typeof _0x9a1c77?{'main':_0x9a1c77}:_0x9a1c77;for(const _0x2b65f4 of Object['keys'](_0xed551)){if(!this['_document']['roots']['has'](_0x2b65f4))throw new _0x361cf4('realtimecollaborationclient-init-non-existent-root',this);const _0x3538e6=this['editor']['data']['parse'](_0xed551[_0x2b65f4]),_0x3c87e7=this['_document']['getRoot'](_0x2b65f4),_0x129f8a=new _0x4cd219(_0x2cd9d5['createPositionAt'](_0x3c87e7,0x0),_0x3538e6,_0xf7c91b++);_0x115018['push'](_0x129f8a);for(const [_0x5e8a94,_0x264242]of _0x3538e6['markers']){const _0xaad514=_0x2cd9d5['createRange'](_0x2cd9d5['createPositionFromPath'](_0x3c87e7,_0x264242['start']['path']['slice']()),_0x2cd9d5['createPositionFromPath'](_0x3c87e7,_0x264242['end']['path']['slice']())),_0x41823b=new _0x38d7d0(_0x5e8a94,null,_0xaad514,_0x2cd9d5['markers'],!0x0,_0xf7c91b++);_0x115018['push'](_0x41823b);}}if(_0x32bd86)for(const [_0x48f060,_0x53ed0d]of Object['entries'](_0x32bd86)){const _0x5f4bba=_0x2cd9d5['document']['getRoot'](_0x48f060);if(!_0x5f4bba)throw new _0x361cf4('multi-root-editor-root-attributes-no-root',null);for(const [_0x5aa509,_0x31d14d]of Object['entries'](_0x53ed0d))if(null!==_0x31d14d){const _0x3a5a06=new _0xb7bde(_0x5f4bba,_0x5aa509,null,_0x31d14d,_0xf7c91b++);_0x115018['push'](_0x3a5a06);}}return _0x115018;}async['_loadRoot'](_0x544e75,_0x213379,_0x4a78ec){this['_getOperationsFromInitData']({[_0x544e75]:_0x213379},{[_0x544e75]:_0x4a78ec})['forEach']((_0x47efe0,_0x316cc4)=>{_0x47efe0['baseVersion']=this['_document']['version']+_0x316cc4,_0x47efe0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x47efe0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xc2aeb1,_0x2f0fca){let _0xb8c50c;this['_offset']=_0xc2aeb1['offset'];const _0x30618d=_0xc2aeb1['wereChangesApplied']&&!_0xc2aeb1['initData'],_0x5b22fe=_0x30618d?0x0:_0xc2aeb1['data']['baseVersion'];if(_0x2f0fca['forEach'](_0xe28a75=>{_0xe28a75['_isInit']=!0x0,_0xe28a75['createdAt']=_0xc2aeb1['sessionCreatedAt'],_0xe28a75['_authorId']=null;}),_0x30618d)_0xb8c50c=_0x2f0fca,this['_applyOperationsSet'](_0xb8c50c,_0x30618d);else{if(_0xc2aeb1['initData']){const _0x2b5f1c=this['_getOperationsFromInitData'](_0xc2aeb1['initData']);this['_document']['history']['version']=-_0x2b5f1c['length'],_0x2b5f1c['forEach'](_0x4abd29=>{_0x4abd29['baseVersion']-=_0x2b5f1c['length'],_0x4abd29['createdAt']=_0xc2aeb1['sessionCreatedAt'],_0x4abd29['_isInit']=!0x0,_0x4abd29['_authorId']=null;}),this['_applyOperationsSet'](_0x2b5f1c,!0x0),this['serverHistory']['version']=-_0x2b5f1c['length']+this['_offset'],this['_updateServerHistory'](_0x2b5f1c);}this['_document']['history']['version']=_0x5b22fe,_0xb8c50c=this['_decompressOperations'](_0xc2aeb1['data'],_0xc2aeb1['metadata']),await this['_fetchMissingUsers'](_0xb8c50c),this['_applyOperationsSet'](_0xb8c50c,_0x30618d);}_0xc2aeb1['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb8c50c,_0xc2aeb1['lastOperationId']),this['_lastSyncedOperationId']=_0xc2aeb1['lastOperationId']),this['serverHistory']['version']=_0x5b22fe+this['_offset'],this['_updateServerHistory'](_0xb8c50c),_0x2f0fca['filter'](_0x9cdd64=>{const _0x4c4c43=this['_getAffectedRoot'](_0x9cdd64);return _0x4c4c43&&!this['_knownRootNames']['has'](_0x4c4c43);})['forEach']((_0x2590be,_0x4e4747)=>{_0x2590be['baseVersion']=this['_document']['version']+_0x4e4747,this['_saveOperationInBuffer'](_0x2590be);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x53d557,_0x475ead){const _0x8a9ea7=_0x475ead&&_0x475ead['message'];if(_0x8a9ea7&&_0x8a9ea7['startsWith']('realtimecollaborationclient'))throw _0x475ead;const _0x20275d=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x20275d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x361cf4(_0x53d557,this['editor'],_0x8a9ea7?{'originalError':_0x8a9ea7}:void 0x0);}['_saveOperationInBuffer'](_0x1edfeb){this['_knownOperations']['has'](_0x1edfeb)||(this['_knownOperations']['add'](_0x1edfeb),this['_bufferedOperations']['push'](_0x1edfeb),this['_pendingAction']||'marker'==_0x1edfeb['type']&&!_0x1edfeb['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4574c0=!0x1){!_0x4574c0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x375400=>{_0x375400&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x39da3f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x429444){return _0x429444['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x429444['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x429444['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x39da3f)||this['_crash'](_0x39da3f['message'],_0x39da3f);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1269e3=>{this['on']('change:_isPendingUpdate',()=>{_0x1269e3();});});}async['_sendBufferedOperations'](){const _0x285874=this['editor']['plugins']['get'](C);if(this['_shouldSendSelectionUpdate']()&&(_0x285874['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5e9bb6=[...this['_bufferedOperations']];for(const _0x172456 of _0x5e9bb6)_0x172456['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x172456);const _0x57a5c3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e9bb6),_0x118d8e=H++,_0x10e4a5=this['_compressOperations'](_0x5e9bb6),_0x4c0804=await this['_service']['sendOperations'](_0x10e4a5,_0x10e4a5['baseVersion'],_0x57a5c3);try{return await this['_handleServerResponse'](_0x5e9bb6,_0x4c0804,_0x118d8e);}catch(_0x43ccbd){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x43ccbd);}}async['_handleServerResponse'](_0x215eac,_0x3761fb,_0x22c6eb){if('error'in _0x3761fb)throw _0x3761fb['error'];let _0x1d6324=!0x1;if(_0x3761fb['wereChangesApplied']){_0x3761fb['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3761fb['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1344c0=>!_0x215eac['includes'](_0x1344c0));for(const _0x4dd0ba of _0x215eac)_0x4dd0ba['createdAt']='lastOperationAcceptedAt'in _0x3761fb&&_0x3761fb['lastOperationAcceptedAt']||void 0x0;W(_0x215eac,_0x3761fb['version']-_0x215eac['length']),this['_updateServerHistory'](_0x215eac);const _0x1cf48c=_0x215eac['filter'](_0x52e6a5=>{if(!_0x52e6a5['_isInit'])return!0x1;const _0x20bb3a=this['_getAffectedRoot'](_0x52e6a5);return _0x20bb3a&&!this['_knownRootNames']['has'](_0x20bb3a);});W(_0x1cf48c,this['_document']['version']),this['_applyOperationsSet'](_0x1cf48c),_0x1d6324=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xe19873=this['_decompressOperations'](_0x3761fb['data'],_0x3761fb['metadata'])['filter'](_0x314f31=>_0x314f31['baseVersion']>=this['_lastServerVersion']);_0xe19873['forEach'](_0x3aa58a=>this['_addKnownRoot'](_0x3aa58a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xd8ba66=>!_0xd8ba66['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xd8ba66))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xe19873),_0x1d6324=this['_handleExternalOperations'](_0xe19873,_0x3761fb['version'],_0x3761fb['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1d6324?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2ab6a0,_0x502fbf,_0x10a2c3){try{const _0x3c6dbe={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1e4856,operationsB:_0x17d792,originalOperations:_0x833fee}=_0x1b5db5(_0x2ab6a0,this['_bufferedOperations'],_0x3c6dbe);W(_0x1e4856,this['_document']['version']),W(_0x17d792,_0x502fbf);for(const _0x1f833c of _0x1e4856){const _0x54e6b5=_0x833fee['get'](_0x1f833c);_0x1f833c['_authorId']=_0x54e6b5?_0x54e6b5['_authorId']:null;}_0x10a2c3&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2ab6a0,_0x10a2c3),this['_lastSyncedOperationId']=_0x10a2c3),this['_bufferedOperations']=[..._0x17d792],this['_applyOperationsSet'](_0x1e4856),this['_updateServerHistory'](_0x2ab6a0);}catch(_0x200352){return console['error'](_0x200352),!0x1;}return!0x0;}['_applyOperationsSet'](_0x28fe89,_0x5c2233=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49e0e2=>{for(const _0x54c5ca of _0x28fe89)this['_knownOperations']['add'](_0x54c5ca),this['_addKnownRoot'](_0x54c5ca),_0x49e0e2['batch']['addOperation'](_0x54c5ca),this['editor']['model']['applyOperation'](_0x54c5ca);});}['_addKnownRoot'](_0x9bd9ba){const _0x5f5a3b=this['_getAffectedRoot'](_0x9bd9ba);_0x5f5a3b&&this['_knownRootNames']['add'](_0x5f5a3b);}['_getAffectedRoot'](_0x2aba31){let _0x4d8fde,_0x2eb2fb;switch(_0x2aba31['type']){case'insert':_0x4d8fde=_0x2aba31['position']['root'];break;case'marker':if(_0x2eb2fb=_0x2aba31['newRange'],!_0x2eb2fb)return null;_0x4d8fde=_0x2eb2fb['root'];break;case'addRootAttribute':_0x4d8fde=_0x2aba31['root'];break;case'addRoot':_0x4d8fde=_0x2aba31['affectedSelectable'];break;case'move':_0x4d8fde=_0x2aba31['targetPosition']['root'];break;default:return null;}return _0x4d8fde['rootName'];}['_updateServerHistory'](_0x1a1ebb){_0x1a1ebb['forEach'](_0x48197d=>{const _0x493282=_0x48197d['clone']();_0x493282['_authorId']=_0x48197d['_authorId'],_0x493282['_isInit']=!!_0x48197d['_isInit'],_0x493282['createdAt']=_0x48197d['createdAt'],_0x493282['baseVersion']+=this['_offset'],_0x48197d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x493282),this['serverHistory']['addOperation'](_0x493282);});}['_handleReconnectionError'](_0x5a1499){const _0x3d6891=this['editor']['plugins']['get']('Notification'),_0x66b60a=this['editor']['locale'];_0x5a1499||(_0x5a1499=E(_0x66b60a,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x3d6891['showWarning'](_0x5a1499,{'title':E(_0x66b60a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x46f226)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x46f226)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5dc3a4){const _0x2ea999=_0x5dc3a4['map'](_0x4c3408=>_0x4c3408['toJSON']());return this['_compressor']['compress'](_0x2ea999);}['_decompressOperations'](_0x2b4218,_0x59e963){return this['_compressor']['decompress'](_0x2b4218)['map']((_0xbf1350,_0xc1df51)=>{const _0xd82a03='init'==_0x59e963[_0xc1df51]['type'];if('InsertOperation'==_0xbf1350['__className']){const _0x496dd1=_0xbf1350['position']['root'];!this['_document']['getRoot'](_0x496dd1)&&(this['_document']['createRoot']('$root',_0x496dd1)['_isAttached']=!0x1);}const _0x4a539d=_0x53e641['fromJSON'](_0xbf1350,this['_document']);return _0x4a539d['wasUndone']=_0xbf1350['wasUndone'],_0x4a539d['_isInit']=_0xd82a03,_0x4a539d['_authorId']=_0xd82a03?null:_0x59e963[_0xc1df51]['userId'],_0x4a539d['_isDisconnection']='cs:removeUser'===_0x59e963[_0xc1df51]['type'],_0x4a539d['createdAt']=_0x59e963[_0xc1df51]['createdAt'],_0x4a539d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2faa09=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2faa09&&_0x2faa09['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x151a21,_0x4235ce){for(const _0x11e36d of _0x151a21)_0x11e36d['baseVersion']=_0x4235ce++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x278fd7){this['_ignoredOperations']=_0x278fd7,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x390b36){let _0x2a5753=_0x390b36['length'];for(;_0x2a5753--;){const _0x47f8e9=_0x390b36[_0x2a5753];if(!this['_ignoredOperations']['has'](_0x47f8e9)){if(!this['_operationToId']['has'](_0x47f8e9)){const _0x22d724=_0x43d7be()['slice'](0x1,0x12);this['_operationToId']['set'](_0x47f8e9,_0x22d724);}return this['_operationToId']['get'](_0x47f8e9);}}}['setIdForTheLastOperation'](_0x36943b,_0x2c265b){if(!_0x2c265b)return;let _0x1c20fa=_0x36943b['length'];for(;_0x1c20fa--;){const _0x302cca=_0x36943b[_0x1c20fa];this['_ignoredOperations']['has'](_0x302cca)||this['_operationToId']['set'](_0x302cca,_0x2c265b);}}}class a extends _0xa3957f{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2d60c1{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>ot)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x2cdae6];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35b45c){super(_0x35b45c),this['_services']=new Map();}async['init'](){const _0x1dea4a=this['context'],_0x2787f5=_0x1dea4a['plugins']['get']('CommentsRepository');if(_0x1dea4a['plugins']['get'](n)['addToReconnectionStack'](this),_0x2787f5['adapter']={'addCommentThread':async({channelId:_0x2a77c0,threadId:_0x1424d5,comments:_0x1d2460,resolvedAt:_0x24eb18,resolvedBy:_0x168015,context:_0x7771f7,attributes:_0x511af9})=>{const _0x8c9ca8=await this['_getService'](_0x2a77c0)['addCommentThread']({'commentThreadId':_0x1424d5,'comments':_0x1d2460['map'](_0x32cb02=>function(_0x7cbe7f,_0x3d27a7,_0x237cb2){return{'commentThreadId':_0x237cb2,'commentId':_0x7cbe7f['commentId'],'userId':_0x7cbe7f['authorId'],'content':_0x7cbe7f['content'],'documentId':_0x3d27a7,'createdAt':_0x7cbe7f['createdAt'],'attributes':_0x7cbe7f['attributes']||{}};}(_0x32cb02,_0x2a77c0,_0x1424d5)),'resolvedAt':_0x24eb18,'resolvedBy':_0x168015,'context':_0x7771f7,'attributes':_0x511af9})['catch'](ft);return{'threadId':_0x8c9ca8['commentThreadId'],'comments':_0x8c9ca8['comments']};},'getCommentThread':async({channelId:_0xf5d17,threadId:_0x837a1f})=>{const _0x4ec471=await this['_getService'](_0xf5d17)['getCommentThread'](_0x837a1f)['catch'](ft);return _0x4ec471['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4ec471]),{'threadId':_0x4ec471['commentThreadId'],'comments':_0x4ec471['comments']['map'](st),'context':_0x4ec471['context'],'resolvedAt':_0x4ec471['resolvedAt'],'resolvedBy':_0x4ec471['resolvedBy'],'attributes':_0x4ec471['attributes']||{}});},'updateCommentThread':async({channelId:_0x4f595e,threadId:_0x54d2a1,context:_0x43592a,unlinkedAt:_0xd2c5e,attributes:_0x3c0651})=>this['_getService'](_0x4f595e)['updateCommentThread']({'commentThreadId':_0x54d2a1,'context':_0x43592a,'attributes':_0x3c0651,'unlinkedAt':_0xd2c5e})['catch'](nt)['catch'](ft),'resolveCommentThread':async({channelId:_0x4544c2,threadId:_0x5d3469})=>{const _0x3b3439=await this['_getService'](_0x4544c2)['resolveCommentThread'](_0x5d3469)['catch'](nt)['catch'](ft);return{'threadId':_0x3b3439['commentThreadId'],'resolvedAt':_0x3b3439['resolvedAt'],'resolvedBy':_0x3b3439['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4f3a1a,threadId:_0x1efada})=>this['_getService'](_0x4f3a1a)['reopenCommentThread'](_0x1efada)['catch'](nt)['catch'](ft),'removeCommentThread':({channelId:_0x2e6750,threadId:_0x4cd4f2})=>this['_getService'](_0x2e6750)['removeCommentThread'](_0x4cd4f2)['catch'](nt)['catch'](ft),'addComment':({channelId:_0x18d1e6,threadId:_0x17f216,commentId:_0x29491f,content:_0x78b852,attributes:_0x2f780e})=>this['_getService'](_0x18d1e6)['addComment'](_0x17f216,_0x29491f,_0x78b852,_0x2f780e)['catch'](ft),'updateComment':({channelId:_0x2e0f22,threadId:_0x1c8eff,commentId:_0xd13879,content:_0x15f483,attributes:_0x53bc53})=>this['_getService'](_0x2e0f22)['updateComment'](_0x1c8eff,_0xd13879,_0x15f483,_0x53bc53)['catch'](nt)['catch'](ft),'removeComment':({channelId:_0x5b0a69,threadId:_0xbdf3c9,commentId:_0x495630})=>this['_getService'](_0x5b0a69)['removeComment'](_0xbdf3c9,_0x495630)['catch'](nt)['catch'](ft)},_0x1dea4a instanceof et){const _0x5f5923=_0x1dea4a['config']['get']('collaboration.channelId'),_0x5d9075=_0x1dea4a['plugins']['get'](i);await this['_setUpService'](_0x5f5923);const _0x496dee=await this['_services']['get'](_0x5f5923)['getConnectedSessions']();this['listenTo'](_0x5d9075,'sessionAdd:'+_0x5f5923,(_0x1aa98e,{session:_0xf6683})=>{_0xf6683['id']===_0x5d9075['mySessionId']&&(_0x1aa98e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xf6683['permissions'],_0x5f5923));}),_0x5d9075['register'](_0x5f5923,_0x496dee);}}async['_setUpService'](_0x3410a6){if(this['_services']['has'](_0x3410a6))throw new _0x361cf4('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3410a6});const _0x3db231=this['context']['plugins']['get']('CommentsRepository'),_0x306e01=new s['CommentsService'](_0x3410a6);this['_services']['set'](_0x3410a6,_0x306e01),this['listenTo'](_0x306e01,'commentThreadAdded',(_0x3a59d4,_0x391a0c)=>{const {commentThreadId:_0x20ca40,documentId:_0xcc1285,context:_0x437b47,attributes:_0xd79125,resolvedAt:_0x4dd233,resolvedBy:_0x589bca,comments:_0x2699c7}=_0x391a0c;_0x3db231['getCommentThread'](_0x20ca40)||_0x3db231['addCommentThread']({'threadId':_0x20ca40,'channelId':_0xcc1285,'comments':_0x2699c7?_0x2699c7['map'](st):[],'context':_0x437b47,'attributes':_0xd79125,'resolvedAt':_0x4dd233,'resolvedBy':_0x589bca,'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentThreadUpdated',(_0x4de8ac,{commentThreadId:_0x817081,documentId:_0x4724b8,context:_0x760da3,unlinkedAt:_0x41946a,attributes:_0x39db27})=>{_0x3db231['getCommentThread'](_0x817081)&&_0x3db231['updateCommentThread']({'threadId':_0x817081,'channelId':_0x4724b8,'context':_0x760da3,'unlinkedAt':_0x41946a,'attributes':_0x39db27,'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentThreadResolved',(_0x1d20de,{commentThreadId:_0x349b3b,resolvedBy:_0x2840f3,resolvedAt:_0x513743})=>{const _0x4479d6=_0x3db231['getCommentThread'](_0x349b3b);_0x4479d6&&_0x4479d6['resolve']({'resolvedBy':_0x2840f3,'resolvedAt':_0x513743,'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentThreadReopened',(_0x2172c3,{commentThreadId:_0xb6dca})=>{const _0x2591b3=_0x3db231['getCommentThread'](_0xb6dca);_0x2591b3&&_0x2591b3['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentThreadRemoved',(_0xc59774,{commentThreadId:_0x27bdfa})=>{const _0x5534cd=_0x3db231['getCommentThread'](_0x27bdfa);_0x5534cd&&_0x5534cd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentAdded',(_0x12d3b9,_0x19cdba)=>{const _0x2569ce=_0x19cdba['commentThreadId'],_0x75fdfd=_0x3db231['getCommentThread'](_0x2569ce);_0x75fdfd&&_0x75fdfd['addComment']({...st(_0x19cdba),'isFromAdapter':!0x0});}),this['listenTo'](_0x306e01,'commentUpdated',(_0x121832,{commentThreadId:_0x1c26df,commentId:_0x399ce1,content:_0x4a272f,attributes:_0x41b05c})=>{const _0x51a013=_0x3db231['getCommentThread'](_0x1c26df);if(_0x51a013){const _0x515d96=_0x51a013['getComment'](_0x399ce1);_0x515d96&&_0x515d96['update']({'content':_0x4a272f,'attributes':_0x41b05c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x306e01,'commentRemoved',(_0x5a0dd0,{commentThreadId:_0x27be98,commentId:_0x2bfdcc})=>{const _0x4ca397=_0x3db231['getCommentThread'](_0x27be98);if(_0x4ca397){const _0x3afc64=_0x4ca397['getComment'](_0x2bfdcc);_0x3afc64&&_0x3afc64['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3410a6);}['destroy'](){if(this['context']instanceof et){const _0x500d67=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x500d67);}}['_terminateService'](_0x537b4f){if(!this['_services']['has'](_0x537b4f))throw new _0x361cf4('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x537b4f});this['_getService'](_0x537b4f)['disconnect'](),this['_services']['delete'](_0x537b4f);}async['reconnect'](){for(const _0x4e6b7b of this['_services']['keys']())await this['_connectService'](_0x4e6b7b);if(this['context']instanceof et){const _0x12f656=this['context']['config']['get']('collaboration.channelId'),_0x4f4b10=this['context']['plugins']['get'](i);_0x4f4b10['unregister'](_0x12f656);const _0x13f6b=await this['_services']['get'](_0x12f656)['getConnectedSessions']();_0x4f4b10['register'](_0x12f656,_0x13f6b);}}async['_connectService'](_0x20b9be){const {connection:_0x5a2fbf}=this['context']['plugins']['get'](n),_0x5eab52=this['context']['plugins']['get']('CommentsRepository'),_0x4b482e=this['_services']['get'](_0x20b9be),_0x3a2025=await _0x4b482e['connect'](_0x5a2fbf);await this['_fetchMissingUsersForThreads'](_0x3a2025);const _0x415c16=new Set(Array['from'](_0x5eab52['getCommentThreads']({'channelId':_0x20b9be}),_0x14c84b=>_0x14c84b['id']));for(const _0x5d3d22 of _0x3a2025)_0x5d3d22['deletedAt']||_0x415c16['delete'](_0x5d3d22['commentThreadId']);for(const _0x305d5d of _0x415c16)_0x5eab52['getCommentThread'](_0x305d5d)['remove']({'isFromAdapter':!0x0});for(const _0x2b6b3b of _0x3a2025){let _0xae0b30=_0x5eab52['getCommentThread'](_0x2b6b3b['commentThreadId']);const {commentThreadId:_0x41a317,context:_0x985087,attributes:_0x5bc264,resolvedBy:_0x5ea9d0,resolvedAt:_0x1e0810,unlinkedAt:_0x4e8737,deletedAt:_0x11a8b6}=_0x2b6b3b;if(_0x11a8b6)continue;_0xae0b30||(_0xae0b30=_0x5eab52['addCommentThread']({'channelId':_0x20b9be,'threadId':_0x41a317,'context':_0x985087,'attributes':_0x5bc264||{},'resolvedBy':_0x5ea9d0,'resolvedAt':_0x1e0810,'unlinkedAt':_0x4e8737,'isFromAdapter':!0x0}));const _0x4bb7c7=new Set(Array['from'](_0xae0b30['comments'],_0x16a87a=>_0x16a87a['id']));for(const _0x75caea of _0x2b6b3b['comments'])_0x4bb7c7['delete'](_0x75caea['commentId']);for(const _0x5ac610 of _0x4bb7c7)_0xae0b30['getComment'](_0x5ac610)['remove']({'isFromAdapter':!0x0});for(const _0xcd1d15 of _0x2b6b3b['comments']){const _0x5da01b=_0xae0b30['getComment'](_0xcd1d15['commentId']);_0x5da01b?_0x5da01b['content']!==_0xcd1d15['content']&&_0x5da01b['update']({'content':_0xcd1d15['content'],'isFromAdapter':!0x0}):_0xae0b30['addComment'](Object['assign'](st(_0xcd1d15),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1472ab){if(!this['_services']['has'](_0x1472ab))throw new _0x361cf4('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1472ab});return this['_services']['get'](_0x1472ab);}async['_fetchMissingUsersForThreads'](_0x25c560){const _0x5a8cf3=this['context']['plugins']['get'](_0x2cdae6),{connection:_0x3cad60}=this['context']['plugins']['get'](n),_0x3abd9a=new Set();for(const {resolvedBy:_0x521d35,comments:_0x2e6453}of _0x25c560){_0x521d35&&!_0x5a8cf3['getUser'](_0x521d35)&&_0x3abd9a['add'](_0x521d35);for(const {userId:_0x4e2086}of _0x2e6453)_0x5a8cf3['getUser'](_0x4e2086)||_0x3abd9a['add'](_0x4e2086);}if(0x0===_0x3abd9a['size'])return;const _0x2df927=await ut['getMany'](_0x3cad60,Array['from'](_0x3abd9a));for(const _0x35dc16 of _0x2df927)_0x5a8cf3['getUser'](_0x35dc16['id'])||_0x5a8cf3['addUser'](_0x35dc16);}}async function nt(_0x22ab89){if('404'!==_0x22ab89['code'])throw _0x22ab89;}function ft(_0x2486a0){if((_0x41b730=_0x2486a0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x41b730['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x41b730['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x41b730;throw _0x2486a0;}function st(_0x2a0dc9){return{'threadId':_0x2a0dc9['commentThreadId'],'commentId':_0x2a0dc9['commentId'],'content':_0x2a0dc9['content'],'createdAt':_0x2a0dc9['createdAt'],'authorId':_0x2a0dc9['userId'],'attributes':_0x2a0dc9['attributes']||{}};}class m extends _0xa3957f{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x48f71b)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e4e76){super(_0x3e4e76);const _0x5d4da8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5d4da8);}['init'](){const _0x1c4d32=this['editor']['plugins']['get'](n),_0x5c4246=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5c4246['adapter']={'getSuggestion':async _0xfa9991=>{await this['_waitForServiceReady']();const _0x1b577f=await this['_trackChangesService']['get'](_0xfa9991)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x1b577f]),_0x1b577f;},'addSuggestion':async({id:_0x3366a2,type:_0x3b5000,data:_0x2afa11,originalSuggestionId:_0x573d7f,attributes:_0x30e4e5})=>{await this['_waitForServiceReady']();const _0x4b3b0a={'id':_0x3366a2,'type':_0x3b5000,'data':_0x2afa11,'originalSuggestionId':_0x573d7f,'attributes':_0x30e4e5},_0x3ac61d=await this['_trackChangesService']['add'](_0x3366a2,_0x3b5000,_0x2afa11,_0x573d7f,_0x30e4e5)['catch'](_0x206193=>{if(mt(_0x206193))return new Promise(_0x2fd5bb=>{this['_bufferedRequests']['set'](_0x3366a2,{'resolve':_0x2fd5bb,'suggestionData':_0x4b3b0a});});throw _0x206193;});return this['_bufferedRequests']['delete'](_0x3366a2),_0x3ac61d;},'updateSuggestion':async(_0x18d215,_0x50b952)=>{if(await this['_waitForServiceReady'](),'open'!==_0x50b952['state'])return this['_trackChangesService']['update'](_0x18d215,_0x50b952)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x53bc9c,_0x58fb19)=>{_0x5c4246['hasSuggestion'](_0x58fb19['id'])&&(_0x5c4246['getSuggestion'](_0x58fb19['id'])['attributes']=_0x58fb19['attributes']);}),this['_trackChangesService']['connect'](_0x1c4d32['connection'])['then'](_0x2bcd9d=>(_0x1c4d32['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2bcd9d)['then'](()=>{for(const _0x23f1de of _0x2bcd9d){_0x5c4246['addSuggestionData'](_0x23f1de)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5646a3=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x292aba}=this['editor']['plugins']['get'](n),_0x1274fb=await this['_trackChangesService']['connect'](_0x292aba);await this['_fetchMissingUsersForThreads'](_0x1274fb);for(const {suggestionData:_0x17b6c0,resolve:_0x2b941f}of this['_bufferedRequests']['values']()){let _0x3e687c=_0x1274fb['find'](_0x2fe511=>_0x2fe511['id']===_0x17b6c0['id']);_0x3e687c||(_0x3e687c=await this['_trackChangesService']['add'](_0x17b6c0['id'],_0x17b6c0['type'],_0x17b6c0['data'],_0x17b6c0['originalSuggestionId'])),_0x2b941f(_0x3e687c);}for(const _0x7c2b29 of _0x1274fb)_0x5646a3['hasSuggestion'](_0x7c2b29['id'])||_0x5646a3['addSuggestionData'](_0x7c2b29);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x55a08d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2629d1=>{_0x2629d1['off'](),_0x55a08d();});});}async['_fetchMissingUsersForThreads'](_0x37a296){const _0x47f3ff=this['editor']['plugins']['get'](_0x2cdae6),{connection:_0x991653}=this['editor']['plugins']['get'](n),_0x41cd82=new Set();for(const {authorId:_0x26763b}of _0x37a296)_0x47f3ff['getUser'](_0x26763b)||_0x41cd82['add'](_0x26763b);if(0x0===_0x41cd82['size'])return;const _0x33ae1e=await ut['getMany'](_0x991653,Array['from'](_0x41cd82));for(const _0x38d20f of _0x33ae1e)_0x47f3ff['getUser'](_0x38d20f['id'])||_0x47f3ff['addUser'](_0x38d20f);}}function Y(_0x1a372e){if(mt(_0x1a372e))return new Promise(()=>{});throw _0x1a372e;}function mt(_0x5bfe39){return _0x5bfe39['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5bfe39['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xa3957f{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x96b059=this['editor']['plugins']['get'](n),_0x2d6afd=this['editor']['plugins']['get']('CommentsEditing'),_0x2a091b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x96b059,'change:state',(_0x5df31c,_0x4f3d59,_0x19939d)=>{_0x2d6afd['isThreadsLoadingPaused']='connected'!==_0x19939d;});}),this['listenTo'](_0x96b059,'change:state',(_0x4afe6a,_0x304f47,_0xff2637)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xff2637);}),_0x2a091b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0xa3957f{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0xa3957f{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x2cdae6];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x437b79){super(_0x437b79);const _0x48050d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x48050d);}async['init'](){const _0x333887=this['editor']['plugins']['get'](l),_0x2536ec=_0x333887['serverHistory'],_0x6f63f7=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x2536ec,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x333887['sessionId']});const _0x514a8c=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x3cd72b=await tt['isBundleUploaded'](_0x6f63f7['connection'],_0x514a8c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3c0ea8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3c0ea8)),'updateRevisions':async _0x30251f=>{await this['_waitForServiceReady']();const _0xdda884=this['_revisionTracker']['currentRevision'];if(_0x3cd72b&&0x1===_0x30251f['length']&&_0x30251f[0x0]['id']===_0xdda884['id'])return _0x30251f;for(const _0x5803a5 of _0x30251f)_0x5803a5['id']===_0xdda884['id']&&(_0x5803a5['isEmptyCurrent']=_0x5803a5['fromVersion']===_0x5803a5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x30251f,this['_lastRequestId'])['then'](_0x54341c=>(this['_lastRequestId']=_0x54341c,_0x30251f))['catch'](_0x38bd9a=>{if(Z(_0x38bd9a)||'400'===_0x38bd9a['code']&&void 0x0!==_0x38bd9a['data']['wrongRequestId']){for(const _0x40b9fe of _0x30251f){!this['_revisionTracker']['repository']['getRevision'](_0x40b9fe['id'])||this['_revisionTracker']['_bufferUpdate'](_0x40b9fe['id'],_0x40b9fe,!0x1);}if(Z(_0x38bd9a))throw _0x38bd9a;return _0x30251f;}throw _0x38bd9a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x916204,{revisionsData:_0x125ac2,requestId:_0x42480d})=>{Math['max'](..._0x125ac2['map'](_0x2b1d07=>_0x2b1d07['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x125ac2,_0x42480d);}):this['_handleRevisionsUpdate'](_0x125ac2,_0x42480d);});const {revisions:_0x1fb90a,requestId:_0x3794d9}=await this['_revisionHistoryService']['connect'](_0x6f63f7['connection']);_0x6f63f7['addToReconnectionStack'](this),this['_lastRequestId']=_0x3794d9,await this['_fetchMissingUsers'](_0x1fb90a);for(const _0x5f10fb of _0x1fb90a)this['_revisionTracker']['addRevisionData'](_0x5f10fb);this['listenTo'](_0x333887,'change:_isConnected',(_0x4d2212,_0x3bf9e5,_0x3cf81e)=>{_0x3cf81e&&(this['_oldOffset']=_0x333887['_offset'],_0x4d2212['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x6f63f7,'state',_0x25f906=>_0x25f906===_0x414fdf['CONNECTED']);}async['reconnect'](){const _0x2e2b14=this['editor']['plugins']['get'](n),_0xe23747=this['editor']['plugins']['get'](l),_0x5051d4=async()=>{const _0xe163e8=this['_revisionTracker']['currentRevision'],_0x462b73=_0xe163e8['id'],_0x511ccc=_0x462b73!==_0xe23747['sessionId'];if(_0x511ccc){const _0x1fe659=_0xe23747['_offset']-this['_oldOffset'],_0x327b40=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xe163e8['toVersion']+_0x1fe659!==_0x327b40){const _0x3e2e4f=_0xe163e8['fromVersion']+_0x1fe659,_0x501c54=this['editor']['plugins']['get'](_0x2cdae6),_0x5eaca7=this['_revisionTracker']['buildRevisionData']({'revision':_0xe163e8,'from':_0x3e2e4f,'to':_0x327b40});_0x5eaca7['id']=_0xe163e8['id'];const _0x4c75bb=_0x5eaca7['authorsIds']['map'](_0x1aa08f=>_0x501c54['getUser'](_0x1aa08f));_0xe163e8['_update']({..._0x5eaca7,'authors':_0x4c75bb},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xe163e8['id'],_0x5eaca7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x327b40,(_0xe163e8['toVersion']===_0xe163e8['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x462b73)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x462b73),this['_revisionTracker']['_createCurrentRevision'](_0x327b40));}const {revisions:_0x3afe79,requestId:_0x5b78c2}=await this['_revisionHistoryService']['reconnect'](_0x2e2b14['connection'],this['_lastRequestId']);_0x511ccc&&_0x3afe79['length']>0x0?_0xe23747['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3afe79),this['_handleRevisionsUpdate'](_0x3afe79,_0x5b78c2),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe23747['_isConnected']?_0x5051d4():new Promise((_0x415282,_0x2099c4)=>{_0xe23747['once']('change:_isConnected',()=>{_0x5051d4()['then'](_0x415282)['catch'](_0x2099c4);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4dcc1d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x40082f=>{_0x40082f['off'](),_0x4dcc1d();});});}['_getLatestVersionFromServerOperations'](){const _0x25155b=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2149e9 of _0x25155b)if('marker'!==_0x2149e9['type']||_0x2149e9['affectsData'])return _0x2149e9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x42a81a=this['editor']['plugins']['get'](l);return new Promise(_0x253f14=>{_0x42a81a['_isPendingUpdate']?_0x42a81a['once']('change:_isPendingUpdate',()=>{_0x253f14(this['_getLatestVersionFromServerOperations']());}):_0x253f14(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x2546bc,_0x179ec8){const _0x250e57=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x179ec8;for(const _0x568774 of _0x2546bc){const _0xc9220d=_0x250e57['getRevision'](_0x568774['id']);if(_0xc9220d){if((_0x568774['fromVersion']||_0x568774['toVersion'])&&(_0x568774['diffData']=null),_0xc9220d===this['_revisionTracker']['currentRevision']){const _0x119e07=Math['max'](_0xc9220d['toVersion'],_0x568774['toVersion']),_0x11b41c=Math['max'](_0xc9220d['fromVersion'],_0x568774['fromVersion']);let _0x19e3dd;_0xc9220d['toVersion']===_0x568774['toVersion']&&_0xc9220d['fromVersion']===_0x568774['fromVersion']?(_0x19e3dd=!0x0,this['_preventResendingRevisionData'](_0x568774)):_0x568774['toVersion']===_0x119e07&&_0x568774['fromVersion']===_0x11b41c?_0x19e3dd=!0x1:(_0xc9220d['toVersion']===_0x119e07&&_0xc9220d['fromVersion']===_0x11b41c||this['_fixRevision']({'revision':_0xc9220d,'from':_0x11b41c,'to':_0x119e07}),_0x19e3dd=!0x0),_0x19e3dd&&(delete _0x568774['fromVersion'],delete _0x568774['toVersion'],delete _0x568774['diffData'],delete _0x568774['createdAt'],delete _0x568774['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x568774),this['_preventResendingRevisionData'](_0x568774);}else this['_revisionTracker']['addRevisionData'](_0x568774);}const _0x201f08=_0x250e57['getRevisions']();_0x201f08['reverse']();for(let _0xb203e9=0x0;_0xb203e9<_0x201f08['length']-0x1;_0xb203e9++){const _0x29e20b=_0x201f08[_0xb203e9],_0x241cd8=_0x201f08[_0xb203e9+0x1];if(_0x29e20b['fromVersion']<_0x241cd8['toVersion']){const _0x2fddf0=_0x241cd8['toVersion'],_0x9c8fc4=Math['max'](_0x2fddf0,_0x29e20b['toVersion']);this['_fixRevision']({'revision':_0x29e20b,'from':_0x2fddf0,'to':_0x9c8fc4});}}}['_fixRevision']({revision:_0x4c6d3c,from:_0x3dd6dc,to:_0x138086}={}){const _0x3d0b32=this['editor']['plugins']['get'](_0x2cdae6),_0x3a05c8=this['_revisionTracker']['buildRevisionData']({'revision':_0x4c6d3c,'from':_0x3dd6dc,'to':_0x138086});_0x3a05c8['authors']=_0x3a05c8['authorsIds']['map'](_0x4d7f7f=>_0x3d0b32['getUser'](_0x4d7f7f)),_0x4c6d3c['_update'](_0x3a05c8);}['_preventResendingRevisionData'](_0x3b9d2e){const _0x2c1c68={};_0x2c1c68['id']=_0x3b9d2e['id'];for(const _0x1c8ddc of Object['keys'](_0x3b9d2e))'id'!==_0x1c8ddc&&(_0x2c1c68[_0x1c8ddc]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2c1c68['id'],_0x2c1c68,!0x0);}async['_fetchMissingUsers'](_0xee1b2d){const _0x362eb8=this['editor']['plugins']['get'](_0x2cdae6),{connection:_0x268ea3}=this['editor']['plugins']['get'](n),_0x44bdcb=new Set();for(const _0x57af6e of _0xee1b2d){for(const _0x53d6e9 of _0x57af6e['authorsIds'])_0x307871(_0x53d6e9);_0x57af6e['creatorId']&&_0x307871(_0x57af6e['creatorId']);}if(0x0===_0x44bdcb['size'])return;const _0x234c49=await ut['getMany'](_0x268ea3,Array['from'](_0x44bdcb));for(const _0x48cdff of _0x234c49)_0x362eb8['getUser'](_0x48cdff['id'])||_0x362eb8['addUser'](_0x48cdff);function _0x307871(_0x3a706d){_0x362eb8['getUser'](_0x3a706d)||_0x44bdcb['add'](_0x3a706d);}}}function Z(_0x2d85c8){return _0x2d85c8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2d85c8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d85c8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0xa3957f{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x40928d{['_collapseAt'];constructor(_0x313e59,_0xc1d179=0x6){super(_0x313e59);const _0x4d5a2b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xc1d179,this['bind']('isHidden')['to'](this,'usersCount',_0x4fb043=>_0x4fb043<_0xc1d179),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4d5a2b['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x4d5a2b['to']('usersCount',_0x5f46c7=>'+'+(_0x5f46c7-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x40928d{['items'];['keystrokes'];constructor(_0x28d0c9){super(_0x28d0c9);const _0x4a599a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x403085(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4a599a['if']('hasPopup'),'aria-expanded':_0x4a599a['to']('isExpanded',_0x1be7f6=>this['hasPopup']&&String(_0x1be7f6)),'aria-label':_0x4a599a['to']('hasPopup',_0x4ceed9=>E(_0x28d0c9,_0x4ceed9?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4a599a['to']('hasPopup',_0x3b3d82=>!!_0x3b3d82&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4a599a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4a599a['to'](_0x56065f=>{const _0x4dec34=_0x56065f,_0x59dc2b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1d5007=document['querySelector']('.ck-balloon-panel_with-arrow');_0x59dc2b?.['contains'](_0x4dec34['relatedTarget'])||_0x1d5007?.['contains'](_0x4dec34['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x237a7f,_0x56fcbb,_0x4dd65e)=>{this['element']&&(_0x4dd65e?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x40928d{['counterView'];['inlineListView'];constructor(_0x178aaa,_0x3269bf=0x6){super(_0x178aaa);const _0x3dedbc=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x3269bf),this['inlineListView']=new is(_0x178aaa),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xe2a881 of this['inlineListView']['items'])_0xe2a881['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x3dedbc['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x40928d{['listWrapperView'];constructor(_0x30546b,_0x15c113){super(_0x30546b);const _0x3c192a=this['bindTemplate'];this['listWrapperView']=new wt(_0x30546b,_0x15c113),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x30546b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3c192a['to'](_0x3fdf0c=>{const _0x10cc90=_0x3fdf0c,_0x421f99=document['querySelector']('.ck-presence-list__list'),_0x40854d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x421f99?.['contains'](_0x10cc90['relatedTarget'])||_0x40854d?.['contains'](_0x10cc90['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0xa396c4{constructor(_0x4caf92,_0x5be498){super(_0x4caf92);const _0x1b5bde=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5be498?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1b5bde['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1b5bde['to']('role'),'aria-label':_0x1b5bde['to']('ariaLabel'),'aria-labelledby':_0x1b5bde['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x34f2de['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2947e0=this['element'];_0x2947e0&&(this['_isScrollable']=Math['max'](_0x2947e0['scrollHeight'],_0x2947e0['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x1baca3,_0x24e2b4,_0x3ff23a){super(_0x1baca3);const _0x4afcba=this['bindTemplate'];this['userView']=new ct(_0x1baca3,_0x24e2b4);const _0x5c8ba5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x24e2b4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x24e2b4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x24e2b4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3ff23a&&(_0x5c8ba5['tag']='button',_0x5c8ba5['on']={'click':_0x4afcba['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5c8ba5);}['focus'](){this['element']['focus']();}}class A extends _0x40928d{['userView'];['markerView'];constructor(_0x47a063,_0x18a7ad,_0x4a8c9d){super(_0x47a063);const _0x44f9c8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x47a063,_0x18a7ad),this['markerView']=new lt(_0x47a063,_0x18a7ad);const _0x2b7437=new at(_0x47a063);_0x2b7437['template']['tag']='span',_0x2b7437['text']=_0x18a7ad['name'];const _0x37f1d8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x44f9c8['to']('isFocusable',_0x5d571=>!!_0x5d571&&0x0),'aria-labelledby':_0x2b7437['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x44f9c8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x44f9c8['to']('hasTooltip',_0x1f0e60=>!_0x1f0e60),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2b7437]};_0x4a8c9d&&(_0x37f1d8['tag']='button',_0x37f1d8['on']={'click':_0x44f9c8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x37f1d8);}}class lt extends _0x40928d{constructor(_0x5359e5,_0x2a783a){super(_0x5359e5),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a783a['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2d60c1{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39d2be){super(_0x39d2be),this['context']['config']['define']('presenceList',x);const _0x5b12e2=_0x39d2be['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5b12e2)throw new _0x361cf4('presencelist-collapseat-invalid-format',this);if(_0x5b12e2<0x1)throw new _0x361cf4('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5c1f9a(),this['balloonPanelView']=new _0x584c05(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xf82f7a of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf82f7a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x53af01,_0x30741e)=>{this['_handleUserAdd'](_0x30741e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2cf989,_0x279b5d)=>{this['_handleUserRemove'](_0x279b5d);});}['_createView'](){const _0x1248b4=this['context'],_0x480cd9=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xe62264=this['balloonPanelView'];if(!_0x873502(_0x1248b4['config']['get']('presenceList.container')))throw new _0x361cf4('presencelist-missing-container',this);return _0x480cd9['counterView']['bind']('usersCount')['to'](this),_0x480cd9['bind']('isCollapsed')['to'](this,'usersCount',_0x10b1b8=>{const {collapseAt:_0x50b4d8}=_0x1248b4['config']['get']('presenceList'),_0x21e3d2=_0x10b1b8>=_0x50b4d8;if(_0x21e3d2&&!_0x480cd9['inlineListView']['items']['find'](_0x3eb555=>_0x3eb555 instanceof b)){const _0x2e684e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2e684e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x480cd9['inlineListView']['items']['add'](_0x480cd9['counterView']);}return _0x21e3d2||this['hideDropdown'](),_0x21e3d2;}),_0x480cd9['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2721c9=>{const _0x2f8a7a=_0x1248b4['config']['get']('presenceList'),_0x567a90=new A(_0x1248b4['locale'],_0x2721c9,!!_0x2f8a7a['onClick']);return _0x567a90['bind']('hasTooltip')['to'](_0x480cd9,'isCollapsed',_0xc87040=>!_0xc87040),_0x567a90['bind']('isFocusable')['to'](_0x480cd9,'isCollapsed',_0x116560=>!_0x116560),_0x2f8a7a['onClick']&&this['listenTo'](_0x567a90,'execute',()=>{this['view']['isCollapsed']||_0x2f8a7a['onClick'](_0x2721c9,_0x567a90['element']);}),_0x567a90;}),this['listenTo'](_0x480cd9['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x480cd9['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x480cd9['inlineListView']['keystrokes']['set']('Enter',(_0x497dfe,_0x4c6a29)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4c6a29());}),_0x480cd9['render'](),_0xe62264['render'](),_0x4ad730({'emitter':_0x480cd9,'activator':()=>_0xe62264['isVisible'],'contextElements':[_0xe62264['element'],_0x480cd9['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1248b4['config']['get']('presenceList.container')['appendChild'](_0x480cd9['element']),this['_bodyCollection']=new _0x2d8c37(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x480cd9;}['_handleUserAdd'](_0x15ce7a){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x15ce7a['isMe'])return;const _0x2ef01f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2ef01f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5423c7=_0x15ce7a['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x15ce7a,_0x5423c7);}['_handleUserRemove'](_0x521fb5){this['usersCount']--;const {collapseAt:_0x10e181}=this['context']['config']['get']('presenceList'),_0x5b0f6d=this['usersCount']>=_0x10e181;if(this['currentDisplayedUsers']['get'](_0x521fb5['id']))this['currentDisplayedUsers']['remove'](_0x521fb5['id']);else{if(_0x5b0f6d&&this['currentDisplayedUsers']['length']+0x1===_0x10e181-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5b0f6d?0x1:0x0)<this['usersCount']){for(const _0x5a8fd4 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5a8fd4['id'])&&(this['currentDisplayedUsers']['add'](_0x5a8fd4,Math['min'](this['currentDisplayedUsers']['length']-(_0x5b0f6d?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5b0f6d?0x1:0x0)===_0x10e181-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2ea115=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x2ea115['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x598573}=this['presenceDropdownView'];_0x598573['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x127b75=>{if(!_0x2ea115['displayMe']&&_0x127b75['isMe'])return null;const _0x39fb5b=new j(this['context']['locale'],_0x127b75,!!_0x2ea115['onClick']);return _0x2ea115['onClick']&&this['listenTo'](_0x39fb5b,'execute',()=>{_0x2ea115['onClick'](_0x127b75,_0x39fb5b['element']);}),_0x39fb5b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x598573['focus'](),_0x598573['checkIfScrollable']();const _0xa84b8f=(_0x3b75bf,_0x70f2e9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x70f2e9();};_0x598573['keystrokes']['set']('Esc',_0xa84b8f),_0x598573['keystrokes']['set']('Shift+Tab',_0xa84b8f),_0x598573['keystrokes']['set']('Tab',(_0x3442b1,_0x38339d)=>{!function(_0x27bc17){const _0x310111=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x136864=>_0x136864+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5171ca=[...document['body']['querySelectorAll'](_0x310111)]['filter'](_0x7c76fe=>_0x7c76fe===document['activeElement']||_0x7c76fe['offsetWidth']+_0x7c76fe['offsetHeight']>0x0)['sort']((_0x58966c,_0x303c65)=>(_0x58966c['tabIndex']||0x0)-(_0x303c65['tabIndex']||0x0)),_0x135703=_0x5171ca['indexOf'](_0x27bc17),_0x2adbee=_0x5171ca[(_0x135703+0x1)%_0x5171ca['length']];_0x2adbee&&_0x2adbee['focus']();}(this['view']['element']),this['hideDropdown'](),_0x38339d();}),_0x598573['focusTracker']['add'](this['view']['element']),_0x598573['focusTracker']['on']('change:isFocused',(_0x4b13f6,_0x51c390,_0x1494b5)=>{_0x1494b5||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x2d60c1{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x3037e3,Plugin as _0x5543a5,PendingActions as _0x3e4bfe,Context as _0x446099}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x9b49aa,CKEditorError as _0x1c2f2a,Collection as _0x56572f,global as _0x3979c9,version as nt,uid as _0xc06c50,KeystrokeHandler as _0x9966a1}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3ae107,View as _0x4d2917,ListView as _0x4941b4,ListItemView as et,LabelView as it,BalloonPanelView as _0x1f3152,clickOutsideHandler as _0x3495ca,BodyCollection as _0x212a26}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x13075d,History as _0x14c899,NoOperation as _0x570a93,InsertOperation as _0x552824,MarkerOperation as _0x242d8c,RootAttributeOperation as _0x40307c,transformOperationSets as _0x31ad0e,OperationFactory as _0xcfa427}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x7ec47c,CollaborativeEditingService as _0xf7aeca,User as ct,CommentsService as _0x42707b,TrackChangesService as tt,RevisionHistoryService as _0x5f0b95,EditorService as _0x167f86}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x222559,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x232fab}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x143b0d}from'es-toolkit/compat';class n extends _0x3037e3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3ae107];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15174a){super(_0x15174a),this['set']('state',_0x7ec47c['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x9b49aa())();}['init'](){const _0x280a23=this['context'],_0x4e90a4=_0x280a23['plugins']['get']('CloudServices'),_0x41bf38=_0x280a23['plugins']['get'](_0x3ae107);if(!_0x4e90a4['token'])throw new _0x1c2f2a('websocketgateway-missing-token',this);if(!_0x4e90a4['webSocketUrl'])throw new _0x1c2f2a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x4e90a4['token'],_0x4e90a4['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1b9c4a=>{if(this['connection']=_0x1b9c4a,this['bind']('state')['to'](_0x1b9c4a,'state',this,'_isBrowserOffline',(_0xfc886a,_0x18a42f)=>('connected'!==_0xfc886a&&(this['_shouldPluginsReconnect']=!0x0),_0x18a42f||_0xfc886a!==_0x7ec47c['CONNECTED']?_0x7ec47c['DISCONNECTED']:this['state']==_0x7ec47c['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x7ec47c['CONNECTING']):_0x7ec47c['CONNECTED'])),this['connection']['on']('error',(_0xfbec45,_0x535547)=>{if('limitExceeded'!==_0x535547['code'])throw console['error'](_0x535547),new _0x1c2f2a('cloudservices-init',null,{'originalError':_0x535547});_0x41bf38['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x1b9c4a['me'])return new Promise(_0x441b59=>_0x1b9c4a['on']('change:me',_0x441b59));})['catch'](_0x103ca3=>{throw console['error'](_0x103ca3),new _0x1c2f2a('cloudservices-init',null,{'originalError':_0x103ca3});});}['addToReconnectionStack'](_0x351fcf){if('function'!=typeof _0x351fcf['reconnect'])throw new _0x1c2f2a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x351fcf))throw new _0x1c2f2a('websocketgateway-plugin-already-registered',this,{'name':_0x351fcf['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x351fcf);}['removeFromReconnectionStack'](_0x432faf){this['_reconnectionStack']['delete'](_0x432faf);}['isInReconnectionStack'](_0x4f6a64){return this['_reconnectionStack']['has'](_0x4f6a64);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1dc86d=>_0x1dc86d['reconnect']())))['then'](()=>this['state']=_0x7ec47c['CONNECTED'])['catch'](_0x1bc761=>{throw console['error'](_0x1bc761),new _0x1c2f2a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x7ec47c['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3037e3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x222559];}constructor(_0x35af9b){super(_0x35af9b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x56572f(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x222559);}['init'](){const _0x40d43d=this['context']['plugins']['get'](n);this['listenTo'](_0x40d43d,'change:state',(_0x20eb25,_0x47f98f,_0x3be615)=>{if('connected'!==_0x3be615)this['channelSessions']['forEach'](_0x3055c0=>_0x3055c0['clear']()),this['channelConnectedUsers']['forEach'](_0x175f3c=>_0x175f3c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xeb2540,_0x5dd7a9]of this['_registeredSessions'])for(const _0x572d30 of _0x5dd7a9)this['_handleSessionAdd'](_0xeb2540,_0x572d30);}}),this['_createUser'](_0x40d43d['connection']['me'],!0x0);}['register'](_0x1c5059,_0x9f58f4){if(this['_registeredSessions']['has'](_0x1c5059))throw new _0x1c2f2a('sessions-register-already-registered',null,{'channelId':_0x1c5059});this['_registeredSessions']['set'](_0x1c5059,_0x9f58f4),this['channelSessions']['set'](_0x1c5059,new _0x56572f()),this['channelConnectedUsers']['set'](_0x1c5059,new _0x56572f()),this['listenTo'](_0x9f58f4,'add',(_0x259f80,_0x28d7de)=>this['_handleSessionAdd'](_0x1c5059,_0x28d7de)),this['listenTo'](_0x9f58f4,'remove',(_0x5c9367,_0x460d11)=>this['_handleSessionRemove'](_0x1c5059,_0x460d11));for(const _0x2f3b27 of _0x9f58f4)this['_handleSessionAdd'](_0x1c5059,_0x2f3b27);}['unregister'](_0x1cab75){if(!this['_registeredSessions']['has'](_0x1cab75))throw new _0x1c2f2a('sessions-unregister-not-exist',null,{'channelId':_0x1cab75});const _0x3726ab=this['_registeredSessions']['get'](_0x1cab75);this['stopListening'](_0x3726ab);for(const _0x316419 of _0x3726ab)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1cab75,_0x316419);this['_registeredSessions']['delete'](_0x1cab75),this['channelSessions']['delete'](_0x1cab75),this['channelConnectedUsers']['delete'](_0x1cab75);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x21719c){for(const _0xd70251 of this['channelSessions']['values']())for(const _0x1f466d of _0xd70251)if(_0x1f466d['id']===_0x21719c)return _0x1f466d['user'];}['getUserSessions'](_0x65e718,_0x2479fd){const _0x37364a=_0x2479fd?[this['channelSessions']['get'](_0x2479fd)]:this['channelSessions']['values'](),_0x38c5c8=new Set();for(const _0x15348f of _0x37364a)for(const _0x2e4998 of _0x15348f)_0x2e4998['user']['id']===_0x65e718['id']&&_0x38c5c8['add'](_0x2e4998['id']);return _0x38c5c8;}['getUserRole'](_0x1ba11d){for(const _0x4d904d of this['channelSessions']['values']())for(const _0x59b9d4 of _0x4d904d)if(_0x59b9d4['user']===_0x1ba11d)return _0x59b9d4['role'];}['_handleSessionAdd'](_0x27f4a8,_0x8eb78b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x34a1fc=_0x8eb78b['user'],_0x6550c=this['_users']['getUser'](_0x34a1fc['id'])||this['_createUser'](_0x34a1fc),_0x5e90bf=Object['assign']({},_0x8eb78b,{'user':_0x6550c});this['channelSessions']['get'](_0x27f4a8)['add'](_0x5e90bf);const _0x411c7e=this['channelConnectedUsers']['get'](_0x27f4a8);_0x411c7e['has'](_0x6550c['id'])||_0x411c7e['add'](_0x6550c),this['allConnectedUsers']['has'](_0x6550c['id'])||this['allConnectedUsers']['add'](_0x6550c,_0x6550c['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x27f4a8,{'channelId':_0x27f4a8,'session':_0x5e90bf});}['_handleSessionRemove'](_0x4ac939,_0x11cdf0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x41bb0d=this['channelConnectedUsers']['get'](_0x4ac939),_0x59f8fc=_0x11cdf0['user'];_0x59f8fc['id']&&(this['channelSessions']['get'](_0x4ac939)['remove'](_0x11cdf0['id']),_0x41bb0d['has'](_0x59f8fc['id'])&&!this['getUserSessions'](_0x59f8fc,_0x4ac939)['size']&&_0x41bb0d['remove'](_0x59f8fc['id']),this['allConnectedUsers']['get'](_0x59f8fc['id'])&&!this['getUserSessions'](_0x59f8fc)['size']&&this['allConnectedUsers']['remove'](_0x59f8fc['id']));}['_createUser'](_0x2933b3,_0x5c347d){const _0x24972c=this['_users']['addUser'](_0x2933b3);return _0x5c347d&&this['_users']['defineMe'](_0x2933b3['id']),_0x24972c['orderNumber']=this['_uniqueUsersCount']++,_0x24972c;}}class G extends _0x5543a5{['_domEmitter']=new(_0x9b49aa())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3efaa5=this['editor'],_0xa8eb58=_0x3efaa5['plugins']['get'](i);_0x3efaa5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1a3b81,{writer:_0x565a16})=>function(_0x4909b7,_0x49f498,_0x573df7,_0x17eff9){const _0x1be190=_0x4909b7['markerName']['split'](':')[0x2],_0x4254c2=_0x573df7['getUserBySessionId'](_0x1be190);if(!_0x4254c2||_0x1be190===_0x573df7['mySessionId'])return;if(!_0x17eff9['model']['schema']['checkChild'](_0x4909b7['markerRange']['start'],'$text'))return;const _0x886191={'class':'ck-user__marker\x20'+_0x4254c2['color']['getMarkerClass'](),'data-name':_0x4254c2['name'],'data-session-id':_0x1be190},_0x5bbe2b=_0x17eff9['model']['markers']['get'](_0x4909b7['markerName']),_0x43964d=_0x5bbe2b['getStart'](),_0x1856af=_0x43964d['nodeAfter'],_0x3c6e83=_0x17eff9['model']['schema'];if(_0x1856af&&_0x3c6e83['isObject'](_0x1856af)&&_0x3c6e83['isInline'](_0x1856af)&&!_0x17eff9['model']['markers']['get']('user:range:'+_0x1be190)['getRange']()['isCollapsed'])return;const _0xeb5fe1=_0x43964d['parent'];return _0x17eff9['model']['schema']['isLimit'](_0xeb5fe1)&&!_0x17eff9['model']['hasContent'](_0xeb5fe1)&&(_0x886191['contenteditable']=!0x1),function(_0x3166e9,_0x3a30e0,_0xa08d5d){const _0x166053=_0x3166e9['createUIElement']('span',_0x3a30e0);return _0x3166e9['setCustomProperty']('userPositionMarker',!0x0,_0x166053),_0x166053['render']=function(_0x65f1b){const _0x429fc3=this['toDomElement'](_0x65f1b),_0x2caa75=document['createElement']('span');return _0x2caa75['classList']['add']('ck-user__marker-tooltip'),_0x2caa75['setAttribute']('contenteditable','false'),_0x2caa75['setAttribute']('spellcheck','false'),_0x2caa75['textContent']=_0xa08d5d['name'],_0x429fc3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2caa75['outerHTML']+'⁠',_0x429fc3['addEventListener']('mouseenter',()=>{_0x429fc3['classList']['add']('ck-user__marker_hovered');}),_0x429fc3['addEventListener']('mouseleave',()=>{_0x429fc3['classList']['remove']('ck-user__marker_hovered');}),_0x429fc3;},_0x166053['isSimilar']=function(_0x300e16){return!(!this['getCustomProperty']('userPositionMarker')||!_0x300e16['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x300e16['getAttribute']('data-session-id'));},_0x166053;}(_0x49f498,_0x886191,_0x4254c2);}(_0x1a3b81,_0x565a16,_0xa8eb58,_0x3efaa5)}),_0x3efaa5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3b9716=>function(_0x40bb4c,_0x4932ad){const _0x205075=_0x40bb4c['markerName']['split'](':')[0x2];if(_0x205075===_0x4932ad['mySessionId'])return null;const _0x41183e=_0x4932ad['getUserBySessionId'](_0x205075);if(!_0x41183e)return{'id':_0x205075,'classes':[]};return{'id':_0x205075,'classes':['ck-user__selection',_0x41183e['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x205075},'priority':0x7d0+_0x41183e['orderNumber']};}(_0x3b9716,_0xa8eb58)}),function(_0x269476){const _0x1a0aca=_0x269476['model'],_0x51675d=new Map(),_0x1dd114=_0x269476['plugins']['get'](i);_0x1a0aca['markers']['on']('update:user:range',(_0x221ae8,_0x253b39,_0xf2f89a,_0x22e9c3)=>{if(!_0x22e9c3&&_0x51675d['get'](_0x253b39['name']))return _0x51675d['get'](_0x253b39['name'])['detach'](),void _0x51675d['delete'](_0x253b39['name']);const _0x1f3eff=_0x253b39['name']['split'](':')[0x2];if(_0x1f3eff===_0x1dd114['mySessionId'])return;const _0x59ab54='user:position:'+_0x1f3eff;_0x1a0aca['markers']['has'](_0x59ab54)&&_0x269476['editing']['reconvertMarker'](_0x59ab54),_0x253b39['on']('change:range',(_0x124570,_0x1a7747,_0x47aae5)=>{if('$graveyard'!=_0x1a7747['root']['rootName']&&'$graveyard'==_0x253b39['getRange']()['root']['rootName']&&!_0x51675d['has'](_0x253b39['name'])){const _0x236567=_0x1a0aca['schema']['getNearestSelectionRange'](_0x47aae5['deletionPosition']);if(_0x236567){const _0x5a6f6a=_0x13075d['fromRange'](_0x236567);_0x51675d['set'](_0x253b39['name'],_0x5a6f6a),_0x5a6f6a['on']('change:range',(_0x293e23,_0x58c91b,_0x54cefb)=>{if('$graveyard'==_0x5a6f6a['root']['rootName']){const _0x420e53=_0x1a0aca['schema']['getNearestSelectionRange'](_0x54cefb['deletionPosition']);_0x420e53?(_0x5a6f6a['start']=_0x420e53['start'],_0x5a6f6a['end']=_0x420e53['end']):(_0x51675d['delete'](_0x253b39['name']),_0x5a6f6a['detach']());}});}}});}),_0x1a0aca['document']['on']('change',()=>{_0x51675d['size']>0x0&&_0x1a0aca['enqueueChange']({'isUndoable':!0x1},_0x14383a=>{for(const [_0x557136,_0x38d5f8]of _0x51675d)'$graveyard'==_0x1a0aca['markers']['get'](_0x557136)['getRange']()['root']['rootName']&&(te(_0x557136['split'](':')[0x2],_0x38d5f8['toRange'](),_0x1a0aca,_0x14383a),_0x38d5f8['detach']());_0x51675d['clear']();});});}(_0x3efaa5),this['_domEmitter']['listenTo'](_0x3979c9['document'],'keydown',(_0x57ea1d,{key:_0x5e5712})=>{'Escape'===_0x5e5712&&function(_0x55e692){_0x55e692['editing']['view']['change'](_0x25c8b8=>{for(const _0x2a8b8f of _0x55e692['model']['markers']){if(!_0x2a8b8f['name']['startsWith']('user:position'))continue;const _0x159ac8=_0x55e692['editing']['mapper']['markerNameToElements'](_0x2a8b8f['name']);if(_0x159ac8){for(const _0xf69b14 of _0x159ac8)_0x25c8b8['removeClass']('ck-user__marker_hovered',_0xf69b14);}}});}(_0x3efaa5);},{'useCapture':!0x0});}['afterInit'](){const _0x1e1247=this['editor'],_0x6e2855=_0x1e1247['commands']['get']('undo');_0x6e2855&&_0x1e1247['model']['on']('applyOperation',(_0x11a0de,_0x4d1469)=>{const _0x32828b=_0x4d1469[0x0];if(!_0x32828b['isDocumentOperation'])return;if('marker'!=_0x32828b['type']||!_0x32828b['name']['startsWith']('user:'))return;const _0x521a4b=_0x32828b['batch'];_0x6e2855['_createdBatches']['has'](_0x521a4b)&&(_0x32828b['newRange']=_0x32828b['oldRange']?_0x1e1247['model']['createRange'](_0x32828b['oldRange']['start'],_0x32828b['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5e6553=this['editor'],_0x3d7540=_0x5e6553['model']['document'],_0x35c67b=_0x5e6553['plugins']['get'](i);_0x5e6553['model']['enqueueChange']({'isUndoable':!0x1},_0xe23f8d=>{const _0x38f683='user:range:'+_0x35c67b['mySessionId'],_0x3a4ad1='user:position:'+_0x35c67b['mySessionId'],_0xb88c42=_0x5e6553['model']['markers']['has'](_0x38f683);_0x5e6553['editing']['view']['hasDomSelection']?te(_0x35c67b['mySessionId'],_0x3d7540['selection']['getFirstRange'](),_0x5e6553['model'],_0xe23f8d):_0xb88c42&&(_0xe23f8d['removeMarker'](_0x38f683),_0xe23f8d['removeMarker'](_0x3a4ad1));});}}function te(_0x308156,_0x20f78a,_0x16a094,_0x5dbd5d){const _0x4a0ca4='user:range:'+_0x308156,_0x3baa0e='user:position:'+_0x308156,_0xd4709c=_0x20f78a['getContainedElement']();let _0xabb32d=_0x20f78a['start'];if(_0xd4709c&&_0xd4709c['is']('element','tableCell')){const _0x3aaf02=function(_0x3da217,_0x23e79a){for(const _0x3f88b1 of _0x3da217['getPositions']())if(_0x23e79a['schema']['checkChild'](_0x3f88b1,'$text'))return _0x3f88b1;}(_0x20f78a,_0x16a094);_0x3aaf02&&(_0xabb32d=_0x3aaf02,_0x20f78a=_0x5dbd5d['createRange'](_0xabb32d));}const _0x54e5f5=_0x5dbd5d['createRange'](_0xabb32d);_0x16a094['markers']['has'](_0x4a0ca4)?(_0x5dbd5d['updateMarker'](_0x4a0ca4,{'range':_0x20f78a}),_0x5dbd5d['updateMarker'](_0x3baa0e,{'range':_0x54e5f5})):(_0x5dbd5d['addMarker'](_0x4a0ca4,{'range':_0x20f78a,'usingOperation':!0x0}),_0x5dbd5d['addMarker'](_0x3baa0e,{'range':_0x54e5f5,'usingOperation':!0x0}));}function $(_0xc768ff,_0x220542,_0x2847c3){const _0xbc10aa=_0xc768ff['t'],t=_0xc768ff['t'];switch(_0x220542){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0xbc10aa({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x2847c3);default:return'';}}let Q=0x1;class l extends _0x5543a5{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xf7aeca)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x3e4bfe,_0x222559,_0x3ae107];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x57ec61=this['serverHistory']['getOperations']();for(let _0x3a4fcb=_0x57ec61['length']-0x1;_0x3a4fcb>=0x0;_0x3a4fcb--){const _0x3df23b=_0x57ec61[_0x3a4fcb];if(!this['_disconnectionOperations']['has'](_0x3df23b))return _0x3df23b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xf51147){if(super(_0xf51147),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x14c899(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1c2f2a('collaboration-missing-channelid',this);const _0x573f7f=_0xf51147['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x573f7f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x232fab(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Z(this['_disconnectionOperations']);}['init'](){const _0x46b394=this['editor'],_0x3acc56=_0x46b394['plugins']['get'](_0x222559),_0x296c46=_0x46b394['plugins']['get'](n);this['listenTo'](_0x3acc56,'getOperationAuthor',(_0x3019ed,_0x319d93)=>{const _0x5f5912=_0x319d93[0x0];_0x5f5912['_authorId']&&(_0x3019ed['return']=_0x3acc56['getUser'](_0x5f5912['_authorId']),_0x3019ed['stop']()),null===_0x5f5912['_authorId']&&(_0x3019ed['return']=null,_0x3019ed['stop']());},{'priority':'high'}),this['listenTo'](_0x46b394['model']['document']['selection'],'change:range',(_0x3b06e3,_0x2073fd)=>{_0x2073fd['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x46b394['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x46b394['model']['on']('applyOperation',(_0x1d04dd,_0x3f3acd)=>{const _0x392084=_0x3f3acd[0x0];_0x392084['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x392084),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x296c46,'state',this,'_hasSynchronizationProblem',(_0x14962f,_0x49e493)=>'connected'===_0x14962f&&!_0x49e493),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x46b394['disableReadOnlyMode']('rtc-offline'):_0x46b394['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x46b394['disableReadOnlyMode']('rtc-offline'):_0x46b394['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5acb31=this['editor']['plugins']['get'](i),_0x4e87a0=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x5acb31['unregister'](this['_channelId']);const _0x1b5fd8=await this['_service']['reconnect'](_0x4e87a0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1b5fd8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2f5866=await this['_service']['getConnectedSessions']();_0x5acb31['register'](this['_channelId'],_0x2f5866),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3fb6b3){if(function(_0x1d56e9){return'404'===_0x1d56e9['code'];}(_0x3fb6b3)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2bbe1d){return'409'===_0x2bbe1d['code'];}(_0x3fb6b3)){const _0x492120=$(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x492120);}else{if(!(_0x3fb6b3 instanceof X))throw _0x3fb6b3;this['_handleReconnectionError']();}}}}['destroy'](){const _0xd2cb4d=this['editor']['plugins']['get'](n),_0x232257=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x232257['channelSessions']['has'](this['_channelId'])&&_0x232257['unregister'](this['_channelId']),_0xd2cb4d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3991c4){if(this['sessionId']!==_0x3991c4['sessionId']&&this['_lastSyncedOperationId']!==_0x3991c4['lastOperationId'])throw new X();return this['sessionId']=_0x3991c4['sessionId'],this['_handleServerResponse']([],{..._0x3991c4,'wereChangesApplied':!0x1,'data':_0x3991c4['data']},'reconnect');}async['_connectService'](_0x54633a,_0x56dad2=!0x1){const {connection:_0x2b4a19}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2b4a19,this['_channelId'])['then'](_0x2d565e=>this['_initSessionsHandling'](_0x2d565e))['catch'](_0x137b1f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x137b1f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x6aeadd,_0x225fdc)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x225fdc);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x7db345=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x54633a);this['_isPendingUpdate']=!0x0;const _0x36db2a=await this['_service']['connect'](_0x2b4a19,this['_compressOperations'](_0x54633a),_0x7db345);if(this['sessionId']=_0x36db2a['sessionId'],_0x56dad2){if(!_0x36db2a['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x36db2a['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x54633a,_0x36db2a,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x36db2a,_0x54633a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25b5f0=this['editor']['plugins']['get'](i),_0x253e32=this['editor']['plugins']['get'](G),_0x4a5355=_0x25b5f0['channelSessions']['get'](this['_channelId']);_0x4a5355&&_0x4a5355['length']>0x1?_0x253e32['createUserMarkerOperations']():this['listenTo'](_0x25b5f0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25b5f0['channelSessions']['get'](this['_channelId'])['length']&&_0x253e32['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x35aa56,_0x7b2009,_0x8f7d03,_0x1807ef){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x7b2009){const _0x4368fe=this['_decompressOperations'](_0x8f7d03,_0x1807ef);await this['_fetchMissingUsers'](_0x4368fe),this['_handleExternalOperations'](_0x4368fe,_0x7b2009,_0x8f7d03['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1962cc}=this['editor'];let _0x20747a;try{_0x20747a=await this['_service']['getDocumentDetails']();}catch{const _0x14558c=$(_0x1962cc,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x14558c);}const _0x2fcd2f=_0x20747a['currentDocumentSession']||_0x20747a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2fcd2f['lastOperationId']){const _0x1af39e=$(_0x1962cc,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1af39e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x15ac54){const _0x5489b2=this['editor']['plugins']['get'](i);this['listenTo'](_0x5489b2,'sessionAdd:'+this['_channelId'],(_0x4dab13,{session:_0x20f3e2})=>{if(_0x20f3e2['id']===_0x5489b2['mySessionId']){_0x4dab13['off']();const _0x3b3574=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ff01d=_0x20f3e2['permissions'];_0x3b3574&&_0x3b3574['isEnabled']&&(_0x1ff01d=_0x1ff01d['filter'](_0x248b9c=>'document:write'!==_0x248b9c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ff01d,this['_channelId']);}}),_0x5489b2['register'](this['_channelId'],_0x15ac54);}['_initThrowingOnDataSet'](){const _0x13181b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xa2b575)=>{if(!_0xa2b575[_0xa2b575['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1c2f2a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x13181b['apply'](this['editor']['data'],_0xa2b575);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2fcf80,[_0x4e4835])=>{if(this['_document']['version'])throw new _0x1c2f2a('realtimecollaborationclient-init-document-already-initialized',this);_0x2fcf80['stop'](),this['_setPendingAction']();const _0x3fd939=this['editor']['config']['get']('rootsAttributes'),_0x319d41=this['_getOperationsFromInitData'](_0x4e4835,_0x3fd939);0x0==_0x319d41['length']&&_0x319d41['push'](new _0x570a93(0x0)),_0x2fcf80['return']=this['_connectService'](_0x319d41)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3035dc=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3035dc))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2fc560,[_0x580961,_0x5963b5])=>{_0x2fc560['stop']();const _0x50188b=this['editor']['model']['document']['getRoot'](_0x580961);if(!this['_knownRootNames']['has'](_0x580961)){const _0x298b3e=_0x5963b5&&_0x5963b5['data']?_0x5963b5['data']:'',_0x41b7d1=_0x5963b5&&_0x5963b5['attributes']?_0x5963b5['attributes']:{};await this['_loadRoot'](_0x580961,_0x298b3e,_0x41b7d1);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x50188b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x50188b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x518872){const _0x578596=this['editor']['plugins']['get'](_0x222559),{connection:_0x2f707e}=this['editor']['plugins']['get'](n),_0x4397cd=new Set();for(const _0x361199 of _0x518872){const _0x145187=_0x361199['_authorId'];_0x145187&&!_0x578596['getUser'](_0x145187)&&_0x4397cd['add'](_0x145187);}if(0x0===_0x4397cd['size'])return;const _0x57043f=await ct['getMany'](_0x2f707e,Array['from'](_0x4397cd));for(const _0x41d735 of _0x57043f)_0x578596['getUser'](_0x41d735['id'])||_0x578596['addUser'](_0x41d735);}['_getOperationsFromInitData'](_0x28524e,_0x2d5cba={}){const _0x268489=this['editor']['model'],_0x41734e=[];let _0x48e07c=0x0;const _0x182055='string'==typeof _0x28524e?{'main':_0x28524e}:_0x28524e;for(const _0x2d1294 of Object['keys'](_0x182055)){if(!this['_document']['roots']['has'](_0x2d1294))throw new _0x1c2f2a('realtimecollaborationclient-init-non-existent-root',this);const _0x3bbb03=this['editor']['data']['parse'](_0x182055[_0x2d1294]),_0x4d24f2=this['_document']['getRoot'](_0x2d1294),_0x40b336=new _0x552824(_0x268489['createPositionAt'](_0x4d24f2,0x0),_0x3bbb03,_0x48e07c++);_0x41734e['push'](_0x40b336);for(const [_0x31fb85,_0x19b975]of _0x3bbb03['markers']){const _0xab7705=_0x268489['createRange'](_0x268489['createPositionFromPath'](_0x4d24f2,_0x19b975['start']['path']['slice']()),_0x268489['createPositionFromPath'](_0x4d24f2,_0x19b975['end']['path']['slice']())),_0x52a229=new _0x242d8c(_0x31fb85,null,_0xab7705,_0x268489['markers'],!0x0,_0x48e07c++);_0x41734e['push'](_0x52a229);}}if(_0x2d5cba)for(const [_0x14543f,_0x43e680]of Object['entries'](_0x2d5cba)){const _0x18ad20=_0x268489['document']['getRoot'](_0x14543f);if(!_0x18ad20)throw new _0x1c2f2a('multi-root-editor-root-attributes-no-root',null);for(const [_0x45d7d2,_0x2646ce]of Object['entries'](_0x43e680))if(null!==_0x2646ce){const _0x56a9ff=new _0x40307c(_0x18ad20,_0x45d7d2,null,_0x2646ce,_0x48e07c++);_0x41734e['push'](_0x56a9ff);}}return _0x41734e;}async['_loadRoot'](_0x54b607,_0x5dcbec,_0x5b49bd){this['_getOperationsFromInitData']({[_0x54b607]:_0x5dcbec},{[_0x54b607]:_0x5b49bd})['forEach']((_0x27b2ca,_0x1526fa)=>{_0x27b2ca['baseVersion']=this['_document']['version']+_0x1526fa,_0x27b2ca['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x27b2ca);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x59d8db,_0x518592){let _0x3e153d;this['_offset']=_0x59d8db['offset'];const _0x21f230=_0x59d8db['wereChangesApplied']&&!_0x59d8db['initData'],_0x5cf2e3=_0x21f230?0x0:_0x59d8db['data']['baseVersion'];if(_0x518592['forEach'](_0x53b2a4=>{_0x53b2a4['_isInit']=!0x0,_0x53b2a4['createdAt']=_0x59d8db['sessionCreatedAt'],_0x53b2a4['_authorId']=null;}),_0x21f230)_0x3e153d=_0x518592,this['_applyOperationsSet'](_0x3e153d,_0x21f230);else{if(_0x59d8db['initData']){const _0xfae3cf=this['_getOperationsFromInitData'](_0x59d8db['initData']);this['_document']['history']['version']=-_0xfae3cf['length'],_0xfae3cf['forEach'](_0x40d51c=>{_0x40d51c['baseVersion']-=_0xfae3cf['length'],_0x40d51c['createdAt']=_0x59d8db['sessionCreatedAt'],_0x40d51c['_isInit']=!0x0,_0x40d51c['_authorId']=null;}),this['_applyOperationsSet'](_0xfae3cf,!0x0),this['serverHistory']['version']=-_0xfae3cf['length']+this['_offset'],this['_updateServerHistory'](_0xfae3cf);}this['_document']['history']['version']=_0x5cf2e3,_0x3e153d=this['_decompressOperations'](_0x59d8db['data'],_0x59d8db['metadata']),await this['_fetchMissingUsers'](_0x3e153d),this['_applyOperationsSet'](_0x3e153d,_0x21f230);}_0x59d8db['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3e153d,_0x59d8db['lastOperationId']),this['_lastSyncedOperationId']=_0x59d8db['lastOperationId']),this['serverHistory']['version']=_0x5cf2e3+this['_offset'],this['_updateServerHistory'](_0x3e153d),_0x518592['filter'](_0x1506db=>{const _0x445347=this['_getAffectedRoot'](_0x1506db);return _0x445347&&!this['_knownRootNames']['has'](_0x445347);})['forEach']((_0x137e2f,_0x32ebe5)=>{_0x137e2f['baseVersion']=this['_document']['version']+_0x32ebe5,this['_saveOperationInBuffer'](_0x137e2f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1af4a9,_0x58a25f){const _0x3828e5=_0x58a25f&&_0x58a25f['message'];if(_0x3828e5&&_0x3828e5['startsWith']('realtimecollaborationclient'))throw _0x58a25f;const _0x209019=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x209019['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1c2f2a(_0x1af4a9,this['editor'],_0x3828e5?{'originalError':_0x3828e5}:void 0x0);}['_saveOperationInBuffer'](_0x30ea78){this['_knownOperations']['has'](_0x30ea78)||(this['_knownOperations']['add'](_0x30ea78),this['_bufferedOperations']['push'](_0x30ea78),this['_pendingAction']||'marker'==_0x30ea78['type']&&!_0x30ea78['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xbf8c8a=!0x1){!_0xbf8c8a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x417f18=>{_0x417f18&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2b4c42=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x882fe){return _0x882fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x882fe['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x882fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2b4c42)||this['_crash'](_0x2b4c42['message'],_0x2b4c42);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x284c1d=>{this['on']('change:_isPendingUpdate',()=>{_0x284c1d();});});}async['_sendBufferedOperations'](){const _0x44e5b5=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x44e5b5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x410c7f=[...this['_bufferedOperations']];for(const _0x93c274 of _0x410c7f)_0x93c274['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x93c274);const _0x23251a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x410c7f),_0x53086d=Q++,_0x2776c4=this['_compressOperations'](_0x410c7f),_0x3351a8=await this['_service']['sendOperations'](_0x2776c4,_0x2776c4['baseVersion'],_0x23251a);try{return await this['_handleServerResponse'](_0x410c7f,_0x3351a8,_0x53086d);}catch(_0x12282b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x12282b);}}async['_handleServerResponse'](_0x26ee8f,_0xcbacfb,_0x3d8d94){if('error'in _0xcbacfb)throw _0xcbacfb['error'];let _0x598a46=!0x1;if(_0xcbacfb['wereChangesApplied']){_0xcbacfb['lastOperationId']&&(this['_lastSyncedOperationId']=_0xcbacfb['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x26617d=>!_0x26ee8f['includes'](_0x26617d));for(const _0x3f8515 of _0x26ee8f)_0x3f8515['createdAt']='lastOperationAcceptedAt'in _0xcbacfb&&_0xcbacfb['lastOperationAcceptedAt']||void 0x0;Y(_0x26ee8f,_0xcbacfb['version']-_0x26ee8f['length']),this['_updateServerHistory'](_0x26ee8f);const _0x3e20c3=_0x26ee8f['filter'](_0x978c67=>{if(!_0x978c67['_isInit'])return!0x1;const _0x36cfde=this['_getAffectedRoot'](_0x978c67);return _0x36cfde&&!this['_knownRootNames']['has'](_0x36cfde);});Y(_0x3e20c3,this['_document']['version']),this['_applyOperationsSet'](_0x3e20c3),_0x598a46=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x376835=this['_decompressOperations'](_0xcbacfb['data'],_0xcbacfb['metadata'])['filter'](_0x22c27a=>_0x22c27a['baseVersion']>=this['_lastServerVersion']);_0x376835['forEach'](_0x1bf655=>this['_addKnownRoot'](_0x1bf655)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x32ce34=>!_0x32ce34['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x32ce34))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x376835),_0x598a46=this['_handleExternalOperations'](_0x376835,_0xcbacfb['version'],_0xcbacfb['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x598a46?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5761cc,_0x32744e,_0x351913){try{const _0x5c9bdf={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5d8907,operationsB:_0x134d2f,originalOperations:_0x1dd455}=_0x31ad0e(_0x5761cc,this['_bufferedOperations'],_0x5c9bdf);Y(_0x5d8907,this['_document']['version']),Y(_0x134d2f,_0x32744e);for(const _0x1135ff of _0x5d8907){const _0x20d4fb=_0x1dd455['get'](_0x1135ff);_0x1135ff['_authorId']=_0x20d4fb?_0x20d4fb['_authorId']:null;}_0x351913&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5761cc,_0x351913),this['_lastSyncedOperationId']=_0x351913),this['_bufferedOperations']=[..._0x134d2f],this['_applyOperationsSet'](_0x5d8907),this['_updateServerHistory'](_0x5761cc);}catch(_0x3be95e){return console['error'](_0x3be95e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1ad799,_0x6fddd4=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x39848d=>{for(const _0x3b4611 of _0x1ad799)this['_knownOperations']['add'](_0x3b4611),this['_addKnownRoot'](_0x3b4611),_0x39848d['batch']['addOperation'](_0x3b4611),this['editor']['model']['applyOperation'](_0x3b4611);});}['_addKnownRoot'](_0x4b7a73){const _0x1d5956=this['_getAffectedRoot'](_0x4b7a73);_0x1d5956&&this['_knownRootNames']['add'](_0x1d5956);}['_getAffectedRoot'](_0x1735c9){let _0x5d3d65,_0x390316;switch(_0x1735c9['type']){case'insert':_0x5d3d65=_0x1735c9['position']['root'];break;case'marker':if(_0x390316=_0x1735c9['newRange'],!_0x390316)return null;_0x5d3d65=_0x390316['root'];break;case'addRootAttribute':_0x5d3d65=_0x1735c9['root'];break;case'addRoot':_0x5d3d65=_0x1735c9['affectedSelectable'];break;case'move':_0x5d3d65=_0x1735c9['targetPosition']['root'];break;default:return null;}return _0x5d3d65['rootName'];}['_updateServerHistory'](_0x5c5a16){_0x5c5a16['forEach'](_0xabc812=>{const _0x2106e8=_0xabc812['clone']();_0x2106e8['_authorId']=_0xabc812['_authorId'],_0x2106e8['_isInit']=!!_0xabc812['_isInit'],_0x2106e8['createdAt']=_0xabc812['createdAt'],_0x2106e8['baseVersion']+=this['_offset'],_0xabc812['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2106e8),this['serverHistory']['addOperation'](_0x2106e8);});}['_handleReconnectionError'](_0x21d587){const _0x5ab6a5=this['editor']['plugins']['get']('Notification'),_0x5c2625=this['editor']['locale'];_0x21d587||(_0x21d587=$(_0x5c2625,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5ab6a5['showWarning'](_0x21d587,{'title':$(_0x5c2625,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3e4bfe)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3e4bfe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3dd214){const _0x3e9e52=_0x3dd214['map'](_0x5bc2a3=>_0x5bc2a3['toJSON']());return this['_compressor']['compress'](_0x3e9e52);}['_decompressOperations'](_0x5c8ffe,_0x2439e5){return this['_compressor']['decompress'](_0x5c8ffe)['map']((_0x5d103b,_0x2b3533)=>{const _0x355a18='init'==_0x2439e5[_0x2b3533]['type'];if('InsertOperation'==_0x5d103b['__className']){const _0x50d89d=_0x5d103b['position']['root'];!this['_document']['getRoot'](_0x50d89d)&&(this['_document']['createRoot']('$root',_0x50d89d)['_isAttached']=!0x1);}const _0x45704b=_0xcfa427['fromJSON'](_0x5d103b,this['_document']);return _0x45704b['wasUndone']=_0x5d103b['wasUndone'],_0x45704b['_isInit']=_0x355a18,_0x45704b['_authorId']=_0x355a18?null:_0x2439e5[_0x2b3533]['userId'],_0x45704b['_isDisconnection']='cs:removeUser'===_0x2439e5[_0x2b3533]['type'],_0x45704b['createdAt']=_0x2439e5[_0x2b3533]['createdAt'],_0x45704b;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2456d1=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2456d1&&_0x2456d1['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x6fd525,_0x38cdab){for(const _0x498de4 of _0x6fd525)_0x498de4['baseVersion']=_0x38cdab++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x2770d5){this['_ignoredOperations']=_0x2770d5,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3ae66f){let _0x480e36=_0x3ae66f['length'];for(;_0x480e36--;){const _0x400b6a=_0x3ae66f[_0x480e36];if(!this['_ignoredOperations']['has'](_0x400b6a)){if(!this['_operationToId']['has'](_0x400b6a)){const _0x481a4d=_0xc06c50()['slice'](0x1,0x12);this['_operationToId']['set'](_0x400b6a,_0x481a4d);}return this['_operationToId']['get'](_0x400b6a);}}}['setIdForTheLastOperation'](_0x480956,_0x40a7f8){if(!_0x40a7f8)return;let _0x45644d=_0x480956['length'];for(;_0x45644d--;){const _0x1279bf=_0x480956[_0x45644d];this['_ignoredOperations']['has'](_0x1279bf)||this['_operationToId']['set'](_0x1279bf,_0x40a7f8);}}}class a extends _0x5543a5{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3037e3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x42707b)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x222559];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1dcf34){super(_0x1dcf34),this['_services']=new Map();}async['init'](){const _0x23eddb=this['context'],_0x363dd3=_0x23eddb['plugins']['get']('CommentsRepository');if(_0x23eddb['plugins']['get'](n)['addToReconnectionStack'](this),_0x363dd3['adapter']={'addCommentThread':async({channelId:_0x289b53,threadId:_0x5c5c8a,comments:_0x1d8331,resolvedAt:_0x228716,resolvedBy:_0x13996a,context:_0x39be1b,attributes:_0x704b99})=>{const _0x1c81ec=await this['_getService'](_0x289b53)['addCommentThread']({'commentThreadId':_0x5c5c8a,'comments':_0x1d8331['map'](_0x54d061=>function(_0x52eed5,_0x4f115a,_0x1431d1){return{'commentThreadId':_0x1431d1,'commentId':_0x52eed5['commentId'],'userId':_0x52eed5['authorId'],'content':_0x52eed5['content'],'documentId':_0x4f115a,'createdAt':_0x52eed5['createdAt'],'attributes':_0x52eed5['attributes']||{}};}(_0x54d061,_0x289b53,_0x5c5c8a)),'resolvedAt':_0x228716,'resolvedBy':_0x13996a,'context':_0x39be1b,'attributes':_0x704b99})['catch'](at);return{'threadId':_0x1c81ec['commentThreadId'],'comments':_0x1c81ec['comments']};},'getCommentThread':async({channelId:_0x5a20b4,threadId:_0x480529})=>{const _0x5ba55=await this['_getService'](_0x5a20b4)['getCommentThread'](_0x480529)['catch'](at);return _0x5ba55['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5ba55]),{'threadId':_0x5ba55['commentThreadId'],'comments':_0x5ba55['comments']['map'](B),'context':_0x5ba55['context'],'resolvedAt':_0x5ba55['resolvedAt'],'resolvedBy':_0x5ba55['resolvedBy'],'attributes':_0x5ba55['attributes']||{}});},'updateCommentThread':async({channelId:_0x5c3d98,threadId:_0x42a421,context:_0x252608,unlinkedAt:_0x5ddf68,attributes:_0x68a2dd})=>this['_getService'](_0x5c3d98)['updateCommentThread']({'commentThreadId':_0x42a421,'context':_0x252608,'attributes':_0x68a2dd,'unlinkedAt':_0x5ddf68})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x1e061d,threadId:_0x3d8265})=>{const _0x358299=await this['_getService'](_0x1e061d)['resolveCommentThread'](_0x3d8265)['catch'](F)['catch'](at);return{'threadId':_0x358299['commentThreadId'],'resolvedAt':_0x358299['resolvedAt'],'resolvedBy':_0x358299['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1bd5ef,threadId:_0x18d5f2})=>this['_getService'](_0x1bd5ef)['reopenCommentThread'](_0x18d5f2)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x25523a,threadId:_0x4f48c9})=>this['_getService'](_0x25523a)['removeCommentThread'](_0x4f48c9)['catch'](F)['catch'](at),'addComment':({channelId:_0x3f0f6d,threadId:_0x46106e,commentId:_0x37fc61,content:_0x99de4,attributes:_0x543b48})=>this['_getService'](_0x3f0f6d)['addComment'](_0x46106e,_0x37fc61,_0x99de4,_0x543b48)['catch'](at),'updateComment':({channelId:_0x262a9a,threadId:_0x222f26,commentId:_0x34ff99,content:_0x1447e8,attributes:_0x16ba64})=>this['_getService'](_0x262a9a)['updateComment'](_0x222f26,_0x34ff99,_0x1447e8,_0x16ba64)['catch'](F)['catch'](at),'removeComment':({channelId:_0x10e89b,threadId:_0x14e2f9,commentId:_0x36c3db})=>this['_getService'](_0x10e89b)['removeComment'](_0x14e2f9,_0x36c3db)['catch'](F)['catch'](at)},_0x23eddb instanceof _0x446099){const _0x2037a6=_0x23eddb['config']['get']('collaboration.channelId'),_0x3495a5=_0x23eddb['plugins']['get'](i);await this['_setUpService'](_0x2037a6);const _0x44d846=await this['_services']['get'](_0x2037a6)['getConnectedSessions']();this['listenTo'](_0x3495a5,'sessionAdd:'+_0x2037a6,(_0x2536e0,{session:_0x4b91f7})=>{_0x4b91f7['id']===_0x3495a5['mySessionId']&&(_0x2536e0['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4b91f7['permissions'],_0x2037a6));}),_0x3495a5['register'](_0x2037a6,_0x44d846);}}async['_setUpService'](_0x28a81d){if(this['_services']['has'](_0x28a81d))throw new _0x1c2f2a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x28a81d});const _0x346d38=this['context']['plugins']['get']('CommentsRepository'),_0x8c047d=new s['CommentsService'](_0x28a81d);this['_services']['set'](_0x28a81d,_0x8c047d),this['listenTo'](_0x8c047d,'commentThreadAdded',(_0xdea9df,_0x22b57f)=>{const {commentThreadId:_0x46ccb2,documentId:_0x1222ba,context:_0x1447b4,attributes:_0x34613a,resolvedAt:_0x1f82e9,resolvedBy:_0x274224,comments:_0x1b6602}=_0x22b57f;_0x346d38['getCommentThread'](_0x46ccb2)||_0x346d38['addCommentThread']({'threadId':_0x46ccb2,'channelId':_0x1222ba,'comments':_0x1b6602?_0x1b6602['map'](B):[],'context':_0x1447b4,'attributes':_0x34613a,'resolvedAt':_0x1f82e9,'resolvedBy':_0x274224,'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentThreadUpdated',(_0x4070f6,{commentThreadId:_0x5c7e49,documentId:_0x1a7174,context:_0x15aa32,unlinkedAt:_0x1bc03e,attributes:_0x2caf0c})=>{_0x346d38['getCommentThread'](_0x5c7e49)&&_0x346d38['updateCommentThread']({'threadId':_0x5c7e49,'channelId':_0x1a7174,'context':_0x15aa32,'unlinkedAt':_0x1bc03e,'attributes':_0x2caf0c,'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentThreadResolved',(_0x3e5fa9,{commentThreadId:_0x3cb85e,resolvedBy:_0x18f83a,resolvedAt:_0x4a6eaf})=>{const _0x2df4ec=_0x346d38['getCommentThread'](_0x3cb85e);_0x2df4ec&&_0x2df4ec['resolve']({'resolvedBy':_0x18f83a,'resolvedAt':_0x4a6eaf,'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentThreadReopened',(_0x1b2df6,{commentThreadId:_0x42f231})=>{const _0x42cef9=_0x346d38['getCommentThread'](_0x42f231);_0x42cef9&&_0x42cef9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentThreadRemoved',(_0x40fc4b,{commentThreadId:_0x2cad12})=>{const _0x17787a=_0x346d38['getCommentThread'](_0x2cad12);_0x17787a&&_0x17787a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentAdded',(_0x3236bc,_0x5d938e)=>{const _0x3c6308=_0x5d938e['commentThreadId'],_0x32c563=_0x346d38['getCommentThread'](_0x3c6308);_0x32c563&&_0x32c563['addComment']({...B(_0x5d938e),'isFromAdapter':!0x0});}),this['listenTo'](_0x8c047d,'commentUpdated',(_0x172bf1,{commentThreadId:_0x238d48,commentId:_0x5253d8,content:_0x4dba28,attributes:_0x23e39c})=>{const _0x56bf1d=_0x346d38['getCommentThread'](_0x238d48);if(_0x56bf1d){const _0x323b4c=_0x56bf1d['getComment'](_0x5253d8);_0x323b4c&&_0x323b4c['update']({'content':_0x4dba28,'attributes':_0x23e39c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x8c047d,'commentRemoved',(_0x4befa9,{commentThreadId:_0x300dd9,commentId:_0x59b24d})=>{const _0x5f2ec4=_0x346d38['getCommentThread'](_0x300dd9);if(_0x5f2ec4){const _0x3df250=_0x5f2ec4['getComment'](_0x59b24d);_0x3df250&&_0x3df250['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x28a81d);}['destroy'](){if(this['context']instanceof _0x446099){const _0x17da48=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x17da48);}}['_terminateService'](_0x30f4d7){if(!this['_services']['has'](_0x30f4d7))throw new _0x1c2f2a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x30f4d7});this['_getService'](_0x30f4d7)['disconnect'](),this['_services']['delete'](_0x30f4d7);}async['reconnect'](){for(const _0x2c51e9 of this['_services']['keys']())await this['_connectService'](_0x2c51e9);if(this['context']instanceof _0x446099){const _0x5ecbe9=this['context']['config']['get']('collaboration.channelId'),_0x28092e=this['context']['plugins']['get'](i);_0x28092e['unregister'](_0x5ecbe9);const _0x5f4e16=await this['_services']['get'](_0x5ecbe9)['getConnectedSessions']();_0x28092e['register'](_0x5ecbe9,_0x5f4e16);}}async['_connectService'](_0x4e8bd1){const {connection:_0x429a72}=this['context']['plugins']['get'](n),_0xc14dc7=this['context']['plugins']['get']('CommentsRepository'),_0x1b3b8f=this['_services']['get'](_0x4e8bd1),_0x11c931=await _0x1b3b8f['connect'](_0x429a72);await this['_fetchMissingUsersForThreads'](_0x11c931);const _0x490346=new Set(Array['from'](_0xc14dc7['getCommentThreads']({'channelId':_0x4e8bd1}),_0x3ec47c=>_0x3ec47c['id']));for(const _0x28b4c7 of _0x11c931)_0x28b4c7['deletedAt']||_0x490346['delete'](_0x28b4c7['commentThreadId']);for(const _0x5d6af0 of _0x490346)_0xc14dc7['getCommentThread'](_0x5d6af0)['remove']({'isFromAdapter':!0x0});for(const _0x41dd45 of _0x11c931){let _0x3e8477=_0xc14dc7['getCommentThread'](_0x41dd45['commentThreadId']);const {commentThreadId:_0x1e8f2c,context:_0x412f57,attributes:_0x4c66ae,resolvedBy:_0x408b6d,resolvedAt:_0x1c1756,unlinkedAt:_0x149b08,deletedAt:_0x2c55e5}=_0x41dd45;if(_0x2c55e5)continue;_0x3e8477||(_0x3e8477=_0xc14dc7['addCommentThread']({'channelId':_0x4e8bd1,'threadId':_0x1e8f2c,'context':_0x412f57,'attributes':_0x4c66ae||{},'resolvedBy':_0x408b6d,'resolvedAt':_0x1c1756,'unlinkedAt':_0x149b08,'isFromAdapter':!0x0}));const _0x47f177=new Set(Array['from'](_0x3e8477['comments'],_0x5b421a=>_0x5b421a['id']));for(const _0x4fb200 of _0x41dd45['comments'])_0x47f177['delete'](_0x4fb200['commentId']);for(const _0x43f6ba of _0x47f177)_0x3e8477['getComment'](_0x43f6ba)['remove']({'isFromAdapter':!0x0});for(const _0x496901 of _0x41dd45['comments']){const _0x1cae0e=_0x3e8477['getComment'](_0x496901['commentId']);_0x1cae0e?_0x1cae0e['content']!==_0x496901['content']&&_0x1cae0e['update']({'content':_0x496901['content'],'isFromAdapter':!0x0}):_0x3e8477['addComment'](Object['assign'](B(_0x496901),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5a5890){if(!this['_services']['has'](_0x5a5890))throw new _0x1c2f2a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5a5890});return this['_services']['get'](_0x5a5890);}async['_fetchMissingUsersForThreads'](_0x21fbfe){const _0x403e37=this['context']['plugins']['get'](_0x222559),{connection:_0x1a8ee8}=this['context']['plugins']['get'](n),_0x978967=new Set();for(const {resolvedBy:_0x29cab3,comments:_0x455069}of _0x21fbfe){_0x29cab3&&!_0x403e37['getUser'](_0x29cab3)&&_0x978967['add'](_0x29cab3);for(const {userId:_0x2cfc33}of _0x455069)_0x403e37['getUser'](_0x2cfc33)||_0x978967['add'](_0x2cfc33);}if(0x0===_0x978967['size'])return;const _0x57cbf1=await ct['getMany'](_0x1a8ee8,Array['from'](_0x978967));for(const _0x2ffb34 of _0x57cbf1)_0x403e37['getUser'](_0x2ffb34['id'])||_0x403e37['addUser'](_0x2ffb34);}}async function F(_0x5e099e){if('404'!==_0x5e099e['code'])throw _0x5e099e;}function at(_0x1138b8){if((_0x1f8893=_0x1138b8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1f8893['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1f8893['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1f8893;throw _0x1138b8;}function B(_0x446b4b){return{'threadId':_0x446b4b['commentThreadId'],'commentId':_0x446b4b['commentId'],'content':_0x446b4b['content'],'createdAt':_0x446b4b['createdAt'],'authorId':_0x446b4b['userId'],'attributes':_0x446b4b['attributes']||{}};}class m extends _0x5543a5{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5653ac){super(_0x5653ac);const _0x4075c7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x4075c7);}['init'](){const _0x4a1c9b=this['editor']['plugins']['get'](n),_0x466682=this['editor']['plugins']['get']('TrackChangesEditing');return _0x466682['adapter']={'getSuggestion':async _0xc2d765=>{await this['_waitForServiceReady']();const _0x256cde=await this['_trackChangesService']['get'](_0xc2d765)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x256cde]),_0x256cde;},'addSuggestion':async({id:_0x2331df,type:_0x15ffc8,data:_0x23aae8,originalSuggestionId:_0x5d5ae7,attributes:_0x202aed})=>{await this['_waitForServiceReady']();const _0x247112={'id':_0x2331df,'type':_0x15ffc8,'data':_0x23aae8,'originalSuggestionId':_0x5d5ae7,'attributes':_0x202aed},_0x136316=await this['_trackChangesService']['add'](_0x2331df,_0x15ffc8,_0x23aae8,_0x5d5ae7,_0x202aed)['catch'](_0x3ecd1c=>{if(ht(_0x3ecd1c))return new Promise(_0xd861c9=>{this['_bufferedRequests']['set'](_0x2331df,{'resolve':_0xd861c9,'suggestionData':_0x247112});});throw _0x3ecd1c;});return this['_bufferedRequests']['delete'](_0x2331df),_0x136316;},'updateSuggestion':async(_0x50033e,_0x3cb117)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3cb117['state'])return this['_trackChangesService']['update'](_0x50033e,_0x3cb117)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1af952,_0x44e6bb)=>{_0x466682['hasSuggestion'](_0x44e6bb['id'])&&(_0x466682['getSuggestion'](_0x44e6bb['id'])['attributes']=_0x44e6bb['attributes']);}),this['_trackChangesService']['connect'](_0x4a1c9b['connection'])['then'](_0x158202=>(_0x4a1c9b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x158202)['then'](()=>{for(const _0x320540 of _0x158202){_0x466682['addSuggestionData'](_0x320540)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5a20a6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x407b67}=this['editor']['plugins']['get'](n),_0x4d4f7f=await this['_trackChangesService']['connect'](_0x407b67);await this['_fetchMissingUsersForThreads'](_0x4d4f7f);for(const {suggestionData:_0x1485ac,resolve:_0x3d5376}of this['_bufferedRequests']['values']()){let _0x2f0a11=_0x4d4f7f['find'](_0x87ec54=>_0x87ec54['id']===_0x1485ac['id']);_0x2f0a11||(_0x2f0a11=await this['_trackChangesService']['add'](_0x1485ac['id'],_0x1485ac['type'],_0x1485ac['data'],_0x1485ac['originalSuggestionId'])),_0x3d5376(_0x2f0a11);}for(const _0x20b906 of _0x4d4f7f)_0x5a20a6['hasSuggestion'](_0x20b906['id'])||_0x5a20a6['addSuggestionData'](_0x20b906);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5bce43=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1335d=>{_0x1335d['off'](),_0x5bce43();});});}async['_fetchMissingUsersForThreads'](_0x2f6ca1){const _0x3bce86=this['editor']['plugins']['get'](_0x222559),{connection:_0x2e27b2}=this['editor']['plugins']['get'](n),_0x4024f3=new Set();for(const {authorId:_0x739bd1}of _0x2f6ca1)_0x3bce86['getUser'](_0x739bd1)||_0x4024f3['add'](_0x739bd1);if(0x0===_0x4024f3['size'])return;const _0xa306c2=await ct['getMany'](_0x2e27b2,Array['from'](_0x4024f3));for(const _0x2b782a of _0xa306c2)_0x3bce86['getUser'](_0x2b782a['id'])||_0x3bce86['addUser'](_0x2b782a);}}function k(_0x9d4476){if(ht(_0x9d4476))return new Promise(()=>{});throw _0x9d4476;}function ht(_0x295d78){return _0x295d78['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x295d78['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5543a5{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2e5161=this['editor']['plugins']['get'](n),_0x53e36b=this['editor']['plugins']['get']('CommentsEditing'),_0x8f6c7c=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2e5161,'change:state',(_0x520a80,_0xe58a4a,_0x47987f)=>{_0x53e36b['isThreadsLoadingPaused']='connected'!==_0x47987f;});}),this['listenTo'](_0x2e5161,'change:state',(_0x33e2c2,_0x5a3d16,_0x1a9049)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1a9049);}),_0x8f6c7c['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x5543a5{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x5543a5{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5f0b95)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x222559];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4b47c1){super(_0x4b47c1);const _0x17c7d3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x17c7d3);}async['init'](){const _0x30b7f4=this['editor']['plugins']['get'](l),_0x1f9ed8=_0x30b7f4['serverHistory'],_0x4b339f=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1f9ed8,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x30b7f4['sessionId']});const _0xe32ce7=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1c57e4=await _0x167f86['isBundleUploaded'](_0x4b339f['connection'],_0xe32ce7);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3863ca})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3863ca)),'updateRevisions':async _0x296204=>{await this['_waitForServiceReady']();const _0x1171ba=this['_revisionTracker']['currentRevision'];if(_0x1c57e4&&0x1===_0x296204['length']&&_0x296204[0x0]['id']===_0x1171ba['id'])return _0x296204;for(const _0x3123e8 of _0x296204)_0x3123e8['id']===_0x1171ba['id']&&(_0x3123e8['isEmptyCurrent']=_0x3123e8['fromVersion']===_0x3123e8['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x296204,this['_lastRequestId'])['then'](_0x4b57d5=>(this['_lastRequestId']=_0x4b57d5,_0x296204))['catch'](_0x4e3956=>{if(q(_0x4e3956)||'400'===_0x4e3956['code']&&void 0x0!==_0x4e3956['data']['wrongRequestId']){for(const _0x4603ab of _0x296204){!this['_revisionTracker']['repository']['getRevision'](_0x4603ab['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4603ab['id'],_0x4603ab,!0x1);}if(q(_0x4e3956))throw _0x4e3956;return _0x296204;}throw _0x4e3956;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x40c2a5,{revisionsData:_0x52ef2b,requestId:_0x24a8f8})=>{Math['max'](..._0x52ef2b['map'](_0x1a86c9=>_0x1a86c9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x52ef2b,_0x24a8f8);}):this['_handleRevisionsUpdate'](_0x52ef2b,_0x24a8f8);});const {revisions:_0xea5979,requestId:_0x1571dd}=await this['_revisionHistoryService']['connect'](_0x4b339f['connection']);_0x4b339f['addToReconnectionStack'](this),this['_lastRequestId']=_0x1571dd,await this['_fetchMissingUsers'](_0xea5979);for(const _0x3dd752 of _0xea5979)this['_revisionTracker']['addRevisionData'](_0x3dd752);this['listenTo'](_0x30b7f4,'change:_isConnected',(_0x9aaf64,_0x1032be,_0x3d9eae)=>{_0x3d9eae&&(this['_oldOffset']=_0x30b7f4['_offset'],_0x9aaf64['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4b339f,'state',_0x50a450=>_0x50a450===_0x7ec47c['CONNECTED']);}async['reconnect'](){const _0x486f67=this['editor']['plugins']['get'](n),_0x3039ff=this['editor']['plugins']['get'](l),_0x262e36=async()=>{const _0xa69d54=this['_revisionTracker']['currentRevision'],_0x112865=_0xa69d54['id'],_0x38993e=_0x112865!==_0x3039ff['sessionId'];if(_0x38993e){const _0x27e074=_0x3039ff['_offset']-this['_oldOffset'],_0x2ad574=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xa69d54['toVersion']+_0x27e074!==_0x2ad574){const _0x56a0a8=_0xa69d54['fromVersion']+_0x27e074,_0x289554=this['editor']['plugins']['get'](_0x222559),_0x316166=this['_revisionTracker']['buildRevisionData']({'revision':_0xa69d54,'from':_0x56a0a8,'to':_0x2ad574});_0x316166['id']=_0xa69d54['id'];const _0x116e38=_0x316166['authorsIds']['map'](_0x333606=>_0x289554['getUser'](_0x333606));_0xa69d54['_update']({..._0x316166,'authors':_0x116e38},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xa69d54['id'],_0x316166,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2ad574,(_0xa69d54['toVersion']===_0xa69d54['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x112865)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x112865),this['_revisionTracker']['_createCurrentRevision'](_0x2ad574));}const {revisions:_0xafa0ee,requestId:_0x2c49b3}=await this['_revisionHistoryService']['reconnect'](_0x486f67['connection'],this['_lastRequestId']);_0x38993e&&_0xafa0ee['length']>0x0?_0x3039ff['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xafa0ee),this['_handleRevisionsUpdate'](_0xafa0ee,_0x2c49b3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3039ff['_isConnected']?_0x262e36():new Promise((_0x1dcbbd,_0xef2b)=>{_0x3039ff['once']('change:_isConnected',()=>{_0x262e36()['then'](_0x1dcbbd)['catch'](_0xef2b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1c66b8=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4fc98a=>{_0x4fc98a['off'](),_0x1c66b8();});});}['_getLatestVersionFromServerOperations'](){const _0x14438b=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3ec03e of _0x14438b)if('marker'!==_0x3ec03e['type']||_0x3ec03e['affectsData'])return _0x3ec03e['baseVersion']+0x1;}['_getLatestVersion'](){const _0xc179bd=this['editor']['plugins']['get'](l);return new Promise(_0x39b53b=>{_0xc179bd['_isPendingUpdate']?_0xc179bd['once']('change:_isPendingUpdate',()=>{_0x39b53b(this['_getLatestVersionFromServerOperations']());}):_0x39b53b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x2d9ad4,_0x564b88){const _0x462f4e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x564b88;for(const _0x2d08cd of _0x2d9ad4){const _0x67d4f5=_0x462f4e['getRevision'](_0x2d08cd['id']);if(_0x67d4f5){if((_0x2d08cd['fromVersion']||_0x2d08cd['toVersion'])&&(_0x2d08cd['diffData']=null),_0x67d4f5===this['_revisionTracker']['currentRevision']){const _0x2d6acc=Math['max'](_0x67d4f5['toVersion'],_0x2d08cd['toVersion']),_0x334689=Math['max'](_0x67d4f5['fromVersion'],_0x2d08cd['fromVersion']);let _0xe114ac;_0x67d4f5['toVersion']===_0x2d08cd['toVersion']&&_0x67d4f5['fromVersion']===_0x2d08cd['fromVersion']?(_0xe114ac=!0x0,this['_preventResendingRevisionData'](_0x2d08cd)):_0x2d08cd['toVersion']===_0x2d6acc&&_0x2d08cd['fromVersion']===_0x334689?_0xe114ac=!0x1:(_0x67d4f5['toVersion']===_0x2d6acc&&_0x67d4f5['fromVersion']===_0x334689||this['_fixRevision']({'revision':_0x67d4f5,'from':_0x334689,'to':_0x2d6acc}),_0xe114ac=!0x0),_0xe114ac&&(delete _0x2d08cd['fromVersion'],delete _0x2d08cd['toVersion'],delete _0x2d08cd['diffData'],delete _0x2d08cd['createdAt'],delete _0x2d08cd['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2d08cd),this['_preventResendingRevisionData'](_0x2d08cd);}else this['_revisionTracker']['addRevisionData'](_0x2d08cd);}const _0x2c1eb5=_0x462f4e['getRevisions']();_0x2c1eb5['reverse']();for(let _0x5a2dad=0x0;_0x5a2dad<_0x2c1eb5['length']-0x1;_0x5a2dad++){const _0xd05660=_0x2c1eb5[_0x5a2dad],_0xf68033=_0x2c1eb5[_0x5a2dad+0x1];if(_0xd05660['fromVersion']<_0xf68033['toVersion']){const _0x40dbf1=_0xf68033['toVersion'],_0x43190c=Math['max'](_0x40dbf1,_0xd05660['toVersion']);this['_fixRevision']({'revision':_0xd05660,'from':_0x40dbf1,'to':_0x43190c});}}}['_fixRevision']({revision:_0x30f820,from:_0x10afac,to:_0x289dac}={}){const _0x59eebf=this['editor']['plugins']['get'](_0x222559),_0x53670a=this['_revisionTracker']['buildRevisionData']({'revision':_0x30f820,'from':_0x10afac,'to':_0x289dac});_0x53670a['authors']=_0x53670a['authorsIds']['map'](_0x2c869f=>_0x59eebf['getUser'](_0x2c869f)),_0x30f820['_update'](_0x53670a);}['_preventResendingRevisionData'](_0x18dcde){const _0x5a1c77={};_0x5a1c77['id']=_0x18dcde['id'];for(const _0x20d35b of Object['keys'](_0x18dcde))'id'!==_0x20d35b&&(_0x5a1c77[_0x20d35b]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5a1c77['id'],_0x5a1c77,!0x0);}async['_fetchMissingUsers'](_0x4cf1bc){const _0x409a7e=this['editor']['plugins']['get'](_0x222559),{connection:_0x56bc63}=this['editor']['plugins']['get'](n),_0x5cdb5b=new Set();for(const _0x1708d4 of _0x4cf1bc){for(const _0x279b1a of _0x1708d4['authorsIds'])_0x388cd8(_0x279b1a);_0x1708d4['creatorId']&&_0x388cd8(_0x1708d4['creatorId']);}if(0x0===_0x5cdb5b['size'])return;const _0x3a075a=await ct['getMany'](_0x56bc63,Array['from'](_0x5cdb5b));for(const _0x1e8189 of _0x3a075a)_0x409a7e['getUser'](_0x1e8189['id'])||_0x409a7e['addUser'](_0x1e8189);function _0x388cd8(_0x2095bf){_0x409a7e['getUser'](_0x2095bf)||_0x5cdb5b['add'](_0x2095bf);}}}function q(_0x2eded9){return _0x2eded9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2eded9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2eded9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x5543a5{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x4d2917{['_collapseAt'];constructor(_0x2515c3,_0x45e5b2=0x6){super(_0x2515c3);const _0x215be6=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x45e5b2,this['bind']('isHidden')['to'](this,'usersCount',_0x1cb19d=>_0x1cb19d<_0x45e5b2),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x215be6['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x215be6['to']('usersCount',_0x28102c=>'+'+(_0x28102c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4d2917{['items'];['keystrokes'];constructor(_0x26c3b0){super(_0x26c3b0);const _0x147b24=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x9966a1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x147b24['if']('hasPopup'),'aria-expanded':_0x147b24['to']('isExpanded',_0x19a31f=>this['hasPopup']&&String(_0x19a31f)),'aria-label':_0x147b24['to']('hasPopup',_0x4ff78d=>$(_0x26c3b0,_0x4ff78d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x147b24['to']('hasPopup',_0x3cfb61=>!!_0x3cfb61&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x147b24['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x147b24['to'](_0x1e6e47=>{const _0x4ac64e=_0x1e6e47,_0x4a8977=document['querySelector']('.ck-presence-list__dropdown-list'),_0x290caf=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a8977?.['contains'](_0x4ac64e['relatedTarget'])||_0x290caf?.['contains'](_0x4ac64e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2be911,_0x236028,_0x3b27ae)=>{this['element']&&(_0x3b27ae?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x4d2917{['counterView'];['inlineListView'];constructor(_0x5ee1ff,_0x706c93=0x6){super(_0x5ee1ff);const _0x313893=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x706c93),this['inlineListView']=new is(_0x5ee1ff),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5d6a49 of this['inlineListView']['items'])_0x5d6a49['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x313893['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x4d2917{['listWrapperView'];constructor(_0x3a7a0f,_0x154284){super(_0x3a7a0f);const _0x2fccd1=this['bindTemplate'];this['listWrapperView']=new ut(_0x3a7a0f,_0x154284),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x3a7a0f,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2fccd1['to'](_0x2f9cb0=>{const _0x5620ab=_0x2f9cb0,_0x1af4b3=document['querySelector']('.ck-presence-list__list'),_0x24e502=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1af4b3?.['contains'](_0x5620ab['relatedTarget'])||_0x24e502?.['contains'](_0x5620ab['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x4941b4{constructor(_0x21f421,_0x76ffc1){super(_0x21f421);const _0x1a909f=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x76ffc1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1a909f['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1a909f['to']('role'),'aria-label':_0x1a909f['to']('ariaLabel'),'aria-labelledby':_0x1a909f['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3979c9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x394cf6=this['element'];_0x394cf6&&(this['_isScrollable']=Math['max'](_0x394cf6['scrollHeight'],_0x394cf6['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x438bf3,_0x3fbe95,_0x5a20ff){super(_0x438bf3);const _0x1d8888=this['bindTemplate'];this['userView']=new st(_0x438bf3,_0x3fbe95);const _0x48e2be={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3fbe95['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3fbe95['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3fbe95['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5a20ff&&(_0x48e2be['tag']='button',_0x48e2be['on']={'click':_0x1d8888['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x48e2be);}['focus'](){this['element']['focus']();}}class A extends _0x4d2917{['userView'];['markerView'];constructor(_0x12c76f,_0x1138ea,_0x3f53e3){super(_0x12c76f);const _0x50b6cd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x12c76f,_0x1138ea),this['markerView']=new ot(_0x12c76f,_0x1138ea);const _0x56d52f=new it(_0x12c76f);_0x56d52f['template']['tag']='span',_0x56d52f['text']=_0x1138ea['name'];const _0x306cb6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x50b6cd['to']('isFocusable',_0x3dc045=>!!_0x3dc045&&0x0),'aria-labelledby':_0x56d52f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x50b6cd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x50b6cd['to']('hasTooltip',_0x4f0d66=>!_0x4f0d66),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x56d52f]};_0x3f53e3&&(_0x306cb6['tag']='button',_0x306cb6['on']={'click':_0x50b6cd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x306cb6);}}class ot extends _0x4d2917{constructor(_0x109721,_0x490e98){super(_0x109721),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x490e98['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3037e3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x559c09){super(_0x559c09),this['context']['config']['define']('presenceList',x);const _0x4dfda9=_0x559c09['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4dfda9)throw new _0x1c2f2a('presencelist-collapseat-invalid-format',this);if(_0x4dfda9<0x1)throw new _0x1c2f2a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x56572f(),this['balloonPanelView']=new _0x1f3152(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x33d978 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x33d978);this['listenTo'](this['_allConnectedUsers'],'add',(_0x12dff7,_0x72d051)=>{this['_handleUserAdd'](_0x72d051);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5bdc9d,_0x26de4b)=>{this['_handleUserRemove'](_0x26de4b);});}['_createView'](){const _0x5872ff=this['context'],_0x4376e9=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xcb6d18=this['balloonPanelView'];if(!_0x143b0d(_0x5872ff['config']['get']('presenceList.container')))throw new _0x1c2f2a('presencelist-missing-container',this);return _0x4376e9['counterView']['bind']('usersCount')['to'](this),_0x4376e9['bind']('isCollapsed')['to'](this,'usersCount',_0x5a95a9=>{const {collapseAt:_0xadbd91}=_0x5872ff['config']['get']('presenceList'),_0x5c0335=_0x5a95a9>=_0xadbd91;if(_0x5c0335&&!_0x4376e9['inlineListView']['items']['find'](_0x570b03=>_0x570b03 instanceof b)){const _0x1a5469=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1a5469&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4376e9['inlineListView']['items']['add'](_0x4376e9['counterView']);}return _0x5c0335||this['hideDropdown'](),_0x5c0335;}),_0x4376e9['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x100be9=>{const _0x3b2cfb=_0x5872ff['config']['get']('presenceList'),_0x505e12=new A(_0x5872ff['locale'],_0x100be9,!!_0x3b2cfb['onClick']);return _0x505e12['bind']('hasTooltip')['to'](_0x4376e9,'isCollapsed',_0x328b1b=>!_0x328b1b),_0x505e12['bind']('isFocusable')['to'](_0x4376e9,'isCollapsed',_0xdcd431=>!_0xdcd431),_0x3b2cfb['onClick']&&this['listenTo'](_0x505e12,'execute',()=>{this['view']['isCollapsed']||_0x3b2cfb['onClick'](_0x100be9,_0x505e12['element']);}),_0x505e12;}),this['listenTo'](_0x4376e9['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4376e9['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4376e9['inlineListView']['keystrokes']['set']('Enter',(_0x321ee2,_0x10bcdb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x10bcdb());}),_0x4376e9['render'](),_0xcb6d18['render'](),_0x3495ca({'emitter':_0x4376e9,'activator':()=>_0xcb6d18['isVisible'],'contextElements':[_0xcb6d18['element'],_0x4376e9['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5872ff['config']['get']('presenceList.container')['appendChild'](_0x4376e9['element']),this['_bodyCollection']=new _0x212a26(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4376e9;}['_handleUserAdd'](_0x2b4f5d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2b4f5d['isMe'])return;const _0x28be68=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x28be68-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x575d46=_0x2b4f5d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2b4f5d,_0x575d46);}['_handleUserRemove'](_0x1f6460){this['usersCount']--;const {collapseAt:_0x59407c}=this['context']['config']['get']('presenceList'),_0x1e406e=this['usersCount']>=_0x59407c;if(this['currentDisplayedUsers']['get'](_0x1f6460['id']))this['currentDisplayedUsers']['remove'](_0x1f6460['id']);else{if(_0x1e406e&&this['currentDisplayedUsers']['length']+0x1===_0x59407c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1e406e?0x1:0x0)<this['usersCount']){for(const _0x2fcda0 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2fcda0['id'])&&(this['currentDisplayedUsers']['add'](_0x2fcda0,Math['min'](this['currentDisplayedUsers']['length']-(_0x1e406e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1e406e?0x1:0x0)===_0x59407c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1f16d3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1f16d3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1e6348}=this['presenceDropdownView'];_0x1e6348['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x26d0f9=>{if(!_0x1f16d3['displayMe']&&_0x26d0f9['isMe'])return null;const _0x2e2a59=new j(this['context']['locale'],_0x26d0f9,!!_0x1f16d3['onClick']);return _0x1f16d3['onClick']&&this['listenTo'](_0x2e2a59,'execute',()=>{_0x1f16d3['onClick'](_0x26d0f9,_0x2e2a59['element']);}),_0x2e2a59;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1e6348['focus'](),_0x1e6348['checkIfScrollable']();const _0x56b0a7=(_0x1399c5,_0x4008ae)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4008ae();};_0x1e6348['keystrokes']['set']('Esc',_0x56b0a7),_0x1e6348['keystrokes']['set']('Shift+Tab',_0x56b0a7),_0x1e6348['keystrokes']['set']('Tab',(_0x4f173b,_0x3e65ad)=>{!function(_0x28bc42){const _0x1977a1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3262ea=>_0x3262ea+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x49cfc7=[...document['body']['querySelectorAll'](_0x1977a1)]['filter'](_0xc71f4a=>_0xc71f4a===document['activeElement']||_0xc71f4a['offsetWidth']+_0xc71f4a['offsetHeight']>0x0)['sort']((_0x2054bd,_0x4fd535)=>(_0x2054bd['tabIndex']||0x0)-(_0x4fd535['tabIndex']||0x0)),_0x371929=_0x49cfc7['indexOf'](_0x28bc42),_0x572a41=_0x49cfc7[(_0x371929+0x1)%_0x49cfc7['length']];_0x572a41&&_0x572a41['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e65ad();}),_0x1e6348['focusTracker']['add'](this['view']['element']),_0x1e6348['focusTracker']['on']('change:isFocused',(_0x1db7bf,_0x6c4a46,_0x185f53)=>{_0x185f53||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class ft extends _0x3037e3{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};