@ckeditor/ckeditor5-real-time-collaboration 47.2.0-alpha.7 → 47.2.0

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 _0x599721,Plugin as _0xc9bf9,PendingActions as _0x49b480,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x464743,CKEditorError as _0x2fbe17,Collection as _0x432d18,global as _0x2083d2,version as ht,uid as _0xe5e9d0,KeystrokeHandler as _0x49575a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2e5083,View as _0x17a336,ListView as _0x5db435,ListItemView as rt,LabelView as at,BalloonPanelView as _0x332232,clickOutsideHandler as _0x2d70ad,BodyCollection as _0x217300}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2944f4,History as _0x206bc3,NoOperation as _0x298d50,InsertOperation as _0x3bc92f,MarkerOperation as _0x174904,RootAttributeOperation as _0x350c0d,transformOperationSets as _0xfe7ab4,OperationFactory as _0x5baba0}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0xb45cde,CollaborativeEditingService as _0x4020f4,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x5eb4f3,EditorService as _0x117aff}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3a91e5,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x135d69}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5788d8}from'es-toolkit/compat';class n extends _0x599721{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2e5083];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19cffd){super(_0x19cffd),this['set']('state',_0xb45cde['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x464743())();}['init'](){const _0x189f74=this['context'],_0x1b5a32=_0x189f74['plugins']['get']('CloudServices'),_0x4d243b=_0x189f74['plugins']['get'](_0x2e5083);if(!_0x1b5a32['token'])throw new _0x2fbe17('websocketgateway-missing-token',this);if(!_0x1b5a32['webSocketUrl'])throw new _0x2fbe17('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'](_0x1b5a32['token'],_0x1b5a32['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x331de2=>{if(this['connection']=_0x331de2,this['bind']('state')['to'](_0x331de2,'state',this,'_isBrowserOffline',(_0x1061ab,_0x3ddcd0)=>('connected'!==_0x1061ab&&(this['_shouldPluginsReconnect']=!0x0),_0x3ddcd0||_0x1061ab!==_0xb45cde['CONNECTED']?_0xb45cde['DISCONNECTED']:this['state']==_0xb45cde['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xb45cde['CONNECTING']):_0xb45cde['CONNECTED'])),this['connection']['on']('error',(_0x1a56ed,_0x522892)=>{if('limitExceeded'!==_0x522892['code'])throw console['error'](_0x522892),new _0x2fbe17('cloudservices-init',null,{'originalError':_0x522892});_0x4d243b['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'});}),!_0x331de2['me'])return new Promise(_0x1b9f94=>_0x331de2['on']('change:me',_0x1b9f94));})['catch'](_0x12a3cc=>{throw console['error'](_0x12a3cc),new _0x2fbe17('cloudservices-init',null,{'originalError':_0x12a3cc});});}['addToReconnectionStack'](_0x4a473c){if('function'!=typeof _0x4a473c['reconnect'])throw new _0x2fbe17('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4a473c))throw new _0x2fbe17('websocketgateway-plugin-already-registered',this,{'name':_0x4a473c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4a473c);}['removeFromReconnectionStack'](_0x5c80df){this['_reconnectionStack']['delete'](_0x5c80df);}['isInReconnectionStack'](_0xe45c85){return this['_reconnectionStack']['has'](_0xe45c85);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5ae1d5=>_0x5ae1d5['reconnect']())))['then'](()=>this['state']=_0xb45cde['CONNECTED'])['catch'](_0x4a927e=>{throw console['error'](_0x4a927e),new _0x2fbe17('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xb45cde['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x599721{['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,_0x3a91e5];}constructor(_0x45738a){super(_0x45738a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x432d18(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a91e5);}['init'](){const _0x155993=this['context']['plugins']['get'](n);this['listenTo'](_0x155993,'change:state',(_0x3517c5,_0x4f23a8,_0x4d526d)=>{if('connected'!==_0x4d526d)this['channelSessions']['forEach'](_0xae0d4a=>_0xae0d4a['clear']()),this['channelConnectedUsers']['forEach'](_0x4ac659=>_0x4ac659['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x12de41,_0x31dfd5]of this['_registeredSessions'])for(const _0x4fb77f of _0x31dfd5)this['_handleSessionAdd'](_0x12de41,_0x4fb77f);}}),this['_createUser'](_0x155993['connection']['me'],!0x0);}['register'](_0xbedcaf,_0x5865a7){if(this['_registeredSessions']['has'](_0xbedcaf))throw new _0x2fbe17('sessions-register-already-registered',null,{'channelId':_0xbedcaf});this['_registeredSessions']['set'](_0xbedcaf,_0x5865a7),this['channelSessions']['set'](_0xbedcaf,new _0x432d18()),this['channelConnectedUsers']['set'](_0xbedcaf,new _0x432d18()),this['listenTo'](_0x5865a7,'add',(_0xa34ad8,_0x399082)=>this['_handleSessionAdd'](_0xbedcaf,_0x399082)),this['listenTo'](_0x5865a7,'remove',(_0x2ea6c7,_0x5ab8eb)=>this['_handleSessionRemove'](_0xbedcaf,_0x5ab8eb));for(const _0x1c7368 of _0x5865a7)this['_handleSessionAdd'](_0xbedcaf,_0x1c7368);}['unregister'](_0xf0f13){if(!this['_registeredSessions']['has'](_0xf0f13))throw new _0x2fbe17('sessions-unregister-not-exist',null,{'channelId':_0xf0f13});const _0x1bb995=this['_registeredSessions']['get'](_0xf0f13);this['stopListening'](_0x1bb995);for(const _0x150826 of _0x1bb995)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xf0f13,_0x150826);this['_registeredSessions']['delete'](_0xf0f13),this['channelSessions']['delete'](_0xf0f13),this['channelConnectedUsers']['delete'](_0xf0f13);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3d2f89){for(const _0x5ebf4a of this['channelSessions']['values']())for(const _0x3ef2c3 of _0x5ebf4a)if(_0x3ef2c3['id']===_0x3d2f89)return _0x3ef2c3['user'];}['getUserSessions'](_0x15e5ec,_0x2e42ac){const _0x26403=_0x2e42ac?[this['channelSessions']['get'](_0x2e42ac)]:this['channelSessions']['values'](),_0x290968=new Set();for(const _0x4e9396 of _0x26403)for(const _0x32da09 of _0x4e9396)_0x32da09['user']['id']===_0x15e5ec['id']&&_0x290968['add'](_0x32da09['id']);return _0x290968;}['getUserRole'](_0x46a64b){for(const _0x119c95 of this['channelSessions']['values']())for(const _0x437e54 of _0x119c95)if(_0x437e54['user']===_0x46a64b)return _0x437e54['role'];}['_handleSessionAdd'](_0x447225,_0x21b4ec){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x75d1d8=_0x21b4ec['user'],_0x730454=this['_users']['getUser'](_0x75d1d8['id'])||this['_createUser'](_0x75d1d8),_0x98ecfd=Object['assign']({},_0x21b4ec,{'user':_0x730454});if(this['channelSessions']['get'](_0x447225)['add'](_0x98ecfd),!_0x75d1d8['hiddenInPresenceList']){const _0x172a4f=this['channelConnectedUsers']['get'](_0x447225);_0x172a4f['has'](_0x730454['id'])||_0x172a4f['add'](_0x730454),this['allConnectedUsers']['has'](_0x730454['id'])||_0x75d1d8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x730454,_0x730454['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x447225,{'channelId':_0x447225,'session':_0x98ecfd});}['_handleSessionRemove'](_0xfbe95e,_0x4c8243){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x2717d9=this['channelConnectedUsers']['get'](_0xfbe95e),_0x38d9f7=_0x4c8243['user'];_0x38d9f7['id']&&(this['channelSessions']['get'](_0xfbe95e)['remove'](_0x4c8243['id']),_0x2717d9['has'](_0x38d9f7['id'])&&!this['getUserSessions'](_0x38d9f7,_0xfbe95e)['size']&&_0x2717d9['remove'](_0x38d9f7['id']),this['allConnectedUsers']['get'](_0x38d9f7['id'])&&!this['getUserSessions'](_0x38d9f7)['size']&&this['allConnectedUsers']['remove'](_0x38d9f7['id']));}['_createUser'](_0x1cbe6d,_0x2aaf27){const _0x2c4fe0=this['_users']['addUser'](_0x1cbe6d);return _0x2aaf27&&this['_users']['defineMe'](_0x1cbe6d['id']),_0x2c4fe0['orderNumber']=this['_uniqueUsersCount']++,_0x2c4fe0;}}class z extends _0xc9bf9{['_domEmitter']=new(_0x464743())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5b0171=this['editor'],_0x48187b=_0x5b0171['plugins']['get'](i);_0x5b0171['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x13e6cf,{writer:_0xda3b2a})=>function(_0x229c45,_0x5f18be,_0x2453e3,_0x51c9b4){const _0x33295e=_0x229c45['markerName']['split'](':')[0x2],_0x562b60=_0x2453e3['getUserBySessionId'](_0x33295e);if(!_0x562b60||_0x33295e===_0x2453e3['mySessionId'])return;if(!_0x51c9b4['model']['schema']['checkChild'](_0x229c45['markerRange']['start'],'$text'))return;const _0x19af9e={'class':'ck-user__marker\x20'+_0x562b60['color']['getMarkerClass'](),'data-name':_0x562b60['name'],'data-session-id':_0x33295e},_0x56eec6=_0x51c9b4['model']['markers']['get'](_0x229c45['markerName']),_0xc80ba4=_0x56eec6['getStart'](),_0x2f0441=_0xc80ba4['nodeAfter'],_0x12c88d=_0x51c9b4['model']['schema'];if(_0x2f0441&&_0x12c88d['isObject'](_0x2f0441)&&_0x12c88d['isInline'](_0x2f0441)&&!_0x51c9b4['model']['markers']['get']('user:range:'+_0x33295e)['getRange']()['isCollapsed'])return;const _0x484bed=_0xc80ba4['parent'];return _0x51c9b4['model']['schema']['isLimit'](_0x484bed)&&!_0x51c9b4['model']['hasContent'](_0x484bed)&&(_0x19af9e['contenteditable']=!0x1),function(_0x3897cb,_0x4721a4,_0x1cabe6){const _0x524b6b=_0x3897cb['createUIElement']('span',_0x4721a4);return _0x3897cb['setCustomProperty']('userPositionMarker',!0x0,_0x524b6b),_0x524b6b['render']=function(_0x505f03){const _0x4b5870=this['toDomElement'](_0x505f03),_0x3fab0e=document['createElement']('span');return _0x3fab0e['classList']['add']('ck-user__marker-tooltip'),_0x3fab0e['setAttribute']('contenteditable','false'),_0x3fab0e['setAttribute']('spellcheck','false'),_0x3fab0e['textContent']=_0x1cabe6['name'],_0x4b5870['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3fab0e['outerHTML']+'⁠',_0x4b5870['addEventListener']('mouseenter',()=>{_0x4b5870['classList']['add']('ck-user__marker_hovered');}),_0x4b5870['addEventListener']('mouseleave',()=>{_0x4b5870['classList']['remove']('ck-user__marker_hovered');}),_0x4b5870;},_0x524b6b['isSimilar']=function(_0x213534){return!(!this['getCustomProperty']('userPositionMarker')||!_0x213534['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x213534['getAttribute']('data-session-id'));},_0x524b6b;}(_0x5f18be,_0x19af9e,_0x562b60);}(_0x13e6cf,_0xda3b2a,_0x48187b,_0x5b0171)}),_0x5b0171['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33d453=>function(_0x4b7515,_0x4c6b42){const _0x11b3b3=_0x4b7515['markerName']['split'](':')[0x2];if(_0x11b3b3===_0x4c6b42['mySessionId'])return null;const _0x2a5bf2=_0x4c6b42['getUserBySessionId'](_0x11b3b3);if(!_0x2a5bf2)return{'id':_0x11b3b3,'classes':[]};return{'id':_0x11b3b3,'classes':['ck-user__selection',_0x2a5bf2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x11b3b3},'priority':0x7d0+_0x2a5bf2['orderNumber']};}(_0x33d453,_0x48187b)}),function(_0xe3ad66){const _0x26b44b=_0xe3ad66['model'],_0x56c30b=new Map(),_0x35777c=_0xe3ad66['plugins']['get'](i);_0x26b44b['markers']['on']('update:user:range',(_0x3c7ea8,_0x317aff,_0x388282,_0x5a2018)=>{if(!_0x5a2018&&_0x56c30b['get'](_0x317aff['name']))return _0x56c30b['get'](_0x317aff['name'])['detach'](),void _0x56c30b['delete'](_0x317aff['name']);const _0x27e58f=_0x317aff['name']['split'](':')[0x2];if(_0x27e58f===_0x35777c['mySessionId'])return;const _0x3cd2af='user:position:'+_0x27e58f;_0x26b44b['markers']['has'](_0x3cd2af)&&_0xe3ad66['editing']['reconvertMarker'](_0x3cd2af),_0x317aff['on']('change:range',(_0xa721bc,_0x227019,_0xab0cdd)=>{if('$graveyard'!=_0x227019['root']['rootName']&&'$graveyard'==_0x317aff['getRange']()['root']['rootName']&&!_0x56c30b['has'](_0x317aff['name'])){const _0x5e608d=_0x26b44b['schema']['getNearestSelectionRange'](_0xab0cdd['deletionPosition']);if(_0x5e608d){const _0x2afb99=_0x2944f4['fromRange'](_0x5e608d);_0x56c30b['set'](_0x317aff['name'],_0x2afb99),_0x2afb99['on']('change:range',(_0x10b1d0,_0x4f8785,_0x5bc0eb)=>{if('$graveyard'==_0x2afb99['root']['rootName']){const _0x3aeaf9=_0x26b44b['schema']['getNearestSelectionRange'](_0x5bc0eb['deletionPosition']);_0x3aeaf9?(_0x2afb99['start']=_0x3aeaf9['start'],_0x2afb99['end']=_0x3aeaf9['end']):(_0x56c30b['delete'](_0x317aff['name']),_0x2afb99['detach']());}});}}});}),_0x26b44b['document']['on']('change',()=>{_0x56c30b['size']>0x0&&_0x26b44b['enqueueChange']({'isUndoable':!0x1},_0x61dadd=>{for(const [_0x4911f3,_0x119f90]of _0x56c30b)'$graveyard'==_0x26b44b['markers']['get'](_0x4911f3)['getRange']()['root']['rootName']&&(Y(_0x4911f3['split'](':')[0x2],_0x119f90['toRange'](),_0x26b44b,_0x61dadd),_0x119f90['detach']());_0x56c30b['clear']();});});}(_0x5b0171),this['_domEmitter']['listenTo'](_0x2083d2['document'],'keydown',(_0x3ebe0f,{key:_0x316d0f})=>{'Escape'===_0x316d0f&&function(_0xa6b500){_0xa6b500['editing']['view']['change'](_0x54b90b=>{for(const _0x4df848 of _0xa6b500['model']['markers']){if(!_0x4df848['name']['startsWith']('user:position'))continue;const _0x1a1e41=_0xa6b500['editing']['mapper']['markerNameToElements'](_0x4df848['name']);if(_0x1a1e41){for(const _0x501686 of _0x1a1e41)_0x54b90b['removeClass']('ck-user__marker_hovered',_0x501686);}}});}(_0x5b0171);},{'useCapture':!0x0});}['afterInit'](){const _0x3fbb02=this['editor'],_0x12f810=_0x3fbb02['commands']['get']('undo');_0x12f810&&_0x3fbb02['model']['on']('applyOperation',(_0x5c27cb,_0x478e13)=>{const _0x5756d4=_0x478e13[0x0];if(!_0x5756d4['isDocumentOperation'])return;if('marker'!=_0x5756d4['type']||!_0x5756d4['name']['startsWith']('user:'))return;const _0x11f1e6=_0x5756d4['batch'];_0x12f810['_createdBatches']['has'](_0x11f1e6)&&(_0x5756d4['newRange']=_0x5756d4['oldRange']?_0x3fbb02['model']['createRange'](_0x5756d4['oldRange']['start'],_0x5756d4['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x344ad2=this['editor'],_0x4916fd=_0x344ad2['model']['document'],_0x50f8fd=_0x344ad2['plugins']['get'](i);_0x344ad2['model']['enqueueChange']({'isUndoable':!0x1},_0x775279=>{const _0x18d639='user:range:'+_0x50f8fd['mySessionId'],_0x5d5d8f='user:position:'+_0x50f8fd['mySessionId'],_0x54526d=_0x344ad2['model']['markers']['has'](_0x18d639);_0x344ad2['editing']['view']['hasDomSelection']?Y(_0x50f8fd['mySessionId'],_0x4916fd['selection']['getFirstRange'](),_0x344ad2['model'],_0x775279):_0x54526d&&(_0x775279['removeMarker'](_0x18d639),_0x775279['removeMarker'](_0x5d5d8f));});}}function Y(_0x4eed49,_0xda346e,_0x2ef0c0,_0x359e6a){const _0x579c33='user:range:'+_0x4eed49,_0x430665='user:position:'+_0x4eed49,_0xe40f94=_0xda346e['getContainedElement']();let _0x1ee2c2=_0xda346e['start'];if(_0xe40f94&&_0xe40f94['is']('element','tableCell')){const _0x44cda0=function(_0x2d1ef8,_0x2271ab){for(const _0x5b3d9b of _0x2d1ef8['getPositions']())if(_0x2271ab['schema']['checkChild'](_0x5b3d9b,'$text'))return _0x5b3d9b;}(_0xda346e,_0x2ef0c0);_0x44cda0&&(_0x1ee2c2=_0x44cda0,_0xda346e=_0x359e6a['createRange'](_0x1ee2c2));}const _0x4d8b46=_0x359e6a['createRange'](_0x1ee2c2);_0x2ef0c0['markers']['has'](_0x579c33)?(_0x359e6a['updateMarker'](_0x579c33,{'range':_0xda346e}),_0x359e6a['updateMarker'](_0x430665,{'range':_0x4d8b46})):(_0x359e6a['addMarker'](_0x579c33,{'range':_0xda346e,'usingOperation':!0x0}),_0x359e6a['addMarker'](_0x430665,{'range':_0x4d8b46,'usingOperation':!0x0}));}function V(_0x4a2d20,_0x1d809e,_0x35b778){const _0x14ce21=_0x4a2d20['t'],t=_0x4a2d20['t'];switch(_0x1d809e){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 _0x14ce21({'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'},_0x35b778);default:return'';}}let q=0x1;class l extends _0xc9bf9{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x4020f4)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,z,_0x49b480,_0x3a91e5,_0x2e5083];}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 _0x12d211=this['serverHistory']['getOperations']();for(let _0x33a958=_0x12d211['length']-0x1;_0x33a958>=0x0;_0x33a958--){const _0x2c3371=_0x12d211[_0x33a958];if(!this['_disconnectionOperations']['has'](_0x2c3371))return _0x2c3371['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x7deec6){if(super(_0x7deec6),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x206bc3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2fbe17('collaboration-missing-channelid',this);const _0x25b0a8=_0x7deec6['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x25b0a8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x135d69(),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 K(this['_disconnectionOperations']);}['init'](){const _0x1446a7=this['editor'],_0x275887=_0x1446a7['plugins']['get'](_0x3a91e5),_0x27e523=_0x1446a7['plugins']['get'](n);this['listenTo'](_0x275887,'getOperationAuthor',(_0x3b5fe6,_0x1ed6fb)=>{const _0xf8b629=_0x1ed6fb[0x0];_0xf8b629['_authorId']&&(_0x3b5fe6['return']=_0x275887['getUser'](_0xf8b629['_authorId']),_0x3b5fe6['stop']()),null===_0xf8b629['_authorId']&&(_0x3b5fe6['return']=null,_0x3b5fe6['stop']());},{'priority':'high'}),this['listenTo'](_0x1446a7['model']['document']['selection'],'change:range',(_0x417590,_0x14e7d7)=>{_0x14e7d7['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1446a7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1446a7['model']['on']('applyOperation',(_0x4b9dda,_0x16566a)=>{const _0x4755d3=_0x16566a[0x0];_0x4755d3['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4755d3),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x27e523,'state',this,'_hasSynchronizationProblem',(_0x2e418c,_0xbc58be)=>'connected'===_0x2e418c&&!_0xbc58be),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1446a7['disableReadOnlyMode']('rtc-offline'):_0x1446a7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1446a7['disableReadOnlyMode']('rtc-offline'):_0x1446a7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5e0119=this['editor']['plugins']['get'](i),_0x3c0ee2=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x5e0119['unregister'](this['_channelId']);const _0x4abe15=await this['_service']['reconnect'](_0x3c0ee2['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4abe15)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47f6ff=await this['_service']['getConnectedSessions']();_0x5e0119['register'](this['_channelId'],_0x47f6ff),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xaafc04){if(function(_0x4a3ad0){return'404'===_0x4a3ad0['code'];}(_0xaafc04)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2a59ca){return'409'===_0x2a59ca['code'];}(_0xaafc04)){const _0xa0dcc7=V(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'](_0xa0dcc7);}else{if(!(_0xaafc04 instanceof G))throw _0xaafc04;this['_handleReconnectionError']();}}}}['destroy'](){const _0x374ffa=this['editor']['plugins']['get'](n),_0x5d1bf4=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5d1bf4['channelSessions']['has'](this['_channelId'])&&_0x5d1bf4['unregister'](this['_channelId']),_0x374ffa['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4576f5){if(this['sessionId']!==_0x4576f5['sessionId']&&this['_lastSyncedOperationId']!==_0x4576f5['lastOperationId'])throw new G();return this['sessionId']=_0x4576f5['sessionId'],this['_handleServerResponse']([],{..._0x4576f5,'wereChangesApplied':!0x1,'data':_0x4576f5['data']},'reconnect');}async['_connectService'](_0x78e7b7,_0x536e17=!0x1){const {connection:_0x2f6e43}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2f6e43,this['_channelId'])['then'](_0x4f4b7a=>this['_initSessionsHandling'](_0x4f4b7a))['catch'](_0x22b848=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x22b848);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x591380,_0x56d8ce)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x56d8ce);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x27c832=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x78e7b7);this['_isPendingUpdate']=!0x0;const _0x1d29ec=await this['_service']['connect'](_0x2f6e43,this['_compressOperations'](_0x78e7b7),_0x27c832);if(this['sessionId']=_0x1d29ec['sessionId'],_0x536e17){if(!_0x1d29ec['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1d29ec['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x78e7b7,_0x1d29ec,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1d29ec,_0x78e7b7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5c1698=this['editor']['plugins']['get'](i),_0x182db1=this['editor']['plugins']['get'](z),_0x28a67d=_0x5c1698['channelSessions']['get'](this['_channelId']);_0x28a67d&&_0x28a67d['length']>0x1?_0x182db1['createUserMarkerOperations']():this['listenTo'](_0x5c1698,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5c1698['channelSessions']['get'](this['_channelId'])['length']&&_0x182db1['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2a46be,_0x42c466,_0x13f727,_0x36df86){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x42c466){const _0x18bf7e=this['_decompressOperations'](_0x13f727,_0x36df86);await this['_fetchMissingUsers'](_0x18bf7e),this['_handleExternalOperations'](_0x18bf7e,_0x42c466,_0x13f727['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xa9950a}=this['editor'];let _0x1101ad;try{_0x1101ad=await this['_service']['getDocumentDetails']();}catch{const _0x648b0b=V(_0xa9950a,'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'](_0x648b0b);}const _0x21a093=_0x1101ad['currentDocumentSession']||_0x1101ad['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x21a093['lastOperationId']){const _0x5b20e7=V(_0xa9950a,'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'](_0x5b20e7);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2dea85){const _0x1d9cc3=this['editor']['plugins']['get'](i);this['listenTo'](_0x1d9cc3,'sessionAdd:'+this['_channelId'],(_0x3da823,{session:_0x564dfb})=>{if(_0x564dfb['id']===_0x1d9cc3['mySessionId']){_0x3da823['off']();const _0x8e152a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5281f8=_0x564dfb['permissions'];_0x8e152a&&_0x8e152a['isEnabled']&&(_0x5281f8=_0x5281f8['filter'](_0x1bb722=>'document:write'!==_0x1bb722)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5281f8,this['_channelId']);}}),_0x1d9cc3['register'](this['_channelId'],_0x2dea85);}['_initThrowingOnDataSet'](){const _0x1872e6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x7b1aa6)=>{if(!_0x7b1aa6[_0x7b1aa6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2fbe17('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1872e6['apply'](this['editor']['data'],_0x7b1aa6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3ad7ab,[_0x329e4b])=>{if(this['_document']['version'])throw new _0x2fbe17('realtimecollaborationclient-init-document-already-initialized',this);_0x3ad7ab['stop'](),this['_setPendingAction']();const _0x37db6a=this['editor']['config']['get']('rootsAttributes'),_0x2f2d0a=this['_getOperationsFromInitData'](_0x329e4b,_0x37db6a);0x0==_0x2f2d0a['length']&&_0x2f2d0a['push'](new _0x298d50(0x0)),_0x3ad7ab['return']=this['_connectService'](_0x2f2d0a)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2aabe7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2aabe7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4cf628,[_0x17c676,_0x1a91d9])=>{_0x4cf628['stop']();const _0x1aa110=this['editor']['model']['document']['getRoot'](_0x17c676);if(!this['_knownRootNames']['has'](_0x17c676)){const _0x14b3cc=_0x1a91d9&&_0x1a91d9['data']?_0x1a91d9['data']:'',_0x48dce5=_0x1a91d9&&_0x1a91d9['attributes']?_0x1a91d9['attributes']:{};await this['_loadRoot'](_0x17c676,_0x14b3cc,_0x48dce5);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1aa110['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1aa110);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x21321d){const _0x2f2b17=this['editor']['plugins']['get'](_0x3a91e5),{connection:_0x54fe52}=this['editor']['plugins']['get'](n),_0xdcfc71=new Set();for(const _0x2aef05 of _0x21321d){const _0x5bdef5=_0x2aef05['_authorId'];_0x5bdef5&&!_0x2f2b17['getUser'](_0x5bdef5)&&_0xdcfc71['add'](_0x5bdef5);}if(0x0===_0xdcfc71['size'])return;const _0x56d365=await ut['getMany'](_0x54fe52,Array['from'](_0xdcfc71));for(const _0x40f512 of _0x56d365)_0x2f2b17['getUser'](_0x40f512['id'])||_0x2f2b17['addUser'](_0x40f512);}['_getOperationsFromInitData'](_0xc16828,_0x3175b5={}){const _0xa85e5b=this['editor']['model'],_0x390eec=[];let _0x2bd277=0x0;const _0x59300a='string'==typeof _0xc16828?{'main':_0xc16828}:_0xc16828;for(const _0xb5a1dd of Object['keys'](_0x59300a)){if(!this['_document']['roots']['has'](_0xb5a1dd))throw new _0x2fbe17('realtimecollaborationclient-init-non-existent-root',this);const _0x361942=this['editor']['data']['parse'](_0x59300a[_0xb5a1dd]),_0x48855d=this['_document']['getRoot'](_0xb5a1dd),_0x2a39a4=new _0x3bc92f(_0xa85e5b['createPositionAt'](_0x48855d,0x0),_0x361942,_0x2bd277++);_0x390eec['push'](_0x2a39a4);for(const [_0x48ec63,_0x3e1a71]of _0x361942['markers']){const _0x5e3e00=_0xa85e5b['createRange'](_0xa85e5b['createPositionFromPath'](_0x48855d,_0x3e1a71['start']['path']['slice']()),_0xa85e5b['createPositionFromPath'](_0x48855d,_0x3e1a71['end']['path']['slice']())),_0x295344=new _0x174904(_0x48ec63,null,_0x5e3e00,_0xa85e5b['markers'],!0x0,_0x2bd277++);_0x390eec['push'](_0x295344);}}if(_0x3175b5)for(const [_0x4030c0,_0x5d33ed]of Object['entries'](_0x3175b5)){const _0x5f009a=_0xa85e5b['document']['getRoot'](_0x4030c0);if(!_0x5f009a)throw new _0x2fbe17('multi-root-editor-root-attributes-no-root',null);for(const [_0x43c6c6,_0x4b7e95]of Object['entries'](_0x5d33ed))if(null!==_0x4b7e95){const _0x1bbced=new _0x350c0d(_0x5f009a,_0x43c6c6,null,_0x4b7e95,_0x2bd277++);_0x390eec['push'](_0x1bbced);}}return _0x390eec;}async['_loadRoot'](_0x8d1d4f,_0x24e219,_0x3f8152){this['_getOperationsFromInitData']({[_0x8d1d4f]:_0x24e219},{[_0x8d1d4f]:_0x3f8152})['forEach']((_0x2f6e45,_0x3580e3)=>{_0x2f6e45['baseVersion']=this['_document']['version']+_0x3580e3,_0x2f6e45['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2f6e45);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1bc727,_0x36386d){let _0x492b90;this['_offset']=_0x1bc727['offset'];const _0x8f0367=_0x1bc727['wereChangesApplied']&&!_0x1bc727['initData'],_0x34a197=_0x8f0367?0x0:_0x1bc727['data']['baseVersion'];if(_0x36386d['forEach'](_0x3af67e=>{_0x3af67e['_isInit']=!0x0,_0x3af67e['createdAt']=_0x1bc727['sessionCreatedAt'],_0x3af67e['_authorId']=null;}),_0x8f0367)_0x492b90=_0x36386d,this['_applyOperationsSet'](_0x492b90,_0x8f0367);else{if(_0x1bc727['initData']){const _0x3b7c13=this['_getOperationsFromInitData'](_0x1bc727['initData']);this['_document']['history']['version']=-_0x3b7c13['length'],_0x3b7c13['forEach'](_0x5cf54b=>{_0x5cf54b['baseVersion']-=_0x3b7c13['length'],_0x5cf54b['createdAt']=_0x1bc727['sessionCreatedAt'],_0x5cf54b['_isInit']=!0x0,_0x5cf54b['_authorId']=null;}),this['_applyOperationsSet'](_0x3b7c13,!0x0),this['serverHistory']['version']=-_0x3b7c13['length']+this['_offset'],this['_updateServerHistory'](_0x3b7c13);}this['_document']['history']['version']=_0x34a197,_0x492b90=this['_decompressOperations'](_0x1bc727['data'],_0x1bc727['metadata']),await this['_fetchMissingUsers'](_0x492b90),this['_applyOperationsSet'](_0x492b90,_0x8f0367);}_0x1bc727['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x492b90,_0x1bc727['lastOperationId']),this['_lastSyncedOperationId']=_0x1bc727['lastOperationId']),this['serverHistory']['version']=_0x34a197+this['_offset'],this['_updateServerHistory'](_0x492b90),_0x36386d['filter'](_0x2945d0=>{const _0x40a840=this['_getAffectedRoot'](_0x2945d0);return _0x40a840&&!this['_knownRootNames']['has'](_0x40a840);})['forEach']((_0x48b266,_0x51c1ae)=>{_0x48b266['baseVersion']=this['_document']['version']+_0x51c1ae,this['_saveOperationInBuffer'](_0x48b266);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x438043,_0xd61cf4){const _0x3bba63=_0xd61cf4&&_0xd61cf4['message'];if(_0x3bba63&&_0x3bba63['startsWith']('realtimecollaborationclient'))throw _0xd61cf4;const _0x2bcf44=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2bcf44['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2fbe17(_0x438043,this['editor'],_0x3bba63?{'originalError':_0x3bba63}:void 0x0);}['_saveOperationInBuffer'](_0x5af16f){this['_knownOperations']['has'](_0x5af16f)||(this['_knownOperations']['add'](_0x5af16f),this['_bufferedOperations']['push'](_0x5af16f),this['_pendingAction']||'marker'==_0x5af16f['type']&&!_0x5af16f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x44fafe=!0x1){!_0x44fafe&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2f4c3e=>{_0x2f4c3e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xcd201a=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5ed284){return _0x5ed284['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5ed284['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5ed284['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xcd201a)||this['_crash'](_0xcd201a['message'],_0xcd201a);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x405146=>{this['on']('change:_isPendingUpdate',()=>{_0x405146();});});}async['_sendBufferedOperations'](){const _0x13fe0d=this['editor']['plugins']['get'](z);if(this['_shouldSendSelectionUpdate']()&&(_0x13fe0d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x42e825=[...this['_bufferedOperations']];for(const _0x4ed46e of _0x42e825)_0x4ed46e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4ed46e);const _0x25c207=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x42e825),_0x6cecc6=q++,_0x30f5d5=this['_compressOperations'](_0x42e825),_0x338cd9=await this['_service']['sendOperations'](_0x30f5d5,_0x30f5d5['baseVersion'],_0x25c207);try{return await this['_handleServerResponse'](_0x42e825,_0x338cd9,_0x6cecc6);}catch(_0x4f1845){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4f1845);}}async['_handleServerResponse'](_0x387558,_0x57635e,_0x24517e){if('error'in _0x57635e)throw _0x57635e['error'];let _0x43148a=!0x1;if(_0x57635e['wereChangesApplied']){_0x57635e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x57635e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x39020d=>!_0x387558['includes'](_0x39020d));for(const _0x4d60a8 of _0x387558)_0x4d60a8['createdAt']='lastOperationAcceptedAt'in _0x57635e&&_0x57635e['lastOperationAcceptedAt']||void 0x0;$(_0x387558,_0x57635e['version']-_0x387558['length']),this['_updateServerHistory'](_0x387558);const _0x116108=_0x387558['filter'](_0x1da168=>{if(!_0x1da168['_isInit'])return!0x1;const _0x17d7c6=this['_getAffectedRoot'](_0x1da168);return _0x17d7c6&&!this['_knownRootNames']['has'](_0x17d7c6);});$(_0x116108,this['_document']['version']),this['_applyOperationsSet'](_0x116108),_0x43148a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x590e6c=this['_decompressOperations'](_0x57635e['data'],_0x57635e['metadata'])['filter'](_0x464aaa=>_0x464aaa['baseVersion']>=this['_lastServerVersion']);_0x590e6c['forEach'](_0xc18b76=>this['_addKnownRoot'](_0xc18b76)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x40516f=>!_0x40516f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x40516f))),this['_bufferedOperations']['length']&&$(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x590e6c),_0x43148a=this['_handleExternalOperations'](_0x590e6c,_0x57635e['version'],_0x57635e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x43148a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x40dc54,_0x3ce01a,_0x97d28c){try{const _0x191d83={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1be83e,operationsB:_0xb72237,originalOperations:_0x3197bd}=_0xfe7ab4(_0x40dc54,this['_bufferedOperations'],_0x191d83);$(_0x1be83e,this['_document']['version']),$(_0xb72237,_0x3ce01a);for(const _0x3da2f8 of _0x1be83e){const _0x4e93dd=_0x3197bd['get'](_0x3da2f8);_0x3da2f8['_authorId']=_0x4e93dd?_0x4e93dd['_authorId']:null;}_0x97d28c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40dc54,_0x97d28c),this['_lastSyncedOperationId']=_0x97d28c),this['_bufferedOperations']=[..._0xb72237],this['_applyOperationsSet'](_0x1be83e),this['_updateServerHistory'](_0x40dc54);}catch(_0x14c640){return console['error'](_0x14c640),!0x1;}return!0x0;}['_applyOperationsSet'](_0x35c485,_0x4cbe61=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5b4519=>{for(const _0x5cd12a of _0x35c485)this['_knownOperations']['add'](_0x5cd12a),this['_addKnownRoot'](_0x5cd12a),_0x5b4519['batch']['addOperation'](_0x5cd12a),this['editor']['model']['applyOperation'](_0x5cd12a);});}['_addKnownRoot'](_0x4ae699){const _0x50f1df=this['_getAffectedRoot'](_0x4ae699);_0x50f1df&&this['_knownRootNames']['add'](_0x50f1df);}['_getAffectedRoot'](_0x56a617){let _0x2d298f,_0x411d44;switch(_0x56a617['type']){case'insert':_0x2d298f=_0x56a617['position']['root'];break;case'marker':if(_0x411d44=_0x56a617['newRange'],!_0x411d44)return null;_0x2d298f=_0x411d44['root'];break;case'addRootAttribute':_0x2d298f=_0x56a617['root'];break;case'addRoot':_0x2d298f=_0x56a617['affectedSelectable'];break;case'move':_0x2d298f=_0x56a617['targetPosition']['root'];break;default:return null;}return _0x2d298f['rootName'];}['_updateServerHistory'](_0x5260b0){_0x5260b0['forEach'](_0x397267=>{const _0x94f114=_0x397267['clone']();_0x94f114['_authorId']=_0x397267['_authorId'],_0x94f114['_isInit']=!!_0x397267['_isInit'],_0x94f114['createdAt']=_0x397267['createdAt'],_0x94f114['baseVersion']+=this['_offset'],_0x397267['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x94f114),this['serverHistory']['addOperation'](_0x94f114);});}['_handleReconnectionError'](_0x486206){const _0x48609c=this['editor']['plugins']['get']('Notification'),_0xfeefe1=this['editor']['locale'];_0x486206||(_0x486206=V(_0xfeefe1,'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.')),_0x48609c['showWarning'](_0x486206,{'title':V(_0xfeefe1,'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'](_0x49b480)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x49b480)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x408280){const _0x16f676=_0x408280['map'](_0x3d367e=>_0x3d367e['toJSON']());return this['_compressor']['compress'](_0x16f676);}['_decompressOperations'](_0x30dd79,_0x180299){return this['_compressor']['decompress'](_0x30dd79)['map']((_0x41b03e,_0x1ac4bb)=>{const _0x5cbfc0='init'==_0x180299[_0x1ac4bb]['type'];if('InsertOperation'==_0x41b03e['__className']){const _0x4687c7=_0x41b03e['position']['root'];!this['_document']['getRoot'](_0x4687c7)&&(this['_document']['createRoot']('$root',_0x4687c7)['_isAttached']=!0x1);}const _0x834b7a=_0x5baba0['fromJSON'](_0x41b03e,this['_document']);return _0x834b7a['wasUndone']=_0x41b03e['wasUndone'],_0x834b7a['_isInit']=_0x5cbfc0,_0x834b7a['_authorId']=_0x5cbfc0?null:_0x180299[_0x1ac4bb]['userId'],_0x834b7a['_isDisconnection']='cs:removeUser'===_0x180299[_0x1ac4bb]['type'],_0x834b7a['createdAt']=_0x180299[_0x1ac4bb]['createdAt'],_0x834b7a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58df9d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58df9d&&_0x58df9d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class G extends Error{}function $(_0x567a62,_0x313a8d){for(const _0x4036bb of _0x567a62)_0x4036bb['baseVersion']=_0x313a8d++;}class K{['_ignoredOperations'];['_operationToId'];constructor(_0x4c772f){this['_ignoredOperations']=_0x4c772f,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1524f2){let _0x51869d=_0x1524f2['length'];for(;_0x51869d--;){const _0x209ec4=_0x1524f2[_0x51869d];if(!this['_ignoredOperations']['has'](_0x209ec4)){if(!this['_operationToId']['has'](_0x209ec4)){const _0x3d4a34=_0xe5e9d0()['slice'](0x1,0x12);this['_operationToId']['set'](_0x209ec4,_0x3d4a34);}return this['_operationToId']['get'](_0x209ec4);}}}['setIdForTheLastOperation'](_0xce620,_0x8f7a8d){if(!_0x8f7a8d)return;let _0x534139=_0xce620['length'];for(;_0x534139--;){const _0x11ce26=_0xce620[_0x534139];this['_ignoredOperations']['has'](_0x11ce26)||this['_operationToId']['set'](_0x11ce26,_0x8f7a8d);}}}class a extends _0xc9bf9{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x599721{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x3a91e5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ae42d){super(_0x1ae42d),this['_services']=new Map();}async['init'](){const _0x2d4aaa=this['context'],_0x415826=_0x2d4aaa['plugins']['get']('CommentsRepository');if(_0x2d4aaa['plugins']['get'](n)['addToReconnectionStack'](this),_0x415826['adapter']={'addCommentThread':async({channelId:_0x57aa82,threadId:_0x37e872,comments:_0xf1cc49,resolvedAt:_0x428ea1,resolvedBy:_0x240fd2,context:_0x418cc5,attributes:_0x19cd80})=>{const _0x26484f=await this['_getService'](_0x57aa82)['addCommentThread']({'commentThreadId':_0x37e872,'comments':_0xf1cc49['map'](_0x1a79d4=>function(_0x19bca6,_0x5e2a43,_0x2b47f2){return{'commentThreadId':_0x2b47f2,'commentId':_0x19bca6['commentId'],'userId':_0x19bca6['authorId'],'content':_0x19bca6['content'],'documentId':_0x5e2a43,'createdAt':_0x19bca6['createdAt'],'attributes':_0x19bca6['attributes']||{}};}(_0x1a79d4,_0x57aa82,_0x37e872)),'resolvedAt':_0x428ea1,'resolvedBy':_0x240fd2,'context':_0x418cc5,'attributes':_0x19cd80})['catch'](ft);return{'threadId':_0x26484f['commentThreadId'],'comments':_0x26484f['comments']};},'getCommentThread':async({channelId:_0x171c68,threadId:_0x42cfc8})=>{const _0xbe5322=await this['_getService'](_0x171c68)['getCommentThread'](_0x42cfc8)['catch'](ot)['catch'](ft);return _0xbe5322?_0xbe5322['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xbe5322]),{'threadId':_0xbe5322['commentThreadId'],'comments':_0xbe5322['comments']['map'](st),'context':_0xbe5322['context'],'resolvedAt':_0xbe5322['resolvedAt'],'resolvedBy':_0xbe5322['resolvedBy'],'attributes':_0xbe5322['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8ede10,threadId:_0x39c08a,context:_0x25bd37,unlinkedAt:_0x3039ea,attributes:_0x33bd21})=>this['_getService'](_0x8ede10)['updateCommentThread']({'commentThreadId':_0x39c08a,'context':_0x25bd37,'attributes':_0x33bd21,'unlinkedAt':_0x3039ea})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x2c3ddc,threadId:_0x465257})=>{const _0x5a5bfd=await this['_getService'](_0x2c3ddc)['resolveCommentThread'](_0x465257)['catch'](ot)['catch'](ft);return{'threadId':_0x5a5bfd['commentThreadId'],'resolvedAt':_0x5a5bfd['resolvedAt'],'resolvedBy':_0x5a5bfd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1c0449,threadId:_0x1a7d97})=>this['_getService'](_0x1c0449)['reopenCommentThread'](_0x1a7d97)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x59c807,threadId:_0x5a8d12})=>this['_getService'](_0x59c807)['removeCommentThread'](_0x5a8d12)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x4774a7,threadId:_0x1301f8,commentId:_0x3d9013,content:_0x1cd171,attributes:_0x584910})=>this['_getService'](_0x4774a7)['addComment'](_0x1301f8,_0x3d9013,_0x1cd171,_0x584910)['catch'](ft),'updateComment':({channelId:_0x17bc9f,threadId:_0x232c7d,commentId:_0x2b5b7f,content:_0x10cad5,attributes:_0x2846d6})=>this['_getService'](_0x17bc9f)['updateComment'](_0x232c7d,_0x2b5b7f,_0x10cad5,_0x2846d6)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x41b0a0,threadId:_0x35d52d,commentId:_0x4b5231})=>this['_getService'](_0x41b0a0)['removeComment'](_0x35d52d,_0x4b5231)['catch'](ot)['catch'](ft)},_0x2d4aaa instanceof tt){const _0x44d959=_0x2d4aaa['config']['get']('collaboration.channelId'),_0x291a2=_0x2d4aaa['plugins']['get'](i);await this['_setUpService'](_0x44d959);const _0x2206fe=await this['_services']['get'](_0x44d959)['getConnectedSessions']();this['listenTo'](_0x291a2,'sessionAdd:'+_0x44d959,(_0x221172,{session:_0x1fb7c0})=>{_0x1fb7c0['id']===_0x291a2['mySessionId']&&(_0x221172['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1fb7c0['permissions'],_0x44d959));}),_0x291a2['register'](_0x44d959,_0x2206fe);}}async['_setUpService'](_0x2361d2){if(this['_services']['has'](_0x2361d2))throw new _0x2fbe17('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2361d2});const _0x5b5c0e=this['context']['plugins']['get']('CommentsRepository'),_0x7012f7=new s['CommentsService'](_0x2361d2);this['_services']['set'](_0x2361d2,_0x7012f7),this['listenTo'](_0x7012f7,'commentThreadAdded',(_0x543bb0,_0x16abce)=>{const {commentThreadId:_0x4b5bed,documentId:_0x14ffab,context:_0x2c7337,attributes:_0x2b1b32,resolvedAt:_0x27753f,resolvedBy:_0x25d92a,comments:_0xea350a}=_0x16abce;_0x5b5c0e['getCommentThread'](_0x4b5bed)||_0x5b5c0e['addCommentThread']({'threadId':_0x4b5bed,'channelId':_0x14ffab,'comments':_0xea350a?_0xea350a['map'](st):[],'context':_0x2c7337,'attributes':_0x2b1b32,'resolvedAt':_0x27753f,'resolvedBy':_0x25d92a,'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentThreadUpdated',(_0x343dd1,{commentThreadId:_0x3fe560,documentId:_0x5019d5,context:_0x15cacf,unlinkedAt:_0x46e2ef,attributes:_0x9bc681})=>{_0x5b5c0e['getCommentThread'](_0x3fe560)&&_0x5b5c0e['updateCommentThread']({'threadId':_0x3fe560,'channelId':_0x5019d5,'context':_0x15cacf,'unlinkedAt':_0x46e2ef,'attributes':_0x9bc681,'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentThreadResolved',(_0x489f35,{commentThreadId:_0x2cf035,resolvedBy:_0x55f439,resolvedAt:_0x614dac})=>{const _0xa86960=_0x5b5c0e['getCommentThread'](_0x2cf035);_0xa86960&&_0xa86960['resolve']({'resolvedBy':_0x55f439,'resolvedAt':_0x614dac,'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentThreadReopened',(_0x452c7e,{commentThreadId:_0x5e2d8b})=>{const _0x2ada32=_0x5b5c0e['getCommentThread'](_0x5e2d8b);_0x2ada32&&_0x2ada32['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentThreadRemoved',(_0x42953e,{commentThreadId:_0x539699})=>{const _0x2a202f=_0x5b5c0e['getCommentThread'](_0x539699);_0x2a202f&&_0x2a202f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentAdded',(_0x455a44,_0x418725)=>{const _0x512990=_0x418725['commentThreadId'],_0x4077f7=_0x5b5c0e['getCommentThread'](_0x512990);_0x4077f7&&_0x4077f7['addComment']({...st(_0x418725),'isFromAdapter':!0x0});}),this['listenTo'](_0x7012f7,'commentUpdated',(_0x51eeae,{commentThreadId:_0x3ffee3,commentId:_0x59f85c,content:_0x50bf5b,attributes:_0x5996bc})=>{const _0x390626=_0x5b5c0e['getCommentThread'](_0x3ffee3);if(_0x390626){const _0x34c913=_0x390626['getComment'](_0x59f85c);_0x34c913&&_0x34c913['update']({'content':_0x50bf5b,'attributes':_0x5996bc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x7012f7,'commentRemoved',(_0x3fd63e,{commentThreadId:_0x31b232,commentId:_0x2a2bf2})=>{const _0x3de5a1=_0x5b5c0e['getCommentThread'](_0x31b232);if(_0x3de5a1){const _0x2cc74c=_0x3de5a1['getComment'](_0x2a2bf2);_0x2cc74c&&_0x2cc74c['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2361d2);}['destroy'](){if(this['context']instanceof tt){const _0x1dacb1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1dacb1);}}['_terminateService'](_0x1f293f){if(!this['_services']['has'](_0x1f293f))throw new _0x2fbe17('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1f293f});this['_getService'](_0x1f293f)['disconnect'](),this['_services']['delete'](_0x1f293f);}async['reconnect'](){for(const _0x512111 of this['_services']['keys']())await this['_connectService'](_0x512111);if(this['context']instanceof tt){const _0x21a83d=this['context']['config']['get']('collaboration.channelId'),_0x1f628c=this['context']['plugins']['get'](i);_0x1f628c['unregister'](_0x21a83d);const _0x4acd05=await this['_services']['get'](_0x21a83d)['getConnectedSessions']();_0x1f628c['register'](_0x21a83d,_0x4acd05);}}async['_connectService'](_0x4c92f1){const {connection:_0x56df25}=this['context']['plugins']['get'](n),_0x1877ad=this['context']['plugins']['get']('CommentsRepository'),_0x479cd8=this['_services']['get'](_0x4c92f1),_0x43b5c3=await _0x479cd8['connect'](_0x56df25);await this['_fetchMissingUsersForThreads'](_0x43b5c3);const _0x26f192=new Set(Array['from'](_0x1877ad['getCommentThreads']({'channelId':_0x4c92f1}),_0x11b084=>_0x11b084['id']));for(const _0x176647 of _0x43b5c3)_0x176647['deletedAt']||_0x26f192['delete'](_0x176647['commentThreadId']);for(const _0x265645 of _0x26f192)_0x1877ad['getCommentThread'](_0x265645)['remove']({'isFromAdapter':!0x0});for(const _0x1008c0 of _0x43b5c3){let _0x15eb4e=_0x1877ad['getCommentThread'](_0x1008c0['commentThreadId']);const {commentThreadId:_0x16da49,context:_0x596b44,attributes:_0x3fdaff,resolvedBy:_0x2eb2b6,resolvedAt:_0x3cf19e,unlinkedAt:_0x8b09c0,deletedAt:_0x4ba644}=_0x1008c0;if(_0x4ba644)continue;_0x15eb4e||(_0x15eb4e=_0x1877ad['addCommentThread']({'channelId':_0x4c92f1,'threadId':_0x16da49,'context':_0x596b44,'attributes':_0x3fdaff||{},'resolvedBy':_0x2eb2b6,'resolvedAt':_0x3cf19e,'unlinkedAt':_0x8b09c0,'isFromAdapter':!0x0}));const _0x29c2bf=new Set(Array['from'](_0x15eb4e['comments'],_0x8c2959=>_0x8c2959['id']));for(const _0x15366d of _0x1008c0['comments'])_0x29c2bf['delete'](_0x15366d['commentId']);for(const _0x5431f0 of _0x29c2bf)_0x15eb4e['getComment'](_0x5431f0)['remove']({'isFromAdapter':!0x0});for(const _0x381341 of _0x1008c0['comments']){const _0x12ca05=_0x15eb4e['getComment'](_0x381341['commentId']);_0x12ca05?_0x12ca05['content']!==_0x381341['content']&&_0x12ca05['update']({'content':_0x381341['content'],'isFromAdapter':!0x0}):_0x15eb4e['addComment'](Object['assign'](st(_0x381341),{'isFromAdapter':!0x0}));}}}['_getService'](_0x367a7a){if(!this['_services']['has'](_0x367a7a))throw new _0x2fbe17('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x367a7a});return this['_services']['get'](_0x367a7a);}async['_fetchMissingUsersForThreads'](_0x18a49d){const _0x5297ad=this['context']['plugins']['get'](_0x3a91e5),{connection:_0xbd00bb}=this['context']['plugins']['get'](n),_0x1fdf41=new Set();for(const {resolvedBy:_0x41ba47,comments:_0x28e2f9}of _0x18a49d){_0x41ba47&&!_0x5297ad['getUser'](_0x41ba47)&&_0x1fdf41['add'](_0x41ba47);for(const {userId:_0x35e7a8}of _0x28e2f9)_0x5297ad['getUser'](_0x35e7a8)||_0x1fdf41['add'](_0x35e7a8);}if(0x0===_0x1fdf41['size'])return;const _0x420673=await ut['getMany'](_0xbd00bb,Array['from'](_0x1fdf41));for(const _0x47a608 of _0x420673)_0x5297ad['getUser'](_0x47a608['id'])||_0x5297ad['addUser'](_0x47a608);}}async function ot(_0x2920ba){if('404'!==_0x2920ba['code'])throw _0x2920ba;}function ft(_0x37509c){if((_0x1a3d03=_0x37509c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1a3d03['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1a3d03['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1a3d03;throw _0x37509c;}function st(_0x4b157b){return{'threadId':_0x4b157b['commentThreadId'],'commentId':_0x4b157b['commentId'],'content':_0x4b157b['content'],'createdAt':_0x4b157b['createdAt'],'authorId':_0x4b157b['userId'],'attributes':_0x4b157b['attributes']||{}};}class m extends _0xc9bf9{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>it)());['_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(_0x1e37b6){super(_0x1e37b6);const _0x1440ff=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1440ff);}['init'](){const _0x427edd=this['editor']['plugins']['get'](n),_0x57a72d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x57a72d['adapter']={'getSuggestion':async _0x103712=>{await this['_waitForServiceReady']();const _0x1d3d47=await this['_trackChangesService']['get'](_0x103712)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x1d3d47]),_0x1d3d47;},'addSuggestion':async({id:_0x1dc676,type:_0x1f4e65,data:_0x5191f3,originalSuggestionId:_0x57b092,attributes:_0x37de70})=>{await this['_waitForServiceReady']();const _0x190b40={'id':_0x1dc676,'type':_0x1f4e65,'data':_0x5191f3,'originalSuggestionId':_0x57b092,'attributes':_0x37de70},_0x249b8e=await this['_trackChangesService']['add'](_0x1dc676,_0x1f4e65,_0x5191f3,_0x57b092,_0x37de70)['catch'](_0x5f18c2=>{if(mt(_0x5f18c2))return new Promise(_0x25fdf5=>{this['_bufferedRequests']['set'](_0x1dc676,{'resolve':_0x25fdf5,'suggestionData':_0x190b40});});throw _0x5f18c2;});return this['_bufferedRequests']['delete'](_0x1dc676),_0x249b8e;},'updateSuggestion':async(_0x280b1c,_0x17a44f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x17a44f['state'])return this['_trackChangesService']['update'](_0x280b1c,_0x17a44f)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x44a1c2,_0xd4bf1a)=>{_0x57a72d['hasSuggestion'](_0xd4bf1a['id'])&&(_0x57a72d['getSuggestion'](_0xd4bf1a['id'])['attributes']=_0xd4bf1a['attributes']);}),this['_trackChangesService']['connect'](_0x427edd['connection'])['then'](_0x267858=>(_0x427edd['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x267858)['then'](()=>{for(const _0x524e69 of _0x267858){_0x57a72d['addSuggestionData'](_0x524e69)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4c1849=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1497a2}=this['editor']['plugins']['get'](n),_0x18c6ef=await this['_trackChangesService']['connect'](_0x1497a2);await this['_fetchMissingUsersForThreads'](_0x18c6ef);for(const {suggestionData:_0x37f458,resolve:_0x4028b4}of this['_bufferedRequests']['values']()){let _0x23e888=_0x18c6ef['find'](_0x86d91a=>_0x86d91a['id']===_0x37f458['id']);_0x23e888||(_0x23e888=await this['_trackChangesService']['add'](_0x37f458['id'],_0x37f458['type'],_0x37f458['data'],_0x37f458['originalSuggestionId'])),_0x4028b4(_0x23e888);}for(const _0x346e5e of _0x18c6ef)_0x4c1849['hasSuggestion'](_0x346e5e['id'])||_0x4c1849['addSuggestionData'](_0x346e5e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x179b01=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5907c9=>{_0x5907c9['off'](),_0x179b01();});});}async['_fetchMissingUsersForThreads'](_0x34c135){const _0x573e0e=this['editor']['plugins']['get'](_0x3a91e5),{connection:_0x4ca56c}=this['editor']['plugins']['get'](n),_0xc558cb=new Set();for(const {authorId:_0xb4bbfd}of _0x34c135)_0x573e0e['getUser'](_0xb4bbfd)||_0xc558cb['add'](_0xb4bbfd);if(0x0===_0xc558cb['size'])return;const _0x2cd52b=await ut['getMany'](_0x4ca56c,Array['from'](_0xc558cb));for(const _0x43be6d of _0x2cd52b)_0x573e0e['getUser'](_0x43be6d['id'])||_0x573e0e['addUser'](_0x43be6d);}}function nt(_0x3b57a2){if(mt(_0x3b57a2))return new Promise(()=>{});throw _0x3b57a2;}function mt(_0x5419aa){return _0x5419aa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5419aa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xc9bf9{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 _0x859678=this['editor']['plugins']['get'](n),_0x1d56c8=this['editor']['plugins']['get']('CommentsEditing'),_0x1dbe39=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x859678,'change:state',(_0x22ebf6,_0x2a2e8c,_0x42816e)=>{_0x1d56c8['isThreadsLoadingPaused']='connected'!==_0x42816e;});}),this['listenTo'](_0x859678,'change:state',(_0x1b3c56,_0x3b464a,_0x1e532e)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1e532e);}),_0x1dbe39['_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 _0xc9bf9{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 _0xc9bf9{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5eb4f3)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x3a91e5];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x915830){super(_0x915830);const _0xdd9438=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xdd9438);}async['init'](){const _0x475c0c=this['editor']['plugins']['get'](l),_0x21a58c=_0x475c0c['serverHistory'],_0x10d8d8=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x21a58c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x475c0c['sessionId']});const _0x395e5c=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x3003cc=await _0x117aff['isBundleUploaded'](_0x10d8d8['connection'],_0x395e5c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x49b2e4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x49b2e4)),'updateRevisions':async _0x283319=>{await this['_waitForServiceReady']();const _0x611092=this['_revisionTracker']['currentRevision'];if(_0x3003cc&&0x1===_0x283319['length']&&_0x283319[0x0]['id']===_0x611092['id'])return _0x283319;for(const _0x29f595 of _0x283319)_0x29f595['id']===_0x611092['id']&&(_0x29f595['isEmptyCurrent']=_0x29f595['fromVersion']===_0x29f595['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x283319,this['_lastRequestId'])['then'](_0x41103b=>(this['_lastRequestId']=_0x41103b,_0x283319))['catch'](_0xdce650=>{if(I(_0xdce650)||'400'===_0xdce650['code']&&void 0x0!==_0xdce650['data']['wrongRequestId']){for(const _0x417be5 of _0x283319){!this['_revisionTracker']['repository']['getRevision'](_0x417be5['id'])||this['_revisionTracker']['_bufferUpdate'](_0x417be5['id'],_0x417be5,!0x1);}if(I(_0xdce650))throw _0xdce650;return _0x283319;}throw _0xdce650;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2a0f58,{revisionsData:_0x4acb48,requestId:_0x4b4a80})=>{Math['max'](..._0x4acb48['map'](_0x1775c1=>_0x1775c1['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4acb48,_0x4b4a80);}):this['_handleRevisionsUpdate'](_0x4acb48,_0x4b4a80);});const {revisions:_0x2ff9de,requestId:_0x2b469b}=await this['_revisionHistoryService']['connect'](_0x10d8d8['connection']);_0x10d8d8['addToReconnectionStack'](this),this['_lastRequestId']=_0x2b469b,await this['_fetchMissingUsers'](_0x2ff9de);for(const _0x59f469 of _0x2ff9de)this['_revisionTracker']['addRevisionData'](_0x59f469);this['listenTo'](_0x475c0c,'change:_isConnected',(_0xe7fd21,_0x136c8b,_0x18bcb5)=>{_0x18bcb5&&(this['_oldOffset']=_0x475c0c['_offset'],_0xe7fd21['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x10d8d8,'state',_0x4dad01=>_0x4dad01===_0xb45cde['CONNECTED']);}async['reconnect'](){const _0x340021=this['editor']['plugins']['get'](n),_0x11265b=this['editor']['plugins']['get'](l),_0x945ce3=async()=>{const _0x22a9b6=this['_revisionTracker']['currentRevision'],_0x5d8906=_0x22a9b6['id'],_0x5755f9=_0x5d8906!==_0x11265b['sessionId'];if(_0x5755f9){const _0x98677e=_0x11265b['_offset']-this['_oldOffset'],_0x544ea2=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x22a9b6['toVersion']+_0x98677e!==_0x544ea2){const _0x13d4f2=_0x22a9b6['fromVersion']+_0x98677e,_0x43daee=this['editor']['plugins']['get'](_0x3a91e5),_0x5d8724=this['_revisionTracker']['buildRevisionData']({'revision':_0x22a9b6,'from':_0x13d4f2,'to':_0x544ea2});_0x5d8724['id']=_0x22a9b6['id'];const _0x55b105=_0x5d8724['authorsIds']['map'](_0x199d0a=>_0x43daee['getUser'](_0x199d0a));_0x22a9b6['_update']({..._0x5d8724,'authors':_0x55b105},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x22a9b6['id'],_0x5d8724,!0x0);}this['_revisionTracker']['_startingVersion']=_0x544ea2,(_0x22a9b6['toVersion']===_0x22a9b6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5d8906)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5d8906),this['_revisionTracker']['_createCurrentRevision'](_0x544ea2));}const {revisions:_0x11fdef,requestId:_0x5b7da1}=await this['_revisionHistoryService']['reconnect'](_0x340021['connection'],this['_lastRequestId']);_0x5755f9&&_0x11fdef['length']>0x0?_0x11265b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x11fdef),this['_handleRevisionsUpdate'](_0x11fdef,_0x5b7da1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x11265b['_isConnected']?_0x945ce3():new Promise((_0x310867,_0x2eac22)=>{_0x11265b['once']('change:_isConnected',()=>{_0x945ce3()['then'](_0x310867)['catch'](_0x2eac22);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4e5b2a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x288dd4=>{_0x288dd4['off'](),_0x4e5b2a();});});}['_getLatestVersionFromServerOperations'](){const _0xca8055=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3892ca of _0xca8055)if('marker'!==_0x3892ca['type']||_0x3892ca['affectsData'])return _0x3892ca['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3627a7=this['editor']['plugins']['get'](l);return new Promise(_0x331c08=>{_0x3627a7['_isPendingUpdate']?_0x3627a7['once']('change:_isPendingUpdate',()=>{_0x331c08(this['_getLatestVersionFromServerOperations']());}):_0x331c08(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x27ad04,_0x23c0a5){const _0x4abf66=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x23c0a5;for(const _0x9fcfd6 of _0x27ad04){const _0x1b7ae6=_0x4abf66['getRevision'](_0x9fcfd6['id']);if(_0x1b7ae6){if((_0x9fcfd6['fromVersion']||_0x9fcfd6['toVersion'])&&(_0x9fcfd6['diffData']=null),_0x1b7ae6===this['_revisionTracker']['currentRevision']){const _0x10c28c=Math['max'](_0x1b7ae6['toVersion'],_0x9fcfd6['toVersion']),_0x4735bb=Math['max'](_0x1b7ae6['fromVersion'],_0x9fcfd6['fromVersion']);let _0x2d5d67;_0x1b7ae6['toVersion']===_0x9fcfd6['toVersion']&&_0x1b7ae6['fromVersion']===_0x9fcfd6['fromVersion']?(_0x2d5d67=!0x0,this['_preventResendingRevisionData'](_0x9fcfd6)):_0x9fcfd6['toVersion']===_0x10c28c&&_0x9fcfd6['fromVersion']===_0x4735bb?_0x2d5d67=!0x1:(_0x1b7ae6['toVersion']===_0x10c28c&&_0x1b7ae6['fromVersion']===_0x4735bb||this['_fixRevision']({'revision':_0x1b7ae6,'from':_0x4735bb,'to':_0x10c28c}),_0x2d5d67=!0x0),_0x2d5d67&&(delete _0x9fcfd6['fromVersion'],delete _0x9fcfd6['toVersion'],delete _0x9fcfd6['diffData'],delete _0x9fcfd6['createdAt'],delete _0x9fcfd6['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x9fcfd6),this['_preventResendingRevisionData'](_0x9fcfd6);}else this['_revisionTracker']['addRevisionData'](_0x9fcfd6);}const _0x5b53ec=_0x4abf66['getRevisions']();_0x5b53ec['reverse']();for(let _0x2b9da1=0x0;_0x2b9da1<_0x5b53ec['length']-0x1;_0x2b9da1++){const _0x10c3f0=_0x5b53ec[_0x2b9da1],_0xf4f1b=_0x5b53ec[_0x2b9da1+0x1];if(_0x10c3f0['fromVersion']<_0xf4f1b['toVersion']){const _0x199b53=_0xf4f1b['toVersion'],_0x336cb2=Math['max'](_0x199b53,_0x10c3f0['toVersion']);this['_fixRevision']({'revision':_0x10c3f0,'from':_0x199b53,'to':_0x336cb2});}}}['_fixRevision']({revision:_0x146fd1,from:_0x570a84,to:_0x4f3131}={}){const _0x1e6321=this['editor']['plugins']['get'](_0x3a91e5),_0x1b1c61=this['_revisionTracker']['buildRevisionData']({'revision':_0x146fd1,'from':_0x570a84,'to':_0x4f3131});_0x1b1c61['authors']=_0x1b1c61['authorsIds']['map'](_0x2547ae=>_0x1e6321['getUser'](_0x2547ae)),_0x146fd1['_update'](_0x1b1c61);}['_preventResendingRevisionData'](_0x547e8a){const _0x3f2a05={};_0x3f2a05['id']=_0x547e8a['id'];for(const _0x2edc9f of Object['keys'](_0x547e8a))'id'!==_0x2edc9f&&(_0x3f2a05[_0x2edc9f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3f2a05['id'],_0x3f2a05,!0x0);}async['_fetchMissingUsers'](_0x4a0271){const _0x5f47c1=this['editor']['plugins']['get'](_0x3a91e5),{connection:_0x2b2000}=this['editor']['plugins']['get'](n),_0x1d3aae=new Set();for(const _0x4365fd of _0x4a0271){for(const _0x115bd9 of _0x4365fd['authorsIds'])_0x35266f(_0x115bd9);_0x4365fd['creatorId']&&_0x35266f(_0x4365fd['creatorId']);}if(0x0===_0x1d3aae['size'])return;const _0x17de2c=await ut['getMany'](_0x2b2000,Array['from'](_0x1d3aae));for(const _0x118f5a of _0x17de2c)_0x5f47c1['getUser'](_0x118f5a['id'])||_0x5f47c1['addUser'](_0x118f5a);function _0x35266f(_0x13fb75){_0x5f47c1['getUser'](_0x13fb75)||_0x1d3aae['add'](_0x13fb75);}}}function I(_0x544521){return _0x544521['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x544521['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x544521['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0xc9bf9{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 _0x17a336{['_collapseAt'];constructor(_0x18f5b0,_0x8832f6=0x6){super(_0x18f5b0);const _0x211d3e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x8832f6,this['bind']('isHidden')['to'](this,'usersCount',_0x1cb298=>_0x1cb298<_0x8832f6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x211d3e['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':_0x211d3e['to']('usersCount',_0x4cf392=>'+'+(_0x4cf392-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x17a336{['items'];['keystrokes'];constructor(_0x4fe731){super(_0x4fe731);const _0x1e068f=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x49575a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1e068f['if']('hasPopup'),'aria-expanded':_0x1e068f['to']('isExpanded',_0x3d2909=>this['hasPopup']&&String(_0x3d2909)),'aria-label':_0x1e068f['to']('hasPopup',_0xf7f502=>V(_0x4fe731,_0xf7f502?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1e068f['to']('hasPopup',_0x3f28a8=>!!_0x3f28a8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1e068f['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1e068f['to'](_0x462b5e=>{const _0x2c7db9=_0x462b5e,_0x55bf50=document['querySelector']('.ck-presence-list__dropdown-list'),_0x21bfe2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x55bf50?.['contains'](_0x2c7db9['relatedTarget'])||_0x21bfe2?.['contains'](_0x2c7db9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x50938f,_0x25732c,_0x10efa3)=>{this['element']&&(_0x10efa3?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 _0x17a336{['counterView'];['inlineListView'];constructor(_0x250eda,_0x520290=0x6){super(_0x250eda);const _0x7b680f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x520290),this['inlineListView']=new is(_0x250eda),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x30e48d of this['inlineListView']['items'])_0x30e48d['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',_0x7b680f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x17a336{['listWrapperView'];constructor(_0x5d1247,_0x4f0d1d){super(_0x5d1247);const _0x490369=this['bindTemplate'];this['listWrapperView']=new wt(_0x5d1247,_0x4f0d1d),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x5d1247,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x490369['to'](_0x516f56=>{const _0x83c353=_0x516f56,_0x3f147e=document['querySelector']('.ck-presence-list__list'),_0x35e51d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3f147e?.['contains'](_0x83c353['relatedTarget'])||_0x35e51d?.['contains'](_0x83c353['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x5db435{constructor(_0x1ff0fa,_0x56a094){super(_0x1ff0fa);const _0x17c697=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x56a094?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x17c697['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x17c697['to']('role'),'aria-label':_0x17c697['to']('ariaLabel'),'aria-labelledby':_0x17c697['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2083d2['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xa45b96=this['element'];_0xa45b96&&(this['_isScrollable']=Math['max'](_0xa45b96['scrollHeight'],_0xa45b96['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x5a295b,_0x18818e,_0x194d25){super(_0x5a295b);const _0x4acf9f=this['bindTemplate'];this['userView']=new ct(_0x5a295b,_0x18818e);const _0x4091ac={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18818e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18818e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18818e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x194d25&&(_0x4091ac['tag']='button',_0x4091ac['on']={'click':_0x4acf9f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4091ac);}['focus'](){this['element']['focus']();}}class A extends _0x17a336{['userView'];['markerView'];constructor(_0x3339fd,_0xc80ba6,_0x2987bf){super(_0x3339fd);const _0x25776c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x3339fd,_0xc80ba6),this['markerView']=new lt(_0x3339fd,_0xc80ba6);const _0x25eac9=new at(_0x3339fd);_0x25eac9['template']['tag']='span',_0x25eac9['text']=_0xc80ba6['name'];const _0x1caa06={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x25776c['to']('isFocusable',_0x3efdd6=>!!_0x3efdd6&&0x0),'aria-labelledby':_0x25eac9['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x25776c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x25776c['to']('hasTooltip',_0x107a8f=>!_0x107a8f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x25eac9]};_0x2987bf&&(_0x1caa06['tag']='button',_0x1caa06['on']={'click':_0x25776c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1caa06);}}class lt extends _0x17a336{constructor(_0x1b2d63,_0x46b919){super(_0x1b2d63),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x46b919['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x599721{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3bd314){super(_0x3bd314),this['context']['config']['define']('presenceList',x);const _0x4adf01=_0x3bd314['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4adf01)throw new _0x2fbe17('presencelist-collapseat-invalid-format',this);if(_0x4adf01<0x1)throw new _0x2fbe17('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x432d18(),this['balloonPanelView']=new _0x332232(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2d8e32 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2d8e32);this['listenTo'](this['_allConnectedUsers'],'add',(_0x247646,_0x29c745)=>{this['_handleUserAdd'](_0x29c745);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5612af,_0x383a83)=>{this['_handleUserRemove'](_0x383a83);});}['_createView'](){const _0x5b8034=this['context'],_0x4a95c3=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x33317a=this['balloonPanelView'];if(!_0x5788d8(_0x5b8034['config']['get']('presenceList.container')))throw new _0x2fbe17('presencelist-missing-container',this);return _0x4a95c3['counterView']['bind']('usersCount')['to'](this),_0x4a95c3['bind']('isCollapsed')['to'](this,'usersCount',_0x41864e=>{const {collapseAt:_0x50a39b}=_0x5b8034['config']['get']('presenceList'),_0x2ad359=_0x41864e>=_0x50a39b;if(_0x2ad359&&!_0x4a95c3['inlineListView']['items']['find'](_0xa16088=>_0xa16088 instanceof b)){const _0x395205=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x395205&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4a95c3['inlineListView']['items']['add'](_0x4a95c3['counterView']);}return _0x2ad359||this['hideDropdown'](),_0x2ad359;}),_0x4a95c3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x43293d=>{const _0x33945e=_0x5b8034['config']['get']('presenceList'),_0x26a8e4=new A(_0x5b8034['locale'],_0x43293d,!!_0x33945e['onClick']);return _0x26a8e4['bind']('hasTooltip')['to'](_0x4a95c3,'isCollapsed',_0x344cfd=>!_0x344cfd),_0x26a8e4['bind']('isFocusable')['to'](_0x4a95c3,'isCollapsed',_0xd47db2=>!_0xd47db2),_0x33945e['onClick']&&this['listenTo'](_0x26a8e4,'execute',()=>{this['view']['isCollapsed']||_0x33945e['onClick'](_0x43293d,_0x26a8e4['element']);}),_0x26a8e4;}),this['listenTo'](_0x4a95c3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4a95c3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4a95c3['inlineListView']['keystrokes']['set']('Enter',(_0x4284e3,_0x202e26)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x202e26());}),_0x4a95c3['render'](),_0x33317a['render'](),_0x2d70ad({'emitter':_0x4a95c3,'activator':()=>_0x33317a['isVisible'],'contextElements':[_0x33317a['element'],_0x4a95c3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b8034['config']['get']('presenceList.container')['appendChild'](_0x4a95c3['element']),this['_bodyCollection']=new _0x217300(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4a95c3;}['_handleUserAdd'](_0x449d75){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x449d75['isMe'])return;const _0x5ba880=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5ba880-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2ff674=_0x449d75['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x449d75,_0x2ff674);}['_handleUserRemove'](_0x226c44){this['usersCount']--;const {collapseAt:_0x5fea44}=this['context']['config']['get']('presenceList'),_0x19f900=this['usersCount']>=_0x5fea44;if(this['currentDisplayedUsers']['get'](_0x226c44['id']))this['currentDisplayedUsers']['remove'](_0x226c44['id']);else{if(_0x19f900&&this['currentDisplayedUsers']['length']+0x1===_0x5fea44-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x19f900?0x1:0x0)<this['usersCount']){for(const _0x16fff6 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x16fff6['id'])&&(this['currentDisplayedUsers']['add'](_0x16fff6,Math['min'](this['currentDisplayedUsers']['length']-(_0x19f900?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x19f900?0x1:0x0)===_0x5fea44-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4229fe=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4229fe['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41bafb}=this['presenceDropdownView'];_0x41bafb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x226fd3=>{if(!_0x4229fe['displayMe']&&_0x226fd3['isMe'])return null;const _0x1631c1=new j(this['context']['locale'],_0x226fd3,!!_0x4229fe['onClick']);return _0x4229fe['onClick']&&this['listenTo'](_0x1631c1,'execute',()=>{_0x4229fe['onClick'](_0x226fd3,_0x1631c1['element']);}),_0x1631c1;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41bafb['focus'](),_0x41bafb['checkIfScrollable']();const _0x26999e=(_0x344b83,_0x4a0970)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4a0970();};_0x41bafb['keystrokes']['set']('Esc',_0x26999e),_0x41bafb['keystrokes']['set']('Shift+Tab',_0x26999e),_0x41bafb['keystrokes']['set']('Tab',(_0x225c56,_0x97837d)=>{!function(_0x2a2c70){const _0x3c6be8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4cb157=>_0x4cb157+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x21ebca=[...document['body']['querySelectorAll'](_0x3c6be8)]['filter'](_0x3f4f58=>_0x3f4f58===document['activeElement']||_0x3f4f58['offsetWidth']+_0x3f4f58['offsetHeight']>0x0)['sort']((_0x2b7968,_0x7e45d8)=>(_0x2b7968['tabIndex']||0x0)-(_0x7e45d8['tabIndex']||0x0)),_0x2946fc=_0x21ebca['indexOf'](_0x2a2c70),_0x4eb54d=_0x21ebca[(_0x2946fc+0x1)%_0x21ebca['length']];_0x4eb54d&&_0x4eb54d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x97837d();}),_0x41bafb['focusTracker']['add'](this['view']['element']),_0x41bafb['focusTracker']['on']('change:isFocused',(_0x4cdab6,_0x2687a7,_0x1765fc)=>{_0x1765fc||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 _0x599721{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 _0x2de7e4,Plugin as _0x27313d,PendingActions as _0x4f24a7,Context as _0x3ad67b}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x34f6fd,CKEditorError as _0xe8975b,Collection as _0xf79b65,global as _0x3bd613,version as nt,uid as _0x366790,KeystrokeHandler as _0xeb3053}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2af180,View as _0x4d7f98,ListView as _0x204327,ListItemView as et,LabelView as it,BalloonPanelView as _0x8561ff,clickOutsideHandler as _0xd5dcc7,BodyCollection as _0x24553a}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x331834,History as _0x508ae5,NoOperation as _0x5a99ed,InsertOperation as _0x49bec0,MarkerOperation as _0x468dd5,RootAttributeOperation as _0x17884a,transformOperationSets as _0x480303,OperationFactory as _0x5d4bbe}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x3723a1,CollaborativeEditingService as _0x44f88e,User as ct,CommentsService as _0x597634,TrackChangesService as _0x33e715,RevisionHistoryService as _0x54d28c,EditorService as _0x25edcf}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5e0e32,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2e696e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x283ece}from'es-toolkit/compat';class n extends _0x2de7e4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2af180];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x92b08a){super(_0x92b08a),this['set']('state',_0x3723a1['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x34f6fd())();}['init'](){const _0x2f6a9e=this['context'],_0x2246dc=_0x2f6a9e['plugins']['get']('CloudServices'),_0x4fed2c=_0x2f6a9e['plugins']['get'](_0x2af180);if(!_0x2246dc['token'])throw new _0xe8975b('websocketgateway-missing-token',this);if(!_0x2246dc['webSocketUrl'])throw new _0xe8975b('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'](_0x2246dc['token'],_0x2246dc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4e2482=>{if(this['connection']=_0x4e2482,this['bind']('state')['to'](_0x4e2482,'state',this,'_isBrowserOffline',(_0x19f516,_0x5d2a98)=>('connected'!==_0x19f516&&(this['_shouldPluginsReconnect']=!0x0),_0x5d2a98||_0x19f516!==_0x3723a1['CONNECTED']?_0x3723a1['DISCONNECTED']:this['state']==_0x3723a1['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3723a1['CONNECTING']):_0x3723a1['CONNECTED'])),this['connection']['on']('error',(_0x59e7ee,_0x14db85)=>{if('limitExceeded'!==_0x14db85['code'])throw console['error'](_0x14db85),new _0xe8975b('cloudservices-init',null,{'originalError':_0x14db85});_0x4fed2c['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'});}),!_0x4e2482['me'])return new Promise(_0x4b8088=>_0x4e2482['on']('change:me',_0x4b8088));})['catch'](_0x4dd507=>{throw console['error'](_0x4dd507),new _0xe8975b('cloudservices-init',null,{'originalError':_0x4dd507});});}['addToReconnectionStack'](_0x18dffb){if('function'!=typeof _0x18dffb['reconnect'])throw new _0xe8975b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x18dffb))throw new _0xe8975b('websocketgateway-plugin-already-registered',this,{'name':_0x18dffb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x18dffb);}['removeFromReconnectionStack'](_0x4f98cc){this['_reconnectionStack']['delete'](_0x4f98cc);}['isInReconnectionStack'](_0x4502d5){return this['_reconnectionStack']['has'](_0x4502d5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x38682c=>_0x38682c['reconnect']())))['then'](()=>this['state']=_0x3723a1['CONNECTED'])['catch'](_0x2f25b0=>{throw console['error'](_0x2f25b0),new _0xe8975b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3723a1['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2de7e4{['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,_0x5e0e32];}constructor(_0x231360){super(_0x231360),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xf79b65(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5e0e32);}['init'](){const _0x21d26e=this['context']['plugins']['get'](n);this['listenTo'](_0x21d26e,'change:state',(_0xb096f1,_0x4622d2,_0x37c2cf)=>{if('connected'!==_0x37c2cf)this['channelSessions']['forEach'](_0x5ddd3a=>_0x5ddd3a['clear']()),this['channelConnectedUsers']['forEach'](_0x2cf620=>_0x2cf620['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x32ab6f,_0x6b19fb]of this['_registeredSessions'])for(const _0x5e82b3 of _0x6b19fb)this['_handleSessionAdd'](_0x32ab6f,_0x5e82b3);}}),this['_createUser'](_0x21d26e['connection']['me'],!0x0);}['register'](_0x3c50d8,_0x38cf1e){if(this['_registeredSessions']['has'](_0x3c50d8))throw new _0xe8975b('sessions-register-already-registered',null,{'channelId':_0x3c50d8});this['_registeredSessions']['set'](_0x3c50d8,_0x38cf1e),this['channelSessions']['set'](_0x3c50d8,new _0xf79b65()),this['channelConnectedUsers']['set'](_0x3c50d8,new _0xf79b65()),this['listenTo'](_0x38cf1e,'add',(_0x396fe1,_0x140d2b)=>this['_handleSessionAdd'](_0x3c50d8,_0x140d2b)),this['listenTo'](_0x38cf1e,'remove',(_0x4867fe,_0x3e6176)=>this['_handleSessionRemove'](_0x3c50d8,_0x3e6176));for(const _0x35424a of _0x38cf1e)this['_handleSessionAdd'](_0x3c50d8,_0x35424a);}['unregister'](_0x1d9759){if(!this['_registeredSessions']['has'](_0x1d9759))throw new _0xe8975b('sessions-unregister-not-exist',null,{'channelId':_0x1d9759});const _0xcf2608=this['_registeredSessions']['get'](_0x1d9759);this['stopListening'](_0xcf2608);for(const _0x47ca45 of _0xcf2608)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1d9759,_0x47ca45);this['_registeredSessions']['delete'](_0x1d9759),this['channelSessions']['delete'](_0x1d9759),this['channelConnectedUsers']['delete'](_0x1d9759);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x422070){for(const _0x4cb267 of this['channelSessions']['values']())for(const _0x1014cb of _0x4cb267)if(_0x1014cb['id']===_0x422070)return _0x1014cb['user'];}['getUserSessions'](_0x4eb650,_0x17bd25){const _0x5c7b98=_0x17bd25?[this['channelSessions']['get'](_0x17bd25)]:this['channelSessions']['values'](),_0x5237c8=new Set();for(const _0x10145f of _0x5c7b98)for(const _0x1b93f5 of _0x10145f)_0x1b93f5['user']['id']===_0x4eb650['id']&&_0x5237c8['add'](_0x1b93f5['id']);return _0x5237c8;}['getUserRole'](_0xe39caf){for(const _0x3ffb20 of this['channelSessions']['values']())for(const _0x543866 of _0x3ffb20)if(_0x543866['user']===_0xe39caf)return _0x543866['role'];}['_handleSessionAdd'](_0x29a637,_0x1f3ab8){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x385951=_0x1f3ab8['user'],_0x2cfd4e=this['_users']['getUser'](_0x385951['id'])||this['_createUser'](_0x385951),_0x4dbd32=Object['assign']({},_0x1f3ab8,{'user':_0x2cfd4e});if(this['channelSessions']['get'](_0x29a637)['add'](_0x4dbd32),!_0x385951['hiddenInPresenceList']){const _0x684c3f=this['channelConnectedUsers']['get'](_0x29a637);_0x684c3f['has'](_0x2cfd4e['id'])||_0x684c3f['add'](_0x2cfd4e),this['allConnectedUsers']['has'](_0x2cfd4e['id'])||_0x385951['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2cfd4e,_0x2cfd4e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x29a637,{'channelId':_0x29a637,'session':_0x4dbd32});}['_handleSessionRemove'](_0x3db5eb,_0x5edf79){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x822a47=this['channelConnectedUsers']['get'](_0x3db5eb),_0x265db6=_0x5edf79['user'];_0x265db6['id']&&(this['channelSessions']['get'](_0x3db5eb)['remove'](_0x5edf79['id']),_0x822a47['has'](_0x265db6['id'])&&!this['getUserSessions'](_0x265db6,_0x3db5eb)['size']&&_0x822a47['remove'](_0x265db6['id']),this['allConnectedUsers']['get'](_0x265db6['id'])&&!this['getUserSessions'](_0x265db6)['size']&&this['allConnectedUsers']['remove'](_0x265db6['id']));}['_createUser'](_0x54106b,_0x15d67a){const _0x472162=this['_users']['addUser'](_0x54106b);return _0x15d67a&&this['_users']['defineMe'](_0x54106b['id']),_0x472162['orderNumber']=this['_uniqueUsersCount']++,_0x472162;}}class $ extends _0x27313d{['_domEmitter']=new(_0x34f6fd())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x298b94=this['editor'],_0x53ab9c=_0x298b94['plugins']['get'](i);_0x298b94['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x578729,{writer:_0x335961})=>function(_0x4fcdca,_0x231a64,_0x3db551,_0x1700ac){const _0x487d3f=_0x4fcdca['markerName']['split'](':')[0x2],_0x184925=_0x3db551['getUserBySessionId'](_0x487d3f);if(!_0x184925||_0x487d3f===_0x3db551['mySessionId'])return;if(!_0x1700ac['model']['schema']['checkChild'](_0x4fcdca['markerRange']['start'],'$text'))return;const _0x3e462a={'class':'ck-user__marker\x20'+_0x184925['color']['getMarkerClass'](),'data-name':_0x184925['name'],'data-session-id':_0x487d3f},_0x2a1a81=_0x1700ac['model']['markers']['get'](_0x4fcdca['markerName']),_0x48c088=_0x2a1a81['getStart'](),_0x8e3dc2=_0x48c088['nodeAfter'],_0x3d964f=_0x1700ac['model']['schema'];if(_0x8e3dc2&&_0x3d964f['isObject'](_0x8e3dc2)&&_0x3d964f['isInline'](_0x8e3dc2)&&!_0x1700ac['model']['markers']['get']('user:range:'+_0x487d3f)['getRange']()['isCollapsed'])return;const _0x2b9f5d=_0x48c088['parent'];return _0x1700ac['model']['schema']['isLimit'](_0x2b9f5d)&&!_0x1700ac['model']['hasContent'](_0x2b9f5d)&&(_0x3e462a['contenteditable']=!0x1),function(_0xbf7c7e,_0x1fa374,_0x208bb){const _0x20c6ae=_0xbf7c7e['createUIElement']('span',_0x1fa374);return _0xbf7c7e['setCustomProperty']('userPositionMarker',!0x0,_0x20c6ae),_0x20c6ae['render']=function(_0x5c96fe){const _0x3161c0=this['toDomElement'](_0x5c96fe),_0x500aa9=document['createElement']('span');return _0x500aa9['classList']['add']('ck-user__marker-tooltip'),_0x500aa9['setAttribute']('contenteditable','false'),_0x500aa9['setAttribute']('spellcheck','false'),_0x500aa9['textContent']=_0x208bb['name'],_0x3161c0['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x500aa9['outerHTML']+'⁠',_0x3161c0['addEventListener']('mouseenter',()=>{_0x3161c0['classList']['add']('ck-user__marker_hovered');}),_0x3161c0['addEventListener']('mouseleave',()=>{_0x3161c0['classList']['remove']('ck-user__marker_hovered');}),_0x3161c0;},_0x20c6ae['isSimilar']=function(_0x115cca){return!(!this['getCustomProperty']('userPositionMarker')||!_0x115cca['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x115cca['getAttribute']('data-session-id'));},_0x20c6ae;}(_0x231a64,_0x3e462a,_0x184925);}(_0x578729,_0x335961,_0x53ab9c,_0x298b94)}),_0x298b94['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xa25f2b=>function(_0x2583de,_0x28e8da){const _0x194d21=_0x2583de['markerName']['split'](':')[0x2];if(_0x194d21===_0x28e8da['mySessionId'])return null;const _0x2935fa=_0x28e8da['getUserBySessionId'](_0x194d21);if(!_0x2935fa)return{'id':_0x194d21,'classes':[]};return{'id':_0x194d21,'classes':['ck-user__selection',_0x2935fa['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x194d21},'priority':0x7d0+_0x2935fa['orderNumber']};}(_0xa25f2b,_0x53ab9c)}),function(_0x30c61c){const _0x580037=_0x30c61c['model'],_0x58be72=new Map(),_0x155de1=_0x30c61c['plugins']['get'](i);_0x580037['markers']['on']('update:user:range',(_0x49ccfc,_0xdfcbe,_0x519a52,_0x57c1b7)=>{if(!_0x57c1b7&&_0x58be72['get'](_0xdfcbe['name']))return _0x58be72['get'](_0xdfcbe['name'])['detach'](),void _0x58be72['delete'](_0xdfcbe['name']);const _0x227691=_0xdfcbe['name']['split'](':')[0x2];if(_0x227691===_0x155de1['mySessionId'])return;const _0x45b2a1='user:position:'+_0x227691;_0x580037['markers']['has'](_0x45b2a1)&&_0x30c61c['editing']['reconvertMarker'](_0x45b2a1),_0xdfcbe['on']('change:range',(_0x711042,_0x1bb39a,_0x511192)=>{if('$graveyard'!=_0x1bb39a['root']['rootName']&&'$graveyard'==_0xdfcbe['getRange']()['root']['rootName']&&!_0x58be72['has'](_0xdfcbe['name'])){const _0x32398b=_0x580037['schema']['getNearestSelectionRange'](_0x511192['deletionPosition']);if(_0x32398b){const _0x1ed65d=_0x331834['fromRange'](_0x32398b);_0x58be72['set'](_0xdfcbe['name'],_0x1ed65d),_0x1ed65d['on']('change:range',(_0x1f6ac7,_0x6c5300,_0xdfd1ce)=>{if('$graveyard'==_0x1ed65d['root']['rootName']){const _0x17a94e=_0x580037['schema']['getNearestSelectionRange'](_0xdfd1ce['deletionPosition']);_0x17a94e?(_0x1ed65d['start']=_0x17a94e['start'],_0x1ed65d['end']=_0x17a94e['end']):(_0x58be72['delete'](_0xdfcbe['name']),_0x1ed65d['detach']());}});}}});}),_0x580037['document']['on']('change',()=>{_0x58be72['size']>0x0&&_0x580037['enqueueChange']({'isUndoable':!0x1},_0x35f34b=>{for(const [_0x1c383d,_0x48216b]of _0x58be72)'$graveyard'==_0x580037['markers']['get'](_0x1c383d)['getRange']()['root']['rootName']&&(te(_0x1c383d['split'](':')[0x2],_0x48216b['toRange'](),_0x580037,_0x35f34b),_0x48216b['detach']());_0x58be72['clear']();});});}(_0x298b94),this['_domEmitter']['listenTo'](_0x3bd613['document'],'keydown',(_0x5d42c1,{key:_0x18ce29})=>{'Escape'===_0x18ce29&&function(_0xacfcba){_0xacfcba['editing']['view']['change'](_0x33cd27=>{for(const _0xb762a5 of _0xacfcba['model']['markers']){if(!_0xb762a5['name']['startsWith']('user:position'))continue;const _0x501e51=_0xacfcba['editing']['mapper']['markerNameToElements'](_0xb762a5['name']);if(_0x501e51){for(const _0x214c52 of _0x501e51)_0x33cd27['removeClass']('ck-user__marker_hovered',_0x214c52);}}});}(_0x298b94);},{'useCapture':!0x0});}['afterInit'](){const _0x164e89=this['editor'],_0x162170=_0x164e89['commands']['get']('undo');_0x162170&&_0x164e89['model']['on']('applyOperation',(_0x50e71c,_0x5739dc)=>{const _0x209d05=_0x5739dc[0x0];if(!_0x209d05['isDocumentOperation'])return;if('marker'!=_0x209d05['type']||!_0x209d05['name']['startsWith']('user:'))return;const _0x25160c=_0x209d05['batch'];_0x162170['_createdBatches']['has'](_0x25160c)&&(_0x209d05['newRange']=_0x209d05['oldRange']?_0x164e89['model']['createRange'](_0x209d05['oldRange']['start'],_0x209d05['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1cb149=this['editor'],_0xad2c94=_0x1cb149['model']['document'],_0x270e03=_0x1cb149['plugins']['get'](i);_0x1cb149['model']['enqueueChange']({'isUndoable':!0x1},_0xdac0f7=>{const _0x489dca='user:range:'+_0x270e03['mySessionId'],_0x4e6132='user:position:'+_0x270e03['mySessionId'],_0x577ec1=_0x1cb149['model']['markers']['has'](_0x489dca);_0x1cb149['editing']['view']['hasDomSelection']?te(_0x270e03['mySessionId'],_0xad2c94['selection']['getFirstRange'](),_0x1cb149['model'],_0xdac0f7):_0x577ec1&&(_0xdac0f7['removeMarker'](_0x489dca),_0xdac0f7['removeMarker'](_0x4e6132));});}}function te(_0x11aee3,_0x6e7ef8,_0x10c86c,_0xb893){const _0x1d4cca='user:range:'+_0x11aee3,_0x41a4cc='user:position:'+_0x11aee3,_0x10b17d=_0x6e7ef8['getContainedElement']();let _0x56ffd4=_0x6e7ef8['start'];if(_0x10b17d&&_0x10b17d['is']('element','tableCell')){const _0x314a18=function(_0x37434d,_0x36fcab){for(const _0x4befe1 of _0x37434d['getPositions']())if(_0x36fcab['schema']['checkChild'](_0x4befe1,'$text'))return _0x4befe1;}(_0x6e7ef8,_0x10c86c);_0x314a18&&(_0x56ffd4=_0x314a18,_0x6e7ef8=_0xb893['createRange'](_0x56ffd4));}const _0x444fdd=_0xb893['createRange'](_0x56ffd4);_0x10c86c['markers']['has'](_0x1d4cca)?(_0xb893['updateMarker'](_0x1d4cca,{'range':_0x6e7ef8}),_0xb893['updateMarker'](_0x41a4cc,{'range':_0x444fdd})):(_0xb893['addMarker'](_0x1d4cca,{'range':_0x6e7ef8,'usingOperation':!0x0}),_0xb893['addMarker'](_0x41a4cc,{'range':_0x444fdd,'usingOperation':!0x0}));}function K(_0x2e23ab,_0x2e07c5,_0x224106){const _0x326ae7=_0x2e23ab['t'],t=_0x2e23ab['t'];switch(_0x2e07c5){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 _0x326ae7({'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'},_0x224106);default:return'';}}let X=0x1;class l extends _0x27313d{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x44f88e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x4f24a7,_0x5e0e32,_0x2af180];}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 _0x5ad338=this['serverHistory']['getOperations']();for(let _0x2b0368=_0x5ad338['length']-0x1;_0x2b0368>=0x0;_0x2b0368--){const _0x253cbb=_0x5ad338[_0x2b0368];if(!this['_disconnectionOperations']['has'](_0x253cbb))return _0x253cbb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xd345e0){if(super(_0xd345e0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x508ae5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xe8975b('collaboration-missing-channelid',this);const _0x4461fc=_0xd345e0['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4461fc,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2e696e(),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 tt(this['_disconnectionOperations']);}['init'](){const _0x44db7e=this['editor'],_0x5109c8=_0x44db7e['plugins']['get'](_0x5e0e32),_0x5726ed=_0x44db7e['plugins']['get'](n);this['listenTo'](_0x5109c8,'getOperationAuthor',(_0x2de50f,_0x5bea1f)=>{const _0x194190=_0x5bea1f[0x0];_0x194190['_authorId']&&(_0x2de50f['return']=_0x5109c8['getUser'](_0x194190['_authorId']),_0x2de50f['stop']()),null===_0x194190['_authorId']&&(_0x2de50f['return']=null,_0x2de50f['stop']());},{'priority':'high'}),this['listenTo'](_0x44db7e['model']['document']['selection'],'change:range',(_0x56c57c,_0x3c8c13)=>{_0x3c8c13['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x44db7e['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x44db7e['model']['on']('applyOperation',(_0x374248,_0x4b77b0)=>{const _0x3b06c5=_0x4b77b0[0x0];_0x3b06c5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3b06c5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5726ed,'state',this,'_hasSynchronizationProblem',(_0x4d4e35,_0x4f289f)=>'connected'===_0x4d4e35&&!_0x4f289f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x44db7e['disableReadOnlyMode']('rtc-offline'):_0x44db7e['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x44db7e['disableReadOnlyMode']('rtc-offline'):_0x44db7e['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x561993=this['editor']['plugins']['get'](i),_0x59db5a=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x561993['unregister'](this['_channelId']);const _0x39f4f8=await this['_service']['reconnect'](_0x59db5a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x39f4f8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x119a6f=await this['_service']['getConnectedSessions']();_0x561993['register'](this['_channelId'],_0x119a6f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x21701f){if(function(_0x24d3ea){return'404'===_0x24d3ea['code'];}(_0x21701f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ddc4c){return'409'===_0x4ddc4c['code'];}(_0x21701f)){const _0x2e1869=K(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'](_0x2e1869);}else{if(!(_0x21701f instanceof Y))throw _0x21701f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4680d2=this['editor']['plugins']['get'](n),_0x4355eb=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4355eb['channelSessions']['has'](this['_channelId'])&&_0x4355eb['unregister'](this['_channelId']),_0x4680d2['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ab4be){if(this['sessionId']!==_0x2ab4be['sessionId']&&this['_lastSyncedOperationId']!==_0x2ab4be['lastOperationId'])throw new Y();return this['sessionId']=_0x2ab4be['sessionId'],this['_handleServerResponse']([],{..._0x2ab4be,'wereChangesApplied':!0x1,'data':_0x2ab4be['data']},'reconnect');}async['_connectService'](_0x286a83,_0x2e1bab=!0x1){const {connection:_0x30766b}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x30766b,this['_channelId'])['then'](_0x32a778=>this['_initSessionsHandling'](_0x32a778))['catch'](_0x24b3c3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x24b3c3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x54418d,_0x1776e0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1776e0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x264fca=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x286a83);this['_isPendingUpdate']=!0x0;const _0x5215b8=await this['_service']['connect'](_0x30766b,this['_compressOperations'](_0x286a83),_0x264fca);if(this['sessionId']=_0x5215b8['sessionId'],_0x2e1bab){if(!_0x5215b8['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5215b8['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x286a83,_0x5215b8,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5215b8,_0x286a83);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x80f215=this['editor']['plugins']['get'](i),_0x19d5d9=this['editor']['plugins']['get']($),_0x29c814=_0x80f215['channelSessions']['get'](this['_channelId']);_0x29c814&&_0x29c814['length']>0x1?_0x19d5d9['createUserMarkerOperations']():this['listenTo'](_0x80f215,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x80f215['channelSessions']['get'](this['_channelId'])['length']&&_0x19d5d9['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4017c7,_0x807eed,_0x349677,_0x31df38){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x807eed){const _0x10b9e8=this['_decompressOperations'](_0x349677,_0x31df38);await this['_fetchMissingUsers'](_0x10b9e8),this['_handleExternalOperations'](_0x10b9e8,_0x807eed,_0x349677['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4fdff8}=this['editor'];let _0x248c3a;try{_0x248c3a=await this['_service']['getDocumentDetails']();}catch{const _0x490363=K(_0x4fdff8,'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'](_0x490363);}const _0x49666f=_0x248c3a['currentDocumentSession']||_0x248c3a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x49666f['lastOperationId']){const _0x19f73c=K(_0x4fdff8,'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'](_0x19f73c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1212bc){const _0x411d2c=this['editor']['plugins']['get'](i);this['listenTo'](_0x411d2c,'sessionAdd:'+this['_channelId'],(_0x3bf8f8,{session:_0x5ebb4a})=>{if(_0x5ebb4a['id']===_0x411d2c['mySessionId']){_0x3bf8f8['off']();const _0x51023a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x258697=_0x5ebb4a['permissions'];_0x51023a&&_0x51023a['isEnabled']&&(_0x258697=_0x258697['filter'](_0x14484b=>'document:write'!==_0x14484b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x258697,this['_channelId']);}}),_0x411d2c['register'](this['_channelId'],_0x1212bc);}['_initThrowingOnDataSet'](){const _0x580f80=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x30f4a3)=>{if(!_0x30f4a3[_0x30f4a3['length']-0x1]['suppressErrorInCollaboration'])throw new _0xe8975b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x580f80['apply'](this['editor']['data'],_0x30f4a3);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2ca576,[_0xf1a32])=>{if(this['_document']['version'])throw new _0xe8975b('realtimecollaborationclient-init-document-already-initialized',this);_0x2ca576['stop'](),this['_setPendingAction']();const _0xe726f4=this['editor']['config']['get']('rootsAttributes'),_0x4fcd2f=this['_getOperationsFromInitData'](_0xf1a32,_0xe726f4);0x0==_0x4fcd2f['length']&&_0x4fcd2f['push'](new _0x5a99ed(0x0)),_0x2ca576['return']=this['_connectService'](_0x4fcd2f)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x565b19=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x565b19))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3998d0,[_0x5d1b23,_0x59da43])=>{_0x3998d0['stop']();const _0x98b36b=this['editor']['model']['document']['getRoot'](_0x5d1b23);if(!this['_knownRootNames']['has'](_0x5d1b23)){const _0x4f8103=_0x59da43&&_0x59da43['data']?_0x59da43['data']:'',_0x278d8c=_0x59da43&&_0x59da43['attributes']?_0x59da43['attributes']:{};await this['_loadRoot'](_0x5d1b23,_0x4f8103,_0x278d8c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x98b36b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x98b36b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x259bb9){const _0x15a298=this['editor']['plugins']['get'](_0x5e0e32),{connection:_0x571fe0}=this['editor']['plugins']['get'](n),_0x37442a=new Set();for(const _0x437934 of _0x259bb9){const _0x297929=_0x437934['_authorId'];_0x297929&&!_0x15a298['getUser'](_0x297929)&&_0x37442a['add'](_0x297929);}if(0x0===_0x37442a['size'])return;const _0x2ead1a=await ct['getMany'](_0x571fe0,Array['from'](_0x37442a));for(const _0x1aea54 of _0x2ead1a)_0x15a298['getUser'](_0x1aea54['id'])||_0x15a298['addUser'](_0x1aea54);}['_getOperationsFromInitData'](_0x40d84c,_0x700d4e={}){const _0xe6627d=this['editor']['model'],_0x45f998=[];let _0x5b76b7=0x0;const _0x3f7a99='string'==typeof _0x40d84c?{'main':_0x40d84c}:_0x40d84c;for(const _0x123558 of Object['keys'](_0x3f7a99)){if(!this['_document']['roots']['has'](_0x123558))throw new _0xe8975b('realtimecollaborationclient-init-non-existent-root',this);const _0x5addfb=this['editor']['data']['parse'](_0x3f7a99[_0x123558]),_0xac3599=this['_document']['getRoot'](_0x123558),_0x24a136=new _0x49bec0(_0xe6627d['createPositionAt'](_0xac3599,0x0),_0x5addfb,_0x5b76b7++);_0x45f998['push'](_0x24a136);for(const [_0x1de727,_0x323957]of _0x5addfb['markers']){const _0x340143=_0xe6627d['createRange'](_0xe6627d['createPositionFromPath'](_0xac3599,_0x323957['start']['path']['slice']()),_0xe6627d['createPositionFromPath'](_0xac3599,_0x323957['end']['path']['slice']())),_0x10bca0=new _0x468dd5(_0x1de727,null,_0x340143,_0xe6627d['markers'],!0x0,_0x5b76b7++);_0x45f998['push'](_0x10bca0);}}if(_0x700d4e)for(const [_0x39fa28,_0x255e6b]of Object['entries'](_0x700d4e)){const _0x2a3889=_0xe6627d['document']['getRoot'](_0x39fa28);if(!_0x2a3889)throw new _0xe8975b('multi-root-editor-root-attributes-no-root',null);for(const [_0x6cc718,_0x3eecaf]of Object['entries'](_0x255e6b))if(null!==_0x3eecaf){const _0x410f23=new _0x17884a(_0x2a3889,_0x6cc718,null,_0x3eecaf,_0x5b76b7++);_0x45f998['push'](_0x410f23);}}return _0x45f998;}async['_loadRoot'](_0x553320,_0x20154f,_0xff40e7){this['_getOperationsFromInitData']({[_0x553320]:_0x20154f},{[_0x553320]:_0xff40e7})['forEach']((_0x4cd24c,_0x4834ae)=>{_0x4cd24c['baseVersion']=this['_document']['version']+_0x4834ae,_0x4cd24c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4cd24c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x401dd1,_0x47f410){let _0x156eca;this['_offset']=_0x401dd1['offset'];const _0x2384a6=_0x401dd1['wereChangesApplied']&&!_0x401dd1['initData'],_0x3dc76d=_0x2384a6?0x0:_0x401dd1['data']['baseVersion'];if(_0x47f410['forEach'](_0x3a036f=>{_0x3a036f['_isInit']=!0x0,_0x3a036f['createdAt']=_0x401dd1['sessionCreatedAt'],_0x3a036f['_authorId']=null;}),_0x2384a6)_0x156eca=_0x47f410,this['_applyOperationsSet'](_0x156eca,_0x2384a6);else{if(_0x401dd1['initData']){const _0x341de9=this['_getOperationsFromInitData'](_0x401dd1['initData']);this['_document']['history']['version']=-_0x341de9['length'],_0x341de9['forEach'](_0xb5728d=>{_0xb5728d['baseVersion']-=_0x341de9['length'],_0xb5728d['createdAt']=_0x401dd1['sessionCreatedAt'],_0xb5728d['_isInit']=!0x0,_0xb5728d['_authorId']=null;}),this['_applyOperationsSet'](_0x341de9,!0x0),this['serverHistory']['version']=-_0x341de9['length']+this['_offset'],this['_updateServerHistory'](_0x341de9);}this['_document']['history']['version']=_0x3dc76d,_0x156eca=this['_decompressOperations'](_0x401dd1['data'],_0x401dd1['metadata']),await this['_fetchMissingUsers'](_0x156eca),this['_applyOperationsSet'](_0x156eca,_0x2384a6);}_0x401dd1['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x156eca,_0x401dd1['lastOperationId']),this['_lastSyncedOperationId']=_0x401dd1['lastOperationId']),this['serverHistory']['version']=_0x3dc76d+this['_offset'],this['_updateServerHistory'](_0x156eca),_0x47f410['filter'](_0x557695=>{const _0x3b0e45=this['_getAffectedRoot'](_0x557695);return _0x3b0e45&&!this['_knownRootNames']['has'](_0x3b0e45);})['forEach']((_0x263ca1,_0x5e2756)=>{_0x263ca1['baseVersion']=this['_document']['version']+_0x5e2756,this['_saveOperationInBuffer'](_0x263ca1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x470cda,_0x4bb6f6){const _0x49aea5=_0x4bb6f6&&_0x4bb6f6['message'];if(_0x49aea5&&_0x49aea5['startsWith']('realtimecollaborationclient'))throw _0x4bb6f6;const _0x15b790=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x15b790['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xe8975b(_0x470cda,this['editor'],_0x49aea5?{'originalError':_0x49aea5}:void 0x0);}['_saveOperationInBuffer'](_0x30d5ec){this['_knownOperations']['has'](_0x30d5ec)||(this['_knownOperations']['add'](_0x30d5ec),this['_bufferedOperations']['push'](_0x30d5ec),this['_pendingAction']||'marker'==_0x30d5ec['type']&&!_0x30d5ec['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3c2ed8=!0x1){!_0x3c2ed8&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x203b38=>{_0x203b38&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x181126=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x21ae8d){return _0x21ae8d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21ae8d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x21ae8d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x181126)||this['_crash'](_0x181126['message'],_0x181126);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32ebfa=>{this['on']('change:_isPendingUpdate',()=>{_0x32ebfa();});});}async['_sendBufferedOperations'](){const _0x52f70c=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x52f70c['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3e5468=[...this['_bufferedOperations']];for(const _0x218a7f of _0x3e5468)_0x218a7f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x218a7f);const _0x12c09b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3e5468),_0x14a48f=X++,_0x30e21f=this['_compressOperations'](_0x3e5468),_0x4f5b4c=await this['_service']['sendOperations'](_0x30e21f,_0x30e21f['baseVersion'],_0x12c09b);try{return await this['_handleServerResponse'](_0x3e5468,_0x4f5b4c,_0x14a48f);}catch(_0x29e652){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x29e652);}}async['_handleServerResponse'](_0x4d57ad,_0x5499c8,_0x1f225d){if('error'in _0x5499c8)throw _0x5499c8['error'];let _0x58451d=!0x1;if(_0x5499c8['wereChangesApplied']){_0x5499c8['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5499c8['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xd280b2=>!_0x4d57ad['includes'](_0xd280b2));for(const _0x356f7a of _0x4d57ad)_0x356f7a['createdAt']='lastOperationAcceptedAt'in _0x5499c8&&_0x5499c8['lastOperationAcceptedAt']||void 0x0;Z(_0x4d57ad,_0x5499c8['version']-_0x4d57ad['length']),this['_updateServerHistory'](_0x4d57ad);const _0x1699ae=_0x4d57ad['filter'](_0x449ba0=>{if(!_0x449ba0['_isInit'])return!0x1;const _0xdc9d68=this['_getAffectedRoot'](_0x449ba0);return _0xdc9d68&&!this['_knownRootNames']['has'](_0xdc9d68);});Z(_0x1699ae,this['_document']['version']),this['_applyOperationsSet'](_0x1699ae),_0x58451d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5b6eac=this['_decompressOperations'](_0x5499c8['data'],_0x5499c8['metadata'])['filter'](_0x6607c=>_0x6607c['baseVersion']>=this['_lastServerVersion']);_0x5b6eac['forEach'](_0x1325eb=>this['_addKnownRoot'](_0x1325eb)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ddb70=>!_0x5ddb70['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ddb70))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5b6eac),_0x58451d=this['_handleExternalOperations'](_0x5b6eac,_0x5499c8['version'],_0x5499c8['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x58451d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x18f207,_0x51d641,_0x1032b5){try{const _0x125e02={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x505ab6,operationsB:_0x589670,originalOperations:_0x486ce8}=_0x480303(_0x18f207,this['_bufferedOperations'],_0x125e02);Z(_0x505ab6,this['_document']['version']),Z(_0x589670,_0x51d641);for(const _0x53f7af of _0x505ab6){const _0x4a7672=_0x486ce8['get'](_0x53f7af);_0x53f7af['_authorId']=_0x4a7672?_0x4a7672['_authorId']:null;}_0x1032b5&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x18f207,_0x1032b5),this['_lastSyncedOperationId']=_0x1032b5),this['_bufferedOperations']=[..._0x589670],this['_applyOperationsSet'](_0x505ab6),this['_updateServerHistory'](_0x18f207);}catch(_0x276ce0){return console['error'](_0x276ce0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x24b798,_0x114bc6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4387ef=>{for(const _0x5d5a18 of _0x24b798)this['_knownOperations']['add'](_0x5d5a18),this['_addKnownRoot'](_0x5d5a18),_0x4387ef['batch']['addOperation'](_0x5d5a18),this['editor']['model']['applyOperation'](_0x5d5a18);});}['_addKnownRoot'](_0x57f965){const _0x26dffb=this['_getAffectedRoot'](_0x57f965);_0x26dffb&&this['_knownRootNames']['add'](_0x26dffb);}['_getAffectedRoot'](_0x60b35b){let _0x31811c,_0x57e185;switch(_0x60b35b['type']){case'insert':_0x31811c=_0x60b35b['position']['root'];break;case'marker':if(_0x57e185=_0x60b35b['newRange'],!_0x57e185)return null;_0x31811c=_0x57e185['root'];break;case'addRootAttribute':_0x31811c=_0x60b35b['root'];break;case'addRoot':_0x31811c=_0x60b35b['affectedSelectable'];break;case'move':_0x31811c=_0x60b35b['targetPosition']['root'];break;default:return null;}return _0x31811c['rootName'];}['_updateServerHistory'](_0x49dc76){_0x49dc76['forEach'](_0x58dfa2=>{const _0xa2ad4d=_0x58dfa2['clone']();_0xa2ad4d['_authorId']=_0x58dfa2['_authorId'],_0xa2ad4d['_isInit']=!!_0x58dfa2['_isInit'],_0xa2ad4d['createdAt']=_0x58dfa2['createdAt'],_0xa2ad4d['baseVersion']+=this['_offset'],_0x58dfa2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xa2ad4d),this['serverHistory']['addOperation'](_0xa2ad4d);});}['_handleReconnectionError'](_0x39c84a){const _0x1a25fa=this['editor']['plugins']['get']('Notification'),_0x47db84=this['editor']['locale'];_0x39c84a||(_0x39c84a=K(_0x47db84,'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.')),_0x1a25fa['showWarning'](_0x39c84a,{'title':K(_0x47db84,'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'](_0x4f24a7)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4f24a7)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x17bec6){const _0x420f22=_0x17bec6['map'](_0x452cda=>_0x452cda['toJSON']());return this['_compressor']['compress'](_0x420f22);}['_decompressOperations'](_0x21a80f,_0x1d46d3){return this['_compressor']['decompress'](_0x21a80f)['map']((_0xd145d,_0x4db7eb)=>{const _0x5dec6a='init'==_0x1d46d3[_0x4db7eb]['type'];if('InsertOperation'==_0xd145d['__className']){const _0x174183=_0xd145d['position']['root'];!this['_document']['getRoot'](_0x174183)&&(this['_document']['createRoot']('$root',_0x174183)['_isAttached']=!0x1);}const _0x5dcba9=_0x5d4bbe['fromJSON'](_0xd145d,this['_document']);return _0x5dcba9['wasUndone']=_0xd145d['wasUndone'],_0x5dcba9['_isInit']=_0x5dec6a,_0x5dcba9['_authorId']=_0x5dec6a?null:_0x1d46d3[_0x4db7eb]['userId'],_0x5dcba9['_isDisconnection']='cs:removeUser'===_0x1d46d3[_0x4db7eb]['type'],_0x5dcba9['createdAt']=_0x1d46d3[_0x4db7eb]['createdAt'],_0x5dcba9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x27aabe=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x27aabe&&_0x27aabe['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x4c6b17,_0x4110e3){for(const _0x465946 of _0x4c6b17)_0x465946['baseVersion']=_0x4110e3++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x27ef93){this['_ignoredOperations']=_0x27ef93,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x22e4a0){let _0x2aae66=_0x22e4a0['length'];for(;_0x2aae66--;){const _0x398ab1=_0x22e4a0[_0x2aae66];if(!this['_ignoredOperations']['has'](_0x398ab1)){if(!this['_operationToId']['has'](_0x398ab1)){const _0x49d9b6=_0x366790()['slice'](0x1,0x12);this['_operationToId']['set'](_0x398ab1,_0x49d9b6);}return this['_operationToId']['get'](_0x398ab1);}}}['setIdForTheLastOperation'](_0x38eaeb,_0x1640c6){if(!_0x1640c6)return;let _0x34f527=_0x38eaeb['length'];for(;_0x34f527--;){const _0x323213=_0x38eaeb[_0x34f527];this['_ignoredOperations']['has'](_0x323213)||this['_operationToId']['set'](_0x323213,_0x1640c6);}}}class a extends _0x27313d{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2de7e4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x597634)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5e0e32];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2fe041){super(_0x2fe041),this['_services']=new Map();}async['init'](){const _0x14ec17=this['context'],_0x4089ce=_0x14ec17['plugins']['get']('CommentsRepository');if(_0x14ec17['plugins']['get'](n)['addToReconnectionStack'](this),_0x4089ce['adapter']={'addCommentThread':async({channelId:_0x27e8ae,threadId:_0x485b35,comments:_0x3e5948,resolvedAt:_0x1397f1,resolvedBy:_0x2e8a15,context:_0x411121,attributes:_0x2173fe})=>{const _0xe84877=await this['_getService'](_0x27e8ae)['addCommentThread']({'commentThreadId':_0x485b35,'comments':_0x3e5948['map'](_0x151121=>function(_0x1fe2a7,_0x1a8d26,_0x4243b3){return{'commentThreadId':_0x4243b3,'commentId':_0x1fe2a7['commentId'],'userId':_0x1fe2a7['authorId'],'content':_0x1fe2a7['content'],'documentId':_0x1a8d26,'createdAt':_0x1fe2a7['createdAt'],'attributes':_0x1fe2a7['attributes']||{}};}(_0x151121,_0x27e8ae,_0x485b35)),'resolvedAt':_0x1397f1,'resolvedBy':_0x2e8a15,'context':_0x411121,'attributes':_0x2173fe})['catch'](at);return{'threadId':_0xe84877['commentThreadId'],'comments':_0xe84877['comments']};},'getCommentThread':async({channelId:_0x254a81,threadId:_0x36cd5a})=>{const _0x14b8dc=await this['_getService'](_0x254a81)['getCommentThread'](_0x36cd5a)['catch'](f)['catch'](at);return _0x14b8dc?_0x14b8dc['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x14b8dc]),{'threadId':_0x14b8dc['commentThreadId'],'comments':_0x14b8dc['comments']['map'](p),'context':_0x14b8dc['context'],'resolvedAt':_0x14b8dc['resolvedAt'],'resolvedBy':_0x14b8dc['resolvedBy'],'attributes':_0x14b8dc['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x219f1b,threadId:_0x1f4b39,context:_0x3b467c,unlinkedAt:_0x2137e4,attributes:_0x3d6b60})=>this['_getService'](_0x219f1b)['updateCommentThread']({'commentThreadId':_0x1f4b39,'context':_0x3b467c,'attributes':_0x3d6b60,'unlinkedAt':_0x2137e4})['catch'](f)['catch'](at),'resolveCommentThread':async({channelId:_0x4a2959,threadId:_0x5aa888})=>{const _0x164e6f=await this['_getService'](_0x4a2959)['resolveCommentThread'](_0x5aa888)['catch'](f)['catch'](at);return{'threadId':_0x164e6f['commentThreadId'],'resolvedAt':_0x164e6f['resolvedAt'],'resolvedBy':_0x164e6f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5753c1,threadId:_0x1b246b})=>this['_getService'](_0x5753c1)['reopenCommentThread'](_0x1b246b)['catch'](f)['catch'](at),'removeCommentThread':({channelId:_0x54fb60,threadId:_0x4df414})=>this['_getService'](_0x54fb60)['removeCommentThread'](_0x4df414)['catch'](f)['catch'](at),'addComment':({channelId:_0x2a8977,threadId:_0x22a06c,commentId:_0x402688,content:_0x2c070f,attributes:_0xa5d10f})=>this['_getService'](_0x2a8977)['addComment'](_0x22a06c,_0x402688,_0x2c070f,_0xa5d10f)['catch'](at),'updateComment':({channelId:_0x410e39,threadId:_0x4b40e0,commentId:_0x5a574,content:_0x4d4728,attributes:_0x3ac2da})=>this['_getService'](_0x410e39)['updateComment'](_0x4b40e0,_0x5a574,_0x4d4728,_0x3ac2da)['catch'](f)['catch'](at),'removeComment':({channelId:_0x471c3e,threadId:_0x4902fe,commentId:_0x6d83e9})=>this['_getService'](_0x471c3e)['removeComment'](_0x4902fe,_0x6d83e9)['catch'](f)['catch'](at)},_0x14ec17 instanceof _0x3ad67b){const _0x80c2ca=_0x14ec17['config']['get']('collaboration.channelId'),_0x33139e=_0x14ec17['plugins']['get'](i);await this['_setUpService'](_0x80c2ca);const _0x2f125c=await this['_services']['get'](_0x80c2ca)['getConnectedSessions']();this['listenTo'](_0x33139e,'sessionAdd:'+_0x80c2ca,(_0x51ad0b,{session:_0x102e32})=>{_0x102e32['id']===_0x33139e['mySessionId']&&(_0x51ad0b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x102e32['permissions'],_0x80c2ca));}),_0x33139e['register'](_0x80c2ca,_0x2f125c);}}async['_setUpService'](_0xb7ff58){if(this['_services']['has'](_0xb7ff58))throw new _0xe8975b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xb7ff58});const _0x2408ca=this['context']['plugins']['get']('CommentsRepository'),_0x580cb7=new s['CommentsService'](_0xb7ff58);this['_services']['set'](_0xb7ff58,_0x580cb7),this['listenTo'](_0x580cb7,'commentThreadAdded',(_0x219ade,_0x28a14c)=>{const {commentThreadId:_0x455c6b,documentId:_0x14a46d,context:_0x41dfa4,attributes:_0x5e8803,resolvedAt:_0x42f469,resolvedBy:_0x4fd34c,comments:_0x44554b}=_0x28a14c;_0x2408ca['getCommentThread'](_0x455c6b)||_0x2408ca['addCommentThread']({'threadId':_0x455c6b,'channelId':_0x14a46d,'comments':_0x44554b?_0x44554b['map'](p):[],'context':_0x41dfa4,'attributes':_0x5e8803,'resolvedAt':_0x42f469,'resolvedBy':_0x4fd34c,'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentThreadUpdated',(_0x3434b0,{commentThreadId:_0x18a86f,documentId:_0x4ac78c,context:_0x2d17e3,unlinkedAt:_0x568f8f,attributes:_0xe340f0})=>{_0x2408ca['getCommentThread'](_0x18a86f)&&_0x2408ca['updateCommentThread']({'threadId':_0x18a86f,'channelId':_0x4ac78c,'context':_0x2d17e3,'unlinkedAt':_0x568f8f,'attributes':_0xe340f0,'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentThreadResolved',(_0xeea9b7,{commentThreadId:_0x3910cd,resolvedBy:_0x88614b,resolvedAt:_0x355915})=>{const _0x151a01=_0x2408ca['getCommentThread'](_0x3910cd);_0x151a01&&_0x151a01['resolve']({'resolvedBy':_0x88614b,'resolvedAt':_0x355915,'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentThreadReopened',(_0x5e01d7,{commentThreadId:_0x34f742})=>{const _0x165b04=_0x2408ca['getCommentThread'](_0x34f742);_0x165b04&&_0x165b04['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentThreadRemoved',(_0x4cdb2f,{commentThreadId:_0x1f48b6})=>{const _0x28eef5=_0x2408ca['getCommentThread'](_0x1f48b6);_0x28eef5&&_0x28eef5['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentAdded',(_0x58b170,_0x521920)=>{const _0x572d77=_0x521920['commentThreadId'],_0x434c83=_0x2408ca['getCommentThread'](_0x572d77);_0x434c83&&_0x434c83['addComment']({...p(_0x521920),'isFromAdapter':!0x0});}),this['listenTo'](_0x580cb7,'commentUpdated',(_0x61ee8,{commentThreadId:_0x54fca9,commentId:_0x2788c1,content:_0xb12418,attributes:_0x3b1c4c})=>{const _0x2325ab=_0x2408ca['getCommentThread'](_0x54fca9);if(_0x2325ab){const _0x379178=_0x2325ab['getComment'](_0x2788c1);_0x379178&&_0x379178['update']({'content':_0xb12418,'attributes':_0x3b1c4c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x580cb7,'commentRemoved',(_0x102dfc,{commentThreadId:_0x40b3e5,commentId:_0x47cd1b})=>{const _0x42c030=_0x2408ca['getCommentThread'](_0x40b3e5);if(_0x42c030){const _0xd88af1=_0x42c030['getComment'](_0x47cd1b);_0xd88af1&&_0xd88af1['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xb7ff58);}['destroy'](){if(this['context']instanceof _0x3ad67b){const _0x1cd7cf=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1cd7cf);}}['_terminateService'](_0x9f27c){if(!this['_services']['has'](_0x9f27c))throw new _0xe8975b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x9f27c});this['_getService'](_0x9f27c)['disconnect'](),this['_services']['delete'](_0x9f27c);}async['reconnect'](){for(const _0x4d545e of this['_services']['keys']())await this['_connectService'](_0x4d545e);if(this['context']instanceof _0x3ad67b){const _0x2645ec=this['context']['config']['get']('collaboration.channelId'),_0x209dc1=this['context']['plugins']['get'](i);_0x209dc1['unregister'](_0x2645ec);const _0x380dd8=await this['_services']['get'](_0x2645ec)['getConnectedSessions']();_0x209dc1['register'](_0x2645ec,_0x380dd8);}}async['_connectService'](_0x1a534c){const {connection:_0x206c2b}=this['context']['plugins']['get'](n),_0x328d37=this['context']['plugins']['get']('CommentsRepository'),_0x45c19a=this['_services']['get'](_0x1a534c),_0x4de68b=await _0x45c19a['connect'](_0x206c2b);await this['_fetchMissingUsersForThreads'](_0x4de68b);const _0x1f50eb=new Set(Array['from'](_0x328d37['getCommentThreads']({'channelId':_0x1a534c}),_0x17c119=>_0x17c119['id']));for(const _0x1cfe73 of _0x4de68b)_0x1cfe73['deletedAt']||_0x1f50eb['delete'](_0x1cfe73['commentThreadId']);for(const _0x29b526 of _0x1f50eb)_0x328d37['getCommentThread'](_0x29b526)['remove']({'isFromAdapter':!0x0});for(const _0x130248 of _0x4de68b){let _0x203545=_0x328d37['getCommentThread'](_0x130248['commentThreadId']);const {commentThreadId:_0x802378,context:_0xb8085e,attributes:_0x423661,resolvedBy:_0x548bbb,resolvedAt:_0x5eeedc,unlinkedAt:_0xcfb864,deletedAt:_0xa58c42}=_0x130248;if(_0xa58c42)continue;_0x203545||(_0x203545=_0x328d37['addCommentThread']({'channelId':_0x1a534c,'threadId':_0x802378,'context':_0xb8085e,'attributes':_0x423661||{},'resolvedBy':_0x548bbb,'resolvedAt':_0x5eeedc,'unlinkedAt':_0xcfb864,'isFromAdapter':!0x0}));const _0x504888=new Set(Array['from'](_0x203545['comments'],_0x208bad=>_0x208bad['id']));for(const _0x51e94c of _0x130248['comments'])_0x504888['delete'](_0x51e94c['commentId']);for(const _0x8b33f7 of _0x504888)_0x203545['getComment'](_0x8b33f7)['remove']({'isFromAdapter':!0x0});for(const _0x5b92a0 of _0x130248['comments']){const _0x79dc80=_0x203545['getComment'](_0x5b92a0['commentId']);_0x79dc80?_0x79dc80['content']!==_0x5b92a0['content']&&_0x79dc80['update']({'content':_0x5b92a0['content'],'isFromAdapter':!0x0}):_0x203545['addComment'](Object['assign'](p(_0x5b92a0),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2f6769){if(!this['_services']['has'](_0x2f6769))throw new _0xe8975b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2f6769});return this['_services']['get'](_0x2f6769);}async['_fetchMissingUsersForThreads'](_0x1951c0){const _0x31953c=this['context']['plugins']['get'](_0x5e0e32),{connection:_0xb3aa13}=this['context']['plugins']['get'](n),_0x21e46c=new Set();for(const {resolvedBy:_0x5dbba6,comments:_0x2f05b0}of _0x1951c0){_0x5dbba6&&!_0x31953c['getUser'](_0x5dbba6)&&_0x21e46c['add'](_0x5dbba6);for(const {userId:_0x3b6ae8}of _0x2f05b0)_0x31953c['getUser'](_0x3b6ae8)||_0x21e46c['add'](_0x3b6ae8);}if(0x0===_0x21e46c['size'])return;const _0x189c49=await ct['getMany'](_0xb3aa13,Array['from'](_0x21e46c));for(const _0x2580af of _0x189c49)_0x31953c['getUser'](_0x2580af['id'])||_0x31953c['addUser'](_0x2580af);}}async function f(_0x5ef27f){if('404'!==_0x5ef27f['code'])throw _0x5ef27f;}function at(_0x14ee40){if((_0x1a014e=_0x14ee40)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1a014e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1a014e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1a014e;throw _0x14ee40;}function p(_0x531eca){return{'threadId':_0x531eca['commentThreadId'],'commentId':_0x531eca['commentId'],'content':_0x531eca['content'],'createdAt':_0x531eca['createdAt'],'authorId':_0x531eca['userId'],'attributes':_0x531eca['attributes']||{}};}class m extends _0x27313d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x33e715)());['_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(_0x3132d0){super(_0x3132d0);const _0x3612b2=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3612b2);}['init'](){const _0x17e976=this['editor']['plugins']['get'](n),_0x11aff8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x11aff8['adapter']={'getSuggestion':async _0x5d2f9d=>{await this['_waitForServiceReady']();const _0x290520=await this['_trackChangesService']['get'](_0x5d2f9d)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x290520]),_0x290520;},'addSuggestion':async({id:_0x20c173,type:_0x2808f0,data:_0x2cd2c8,originalSuggestionId:_0x12076f,attributes:_0x57aa8b})=>{await this['_waitForServiceReady']();const _0x313caf={'id':_0x20c173,'type':_0x2808f0,'data':_0x2cd2c8,'originalSuggestionId':_0x12076f,'attributes':_0x57aa8b},_0x5ce24b=await this['_trackChangesService']['add'](_0x20c173,_0x2808f0,_0x2cd2c8,_0x12076f,_0x57aa8b)['catch'](_0x4bc8c4=>{if(ht(_0x4bc8c4))return new Promise(_0x1117e6=>{this['_bufferedRequests']['set'](_0x20c173,{'resolve':_0x1117e6,'suggestionData':_0x313caf});});throw _0x4bc8c4;});return this['_bufferedRequests']['delete'](_0x20c173),_0x5ce24b;},'updateSuggestion':async(_0x216cfd,_0x5b9f38)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5b9f38['state'])return this['_trackChangesService']['update'](_0x216cfd,_0x5b9f38)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5ab0b2,_0x4409be)=>{_0x11aff8['hasSuggestion'](_0x4409be['id'])&&(_0x11aff8['getSuggestion'](_0x4409be['id'])['attributes']=_0x4409be['attributes']);}),this['_trackChangesService']['connect'](_0x17e976['connection'])['then'](_0x4ea3af=>(_0x17e976['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4ea3af)['then'](()=>{for(const _0x57eeb5 of _0x4ea3af){_0x11aff8['addSuggestionData'](_0x57eeb5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5887f5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xab45fb}=this['editor']['plugins']['get'](n),_0x1c6279=await this['_trackChangesService']['connect'](_0xab45fb);await this['_fetchMissingUsersForThreads'](_0x1c6279);for(const {suggestionData:_0x36dffa,resolve:_0x2b0548}of this['_bufferedRequests']['values']()){let _0x32b00d=_0x1c6279['find'](_0x4aa829=>_0x4aa829['id']===_0x36dffa['id']);_0x32b00d||(_0x32b00d=await this['_trackChangesService']['add'](_0x36dffa['id'],_0x36dffa['type'],_0x36dffa['data'],_0x36dffa['originalSuggestionId'])),_0x2b0548(_0x32b00d);}for(const _0x59eb21 of _0x1c6279)_0x5887f5['hasSuggestion'](_0x59eb21['id'])||_0x5887f5['addSuggestionData'](_0x59eb21);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1a7aad=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5cb9e2=>{_0x5cb9e2['off'](),_0x1a7aad();});});}async['_fetchMissingUsersForThreads'](_0xff1dd1){const _0x59a32e=this['editor']['plugins']['get'](_0x5e0e32),{connection:_0x566c92}=this['editor']['plugins']['get'](n),_0x2d27aa=new Set();for(const {authorId:_0x35adeb}of _0xff1dd1)_0x59a32e['getUser'](_0x35adeb)||_0x2d27aa['add'](_0x35adeb);if(0x0===_0x2d27aa['size'])return;const _0x1d3a19=await ct['getMany'](_0x566c92,Array['from'](_0x2d27aa));for(const _0x3f35ce of _0x1d3a19)_0x59a32e['getUser'](_0x3f35ce['id'])||_0x59a32e['addUser'](_0x3f35ce);}}function A(_0x2aa65d){if(ht(_0x2aa65d))return new Promise(()=>{});throw _0x2aa65d;}function ht(_0x4b8ad6){return _0x4b8ad6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b8ad6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x27313d{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 _0x4e904f=this['editor']['plugins']['get'](n),_0x5b92f9=this['editor']['plugins']['get']('CommentsEditing'),_0x34b86c=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4e904f,'change:state',(_0x34be53,_0x29597c,_0xa03a09)=>{_0x5b92f9['isThreadsLoadingPaused']='connected'!==_0xa03a09;});}),this['listenTo'](_0x4e904f,'change:state',(_0x2b22ea,_0xf3c6db,_0xff8e5)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xff8e5);}),_0x34b86c['_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 _0x27313d{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 _0x27313d{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x54d28c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5e0e32];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e5668){super(_0x4e5668);const _0x467c41=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x467c41);}async['init'](){const _0x566f60=this['editor']['plugins']['get'](l),_0x1d7008=_0x566f60['serverHistory'],_0x581e0b=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1d7008,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x566f60['sessionId']});const _0x1a51dd=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4c3b75=await _0x25edcf['isBundleUploaded'](_0x581e0b['connection'],_0x1a51dd);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x563938})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x563938)),'updateRevisions':async _0x46f654=>{await this['_waitForServiceReady']();const _0x22c9a1=this['_revisionTracker']['currentRevision'];if(_0x4c3b75&&0x1===_0x46f654['length']&&_0x46f654[0x0]['id']===_0x22c9a1['id'])return _0x46f654;for(const _0x455d9a of _0x46f654)_0x455d9a['id']===_0x22c9a1['id']&&(_0x455d9a['isEmptyCurrent']=_0x455d9a['fromVersion']===_0x455d9a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x46f654,this['_lastRequestId'])['then'](_0x1f965f=>(this['_lastRequestId']=_0x1f965f,_0x46f654))['catch'](_0x2dc1e6=>{if(T(_0x2dc1e6)||'400'===_0x2dc1e6['code']&&void 0x0!==_0x2dc1e6['data']['wrongRequestId']){for(const _0x34da26 of _0x46f654){!this['_revisionTracker']['repository']['getRevision'](_0x34da26['id'])||this['_revisionTracker']['_bufferUpdate'](_0x34da26['id'],_0x34da26,!0x1);}if(T(_0x2dc1e6))throw _0x2dc1e6;return _0x46f654;}throw _0x2dc1e6;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1cf21b,{revisionsData:_0x514ea3,requestId:_0x1f0df7})=>{Math['max'](..._0x514ea3['map'](_0x54c7b6=>_0x54c7b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x514ea3,_0x1f0df7);}):this['_handleRevisionsUpdate'](_0x514ea3,_0x1f0df7);});const {revisions:_0x4cfacc,requestId:_0x2297ee}=await this['_revisionHistoryService']['connect'](_0x581e0b['connection']);_0x581e0b['addToReconnectionStack'](this),this['_lastRequestId']=_0x2297ee,await this['_fetchMissingUsers'](_0x4cfacc);for(const _0x4d734b of _0x4cfacc)this['_revisionTracker']['addRevisionData'](_0x4d734b);this['listenTo'](_0x566f60,'change:_isConnected',(_0x522d35,_0x573e9e,_0x3456d6)=>{_0x3456d6&&(this['_oldOffset']=_0x566f60['_offset'],_0x522d35['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x581e0b,'state',_0xb06733=>_0xb06733===_0x3723a1['CONNECTED']);}async['reconnect'](){const _0x479f9a=this['editor']['plugins']['get'](n),_0x26aa9b=this['editor']['plugins']['get'](l),_0x5c5047=async()=>{const _0x104834=this['_revisionTracker']['currentRevision'],_0x3f76ab=_0x104834['id'],_0x11cd0c=_0x3f76ab!==_0x26aa9b['sessionId'];if(_0x11cd0c){const _0x18d098=_0x26aa9b['_offset']-this['_oldOffset'],_0x2ef2b3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x104834['toVersion']+_0x18d098!==_0x2ef2b3){const _0x26bdca=_0x104834['fromVersion']+_0x18d098,_0x3c20ab=this['editor']['plugins']['get'](_0x5e0e32),_0x4fd000=this['_revisionTracker']['buildRevisionData']({'revision':_0x104834,'from':_0x26bdca,'to':_0x2ef2b3});_0x4fd000['id']=_0x104834['id'];const _0x28cb55=_0x4fd000['authorsIds']['map'](_0x160d3d=>_0x3c20ab['getUser'](_0x160d3d));_0x104834['_update']({..._0x4fd000,'authors':_0x28cb55},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x104834['id'],_0x4fd000,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2ef2b3,(_0x104834['toVersion']===_0x104834['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3f76ab)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3f76ab),this['_revisionTracker']['_createCurrentRevision'](_0x2ef2b3));}const {revisions:_0x3a0728,requestId:_0x120f65}=await this['_revisionHistoryService']['reconnect'](_0x479f9a['connection'],this['_lastRequestId']);_0x11cd0c&&_0x3a0728['length']>0x0?_0x26aa9b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a0728),this['_handleRevisionsUpdate'](_0x3a0728,_0x120f65),this['_revisionTracker']['sendBufferedUpdates']());};return _0x26aa9b['_isConnected']?_0x5c5047():new Promise((_0x144ce6,_0x4ea67b)=>{_0x26aa9b['once']('change:_isConnected',()=>{_0x5c5047()['then'](_0x144ce6)['catch'](_0x4ea67b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3132c4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3ef8d3=>{_0x3ef8d3['off'](),_0x3132c4();});});}['_getLatestVersionFromServerOperations'](){const _0x1fb7bc=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x20db6f of _0x1fb7bc)if('marker'!==_0x20db6f['type']||_0x20db6f['affectsData'])return _0x20db6f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x41d692=this['editor']['plugins']['get'](l);return new Promise(_0x1eb98d=>{_0x41d692['_isPendingUpdate']?_0x41d692['once']('change:_isPendingUpdate',()=>{_0x1eb98d(this['_getLatestVersionFromServerOperations']());}):_0x1eb98d(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x192f02,_0x675c67){const _0x149b10=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x675c67;for(const _0x29d585 of _0x192f02){const _0x55b00a=_0x149b10['getRevision'](_0x29d585['id']);if(_0x55b00a){if((_0x29d585['fromVersion']||_0x29d585['toVersion'])&&(_0x29d585['diffData']=null),_0x55b00a===this['_revisionTracker']['currentRevision']){const _0x151c95=Math['max'](_0x55b00a['toVersion'],_0x29d585['toVersion']),_0x2de3f6=Math['max'](_0x55b00a['fromVersion'],_0x29d585['fromVersion']);let _0x1dbc77;_0x55b00a['toVersion']===_0x29d585['toVersion']&&_0x55b00a['fromVersion']===_0x29d585['fromVersion']?(_0x1dbc77=!0x0,this['_preventResendingRevisionData'](_0x29d585)):_0x29d585['toVersion']===_0x151c95&&_0x29d585['fromVersion']===_0x2de3f6?_0x1dbc77=!0x1:(_0x55b00a['toVersion']===_0x151c95&&_0x55b00a['fromVersion']===_0x2de3f6||this['_fixRevision']({'revision':_0x55b00a,'from':_0x2de3f6,'to':_0x151c95}),_0x1dbc77=!0x0),_0x1dbc77&&(delete _0x29d585['fromVersion'],delete _0x29d585['toVersion'],delete _0x29d585['diffData'],delete _0x29d585['createdAt'],delete _0x29d585['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x29d585),this['_preventResendingRevisionData'](_0x29d585);}else this['_revisionTracker']['addRevisionData'](_0x29d585);}const _0x33b8d2=_0x149b10['getRevisions']();_0x33b8d2['reverse']();for(let _0x4ae662=0x0;_0x4ae662<_0x33b8d2['length']-0x1;_0x4ae662++){const _0x17c39f=_0x33b8d2[_0x4ae662],_0x450863=_0x33b8d2[_0x4ae662+0x1];if(_0x17c39f['fromVersion']<_0x450863['toVersion']){const _0x2c680a=_0x450863['toVersion'],_0x53aafd=Math['max'](_0x2c680a,_0x17c39f['toVersion']);this['_fixRevision']({'revision':_0x17c39f,'from':_0x2c680a,'to':_0x53aafd});}}}['_fixRevision']({revision:_0x567e69,from:_0x6a3e2b,to:_0x2df323}={}){const _0x50deb6=this['editor']['plugins']['get'](_0x5e0e32),_0xcc6d81=this['_revisionTracker']['buildRevisionData']({'revision':_0x567e69,'from':_0x6a3e2b,'to':_0x2df323});_0xcc6d81['authors']=_0xcc6d81['authorsIds']['map'](_0x4dceec=>_0x50deb6['getUser'](_0x4dceec)),_0x567e69['_update'](_0xcc6d81);}['_preventResendingRevisionData'](_0x4b5ab8){const _0x3269e0={};_0x3269e0['id']=_0x4b5ab8['id'];for(const _0x3d07a8 of Object['keys'](_0x4b5ab8))'id'!==_0x3d07a8&&(_0x3269e0[_0x3d07a8]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3269e0['id'],_0x3269e0,!0x0);}async['_fetchMissingUsers'](_0x4c570e){const _0x514933=this['editor']['plugins']['get'](_0x5e0e32),{connection:_0x21bf01}=this['editor']['plugins']['get'](n),_0x5c39b4=new Set();for(const _0x3c070d of _0x4c570e){for(const _0x1aaf00 of _0x3c070d['authorsIds'])_0x196737(_0x1aaf00);_0x3c070d['creatorId']&&_0x196737(_0x3c070d['creatorId']);}if(0x0===_0x5c39b4['size'])return;const _0x3b2858=await ct['getMany'](_0x21bf01,Array['from'](_0x5c39b4));for(const _0x5877b6 of _0x3b2858)_0x514933['getUser'](_0x5877b6['id'])||_0x514933['addUser'](_0x5877b6);function _0x196737(_0x42bacc){_0x514933['getUser'](_0x42bacc)||_0x5c39b4['add'](_0x42bacc);}}}function T(_0x4842d7){return _0x4842d7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4842d7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4842d7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x27313d{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x4d7f98{['_collapseAt'];constructor(_0x2f520f,_0x4b3761=0x6){super(_0x2f520f);const _0x6f82d7=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4b3761,this['bind']('isHidden')['to'](this,'usersCount',_0x34ee51=>_0x34ee51<_0x4b3761),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x6f82d7['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':_0x6f82d7['to']('usersCount',_0x1cca38=>'+'+(_0x1cca38-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4d7f98{['items'];['keystrokes'];constructor(_0x4ac4d4){super(_0x4ac4d4);const _0x39082a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xeb3053(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x39082a['if']('hasPopup'),'aria-expanded':_0x39082a['to']('isExpanded',_0x589d58=>this['hasPopup']&&String(_0x589d58)),'aria-label':_0x39082a['to']('hasPopup',_0x4359b8=>K(_0x4ac4d4,_0x4359b8?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x39082a['to']('hasPopup',_0x343bf9=>!!_0x343bf9&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x39082a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x39082a['to'](_0x121947=>{const _0x8a3aff=_0x121947,_0x53373b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x9cf485=document['querySelector']('.ck-balloon-panel_with-arrow');_0x53373b?.['contains'](_0x8a3aff['relatedTarget'])||_0x9cf485?.['contains'](_0x8a3aff['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3afd78,_0x2e0fbc,_0x5bb4f0)=>{this['element']&&(_0x5bb4f0?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 k extends _0x4d7f98{['counterView'];['inlineListView'];constructor(_0x44069e,_0x5b10c4=0x6){super(_0x44069e);const _0x614b6a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x5b10c4),this['inlineListView']=new is(_0x44069e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xff4b3e of this['inlineListView']['items'])_0xff4b3e['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',_0x614b6a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x4d7f98{['listWrapperView'];constructor(_0x37313e,_0x14c17c){super(_0x37313e);const _0x2ea8e2=this['bindTemplate'];this['listWrapperView']=new ut(_0x37313e,_0x14c17c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x37313e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2ea8e2['to'](_0x276945=>{const _0x56e4c0=_0x276945,_0x579daf=document['querySelector']('.ck-presence-list__list'),_0x55b82a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x579daf?.['contains'](_0x56e4c0['relatedTarget'])||_0x55b82a?.['contains'](_0x56e4c0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x204327{constructor(_0x59d701,_0x232042){super(_0x59d701);const _0x15a983=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x232042?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x15a983['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x15a983['to']('role'),'aria-label':_0x15a983['to']('ariaLabel'),'aria-labelledby':_0x15a983['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3bd613['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x517352=this['element'];_0x517352&&(this['_isScrollable']=Math['max'](_0x517352['scrollHeight'],_0x517352['clientHeight'])>0.8*window['innerHeight']);}}class P extends et{['userView'];constructor(_0x2cfde1,_0x303915,_0x737156){super(_0x2cfde1);const _0x2da787=this['bindTemplate'];this['userView']=new st(_0x2cfde1,_0x303915);const _0x14821f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x303915['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x303915['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x303915['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x737156&&(_0x14821f['tag']='button',_0x14821f['on']={'click':_0x2da787['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x14821f);}['focus'](){this['element']['focus']();}}class _ extends _0x4d7f98{['userView'];['markerView'];constructor(_0x3f771e,_0x39741c,_0x45de6d){super(_0x3f771e);const _0x2cf216=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x3f771e,_0x39741c),this['markerView']=new ot(_0x3f771e,_0x39741c);const _0x28c272=new it(_0x3f771e);_0x28c272['template']['tag']='span',_0x28c272['text']=_0x39741c['name'];const _0x2b9c7d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2cf216['to']('isFocusable',_0x3e3b21=>!!_0x3e3b21&&0x0),'aria-labelledby':_0x28c272['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2cf216['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2cf216['to']('hasTooltip',_0x172be5=>!_0x172be5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x28c272]};_0x45de6d&&(_0x2b9c7d['tag']='button',_0x2b9c7d['on']={'click':_0x2cf216['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b9c7d);}}class ot extends _0x4d7f98{constructor(_0x254da2,_0x1d4e07){super(_0x254da2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1d4e07['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2de7e4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d4f08){super(_0x2d4f08),this['context']['config']['define']('presenceList',U);const _0x4b7ca3=_0x2d4f08['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4b7ca3)throw new _0xe8975b('presencelist-collapseat-invalid-format',this);if(_0x4b7ca3<0x1)throw new _0xe8975b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xf79b65(),this['balloonPanelView']=new _0x8561ff(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5e0060 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5e0060);this['listenTo'](this['_allConnectedUsers'],'add',(_0xaa0a90,_0x224820)=>{this['_handleUserAdd'](_0x224820);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2809e,_0x146467)=>{this['_handleUserRemove'](_0x146467);});}['_createView'](){const _0x27ff0f=this['context'],_0x518c75=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1b5774=this['balloonPanelView'];if(!_0x283ece(_0x27ff0f['config']['get']('presenceList.container')))throw new _0xe8975b('presencelist-missing-container',this);return _0x518c75['counterView']['bind']('usersCount')['to'](this),_0x518c75['bind']('isCollapsed')['to'](this,'usersCount',_0x47155d=>{const {collapseAt:_0x5cfbf3}=_0x27ff0f['config']['get']('presenceList'),_0x2d5cf2=_0x47155d>=_0x5cfbf3;if(_0x2d5cf2&&!_0x518c75['inlineListView']['items']['find'](_0x3cbca0=>_0x3cbca0 instanceof y)){const _0x26661e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26661e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x518c75['inlineListView']['items']['add'](_0x518c75['counterView']);}return _0x2d5cf2||this['hideDropdown'](),_0x2d5cf2;}),_0x518c75['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xaa7966=>{const _0x139244=_0x27ff0f['config']['get']('presenceList'),_0x34518d=new _(_0x27ff0f['locale'],_0xaa7966,!!_0x139244['onClick']);return _0x34518d['bind']('hasTooltip')['to'](_0x518c75,'isCollapsed',_0xdf09a3=>!_0xdf09a3),_0x34518d['bind']('isFocusable')['to'](_0x518c75,'isCollapsed',_0x210d38=>!_0x210d38),_0x139244['onClick']&&this['listenTo'](_0x34518d,'execute',()=>{this['view']['isCollapsed']||_0x139244['onClick'](_0xaa7966,_0x34518d['element']);}),_0x34518d;}),this['listenTo'](_0x518c75['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x518c75['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x518c75['inlineListView']['keystrokes']['set']('Enter',(_0x4b0370,_0x493e25)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x493e25());}),_0x518c75['render'](),_0x1b5774['render'](),_0xd5dcc7({'emitter':_0x518c75,'activator':()=>_0x1b5774['isVisible'],'contextElements':[_0x1b5774['element'],_0x518c75['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27ff0f['config']['get']('presenceList.container')['appendChild'](_0x518c75['element']),this['_bodyCollection']=new _0x24553a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x518c75;}['_handleUserAdd'](_0x2afb39){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2afb39['isMe'])return;const _0x37652b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x37652b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3d6702=_0x2afb39['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2afb39,_0x3d6702);}['_handleUserRemove'](_0x15ec12){this['usersCount']--;const {collapseAt:_0x4a31b6}=this['context']['config']['get']('presenceList'),_0x554a01=this['usersCount']>=_0x4a31b6;if(this['currentDisplayedUsers']['get'](_0x15ec12['id']))this['currentDisplayedUsers']['remove'](_0x15ec12['id']);else{if(_0x554a01&&this['currentDisplayedUsers']['length']+0x1===_0x4a31b6-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x554a01?0x1:0x0)<this['usersCount']){for(const _0x4ad8aa of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4ad8aa['id'])&&(this['currentDisplayedUsers']['add'](_0x4ad8aa,Math['min'](this['currentDisplayedUsers']['length']-(_0x554a01?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x554a01?0x1:0x0)===_0x4a31b6-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1511fc=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x1511fc['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3f85f4}=this['presenceDropdownView'];_0x3f85f4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x518da4=>{if(!_0x1511fc['displayMe']&&_0x518da4['isMe'])return null;const _0x4acb8d=new P(this['context']['locale'],_0x518da4,!!_0x1511fc['onClick']);return _0x1511fc['onClick']&&this['listenTo'](_0x4acb8d,'execute',()=>{_0x1511fc['onClick'](_0x518da4,_0x4acb8d['element']);}),_0x4acb8d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3f85f4['focus'](),_0x3f85f4['checkIfScrollable']();const _0x5832c8=(_0x5a21ca,_0x4daba5)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4daba5();};_0x3f85f4['keystrokes']['set']('Esc',_0x5832c8),_0x3f85f4['keystrokes']['set']('Shift+Tab',_0x5832c8),_0x3f85f4['keystrokes']['set']('Tab',(_0x105305,_0x422531)=>{!function(_0x3b6a8b){const _0x5ccf57=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x26c648=>_0x26c648+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4708c3=[...document['body']['querySelectorAll'](_0x5ccf57)]['filter'](_0x546716=>_0x546716===document['activeElement']||_0x546716['offsetWidth']+_0x546716['offsetHeight']>0x0)['sort']((_0x52e98c,_0x48a508)=>(_0x52e98c['tabIndex']||0x0)-(_0x48a508['tabIndex']||0x0)),_0x14a217=_0x4708c3['indexOf'](_0x3b6a8b),_0x39679b=_0x4708c3[(_0x14a217+0x1)%_0x4708c3['length']];_0x39679b&&_0x39679b['focus']();}(this['view']['element']),this['hideDropdown'](),_0x422531();}),_0x3f85f4['focusTracker']['add'](this['view']['element']),_0x3f85f4['focusTracker']['on']('change:isFocused',(_0x242bc6,_0x19845d,_0x1e9ad5)=>{_0x1e9ad5||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 _0x2de7e4{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};