@ckeditor/ckeditor5-real-time-collaboration 45.0.0-alpha.3 → 45.0.0-alpha.5

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 _0x5ac5e7,Plugin as _0x1aa6b7,PendingActions as _0x438715,Context as et}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x154155,CKEditorError as _0x18d37c,Collection as _0x198913,global as _0x5d6a2f,version as ht,uid as _0xdfcc0,KeystrokeHandler as _0x983a0a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2bf0ca,View as _0x47d96b,ListView as _0x315988,ListItemView as lt,LabelView as pt,BalloonPanelView as _0xfb9262,clickOutsideHandler as _0x41e088,BodyCollection as _0x290223}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ft,History as _0x3f8b70,NoOperation as _0x57b523,InsertOperation as _0x201492,MarkerOperation as _0x3b8081,RootAttributeOperation as _0x1ec889,transformSets as _0x1c3c22,OperationFactory as _0x37a7c2}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as mt,WEB_SOCKET_GATEWAY_STATES as _0x5dd3c7,CollaborativeEditingService as _0x37472b,User as gt,CommentsService as ot,TrackChangesService as at,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x472340,UserView as ut}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5698b3}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x4f211d}from'es-toolkit/compat';class c extends _0x5ac5e7{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>mt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2bf0ca];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x56186d){super(_0x56186d),this['set']('state',_0x5dd3c7['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x154155);}['init'](){const _0x5c45bd=this['context'],_0x5f20dc=_0x5c45bd['plugins']['get']('CloudServices'),_0x441a4b=_0x5c45bd['plugins']['get'](_0x2bf0ca);if(!_0x5f20dc['token'])throw new _0x18d37c('websocketgateway-missing-token',this);if(!_0x5f20dc['webSocketUrl'])throw new _0x18d37c('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),c['WebSocketGateway']['connect'](_0x5f20dc['token'],_0x5f20dc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x52be66=>{if(this['connection']=_0x52be66,this['bind']('state')['to'](_0x52be66,'state',this,'_isBrowserOffline',(_0x57c83b,_0xc7fa87)=>('connected'!==_0x57c83b&&(this['_shouldPluginsReconnect']=!0x0),_0xc7fa87||_0x57c83b!==_0x5dd3c7['CONNECTED']?_0x5dd3c7['DISCONNECTED']:this['state']==_0x5dd3c7['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5dd3c7['CONNECTING']):_0x5dd3c7['CONNECTED'])),this['connection']['on']('error',(_0x4fcc6d,_0x135983)=>{if('limitExceeded'!==_0x135983['code'])throw console['error'](_0x135983),new _0x18d37c('cloudservices-init',null,{'originalError':_0x135983});_0x441a4b['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'});}),!_0x52be66['me'])return new Promise(_0x49a421=>_0x52be66['on']('change:me',_0x49a421));})['catch'](_0xd75cbe=>{throw console['error'](_0xd75cbe),new _0x18d37c('cloudservices-init',null,{'originalError':_0xd75cbe});});}['addToReconnectionStack'](_0x13c36e){if('function'!=typeof _0x13c36e['reconnect'])throw new _0x18d37c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x13c36e))throw new _0x18d37c('websocketgateway-plugin-already-registered',this,{'name':_0x13c36e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x13c36e);}['removeFromReconnectionStack'](_0x489472){this['_reconnectionStack']['delete'](_0x489472);}['isInReconnectionStack'](_0x2d23bf){return this['_reconnectionStack']['has'](_0x2d23bf);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x58093e=>_0x58093e['reconnect']())))['then'](()=>this['state']=_0x5dd3c7['CONNECTED'])['catch'](_0x35b8a4=>{throw console['error'](_0x35b8a4),new _0x18d37c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5dd3c7['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x5ac5e7{['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[c,_0x472340];}constructor(_0x2dc802){super(_0x2dc802),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x198913(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x472340);}['init'](){const _0x30638b=this['context']['plugins']['get'](c);this['listenTo'](_0x30638b,'change:state',(_0x5952cd,_0x1b8b22,_0x16452f)=>{if('connected'!==_0x16452f)this['channelSessions']['forEach'](_0x3004ad=>_0x3004ad['clear']()),this['channelConnectedUsers']['forEach'](_0x5c68e2=>_0x5c68e2['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4dafd1,_0x59f173]of this['_registeredSessions'])for(const _0x280233 of _0x59f173)this['_handleSessionAdd'](_0x4dafd1,_0x280233);}}),this['_createUser'](_0x30638b['connection']['me'],!0x0);}['register'](_0x549e40,_0x50993b){if(this['_registeredSessions']['has'](_0x549e40))throw new _0x18d37c('sessions-register-already-registered',null,{'channelId':_0x549e40});this['_registeredSessions']['set'](_0x549e40,_0x50993b),this['channelSessions']['set'](_0x549e40,new _0x198913()),this['channelConnectedUsers']['set'](_0x549e40,new _0x198913()),this['listenTo'](_0x50993b,'add',(_0x127b59,_0x5ba032)=>this['_handleSessionAdd'](_0x549e40,_0x5ba032)),this['listenTo'](_0x50993b,'remove',(_0x5a70b3,_0x27e5c4)=>this['_handleSessionRemove'](_0x549e40,_0x27e5c4));for(const _0x3e8d98 of _0x50993b)this['_handleSessionAdd'](_0x549e40,_0x3e8d98);}['unregister'](_0x55e3ee){if(!this['_registeredSessions']['has'](_0x55e3ee))throw new _0x18d37c('sessions-unregister-not-exist',null,{'channelId':_0x55e3ee});const _0x5dfabb=this['_registeredSessions']['get'](_0x55e3ee);this['stopListening'](_0x5dfabb);for(const _0x564b4d of _0x5dfabb)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x55e3ee,_0x564b4d);this['_registeredSessions']['delete'](_0x55e3ee),this['channelSessions']['delete'](_0x55e3ee),this['channelConnectedUsers']['delete'](_0x55e3ee);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4f765c){for(const _0x5f1a54 of this['channelSessions']['values']())for(const _0x4e93ce of _0x5f1a54)if(_0x4e93ce['id']===_0x4f765c)return _0x4e93ce['user'];}['getUserSessions'](_0x3ac863,_0x40e4c6){const _0x2b5b9b=_0x40e4c6?[this['channelSessions']['get'](_0x40e4c6)]:this['channelSessions']['values'](),_0xeac75d=new Set();for(const _0x3838e2 of _0x2b5b9b)for(const _0x3f9e98 of _0x3838e2)_0x3f9e98['user']['id']===_0x3ac863['id']&&_0xeac75d['add'](_0x3f9e98['id']);return _0xeac75d;}['getUserRole'](_0x5dd775){for(const _0x1703e6 of this['channelSessions']['values']())for(const _0x2a891d of _0x1703e6)if(_0x2a891d['user']===_0x5dd775)return _0x2a891d['role'];}['_handleSessionAdd'](_0x413e00,_0x5dda){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x1396fa=_0x5dda['user'],_0x28aa=this['_users']['getUser'](_0x1396fa['id'])||this['_createUser'](_0x1396fa),_0x33b088=Object['assign']({},_0x5dda,{'user':_0x28aa});this['channelSessions']['get'](_0x413e00)['add'](_0x33b088);const _0x56b1e9=this['channelConnectedUsers']['get'](_0x413e00);_0x56b1e9['has'](_0x28aa['id'])||_0x56b1e9['add'](_0x28aa),this['allConnectedUsers']['has'](_0x28aa['id'])||this['allConnectedUsers']['add'](_0x28aa,_0x28aa['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x413e00,{'channelId':_0x413e00,'session':_0x33b088});}['_handleSessionRemove'](_0x4b5ac2,_0x3ca15d){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2de573=this['channelConnectedUsers']['get'](_0x4b5ac2),_0x4a18ee=_0x3ca15d['user'];_0x4a18ee['id']&&(this['channelSessions']['get'](_0x4b5ac2)['remove'](_0x3ca15d['id']),_0x2de573['has'](_0x4a18ee['id'])&&!this['getUserSessions'](_0x4a18ee,_0x4b5ac2)['size']&&_0x2de573['remove'](_0x4a18ee['id']),this['allConnectedUsers']['get'](_0x4a18ee['id'])&&!this['getUserSessions'](_0x4a18ee)['size']&&this['allConnectedUsers']['remove'](_0x4a18ee['id']));}['_createUser'](_0x2a76e5,_0x12ea45){const _0x1c8d8b=this['_users']['addUser'](_0x2a76e5);return _0x12ea45&&this['_users']['defineMe'](_0x2a76e5['id']),_0x1c8d8b['orderNumber']=this['_uniqueUsersCount']++,_0x1c8d8b;}}class B extends _0x1aa6b7{['_domEmitter']=new(_0x154155())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x508040=this['editor'],_0x38be52=_0x508040['plugins']['get'](i);_0x508040['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x56ba68,{writer:_0x330254})=>function(_0x40ffdc,_0x5d0dd4,_0x2b51d5,_0x365ac6){const _0x45d96c=_0x40ffdc['markerName']['split'](':')[0x2],_0x32bda4=_0x2b51d5['getUserBySessionId'](_0x45d96c);if(!_0x32bda4||_0x45d96c===_0x2b51d5['mySessionId'])return;if(!_0x365ac6['model']['schema']['checkChild'](_0x40ffdc['markerRange']['start'],'$text'))return;const _0x383f48={'class':'ck-user__marker\x20'+_0x32bda4['color']['getMarkerClass'](),'data-name':_0x32bda4['name'],'data-session-id':_0x45d96c},_0x4b9e37=_0x365ac6['model']['markers']['get'](_0x40ffdc['markerName']),_0x5ab645=_0x4b9e37['getStart'](),_0x442194=_0x5ab645['nodeAfter'],_0x3ca993=_0x365ac6['model']['schema'];if(_0x442194&&_0x3ca993['isObject'](_0x442194)&&_0x3ca993['isInline'](_0x442194)&&!_0x365ac6['model']['markers']['get']('user:range:'+_0x45d96c)['getRange']()['isCollapsed'])return;const _0xbfa6d2=_0x5ab645['parent'];return _0x365ac6['model']['schema']['isLimit'](_0xbfa6d2)&&!_0x365ac6['model']['hasContent'](_0xbfa6d2)&&(_0x383f48['contenteditable']=!0x1),function(_0x1f0bde,_0x13be4f,_0x17be8a){const _0x47b8d4=_0x1f0bde['createUIElement']('span',_0x13be4f);return _0x1f0bde['setCustomProperty']('userPositionMarker',!0x0,_0x47b8d4),_0x47b8d4['render']=function(_0x2c2c7f){const _0x5a1d2a=this['toDomElement'](_0x2c2c7f),_0x4f0cae=document['createElement']('span');return _0x4f0cae['classList']['add']('ck-user__marker-tooltip'),_0x4f0cae['setAttribute']('contenteditable','false'),_0x4f0cae['setAttribute']('spellcheck','false'),_0x4f0cae['textContent']=_0x17be8a['name'],_0x5a1d2a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4f0cae['outerHTML']+'⁠',_0x5a1d2a['addEventListener']('mouseenter',()=>{_0x5a1d2a['classList']['add']('ck-user__marker_hovered');}),_0x5a1d2a['addEventListener']('mouseleave',()=>{_0x5a1d2a['classList']['remove']('ck-user__marker_hovered');}),_0x5a1d2a;},_0x47b8d4['isSimilar']=function(_0x41250a){return!(!this['getCustomProperty']('userPositionMarker')||!_0x41250a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x41250a['getAttribute']('data-session-id'));},_0x47b8d4;}(_0x5d0dd4,_0x383f48,_0x32bda4);}(_0x56ba68,_0x330254,_0x38be52,_0x508040)}),_0x508040['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x227ce3=>function(_0x4218c7,_0x4f561d){const _0xb2454d=_0x4218c7['markerName']['split'](':')[0x2];if(_0xb2454d===_0x4f561d['mySessionId'])return null;const _0x3fcc77=_0x4f561d['getUserBySessionId'](_0xb2454d);if(!_0x3fcc77)return{'id':_0xb2454d,'classes':[]};return{'id':_0xb2454d,'classes':['ck-user__selection',_0x3fcc77['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xb2454d},'priority':0x7d0+_0x3fcc77['orderNumber']};}(_0x227ce3,_0x38be52)}),function(_0x3edc5f){const _0x4cd535=_0x3edc5f['model'],_0x571c5d=new Map(),_0x356536=_0x3edc5f['plugins']['get'](i);_0x4cd535['markers']['on']('update:user:range',(_0x4dfdbe,_0x120866,_0x13bfdb,_0x191418)=>{if(!_0x191418&&_0x571c5d['get'](_0x120866['name']))return _0x571c5d['get'](_0x120866['name'])['detach'](),void _0x571c5d['delete'](_0x120866['name']);const _0xda8548=_0x120866['name']['split'](':')[0x2];if(_0xda8548===_0x356536['mySessionId'])return;const _0x368b96='user:position:'+_0xda8548;_0x4cd535['markers']['has'](_0x368b96)&&_0x3edc5f['editing']['reconvertMarker'](_0x368b96),_0x120866['on']('change:range',(_0x10c35b,_0x4bcca0,_0x49028f)=>{if('$graveyard'!=_0x4bcca0['root']['rootName']&&'$graveyard'==_0x120866['getRange']()['root']['rootName']&&!_0x571c5d['has'](_0x120866['name'])){const _0x42a4cc=_0x4cd535['schema']['getNearestSelectionRange'](_0x49028f['deletionPosition']);if(_0x42a4cc){const _0x3a4afc=ft['fromRange'](_0x42a4cc);_0x571c5d['set'](_0x120866['name'],_0x3a4afc),_0x3a4afc['on']('change:range',(_0x123f01,_0x12692e,_0x2ef967)=>{if('$graveyard'==_0x3a4afc['root']['rootName']){const _0x362a3e=_0x4cd535['schema']['getNearestSelectionRange'](_0x2ef967['deletionPosition']);_0x362a3e?(_0x3a4afc['start']=_0x362a3e['start'],_0x3a4afc['end']=_0x362a3e['end']):(_0x571c5d['delete'](_0x120866['name']),_0x3a4afc['detach']());}});}}});}),_0x4cd535['document']['on']('change',()=>{_0x571c5d['size']>0x0&&_0x4cd535['enqueueChange']({'isUndoable':!0x1},_0x521aa4=>{for(const [_0x116f8c,_0x5e914c]of _0x571c5d)'$graveyard'==_0x4cd535['markers']['get'](_0x116f8c)['getRange']()['root']['rootName']&&(X(_0x116f8c['split'](':')[0x2],_0x5e914c['toRange'](),_0x4cd535,_0x521aa4),_0x5e914c['detach']());_0x571c5d['clear']();});});}(_0x508040),this['_domEmitter']['listenTo'](_0x5d6a2f['document'],'keydown',(_0x357ac7,{key:_0x2b4f4e})=>{'Escape'===_0x2b4f4e&&function(_0x13934a){_0x13934a['editing']['view']['change'](_0xfa0833=>{for(const _0x160cde of _0x13934a['model']['markers']){if(!_0x160cde['name']['startsWith']('user:position'))continue;const _0x78bae7=_0x13934a['editing']['mapper']['markerNameToElements'](_0x160cde['name']);if(_0x78bae7){for(const _0x106dc4 of _0x78bae7)_0xfa0833['removeClass']('ck-user__marker_hovered',_0x106dc4);}}});}(_0x508040);},{'useCapture':!0x0});}['afterInit'](){const _0xe99fac=this['editor'],_0x265e4d=_0xe99fac['commands']['get']('undo');_0x265e4d&&_0xe99fac['model']['on']('applyOperation',(_0x4f9265,_0xe34abd)=>{const _0xe71f8e=_0xe34abd[0x0];if(!_0xe71f8e['isDocumentOperation'])return;if('marker'!=_0xe71f8e['type']||!_0xe71f8e['name']['startsWith']('user:'))return;const _0x27deed=_0xe71f8e['batch'];_0x265e4d['_createdBatches']['has'](_0x27deed)&&(_0xe71f8e['newRange']=_0xe71f8e['oldRange']?_0xe99fac['model']['createRange'](_0xe71f8e['oldRange']['start'],_0xe71f8e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x26f36d=this['editor'],_0x3d582b=_0x26f36d['model']['document'],_0x1b99be=_0x26f36d['plugins']['get'](i);_0x26f36d['model']['enqueueChange']({'isUndoable':!0x1},_0x4864dd=>{const _0x354758='user:range:'+_0x1b99be['mySessionId'],_0x2994c1='user:position:'+_0x1b99be['mySessionId'],_0x518466=_0x26f36d['model']['markers']['has'](_0x354758);_0x26f36d['editing']['view']['hasDomSelection']?X(_0x1b99be['mySessionId'],_0x3d582b['selection']['getFirstRange'](),_0x26f36d['model'],_0x4864dd):_0x518466&&(_0x4864dd['removeMarker'](_0x354758),_0x4864dd['removeMarker'](_0x2994c1));});}}function X(_0xfd7ab6,_0x3dc7c7,_0xf9053,_0x53c8f7){const _0x523065='user:range:'+_0xfd7ab6,_0x203ccb='user:position:'+_0xfd7ab6,_0x1d1a4a=_0x3dc7c7['getContainedElement']();let _0x4d3ed6=_0x3dc7c7['start'];_0x1d1a4a&&_0x1d1a4a['is']('element','tableCell')&&(_0x4d3ed6=function(_0x16cae7,_0x3c0cb0){for(const _0x15d8e8 of _0x16cae7['getPositions']())if(_0x3c0cb0['schema']['checkChild'](_0x15d8e8,'$text'))return _0x15d8e8;}(_0x3dc7c7,_0xf9053),_0x3dc7c7=_0x53c8f7['createRange'](_0x4d3ed6));const _0x4ce377=_0x53c8f7['createRange'](_0x4d3ed6);_0xf9053['markers']['has'](_0x523065)?(_0x53c8f7['updateMarker'](_0x523065,{'range':_0x3dc7c7}),_0x53c8f7['updateMarker'](_0x203ccb,{'range':_0x4ce377})):(_0x53c8f7['addMarker'](_0x523065,{'range':_0x3dc7c7,'usingOperation':!0x0}),_0x53c8f7['addMarker'](_0x203ccb,{'range':_0x4ce377,'usingOperation':!0x0}));}function M(_0x122c01,_0x13574d,_0x4d4122){const _0x2851d4=_0x122c01['t'],t=_0x122c01['t'];switch(_0x13574d){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 _0x2851d4({'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'},_0x4d4122);default:return'';}}let F=0x1;class l extends _0x1aa6b7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x37472b)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,B,_0x438715,_0x472340,_0x2bf0ca];}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 _0x478263=this['serverHistory']['getOperations']();for(let _0x36f8c6=_0x478263['length']-0x1;_0x36f8c6>=0x0;_0x36f8c6--){const _0x549487=_0x478263[_0x36f8c6];if(!this['_disconnectionOperations']['has'](_0x549487))return _0x549487['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x375fb6){if(super(_0x375fb6),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3f8b70(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x18d37c('collaboration-missing-channelid',this);const _0x2eaf62=_0x375fb6['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x2eaf62,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5698b3(),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 $(this['_disconnectionOperations']);}['init'](){const _0x45ba3e=this['editor'],_0x5e2c65=_0x45ba3e['plugins']['get'](_0x472340),_0x2394a7=_0x45ba3e['plugins']['get'](c);this['listenTo'](_0x5e2c65,'getOperationAuthor',(_0x34936f,_0x44d394)=>{const _0xd1fefc=_0x44d394[0x0];_0xd1fefc['_authorId']&&(_0x34936f['return']=_0x5e2c65['getUser'](_0xd1fefc['_authorId']),_0x34936f['stop']()),null===_0xd1fefc['_authorId']&&(_0x34936f['return']=null,_0x34936f['stop']());},{'priority':'high'}),this['listenTo'](_0x45ba3e['model']['document']['selection'],'change:range',(_0x506b8f,_0x55a4ec)=>{_0x55a4ec['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x45ba3e['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x45ba3e['model']['on']('applyOperation',(_0x220212,_0x1b4ccb)=>{const _0x4ce218=_0x1b4ccb[0x0];_0x4ce218['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4ce218),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2394a7,'state',this,'_hasSynchronizationProblem',(_0x1d48fe,_0x47524c)=>'connected'===_0x1d48fe&&!_0x47524c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x45ba3e['disableReadOnlyMode']('rtc-offline'):_0x45ba3e['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x45ba3e['disableReadOnlyMode']('rtc-offline'):_0x45ba3e['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x422f64=this['editor']['plugins']['get'](i),_0x548aca=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x422f64['unregister'](this['_channelId']);const _0x3c264f=await this['_service']['reconnect'](_0x548aca['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3c264f)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4b396f=await this['_service']['getConnectedSessions']();_0x422f64['register'](this['_channelId'],_0x4b396f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x32e278){if(function(_0x233d0a){return'404'===_0x233d0a['code'];}(_0x32e278)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1729c8){return'409'===_0x1729c8['code'];}(_0x32e278)){const _0x80783c=M(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'](_0x80783c);}else{if(!(_0x32e278 instanceof q))throw _0x32e278;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1d0936=this['editor']['plugins']['get'](c),_0x14cfca=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x14cfca['channelSessions']['has'](this['_channelId'])&&_0x14cfca['unregister'](this['_channelId']),_0x1d0936['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x23a1b6){if(this['sessionId']!==_0x23a1b6['sessionId']&&this['_lastSyncedOperationId']!==_0x23a1b6['lastOperationId'])throw new q();return this['sessionId']=_0x23a1b6['sessionId'],this['_handleServerResponse']([],{..._0x23a1b6,'wereChangesApplied':!0x1,'data':_0x23a1b6['data']},'reconnect');}async['_connectService'](_0x543d61,_0x51b17b=!0x1){const {connection:_0x3960b8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x3960b8,this['_channelId'])['then'](_0x1e435a=>this['_initSessionsHandling'](_0x1e435a))['catch'](_0x363a4b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x363a4b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x30c399,_0xf96ccf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xf96ccf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2e6d76=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x543d61);this['_isPendingUpdate']=!0x0;const _0x144f24=await this['_service']['connect'](_0x3960b8,this['_compressOperations'](_0x543d61),_0x2e6d76);if(this['sessionId']=_0x144f24['sessionId'],_0x51b17b){if(!_0x144f24['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x144f24['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x543d61,_0x144f24,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x144f24,_0x543d61);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1505e7=this['editor']['plugins']['get'](i),_0x24499f=this['editor']['plugins']['get'](B),_0x280708=_0x1505e7['channelSessions']['get'](this['_channelId']);_0x280708&&_0x280708['length']>0x1?_0x24499f['createUserMarkerOperations']():this['listenTo'](_0x1505e7,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1505e7['channelSessions']['get'](this['_channelId'])['length']&&_0x24499f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3efb42,_0x59ceb4,_0x279268,_0xc44283){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x59ceb4){const _0x1f2e68=this['_decompressOperations'](_0x279268,_0xc44283);await this['_fetchMissingUsers'](_0x1f2e68),this['_handleExternalOperations'](_0x1f2e68,_0x59ceb4,_0x279268['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4cd882}=this['editor'];let _0x2dc585;try{_0x2dc585=await this['_service']['getDocumentDetails']();}catch(_0x489d47){const _0x350cf3=M(_0x4cd882,'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'](_0x350cf3);}const _0x24f486=_0x2dc585['currentDocumentSession']||_0x2dc585['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x24f486['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x1ae63b=M(_0x4cd882,'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.');this['_handleReconnectionError'](_0x1ae63b);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x292cfa){const _0x40f29b=this['editor']['plugins']['get'](i);this['listenTo'](_0x40f29b,'sessionAdd:'+this['_channelId'],(_0x1526a4,{session:_0x5f4c6d})=>{if(_0x5f4c6d['id']===_0x40f29b['mySessionId']){_0x1526a4['off']();const _0x550d0b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x47c761=_0x5f4c6d['permissions'];_0x550d0b&&_0x550d0b['isEnabled']&&(_0x47c761=_0x47c761['filter'](_0x3809d8=>'document:write'!==_0x3809d8)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x47c761,this['_channelId']);}}),_0x40f29b['register'](this['_channelId'],_0x292cfa);}['_initThrowingOnDataSet'](){const _0x2cfdb5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x23b606)=>{if(!_0x23b606[_0x23b606['length']-0x1]['suppressErrorInCollaboration'])throw new _0x18d37c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2cfdb5['apply'](this['editor']['data'],_0x23b606);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1cae70,[_0x1c40c6])=>{if(this['_document']['version'])throw new _0x18d37c('realtimecollaborationclient-init-document-already-initialized',this);_0x1cae70['stop'](),this['_setPendingAction']();const _0x121fb6=this['editor']['config']['get']('rootsAttributes'),_0x2ec10b=this['_getOperationsFromInitData'](_0x1c40c6,_0x121fb6);0x0==_0x2ec10b['length']&&_0x2ec10b['push'](new _0x57b523(0x0)),_0x1cae70['return']=this['_connectService'](_0x2ec10b)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5a14f9=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5a14f9))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x42a46a,[_0x1198c2,_0x3755cd])=>{_0x42a46a['stop']();const _0x55d6fa=this['editor']['model']['document']['getRoot'](_0x1198c2);if(!this['_knownRootNames']['has'](_0x1198c2)){const _0x3721f1=_0x3755cd&&_0x3755cd['data']?_0x3755cd['data']:'',_0x587801=_0x3755cd&&_0x3755cd['attributes']?_0x3755cd['attributes']:{};await this['_loadRoot'](_0x1198c2,_0x3721f1,_0x587801);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x55d6fa['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x55d6fa);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xb22a1d){const _0x5696e3=this['editor']['plugins']['get'](_0x472340),{connection:_0x1ef912}=this['editor']['plugins']['get'](c),_0x129d57=new Set();for(const _0x1d6559 of _0xb22a1d){const _0x43303d=_0x1d6559['_authorId'];_0x43303d&&!_0x5696e3['getUser'](_0x43303d)&&_0x129d57['add'](_0x43303d);}if(0x0===_0x129d57['size'])return;const _0xdfb5f5=await gt['getMany'](_0x1ef912,Array['from'](_0x129d57));for(const _0x12727f of _0xdfb5f5)_0x5696e3['getUser'](_0x12727f['id'])||_0x5696e3['addUser'](_0x12727f);}['_getOperationsFromInitData'](_0x517b0c,_0x20d1ef={}){const _0x13953e=this['editor']['model'],_0x147b0e=[];let _0x369f32=0x0;const _0x177aca='string'==typeof _0x517b0c?{'main':_0x517b0c}:_0x517b0c;for(const _0x1e3a69 of Object['keys'](_0x177aca)){if(!this['_document']['roots']['has'](_0x1e3a69))throw new _0x18d37c('realtimecollaborationclient-init-non-existent-root',this);const _0x35069a=this['editor']['data']['parse'](_0x177aca[_0x1e3a69]),_0x2d1427=this['_document']['getRoot'](_0x1e3a69),_0x16a44c=new _0x201492(_0x13953e['createPositionAt'](_0x2d1427,0x0),_0x35069a,_0x369f32++);_0x147b0e['push'](_0x16a44c);for(const [_0x3f576a,_0x346308]of _0x35069a['markers']){const _0x2ab766=_0x13953e['createRange'](_0x13953e['createPositionFromPath'](_0x2d1427,_0x346308['start']['path']['slice']()),_0x13953e['createPositionFromPath'](_0x2d1427,_0x346308['end']['path']['slice']())),_0x4bd2cb=new _0x3b8081(_0x3f576a,null,_0x2ab766,_0x13953e['markers'],!0x0,_0x369f32++);_0x147b0e['push'](_0x4bd2cb);}}if(_0x20d1ef)for(const [_0x4f3a87,_0x18982d]of Object['entries'](_0x20d1ef)){const _0x48670f=_0x13953e['document']['getRoot'](_0x4f3a87);if(!_0x48670f)throw new _0x18d37c('multi-root-editor-root-attributes-no-root',null);for(const [_0x31ead7,_0x54eebd]of Object['entries'](_0x18982d))if(null!==_0x54eebd){const _0x412fe9=new _0x1ec889(_0x48670f,_0x31ead7,null,_0x54eebd,_0x369f32++);_0x147b0e['push'](_0x412fe9);}}return _0x147b0e;}async['_loadRoot'](_0x2055dd,_0x5abe94,_0x482f7e){this['_getOperationsFromInitData']({[_0x2055dd]:_0x5abe94},{[_0x2055dd]:_0x482f7e})['forEach']((_0x210626,_0x3ad8fa)=>{_0x210626['baseVersion']=this['_document']['version']+_0x3ad8fa,_0x210626['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x210626);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xc931da,_0xc81324){let _0xe45589;this['_offset']=_0xc931da['offset'];const _0x57b9b3=_0xc931da['wereChangesApplied']&&!_0xc931da['initData'],_0x3e05df=_0x57b9b3?0x0:_0xc931da['data']['baseVersion'];if(_0xc81324['forEach'](_0x321079=>{_0x321079['_isInit']=!0x0,_0x321079['createdAt']=_0xc931da['sessionCreatedAt'],_0x321079['_authorId']=null;}),_0x57b9b3)_0xe45589=_0xc81324,this['_applyOperationsSet'](_0xe45589,_0x57b9b3);else{if(_0xc931da['initData']){const _0xf7498=this['_getOperationsFromInitData'](_0xc931da['initData']);this['_document']['history']['version']=-_0xf7498['length'],_0xf7498['forEach'](_0x50e3d2=>{_0x50e3d2['baseVersion']-=_0xf7498['length'],_0x50e3d2['createdAt']=_0xc931da['sessionCreatedAt'],_0x50e3d2['_isInit']=!0x0,_0x50e3d2['_authorId']=null;}),this['_applyOperationsSet'](_0xf7498,!0x0),this['serverHistory']['version']=-_0xf7498['length']+this['_offset'],this['_updateServerHistory'](_0xf7498);}this['_document']['history']['version']=_0x3e05df,_0xe45589=this['_decompressOperations'](_0xc931da['data'],_0xc931da['metadata']),await this['_fetchMissingUsers'](_0xe45589),this['_applyOperationsSet'](_0xe45589,_0x57b9b3);}_0xc931da['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xe45589,_0xc931da['lastOperationId']),this['_lastSyncedOperationId']=_0xc931da['lastOperationId']),this['serverHistory']['version']=_0x3e05df+this['_offset'],this['_updateServerHistory'](_0xe45589),_0xc81324['filter'](_0x2cebe6=>{const _0x57a460=this['_getAffectedRoot'](_0x2cebe6);return _0x57a460&&!this['_knownRootNames']['has'](_0x57a460);})['forEach']((_0x305258,_0x55d3a4)=>{_0x305258['baseVersion']=this['_document']['version']+_0x55d3a4,this['_saveOperationInBuffer'](_0x305258);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4da0d6,_0x197a35){const _0x88ac36=_0x197a35&&_0x197a35['message'];if(_0x88ac36&&_0x88ac36['startsWith']('realtimecollaborationclient'))throw _0x197a35;const _0x3639f0=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x3639f0['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x18d37c(_0x4da0d6,this['editor'],_0x88ac36?{'originalError':_0x88ac36}:void 0x0);}['_saveOperationInBuffer'](_0x1a661f){this['_knownOperations']['has'](_0x1a661f)||(this['_knownOperations']['add'](_0x1a661f),this['_bufferedOperations']['push'](_0x1a661f),this['_pendingAction']||'marker'==_0x1a661f['type']&&!_0x1a661f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x386fbd=!0x1){!_0x386fbd&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3719e1=>{_0x3719e1&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4d2384=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b7549){return _0x5b7549['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b7549['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b7549['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4d2384)||this['_crash'](_0x4d2384['message'],_0x4d2384);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x16a00c=>{this['on']('change:_isPendingUpdate',()=>{_0x16a00c();});});}async['_sendBufferedOperations'](){const _0x8fe68=this['editor']['plugins']['get'](B);if(this['_shouldSendSelectionUpdate']()&&(_0x8fe68['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3fc4d1=[...this['_bufferedOperations']];for(const _0xe28a7d of _0x3fc4d1)_0xe28a7d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xe28a7d);const _0x563b8d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3fc4d1),_0x1d4d01=F++,_0x5d342e=this['_compressOperations'](_0x3fc4d1),_0x41250f=await this['_service']['sendOperations'](_0x5d342e,_0x5d342e['baseVersion'],_0x563b8d);try{return await this['_handleServerResponse'](_0x3fc4d1,_0x41250f,_0x1d4d01);}catch(_0x2ebba8){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2ebba8);}}async['_handleServerResponse'](_0x5c70b5,_0x51609b,_0x12aecd){if('error'in _0x51609b)throw _0x51609b['error'];let _0x2ae146=!0x1;if(_0x51609b['wereChangesApplied']){_0x51609b['lastOperationId']&&(this['_lastSyncedOperationId']=_0x51609b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5cad25=>!_0x5c70b5['includes'](_0x5cad25));for(const _0x4f8f19 of _0x5c70b5)_0x4f8f19['createdAt']='lastOperationAcceptedAt'in _0x51609b&&_0x51609b['lastOperationAcceptedAt']||void 0x0;G(_0x5c70b5,_0x51609b['version']-_0x5c70b5['length']),this['_updateServerHistory'](_0x5c70b5);const _0x48fba8=_0x5c70b5['filter'](_0x221643=>{if(!_0x221643['_isInit'])return!0x1;const _0x2763a0=this['_getAffectedRoot'](_0x221643);return _0x2763a0&&!this['_knownRootNames']['has'](_0x2763a0);});G(_0x48fba8,this['_document']['version']),this['_applyOperationsSet'](_0x48fba8),_0x2ae146=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x497d9c=this['_decompressOperations'](_0x51609b['data'],_0x51609b['metadata'])['filter'](_0x4ca9d8=>_0x4ca9d8['baseVersion']>=this['_lastServerVersion']);_0x497d9c['forEach'](_0x3bf5a9=>this['_addKnownRoot'](_0x3bf5a9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x182098=>!_0x182098['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x182098))),this['_bufferedOperations']['length']&&G(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x497d9c),_0x2ae146=this['_handleExternalOperations'](_0x497d9c,_0x51609b['version'],_0x51609b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2ae146?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x38bf0e,_0x4d7ca3,_0x4c0fa1){try{const _0x380f6e={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1315f5,operationsB:_0x48b396,originalOperations:_0x4a6f8e}=_0x1c3c22(_0x38bf0e,this['_bufferedOperations'],_0x380f6e);G(_0x1315f5,this['_document']['version']),G(_0x48b396,_0x4d7ca3);for(const _0x4ab0fb of _0x1315f5){const _0x501abd=_0x4a6f8e['get'](_0x4ab0fb);_0x4ab0fb['_authorId']=_0x501abd?_0x501abd['_authorId']:null;}_0x4c0fa1&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x38bf0e,_0x4c0fa1),this['_lastSyncedOperationId']=_0x4c0fa1),this['_bufferedOperations']=[..._0x48b396],this['_applyOperationsSet'](_0x1315f5),this['_updateServerHistory'](_0x38bf0e);}catch(_0x1f568f){return console['error'](_0x1f568f),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4ecf32,_0x186ae0=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2e5a68=>{for(const _0x298c00 of _0x4ecf32)this['_knownOperations']['add'](_0x298c00),this['_addKnownRoot'](_0x298c00),_0x2e5a68['batch']['addOperation'](_0x298c00),this['editor']['model']['applyOperation'](_0x298c00);});}['_addKnownRoot'](_0x1e0c58){const _0xe31973=this['_getAffectedRoot'](_0x1e0c58);_0xe31973&&this['_knownRootNames']['add'](_0xe31973);}['_getAffectedRoot'](_0x2601d3){let _0x2273ff,_0x392e83;switch(_0x2601d3['type']){case'insert':_0x2273ff=_0x2601d3['position']['root'];break;case'marker':if(_0x392e83=_0x2601d3['newRange'],!_0x392e83)return null;_0x2273ff=_0x392e83['root'];break;case'addRootAttribute':_0x2273ff=_0x2601d3['root'];break;case'addRoot':_0x2273ff=_0x2601d3['affectedSelectable'];break;case'move':_0x2273ff=_0x2601d3['targetPosition']['root'];break;default:return null;}return _0x2273ff['rootName'];}['_updateServerHistory'](_0x1c513b){_0x1c513b['forEach'](_0x2110d4=>{const _0x2fb60b=_0x2110d4['clone']();_0x2fb60b['_authorId']=_0x2110d4['_authorId'],_0x2fb60b['_isInit']=!!_0x2110d4['_isInit'],_0x2fb60b['createdAt']=_0x2110d4['createdAt'],_0x2fb60b['baseVersion']+=this['_offset'],_0x2110d4['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2fb60b),this['serverHistory']['addOperation'](_0x2fb60b);});}['_handleReconnectionError'](_0x3a02ab){const _0x29b4ec=this['editor']['plugins']['get']('Notification'),_0x30b562=this['editor']['locale'];_0x3a02ab||(_0x3a02ab=M(_0x30b562,'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.')),_0x29b4ec['showWarning'](_0x3a02ab,{'title':M(_0x30b562,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x438715)['add'](M(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x438715)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x552991){const _0x34204a=_0x552991['map'](_0x217ea5=>_0x217ea5['toJSON']());return this['_compressor']['compress'](_0x34204a);}['_decompressOperations'](_0x2a51a2,_0x3163a8){return this['_compressor']['decompress'](_0x2a51a2)['map']((_0x1d4c98,_0x5aa456)=>{const _0xd5d00a='init'==_0x3163a8[_0x5aa456]['type'];if('InsertOperation'==_0x1d4c98['__className']){const _0xadccb0=_0x1d4c98['position']['root'];!this['_document']['getRoot'](_0xadccb0)&&(this['_document']['createRoot']('$root',_0xadccb0)['_isAttached']=!0x1);}const _0x1559d7=_0x37a7c2['fromJSON'](_0x1d4c98,this['_document']);return _0x1559d7['wasUndone']=_0x1d4c98['wasUndone'],_0x1559d7['_isInit']=_0xd5d00a,_0x1559d7['_authorId']=_0xd5d00a?null:_0x3163a8[_0x5aa456]['userId'],_0x1559d7['_isDisconnection']='cs:removeUser'===_0x3163a8[_0x5aa456]['type'],_0x1559d7['createdAt']=_0x3163a8[_0x5aa456]['createdAt'],_0x1559d7;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x590a4c=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x590a4c&&_0x590a4c['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class q extends Error{}function G(_0x24b5f7,_0x48559c){for(const _0x643d33 of _0x24b5f7)_0x643d33['baseVersion']=_0x48559c++;}class ${['_ignoredOperations'];['_operationToId'];constructor(_0x1880cc){this['_ignoredOperations']=_0x1880cc,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4741fa){let _0x31ff4c=_0x4741fa['length'];for(;_0x31ff4c--;){const _0x334a22=_0x4741fa[_0x31ff4c];if(!this['_ignoredOperations']['has'](_0x334a22)){if(!this['_operationToId']['has'](_0x334a22)){const _0xc50cc5=_0xdfcc0()['slice'](0x1,0x12);this['_operationToId']['set'](_0x334a22,_0xc50cc5);}return this['_operationToId']['get'](_0x334a22);}}}['setIdForTheLastOperation'](_0x573882,_0x49453b){if(!_0x49453b)return;let _0x26d343=_0x573882['length'];for(;_0x26d343--;){const _0x5ab842=_0x573882[_0x26d343];this['_ignoredOperations']['has'](_0x5ab842)||this['_operationToId']['set'](_0x5ab842,_0x49453b);}}}class n extends _0x1aa6b7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x5ac5e7{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>ot)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x472340];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x460a9c){super(_0x460a9c),this['_services']=new Map();}async['init'](){const _0x581449=this['context'],_0x3500a2=_0x581449['plugins']['get']('CommentsRepository');if(_0x581449['plugins']['get'](c)['addToReconnectionStack'](this),_0x3500a2['adapter']={'addCommentThread':async({channelId:_0x29626e,threadId:_0x3b4be5,comments:_0x253eee,resolvedAt:_0x440595,resolvedBy:_0x5c0c2a,context:_0x37338a,attributes:_0xe23af})=>{const _0x4c0663=await this['_getService'](_0x29626e)['addCommentThread']({'commentThreadId':_0x3b4be5,'comments':_0x253eee['map'](_0x2c24ad=>function(_0x2c6eb9,_0x2c8920,_0x326cd9){return{'commentThreadId':_0x326cd9,'commentId':_0x2c6eb9['commentId'],'userId':_0x2c6eb9['authorId'],'content':_0x2c6eb9['content'],'documentId':_0x2c8920,'createdAt':_0x2c6eb9['createdAt'],'attributes':_0x2c6eb9['attributes']||{}};}(_0x2c24ad,_0x29626e,_0x3b4be5)),'resolvedAt':_0x440595,'resolvedBy':_0x5c0c2a,'context':_0x37338a,'attributes':_0xe23af})['catch'](wt);return{'threadId':_0x4c0663['commentThreadId'],'comments':_0x4c0663['comments']};},'getCommentThread':async({channelId:_0x26fc24,threadId:_0x1ab062})=>{const _0x3c7e45=await this['_getService'](_0x26fc24)['getCommentThread'](_0x1ab062)['catch'](wt);return _0x3c7e45['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3c7e45]),{'threadId':_0x3c7e45['commentThreadId'],'comments':_0x3c7e45['comments']['map'](ct),'context':_0x3c7e45['context'],'resolvedAt':_0x3c7e45['resolvedAt'],'resolvedBy':_0x3c7e45['resolvedBy'],'attributes':_0x3c7e45['attributes']||{}});},'updateCommentThread':async({channelId:_0xb4dcb1,threadId:_0x17a265,context:_0x5f1e84,unlinkedAt:_0xd0120f,attributes:_0x299ae4})=>this['_getService'](_0xb4dcb1)['updateCommentThread']({'commentThreadId':_0x17a265,'context':_0x5f1e84,'attributes':_0x299ae4,'unlinkedAt':_0xd0120f})['catch'](nt)['catch'](wt),'resolveCommentThread':async({channelId:_0x39ec13,threadId:_0x3c98e9})=>{const _0xfa06c1=await this['_getService'](_0x39ec13)['resolveCommentThread'](_0x3c98e9)['catch'](nt)['catch'](wt);return{'threadId':_0xfa06c1['commentThreadId'],'resolvedAt':_0xfa06c1['resolvedAt'],'resolvedBy':_0xfa06c1['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5ce633,threadId:_0x47efc4})=>this['_getService'](_0x5ce633)['reopenCommentThread'](_0x47efc4)['catch'](nt)['catch'](wt),'removeCommentThread':({channelId:_0x2499d1,threadId:_0x3e0ccd})=>this['_getService'](_0x2499d1)['removeCommentThread'](_0x3e0ccd)['catch'](nt)['catch'](wt),'addComment':({channelId:_0x550e60,threadId:_0x2304ee,commentId:_0x51e894,content:_0x5e6903,attributes:_0x387828})=>this['_getService'](_0x550e60)['addComment'](_0x2304ee,_0x51e894,_0x5e6903,_0x387828)['catch'](wt),'updateComment':({channelId:_0x4f5851,threadId:_0x47c41f,commentId:_0x23980f,content:_0x2f00ea,attributes:_0x361bb2})=>this['_getService'](_0x4f5851)['updateComment'](_0x47c41f,_0x23980f,_0x2f00ea,_0x361bb2)['catch'](nt)['catch'](wt),'removeComment':({channelId:_0x35f0a2,threadId:_0x3b09cd,commentId:_0x3f1ab5})=>this['_getService'](_0x35f0a2)['removeComment'](_0x3b09cd,_0x3f1ab5)['catch'](nt)['catch'](wt)},_0x581449 instanceof et){const _0x2e74ca=_0x581449['config']['get']('collaboration.channelId'),_0x17441d=_0x581449['plugins']['get'](i);await this['_setUpService'](_0x2e74ca);const _0x5def3c=await this['_services']['get'](_0x2e74ca)['getConnectedSessions']();this['listenTo'](_0x17441d,'sessionAdd:'+_0x2e74ca,(_0x3b9773,{session:_0x114ab0})=>{_0x114ab0['id']===_0x17441d['mySessionId']&&(_0x3b9773['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x114ab0['permissions'],_0x2e74ca));}),_0x17441d['register'](_0x2e74ca,_0x5def3c);}}async['_setUpService'](_0x37a9bb){if(this['_services']['has'](_0x37a9bb))throw new _0x18d37c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x37a9bb});const _0x177ba8=this['context']['plugins']['get']('CommentsRepository'),_0xb3c537=new a['CommentsService'](_0x37a9bb);this['_services']['set'](_0x37a9bb,_0xb3c537),this['listenTo'](_0xb3c537,'commentThreadAdded',(_0x1861bc,_0xc13f3d)=>{const {commentThreadId:_0x484c44,documentId:_0x5ba256,context:_0xbc7712,attributes:_0x17c565,resolvedAt:_0xc78022,resolvedBy:_0x32e644,comments:_0x1f4e55}=_0xc13f3d;_0x177ba8['getCommentThread'](_0x484c44)||_0x177ba8['addCommentThread']({'threadId':_0x484c44,'channelId':_0x5ba256,'comments':_0x1f4e55?_0x1f4e55['map'](ct):[],'context':_0xbc7712,'attributes':_0x17c565,'resolvedAt':_0xc78022,'resolvedBy':_0x32e644,'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentThreadUpdated',(_0x3e39a5,{commentThreadId:_0x4f002c,documentId:_0x5e4d97,context:_0xb820ab,unlinkedAt:_0x308678,attributes:_0x3337db})=>{_0x177ba8['getCommentThread'](_0x4f002c)&&_0x177ba8['updateCommentThread']({'threadId':_0x4f002c,'channelId':_0x5e4d97,'context':_0xb820ab,'unlinkedAt':_0x308678,'attributes':_0x3337db,'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentThreadResolved',(_0x3cc56c,{commentThreadId:_0x494b88,resolvedBy:_0x5266ab,resolvedAt:_0x5efd61})=>{const _0x8cfe25=_0x177ba8['getCommentThread'](_0x494b88);_0x8cfe25&&_0x8cfe25['resolve']({'resolvedBy':_0x5266ab,'resolvedAt':_0x5efd61,'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentThreadReopened',(_0x30114d,{commentThreadId:_0x244097})=>{const _0x494e42=_0x177ba8['getCommentThread'](_0x244097);_0x494e42&&_0x494e42['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentThreadRemoved',(_0x67793,{commentThreadId:_0x5bd076})=>{const _0x101a9a=_0x177ba8['getCommentThread'](_0x5bd076);_0x101a9a&&_0x101a9a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentAdded',(_0x29bee4,_0x19e10a)=>{const _0x3e96d8=_0x19e10a['commentThreadId'],_0x4322d4=_0x177ba8['getCommentThread'](_0x3e96d8);_0x4322d4&&_0x4322d4['addComment']({...ct(_0x19e10a),'isFromAdapter':!0x0});}),this['listenTo'](_0xb3c537,'commentUpdated',(_0x210c85,{commentThreadId:_0x48a2c6,commentId:_0x30c2cb,content:_0x181aa0,attributes:_0x429fb3})=>{const _0x2caaf2=_0x177ba8['getCommentThread'](_0x48a2c6);if(_0x2caaf2){const _0x1ee0f0=_0x2caaf2['getComment'](_0x30c2cb);_0x1ee0f0&&_0x1ee0f0['update']({'content':_0x181aa0,'attributes':_0x429fb3,'isFromAdapter':!0x0});}}),this['listenTo'](_0xb3c537,'commentRemoved',(_0x1b5927,{commentThreadId:_0x37f7f5,commentId:_0xfd874c})=>{const _0x67d024=_0x177ba8['getCommentThread'](_0x37f7f5);if(_0x67d024){const _0x37f29e=_0x67d024['getComment'](_0xfd874c);_0x37f29e&&_0x37f29e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x37a9bb);}['destroy'](){if(this['context']instanceof et){const _0x279fc2=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x279fc2);}}['_terminateService'](_0x80e83d){if(!this['_services']['has'](_0x80e83d))throw new _0x18d37c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x80e83d});this['_getService'](_0x80e83d)['disconnect'](),this['_services']['delete'](_0x80e83d);}async['reconnect'](){for(const _0xd0b5fa of this['_services']['keys']())await this['_connectService'](_0xd0b5fa);if(this['context']instanceof et){const _0xde86a3=this['context']['config']['get']('collaboration.channelId'),_0x44a486=this['context']['plugins']['get'](i);_0x44a486['unregister'](_0xde86a3);const _0x10561d=await this['_services']['get'](_0xde86a3)['getConnectedSessions']();_0x44a486['register'](_0xde86a3,_0x10561d);}}async['_connectService'](_0x555d3b){const {connection:_0x4c5357}=this['context']['plugins']['get'](c),_0x2231fc=this['context']['plugins']['get']('CommentsRepository'),_0x998b9d=this['_services']['get'](_0x555d3b),_0x50f407=await _0x998b9d['connect'](_0x4c5357);await this['_fetchMissingUsersForThreads'](_0x50f407);const _0x58fdc3=new Set(Array['from'](_0x2231fc['getCommentThreads']({'channelId':_0x555d3b}),_0x190019=>_0x190019['id']));for(const _0x426390 of _0x50f407)_0x426390['deletedAt']||_0x58fdc3['delete'](_0x426390['commentThreadId']);for(const _0x232756 of _0x58fdc3)_0x2231fc['getCommentThread'](_0x232756)['remove']({'isFromAdapter':!0x0});for(const _0xd3a9f8 of _0x50f407){let _0x1fe4ff=_0x2231fc['getCommentThread'](_0xd3a9f8['commentThreadId']);const {commentThreadId:_0x3e2460,context:_0x49774c,attributes:_0xfbd689,resolvedBy:_0x179d37,resolvedAt:_0x2f5048,unlinkedAt:_0x455e3a,deletedAt:_0x4f9e71}=_0xd3a9f8;if(_0x4f9e71)continue;_0x1fe4ff||(_0x1fe4ff=_0x2231fc['addCommentThread']({'channelId':_0x555d3b,'threadId':_0x3e2460,'context':_0x49774c,'attributes':_0xfbd689||{},'resolvedBy':_0x179d37,'resolvedAt':_0x2f5048,'unlinkedAt':_0x455e3a,'isFromAdapter':!0x0}));const _0x324c3=new Set(Array['from'](_0x1fe4ff['comments'],_0x46d4c8=>_0x46d4c8['id']));for(const _0x4ebf69 of _0xd3a9f8['comments'])_0x324c3['delete'](_0x4ebf69['commentId']);for(const _0x38a8e5 of _0x324c3)_0x1fe4ff['getComment'](_0x38a8e5)['remove']({'isFromAdapter':!0x0});for(const _0x564f02 of _0xd3a9f8['comments']){const _0xcb7406=_0x1fe4ff['getComment'](_0x564f02['commentId']);_0xcb7406?_0xcb7406['content']!==_0x564f02['content']&&_0xcb7406['update']({'content':_0x564f02['content'],'isFromAdapter':!0x0}):_0x1fe4ff['addComment'](Object['assign'](ct(_0x564f02),{'isFromAdapter':!0x0}));}}}['_getService'](_0x191f28){if(!this['_services']['has'](_0x191f28))throw new _0x18d37c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x191f28});return this['_services']['get'](_0x191f28);}async['_fetchMissingUsersForThreads'](_0x479b9d){const _0x331ce0=this['context']['plugins']['get'](_0x472340),{connection:_0x3086a9}=this['context']['plugins']['get'](c),_0xb0148b=new Set();for(const {resolvedBy:_0x25d597,comments:_0x7234af}of _0x479b9d){_0x25d597&&!_0x331ce0['getUser'](_0x25d597)&&_0xb0148b['add'](_0x25d597);for(const {userId:_0xe4067b}of _0x7234af)_0x331ce0['getUser'](_0xe4067b)||_0xb0148b['add'](_0xe4067b);}if(0x0===_0xb0148b['size'])return;const _0x10f4fd=await gt['getMany'](_0x3086a9,Array['from'](_0xb0148b));for(const _0x3ff36e of _0x10f4fd)_0x331ce0['getUser'](_0x3ff36e['id'])||_0x331ce0['addUser'](_0x3ff36e);}}async function nt(_0x253540){if('404'!==_0x253540['code'])throw _0x253540;}function wt(_0x382e7d){if((_0x4d3e84=_0x382e7d)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4d3e84['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d3e84['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4d3e84;throw _0x382e7d;}function ct(_0x3863e9){return{'threadId':_0x3863e9['commentThreadId'],'commentId':_0x3863e9['commentId'],'content':_0x3863e9['content'],'createdAt':_0x3863e9['createdAt'],'authorId':_0x3863e9['userId'],'attributes':_0x3863e9['attributes']||{}};}class f extends _0x1aa6b7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x115800){super(_0x115800);const _0x94c62d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x94c62d);}['init'](){const _0xd5f453=this['editor']['plugins']['get'](c),_0x24bdff=this['editor']['plugins']['get']('TrackChangesEditing');return _0x24bdff['adapter']={'getSuggestion':async _0x3d237a=>{await this['_waitForServiceReady']();const _0x282e87=await this['_trackChangesService']['get'](_0x3d237a)['catch'](rt);return await this['_fetchMissingUsersForThreads']([_0x282e87]),_0x282e87;},'addSuggestion':async({id:_0x1fc66b,type:_0x489c7b,data:_0x2610e9,originalSuggestionId:_0x506695,attributes:_0x2d068c})=>{await this['_waitForServiceReady']();const _0x2cc4c3={'id':_0x1fc66b,'type':_0x489c7b,'data':_0x2610e9,'originalSuggestionId':_0x506695,'attributes':_0x2d068c},_0xff3dfc=await this['_trackChangesService']['add'](_0x1fc66b,_0x489c7b,_0x2610e9,_0x506695,_0x2d068c)['catch'](_0x1a877c=>{if(vt(_0x1a877c))return new Promise(_0x546515=>{this['_bufferedRequests']['set'](_0x1fc66b,{'resolve':_0x546515,'suggestionData':_0x2cc4c3});});throw _0x1a877c;});return this['_bufferedRequests']['delete'](_0x1fc66b),_0xff3dfc;},'updateSuggestion':async(_0x58fa77,_0x2a21e3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2a21e3['state'])return this['_trackChangesService']['update'](_0x58fa77,_0x2a21e3)['catch'](rt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xf2fdf5,_0x35f143)=>{_0x24bdff['hasSuggestion'](_0x35f143['id'])&&(_0x24bdff['getSuggestion'](_0x35f143['id'])['attributes']=_0x35f143['attributes']);}),this['_trackChangesService']['connect'](_0xd5f453['connection'])['then'](_0xd0539a=>(_0xd5f453['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd0539a)['then'](()=>{for(const _0x3b1fb5 of _0xd0539a){_0x24bdff['addSuggestionData'](_0x3b1fb5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1118e6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x23cf87}=this['editor']['plugins']['get'](c),_0xbb87c1=await this['_trackChangesService']['connect'](_0x23cf87);await this['_fetchMissingUsersForThreads'](_0xbb87c1);for(const {suggestionData:_0x1dd971,resolve:_0x58f3eb}of this['_bufferedRequests']['values']()){let _0x687cc0=_0xbb87c1['find'](_0x584e85=>_0x584e85['id']===_0x1dd971['id']);_0x687cc0||(_0x687cc0=await this['_trackChangesService']['add'](_0x1dd971['id'],_0x1dd971['type'],_0x1dd971['data'],_0x1dd971['originalSuggestionId'])),_0x58f3eb(_0x687cc0);}for(const _0x3f92cb of _0xbb87c1)_0x1118e6['hasSuggestion'](_0x3f92cb['id'])||_0x1118e6['addSuggestionData'](_0x3f92cb);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x794e4a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x13f350=>{_0x13f350['off'](),_0x794e4a();});});}async['_fetchMissingUsersForThreads'](_0x1853a2){const _0x9a310a=this['editor']['plugins']['get'](_0x472340),{connection:_0x15d6de}=this['editor']['plugins']['get'](c),_0x410535=new Set();for(const {authorId:_0x513d0f}of _0x1853a2)_0x9a310a['getUser'](_0x513d0f)||_0x410535['add'](_0x513d0f);if(0x0===_0x410535['size'])return;const _0x289d40=await gt['getMany'](_0x15d6de,Array['from'](_0x410535));for(const _0x17e06f of _0x289d40)_0x9a310a['getUser'](_0x17e06f['id'])||_0x9a310a['addUser'](_0x17e06f);}}function rt(_0x45d943){if(vt(_0x45d943))return new Promise(()=>{});throw _0x45d943;}function vt(_0x3110d1){return _0x3110d1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3110d1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x1aa6b7{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf562d6=this['editor']['plugins']['get'](c),_0x265fc1=this['editor']['plugins']['get']('CommentsEditing'),_0x481f04=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xf562d6,'change:state',(_0xdf5c31,_0x15030f,_0x214024)=>{_0x265fc1['isThreadsLoadingPaused']='connected'!==_0x214024;});}),this['listenTo'](_0xf562d6,'change:state',(_0x36a51f,_0x8273bd,_0x230cd5)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x230cd5);}),_0x481f04['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x1aa6b7{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x1aa6b7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x472340];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x594b1c){super(_0x594b1c);const _0x2febbf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2febbf);}async['init'](){const _0x42d325=this['editor']['plugins']['get'](l),_0x3b77c5=_0x42d325['serverHistory'],_0x3e52e1=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3b77c5,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x42d325['sessionId']});const _0x548413=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x655bc7=await tt['isBundleUploaded'](_0x3e52e1['connection'],_0x548413);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x8d77ca})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x8d77ca)),'updateRevisions':async _0x46b830=>{await this['_waitForServiceReady']();const _0x4f5b0a=this['_revisionTracker']['currentRevision'];if(_0x655bc7&&0x1===_0x46b830['length']&&_0x46b830[0x0]['id']===_0x4f5b0a['id'])return _0x46b830;for(const _0x2c02c8 of _0x46b830)_0x2c02c8['id']===_0x4f5b0a['id']&&(_0x2c02c8['isEmptyCurrent']=_0x2c02c8['fromVersion']===_0x2c02c8['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x46b830,this['_lastRequestId'])['then'](_0x54083f=>(this['_lastRequestId']=_0x54083f,_0x46b830))['catch'](_0x559448=>{if(st(_0x559448)||'400'===_0x559448['code']&&void 0x0!==_0x559448['data']['wrongRequestId']){for(const _0x5d0d37 of _0x46b830){!this['_revisionTracker']['repository']['getRevision'](_0x5d0d37['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5d0d37['id'],_0x5d0d37,!0x1);}if(st(_0x559448))throw _0x559448;return _0x46b830;}throw _0x559448;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1bef75,{revisionsData:_0x2f277d,requestId:_0x17e7bc})=>{Math['max'](..._0x2f277d['map'](_0x5f3f09=>_0x5f3f09['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2f277d,_0x17e7bc);}):this['_handleRevisionsUpdate'](_0x2f277d,_0x17e7bc);});const {revisions:_0x2c4f9c,requestId:_0x400dc6}=await this['_revisionHistoryService']['connect'](_0x3e52e1['connection']);_0x3e52e1['addToReconnectionStack'](this),this['_lastRequestId']=_0x400dc6,await this['_fetchMissingUsers'](_0x2c4f9c);for(const _0xbdb94 of _0x2c4f9c)this['_revisionTracker']['addRevisionData'](_0xbdb94);this['listenTo'](_0x42d325,'change:_isConnected',(_0x46826d,_0x265798,_0xec55ee)=>{_0xec55ee&&(this['_oldOffset']=_0x42d325['_offset'],_0x46826d['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3e52e1,'state',_0x1f02ce=>_0x1f02ce===_0x5dd3c7['CONNECTED']);}async['reconnect'](){const _0x348276=this['editor']['plugins']['get'](c),_0x207d68=this['editor']['plugins']['get'](l),_0x4c6ecb=async()=>{const _0x25441b=this['_revisionTracker']['currentRevision'],_0x524bec=_0x25441b['id'],_0x383eb9=_0x524bec!==_0x207d68['sessionId'];if(_0x383eb9){const _0x22d30e=_0x207d68['_offset']-this['_oldOffset'],_0x1a307b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x25441b['toVersion']+_0x22d30e!==_0x1a307b){const _0x48ed5a=_0x25441b['fromVersion']+_0x22d30e,_0x319e74=this['editor']['plugins']['get'](_0x472340),_0xd00217=this['_revisionTracker']['buildRevisionData']({'revision':_0x25441b,'from':_0x48ed5a,'to':_0x1a307b});_0xd00217['id']=_0x25441b['id'];const _0x4483ee=_0xd00217['authorsIds']['map'](_0xd87779=>_0x319e74['getUser'](_0xd87779));_0x25441b['_update']({..._0xd00217,'authors':_0x4483ee},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x25441b['id'],_0xd00217,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1a307b,(_0x25441b['toVersion']===_0x25441b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x524bec)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x524bec),this['_revisionTracker']['_createCurrentRevision'](_0x1a307b));}const {revisions:_0x143010,requestId:_0x50b3fe}=await this['_revisionHistoryService']['reconnect'](_0x348276['connection'],this['_lastRequestId']);_0x383eb9&&_0x143010['length']>0x0?_0x207d68['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x143010),this['_handleRevisionsUpdate'](_0x143010,_0x50b3fe),this['_revisionTracker']['sendBufferedUpdates']());};return _0x207d68['_isConnected']?_0x4c6ecb():new Promise((_0x54766b,_0x5e8d24)=>{_0x207d68['once']('change:_isConnected',()=>{_0x4c6ecb()['then'](_0x54766b)['catch'](_0x5e8d24);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1b2d76=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x26395c=>{_0x26395c['off'](),_0x1b2d76();});});}['_getLatestVersionFromServerOperations'](){const _0x526d96=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x13d3a9 of _0x526d96)if('marker'!==_0x13d3a9['type']||_0x13d3a9['affectsData'])return _0x13d3a9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2c1513=this['editor']['plugins']['get'](l);return new Promise(_0xa33b61=>{_0x2c1513['_isPendingUpdate']?_0x2c1513['once']('change:_isPendingUpdate',()=>{_0xa33b61(this['_getLatestVersionFromServerOperations']());}):_0xa33b61(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x109475,_0x5232b6){const _0x763941=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5232b6;for(const _0x21312b of _0x109475){const _0x52ff5e=_0x763941['getRevision'](_0x21312b['id']);if(_0x52ff5e){if((_0x21312b['fromVersion']||_0x21312b['toVersion'])&&(_0x21312b['diffData']=null),_0x52ff5e===this['_revisionTracker']['currentRevision']){const _0x534e32=Math['max'](_0x52ff5e['toVersion'],_0x21312b['toVersion']),_0x516981=Math['max'](_0x52ff5e['fromVersion'],_0x21312b['fromVersion']);let _0x646a5a;_0x52ff5e['toVersion']===_0x21312b['toVersion']&&_0x52ff5e['fromVersion']===_0x21312b['fromVersion']?(_0x646a5a=!0x0,this['_preventResendingRevisionData'](_0x21312b)):_0x21312b['toVersion']===_0x534e32&&_0x21312b['fromVersion']===_0x516981?_0x646a5a=!0x1:(_0x52ff5e['toVersion']===_0x534e32&&_0x52ff5e['fromVersion']===_0x516981||this['_fixRevision']({'revision':_0x52ff5e,'from':_0x516981,'to':_0x534e32}),_0x646a5a=!0x0),_0x646a5a&&(delete _0x21312b['fromVersion'],delete _0x21312b['toVersion'],delete _0x21312b['diffData'],delete _0x21312b['createdAt'],delete _0x21312b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x21312b),this['_preventResendingRevisionData'](_0x21312b);}else this['_revisionTracker']['addRevisionData'](_0x21312b);}const _0x2be276=_0x763941['getRevisions']();_0x2be276['reverse']();for(let _0x3702e7=0x0;_0x3702e7<_0x2be276['length']-0x1;_0x3702e7++){const _0x544f2e=_0x2be276[_0x3702e7],_0x16f9f9=_0x2be276[_0x3702e7+0x1];if(_0x544f2e['fromVersion']<_0x16f9f9['toVersion']){const _0x106e17=_0x16f9f9['toVersion'],_0x22f6d7=Math['max'](_0x106e17,_0x544f2e['toVersion']);this['_fixRevision']({'revision':_0x544f2e,'from':_0x106e17,'to':_0x22f6d7});}}}['_fixRevision']({revision:_0x134acd,from:_0x1f7aa9,to:_0x545189}={}){const _0x30bf50=this['editor']['plugins']['get'](_0x472340),_0x58b33f=this['_revisionTracker']['buildRevisionData']({'revision':_0x134acd,'from':_0x1f7aa9,'to':_0x545189});_0x58b33f['authors']=_0x58b33f['authorsIds']['map'](_0x5c91fe=>_0x30bf50['getUser'](_0x5c91fe)),_0x134acd['_update'](_0x58b33f);}['_preventResendingRevisionData'](_0x358773){const _0x54ad4e={};_0x54ad4e['id']=_0x358773['id'];for(const _0x2ef693 of Object['keys'](_0x358773))'id'!==_0x2ef693&&(_0x54ad4e[_0x2ef693]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x54ad4e['id'],_0x54ad4e,!0x0);}async['_fetchMissingUsers'](_0x3f0c4a){const _0x2851ee=this['editor']['plugins']['get'](_0x472340),{connection:_0x2d8852}=this['editor']['plugins']['get'](c),_0x124dff=new Set();for(const _0xd7ef45 of _0x3f0c4a){for(const _0x2dce10 of _0xd7ef45['authorsIds'])_0x39b7a3(_0x2dce10);_0xd7ef45['creatorId']&&_0x39b7a3(_0xd7ef45['creatorId']);}if(0x0===_0x124dff['size'])return;const _0x292d5c=await gt['getMany'](_0x2d8852,Array['from'](_0x124dff));for(const _0x1b70ea of _0x292d5c)_0x2851ee['getUser'](_0x1b70ea['id'])||_0x2851ee['addUser'](_0x1b70ea);function _0x39b7a3(_0x130529){_0x2851ee['getUser'](_0x130529)||_0x124dff['add'](_0x130529);}}}function st(_0x7fbd97){return _0x7fbd97['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x7fbd97['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x7fbd97['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1aa6b7{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x47d96b{['_collapseAt'];constructor(_0x41c17b,_0x458da6=0x6){super(_0x41c17b);const _0x3ad5fc=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x458da6,this['bind']('isHidden')['to'](this,'usersCount',_0x59c7e8=>_0x59c7e8<_0x458da6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3ad5fc['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':_0x3ad5fc['to']('usersCount',_0xdf06cd=>'+'+(_0xdf06cd-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x47d96b{['items'];['keystrokes'];constructor(_0x3dc22a){super(_0x3dc22a);const _0x25bc69=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x983a0a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x25bc69['if']('hasPopup'),'aria-expanded':_0x25bc69['to']('isExpanded',_0x50fff3=>this['hasPopup']&&String(_0x50fff3)),'aria-label':_0x25bc69['to']('hasPopup',_0x25ef4d=>M(_0x3dc22a,_0x25ef4d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x25bc69['to']('hasPopup',_0x11fba4=>!!_0x11fba4&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x25bc69['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x25bc69['to'](_0x562004=>{const _0x3a8208=_0x562004,_0x2cc9cb=document['querySelector']('.ck-presence-list__dropdown-list'),_0xb66f40=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2cc9cb?.['contains'](_0x3a8208['relatedTarget'])||_0xb66f40?.['contains'](_0x3a8208['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x347077,_0x457c39,_0x5772bf)=>{this['element']&&(_0x5772bf?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 j extends _0x47d96b{['counterView'];['inlineListView'];constructor(_0x589adf,_0x334508=0x6){super(_0x589adf);const _0x4e92f5=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x334508),this['inlineListView']=new ts(_0x589adf),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1f1a31 of this['inlineListView']['items'])_0x1f1a31['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',_0x4e92f5['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x47d96b{['listWrapperView'];constructor(_0x1c1b9a,_0x3c7c5b){super(_0x1c1b9a);const _0x597a23=this['bindTemplate'];this['listWrapperView']=new _t(_0x1c1b9a,_0x3c7c5b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':M(_0x1c1b9a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x597a23['to'](_0x40ef8d=>{const _0xde1965=_0x40ef8d,_0x4a34a5=document['querySelector']('.ck-presence-list__list'),_0x51a65b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a34a5?.['contains'](_0xde1965['relatedTarget'])||_0x51a65b?.['contains'](_0xde1965['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class _t extends _0x315988{constructor(_0x51996f,_0x4b4849){super(_0x51996f);const _0x4a8289=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4b4849?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4a8289['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4a8289['to']('role'),'aria-label':_0x4a8289['to']('ariaLabel'),'aria-labelledby':_0x4a8289['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5d6a2f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x15db48=this['element'];_0x15db48&&(this['_isScrollable']=Math['max'](_0x15db48['scrollHeight'],_0x15db48['clientHeight'])>0.8*window['innerHeight']);}}class k extends lt{['userView'];constructor(_0x58cdbe,_0x27530c,_0x4a3714){super(_0x58cdbe);const _0xb88a24=this['bindTemplate'];this['userView']=new ut(_0x58cdbe,_0x27530c);const _0x1772f2={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x27530c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x27530c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x27530c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x4a3714&&(_0x1772f2['tag']='button',_0x1772f2['on']={'click':_0xb88a24['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1772f2);}['focus'](){this['element']['focus']();}}class y extends _0x47d96b{['userView'];['markerView'];constructor(_0x57aec6,_0x5bb1f3,_0x51d165){super(_0x57aec6);const _0x443e0e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ut(_0x57aec6,_0x5bb1f3),this['markerView']=new dt(_0x57aec6,_0x5bb1f3);const _0xc66972=new pt(_0x57aec6);_0xc66972['template']['tag']='span',_0xc66972['text']=_0x5bb1f3['name'];const _0x2bb1bd={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x443e0e['to']('isFocusable',_0x2ad2eb=>!!_0x2ad2eb&&0x0),'aria-labelledby':_0xc66972['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x443e0e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x443e0e['to']('hasTooltip',_0x2bdf77=>!_0x2bdf77),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xc66972]};_0x51d165&&(_0x2bb1bd['tag']='button',_0x2bb1bd['on']={'click':_0x443e0e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2bb1bd);}}class dt extends _0x47d96b{constructor(_0x9d1046,_0x1c3a19){super(_0x9d1046),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c3a19['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5ac5e7{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x56ad50){super(_0x56ad50),this['context']['config']['define']('presenceList',C);const _0x555f4e=_0x56ad50['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x555f4e)throw new _0x18d37c('presencelist-collapseat-invalid-format',this);if(_0x555f4e<0x1)throw new _0x18d37c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x198913(),this['balloonPanelView']=new _0xfb9262(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x361db2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x361db2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1a9566,_0x1ab36a)=>{this['_handleUserAdd'](_0x1ab36a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x47f974,_0xad939b)=>{this['_handleUserRemove'](_0xad939b);});}['_createView'](){const _0x2ec955=this['context'],_0x4c3a1e=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x595336=this['balloonPanelView'];if(!_0x4f211d(_0x2ec955['config']['get']('presenceList.container')))throw new _0x18d37c('presencelist-missing-container',this);return _0x4c3a1e['counterView']['bind']('usersCount')['to'](this),_0x4c3a1e['bind']('isCollapsed')['to'](this,'usersCount',_0x9dcb9f=>{const {collapseAt:_0xd451f2}=_0x2ec955['config']['get']('presenceList'),_0x4ab659=_0x9dcb9f>=_0xd451f2;if(_0x4ab659&&!_0x4c3a1e['inlineListView']['items']['find'](_0x180261=>_0x180261 instanceof A)){const _0x1183d0=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1183d0&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4c3a1e['inlineListView']['items']['add'](_0x4c3a1e['counterView']);}return _0x4ab659||this['hideDropdown'](),_0x4ab659;}),_0x4c3a1e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x66a06c=>{const _0x45f84b=_0x2ec955['config']['get']('presenceList'),_0x321c6d=new y(_0x2ec955['locale'],_0x66a06c,!!_0x45f84b['onClick']);return _0x321c6d['bind']('hasTooltip')['to'](_0x4c3a1e,'isCollapsed',_0x55a3a9=>!_0x55a3a9),_0x321c6d['bind']('isFocusable')['to'](_0x4c3a1e,'isCollapsed',_0x2aadc9=>!_0x2aadc9),_0x45f84b['onClick']&&this['listenTo'](_0x321c6d,'execute',()=>{this['view']['isCollapsed']||_0x45f84b['onClick'](_0x66a06c,_0x321c6d['element']);}),_0x321c6d;}),this['listenTo'](_0x4c3a1e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4c3a1e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4c3a1e['inlineListView']['keystrokes']['set']('Enter',(_0x277d58,_0x3c5451)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3c5451());}),_0x4c3a1e['render'](),_0x595336['render'](),_0x41e088({'emitter':_0x4c3a1e,'activator':()=>_0x595336['isVisible'],'contextElements':[_0x595336['element'],_0x4c3a1e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2ec955['config']['get']('presenceList.container')['appendChild'](_0x4c3a1e['element']),this['_bodyCollection']=new _0x290223(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4c3a1e;}['_handleUserAdd'](_0x2a4506){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2a4506['isMe'])return;const _0x19ba61=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x19ba61-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x46ec28=_0x2a4506['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2a4506,_0x46ec28);}['_handleUserRemove'](_0x1b954b){this['usersCount']--;const {collapseAt:_0x51a250}=this['context']['config']['get']('presenceList'),_0x579d0f=this['usersCount']>=_0x51a250;if(this['currentDisplayedUsers']['get'](_0x1b954b['id']))this['currentDisplayedUsers']['remove'](_0x1b954b['id']);else{if(_0x579d0f&&this['currentDisplayedUsers']['length']+0x1===_0x51a250-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x579d0f?0x1:0x0)<this['usersCount']){for(const _0x4c05a9 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4c05a9['id'])&&(this['currentDisplayedUsers']['add'](_0x4c05a9,Math['min'](this['currentDisplayedUsers']['length']-(_0x579d0f?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x579d0f?0x1:0x0)===_0x51a250-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5ab4a8=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x5ab4a8['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4d9a66}=this['presenceDropdownView'];_0x4d9a66['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5d4fdc=>{if(!_0x5ab4a8['displayMe']&&_0x5d4fdc['isMe'])return null;const _0x1e99ff=new k(this['context']['locale'],_0x5d4fdc,!!_0x5ab4a8['onClick']);return _0x5ab4a8['onClick']&&this['listenTo'](_0x1e99ff,'execute',()=>{_0x5ab4a8['onClick'](_0x5d4fdc,_0x1e99ff['element']);}),_0x1e99ff;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4d9a66['focus'](),_0x4d9a66['checkIfScrollable']();const _0x51bffb=(_0x557cf1,_0x35d6a8)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x35d6a8();};_0x4d9a66['keystrokes']['set']('Esc',_0x51bffb),_0x4d9a66['keystrokes']['set']('Shift+Tab',_0x51bffb),_0x4d9a66['keystrokes']['set']('Tab',(_0x24d841,_0x482224)=>{!function(_0x307b5f){const _0x15645b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x327ef4=>_0x327ef4+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x270f63=[...document['body']['querySelectorAll'](_0x15645b)]['filter'](_0x35faec=>_0x35faec===document['activeElement']||_0x35faec['offsetWidth']+_0x35faec['offsetHeight']>0x0)['sort']((_0x92eab3,_0x296bc8)=>(_0x92eab3['tabIndex']||0x0)-(_0x296bc8['tabIndex']||0x0)),_0x13f844=_0x270f63['indexOf'](_0x307b5f),_0x4184ea=_0x270f63[(_0x13f844+0x1)%_0x270f63['length']];_0x4184ea&&_0x4184ea['focus']();}(this['view']['element']),this['hideDropdown'](),_0x482224();}),_0x4d9a66['focusTracker']['add'](this['view']['element']),_0x4d9a66['focusTracker']['on']('change:isFocused',(_0x663181,_0x191886,_0x376401)=>{_0x376401||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 s extends _0x5ac5e7{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x50d425,Plugin as _0x445119,PendingActions as _0x35b9fe,Context as _0x38b153}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x131f13,CKEditorError as _0x40dad7,Collection as _0x39af79,global as _0x4a36f6,version as nt,uid as _0x18e0d9,KeystrokeHandler as _0x5f46a0}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xe23653,View as _0x337b85,ListView as _0x5d69bd,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4d9134,clickOutsideHandler as _0xcc8b17,BodyCollection as _0x2e46db}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x19f92b,NoOperation as _0x54891a,InsertOperation as _0xe1436f,MarkerOperation as _0x3c7e22,RootAttributeOperation as _0x401de0,transformSets as _0x216b65,OperationFactory as _0x55bd9e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x3c6968,CollaborativeEditingService as _0xf291f8,User as dt,CommentsService as _0x21da9a,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5380a6,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5c669b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x51f85d}from'es-toolkit/compat';class c extends _0x50d425{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xe23653];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12c406){super(_0x12c406),this['set']('state',_0x3c6968['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x131f13);}['init'](){const _0x993733=this['context'],_0x13ec11=_0x993733['plugins']['get']('CloudServices'),_0x26c2b1=_0x993733['plugins']['get'](_0xe23653);if(!_0x13ec11['token'])throw new _0x40dad7('websocketgateway-missing-token',this);if(!_0x13ec11['webSocketUrl'])throw new _0x40dad7('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),c['WebSocketGateway']['connect'](_0x13ec11['token'],_0x13ec11['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2f179e=>{if(this['connection']=_0x2f179e,this['bind']('state')['to'](_0x2f179e,'state',this,'_isBrowserOffline',(_0xdecc05,_0xe05bc5)=>('connected'!==_0xdecc05&&(this['_shouldPluginsReconnect']=!0x0),_0xe05bc5||_0xdecc05!==_0x3c6968['CONNECTED']?_0x3c6968['DISCONNECTED']:this['state']==_0x3c6968['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3c6968['CONNECTING']):_0x3c6968['CONNECTED'])),this['connection']['on']('error',(_0x5401f9,_0x228d8a)=>{if('limitExceeded'!==_0x228d8a['code'])throw console['error'](_0x228d8a),new _0x40dad7('cloudservices-init',null,{'originalError':_0x228d8a});_0x26c2b1['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'});}),!_0x2f179e['me'])return new Promise(_0x52dc33=>_0x2f179e['on']('change:me',_0x52dc33));})['catch'](_0x57f708=>{throw console['error'](_0x57f708),new _0x40dad7('cloudservices-init',null,{'originalError':_0x57f708});});}['addToReconnectionStack'](_0x4be79e){if('function'!=typeof _0x4be79e['reconnect'])throw new _0x40dad7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4be79e))throw new _0x40dad7('websocketgateway-plugin-already-registered',this,{'name':_0x4be79e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4be79e);}['removeFromReconnectionStack'](_0x57a90a){this['_reconnectionStack']['delete'](_0x57a90a);}['isInReconnectionStack'](_0x3724ae){return this['_reconnectionStack']['has'](_0x3724ae);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xefd511=>_0xefd511['reconnect']())))['then'](()=>this['state']=_0x3c6968['CONNECTED'])['catch'](_0xd9186b=>{throw console['error'](_0xd9186b),new _0x40dad7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3c6968['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x50d425{['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[c,_0x5380a6];}constructor(_0x46856e){super(_0x46856e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x39af79(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5380a6);}['init'](){const _0x8d7971=this['context']['plugins']['get'](c);this['listenTo'](_0x8d7971,'change:state',(_0x28352c,_0x256035,_0xcdaf5b)=>{if('connected'!==_0xcdaf5b)this['channelSessions']['forEach'](_0x3b4594=>_0x3b4594['clear']()),this['channelConnectedUsers']['forEach'](_0xad1e4b=>_0xad1e4b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3f2d0c,_0x5b4dd7]of this['_registeredSessions'])for(const _0x582b23 of _0x5b4dd7)this['_handleSessionAdd'](_0x3f2d0c,_0x582b23);}}),this['_createUser'](_0x8d7971['connection']['me'],!0x0);}['register'](_0x9866ce,_0x2f8c62){if(this['_registeredSessions']['has'](_0x9866ce))throw new _0x40dad7('sessions-register-already-registered',null,{'channelId':_0x9866ce});this['_registeredSessions']['set'](_0x9866ce,_0x2f8c62),this['channelSessions']['set'](_0x9866ce,new _0x39af79()),this['channelConnectedUsers']['set'](_0x9866ce,new _0x39af79()),this['listenTo'](_0x2f8c62,'add',(_0xbb77e2,_0x2e3968)=>this['_handleSessionAdd'](_0x9866ce,_0x2e3968)),this['listenTo'](_0x2f8c62,'remove',(_0x49236b,_0x1d478e)=>this['_handleSessionRemove'](_0x9866ce,_0x1d478e));for(const _0x3ff31a of _0x2f8c62)this['_handleSessionAdd'](_0x9866ce,_0x3ff31a);}['unregister'](_0x5c3ef6){if(!this['_registeredSessions']['has'](_0x5c3ef6))throw new _0x40dad7('sessions-unregister-not-exist',null,{'channelId':_0x5c3ef6});const _0x3f0d11=this['_registeredSessions']['get'](_0x5c3ef6);this['stopListening'](_0x3f0d11);for(const _0x3c45e6 of _0x3f0d11)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x5c3ef6,_0x3c45e6);this['_registeredSessions']['delete'](_0x5c3ef6),this['channelSessions']['delete'](_0x5c3ef6),this['channelConnectedUsers']['delete'](_0x5c3ef6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x1b3f36){for(const _0xacf547 of this['channelSessions']['values']())for(const _0x45284d of _0xacf547)if(_0x45284d['id']===_0x1b3f36)return _0x45284d['user'];}['getUserSessions'](_0x46e2a5,_0xa6817a){const _0x46e970=_0xa6817a?[this['channelSessions']['get'](_0xa6817a)]:this['channelSessions']['values'](),_0x22e910=new Set();for(const _0xabc02 of _0x46e970)for(const _0x457e72 of _0xabc02)_0x457e72['user']['id']===_0x46e2a5['id']&&_0x22e910['add'](_0x457e72['id']);return _0x22e910;}['getUserRole'](_0x76f0f9){for(const _0xde48fe of this['channelSessions']['values']())for(const _0x37447a of _0xde48fe)if(_0x37447a['user']===_0x76f0f9)return _0x37447a['role'];}['_handleSessionAdd'](_0x46f770,_0x573894){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2b3607=_0x573894['user'],_0x8874e2=this['_users']['getUser'](_0x2b3607['id'])||this['_createUser'](_0x2b3607),_0x34d5a7=Object['assign']({},_0x573894,{'user':_0x8874e2});this['channelSessions']['get'](_0x46f770)['add'](_0x34d5a7);const _0x2b41bc=this['channelConnectedUsers']['get'](_0x46f770);_0x2b41bc['has'](_0x8874e2['id'])||_0x2b41bc['add'](_0x8874e2),this['allConnectedUsers']['has'](_0x8874e2['id'])||this['allConnectedUsers']['add'](_0x8874e2,_0x8874e2['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x46f770,{'channelId':_0x46f770,'session':_0x34d5a7});}['_handleSessionRemove'](_0x32a15b,_0x2a9b66){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x1c082a=this['channelConnectedUsers']['get'](_0x32a15b),_0x376f15=_0x2a9b66['user'];_0x376f15['id']&&(this['channelSessions']['get'](_0x32a15b)['remove'](_0x2a9b66['id']),_0x1c082a['has'](_0x376f15['id'])&&!this['getUserSessions'](_0x376f15,_0x32a15b)['size']&&_0x1c082a['remove'](_0x376f15['id']),this['allConnectedUsers']['get'](_0x376f15['id'])&&!this['getUserSessions'](_0x376f15)['size']&&this['allConnectedUsers']['remove'](_0x376f15['id']));}['_createUser'](_0x3ed5a9,_0x1bb4c5){const _0x4f4149=this['_users']['addUser'](_0x3ed5a9);return _0x1bb4c5&&this['_users']['defineMe'](_0x3ed5a9['id']),_0x4f4149['orderNumber']=this['_uniqueUsersCount']++,_0x4f4149;}}class q extends _0x445119{['_domEmitter']=new(_0x131f13())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5d8dd0=this['editor'],_0x3f7e61=_0x5d8dd0['plugins']['get'](i);_0x5d8dd0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4159bf,{writer:_0x3f662e})=>function(_0x3651aa,_0x41df2a,_0x4b5253,_0x158e8d){const _0x38632f=_0x3651aa['markerName']['split'](':')[0x2],_0x16d429=_0x4b5253['getUserBySessionId'](_0x38632f);if(!_0x16d429||_0x38632f===_0x4b5253['mySessionId'])return;if(!_0x158e8d['model']['schema']['checkChild'](_0x3651aa['markerRange']['start'],'$text'))return;const _0x2ea128={'class':'ck-user__marker\x20'+_0x16d429['color']['getMarkerClass'](),'data-name':_0x16d429['name'],'data-session-id':_0x38632f},_0x2f4f01=_0x158e8d['model']['markers']['get'](_0x3651aa['markerName']),_0x34e4da=_0x2f4f01['getStart'](),_0xb4c923=_0x34e4da['nodeAfter'],_0x2cb20c=_0x158e8d['model']['schema'];if(_0xb4c923&&_0x2cb20c['isObject'](_0xb4c923)&&_0x2cb20c['isInline'](_0xb4c923)&&!_0x158e8d['model']['markers']['get']('user:range:'+_0x38632f)['getRange']()['isCollapsed'])return;const _0x30f8e2=_0x34e4da['parent'];return _0x158e8d['model']['schema']['isLimit'](_0x30f8e2)&&!_0x158e8d['model']['hasContent'](_0x30f8e2)&&(_0x2ea128['contenteditable']=!0x1),function(_0x4ec5ae,_0x11c958,_0x4c0203){const _0x46369f=_0x4ec5ae['createUIElement']('span',_0x11c958);return _0x4ec5ae['setCustomProperty']('userPositionMarker',!0x0,_0x46369f),_0x46369f['render']=function(_0x24ba18){const _0x1db251=this['toDomElement'](_0x24ba18),_0x206092=document['createElement']('span');return _0x206092['classList']['add']('ck-user__marker-tooltip'),_0x206092['setAttribute']('contenteditable','false'),_0x206092['setAttribute']('spellcheck','false'),_0x206092['textContent']=_0x4c0203['name'],_0x1db251['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x206092['outerHTML']+'⁠',_0x1db251['addEventListener']('mouseenter',()=>{_0x1db251['classList']['add']('ck-user__marker_hovered');}),_0x1db251['addEventListener']('mouseleave',()=>{_0x1db251['classList']['remove']('ck-user__marker_hovered');}),_0x1db251;},_0x46369f['isSimilar']=function(_0x4b3acb){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4b3acb['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4b3acb['getAttribute']('data-session-id'));},_0x46369f;}(_0x41df2a,_0x2ea128,_0x16d429);}(_0x4159bf,_0x3f662e,_0x3f7e61,_0x5d8dd0)}),_0x5d8dd0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x907c3b=>function(_0x509b48,_0x5a5802){const _0x4e6966=_0x509b48['markerName']['split'](':')[0x2];if(_0x4e6966===_0x5a5802['mySessionId'])return null;const _0x4ec707=_0x5a5802['getUserBySessionId'](_0x4e6966);if(!_0x4ec707)return{'id':_0x4e6966,'classes':[]};return{'id':_0x4e6966,'classes':['ck-user__selection',_0x4ec707['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4e6966},'priority':0x7d0+_0x4ec707['orderNumber']};}(_0x907c3b,_0x3f7e61)}),function(_0x42784f){const _0xab70f5=_0x42784f['model'],_0xc97657=new Map(),_0x552d39=_0x42784f['plugins']['get'](i);_0xab70f5['markers']['on']('update:user:range',(_0x40730d,_0x2bf229,_0x582258,_0x2b3b65)=>{if(!_0x2b3b65&&_0xc97657['get'](_0x2bf229['name']))return _0xc97657['get'](_0x2bf229['name'])['detach'](),void _0xc97657['delete'](_0x2bf229['name']);const _0x7670bf=_0x2bf229['name']['split'](':')[0x2];if(_0x7670bf===_0x552d39['mySessionId'])return;const _0x195dae='user:position:'+_0x7670bf;_0xab70f5['markers']['has'](_0x195dae)&&_0x42784f['editing']['reconvertMarker'](_0x195dae),_0x2bf229['on']('change:range',(_0x38328a,_0x6166b8,_0x3b893d)=>{if('$graveyard'!=_0x6166b8['root']['rootName']&&'$graveyard'==_0x2bf229['getRange']()['root']['rootName']&&!_0xc97657['has'](_0x2bf229['name'])){const _0x103575=_0xab70f5['schema']['getNearestSelectionRange'](_0x3b893d['deletionPosition']);if(_0x103575){const _0x34555f=ht['fromRange'](_0x103575);_0xc97657['set'](_0x2bf229['name'],_0x34555f),_0x34555f['on']('change:range',(_0x35643c,_0x49ac5a,_0x1608d4)=>{if('$graveyard'==_0x34555f['root']['rootName']){const _0x51c5fe=_0xab70f5['schema']['getNearestSelectionRange'](_0x1608d4['deletionPosition']);_0x51c5fe?(_0x34555f['start']=_0x51c5fe['start'],_0x34555f['end']=_0x51c5fe['end']):(_0xc97657['delete'](_0x2bf229['name']),_0x34555f['detach']());}});}}});}),_0xab70f5['document']['on']('change',()=>{_0xc97657['size']>0x0&&_0xab70f5['enqueueChange']({'isUndoable':!0x1},_0x21b11a=>{for(const [_0x13e4cd,_0x42c842]of _0xc97657)'$graveyard'==_0xab70f5['markers']['get'](_0x13e4cd)['getRange']()['root']['rootName']&&(te(_0x13e4cd['split'](':')[0x2],_0x42c842['toRange'](),_0xab70f5,_0x21b11a),_0x42c842['detach']());_0xc97657['clear']();});});}(_0x5d8dd0),this['_domEmitter']['listenTo'](_0x4a36f6['document'],'keydown',(_0x36062e,{key:_0x3cfd45})=>{'Escape'===_0x3cfd45&&function(_0x20df5b){_0x20df5b['editing']['view']['change'](_0x3f9f85=>{for(const _0x2b5b07 of _0x20df5b['model']['markers']){if(!_0x2b5b07['name']['startsWith']('user:position'))continue;const _0xf9ae1f=_0x20df5b['editing']['mapper']['markerNameToElements'](_0x2b5b07['name']);if(_0xf9ae1f){for(const _0x14a0a4 of _0xf9ae1f)_0x3f9f85['removeClass']('ck-user__marker_hovered',_0x14a0a4);}}});}(_0x5d8dd0);},{'useCapture':!0x0});}['afterInit'](){const _0x2a4acb=this['editor'],_0x1f006e=_0x2a4acb['commands']['get']('undo');_0x1f006e&&_0x2a4acb['model']['on']('applyOperation',(_0x50386e,_0x3ac293)=>{const _0x5b8d3c=_0x3ac293[0x0];if(!_0x5b8d3c['isDocumentOperation'])return;if('marker'!=_0x5b8d3c['type']||!_0x5b8d3c['name']['startsWith']('user:'))return;const _0x2ea80a=_0x5b8d3c['batch'];_0x1f006e['_createdBatches']['has'](_0x2ea80a)&&(_0x5b8d3c['newRange']=_0x5b8d3c['oldRange']?_0x2a4acb['model']['createRange'](_0x5b8d3c['oldRange']['start'],_0x5b8d3c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x16111a=this['editor'],_0x5d2ee9=_0x16111a['model']['document'],_0x222116=_0x16111a['plugins']['get'](i);_0x16111a['model']['enqueueChange']({'isUndoable':!0x1},_0x46bdcc=>{const _0x439934='user:range:'+_0x222116['mySessionId'],_0xe1ae59='user:position:'+_0x222116['mySessionId'],_0x44bcca=_0x16111a['model']['markers']['has'](_0x439934);_0x16111a['editing']['view']['hasDomSelection']?te(_0x222116['mySessionId'],_0x5d2ee9['selection']['getFirstRange'](),_0x16111a['model'],_0x46bdcc):_0x44bcca&&(_0x46bdcc['removeMarker'](_0x439934),_0x46bdcc['removeMarker'](_0xe1ae59));});}}function te(_0x15daae,_0x3f4366,_0x153e3b,_0x57284b){const _0x3fffa3='user:range:'+_0x15daae,_0xa14c7b='user:position:'+_0x15daae,_0x54e021=_0x3f4366['getContainedElement']();let _0x453401=_0x3f4366['start'];_0x54e021&&_0x54e021['is']('element','tableCell')&&(_0x453401=function(_0x5d11b5,_0x208f60){for(const _0x30d8f3 of _0x5d11b5['getPositions']())if(_0x208f60['schema']['checkChild'](_0x30d8f3,'$text'))return _0x30d8f3;}(_0x3f4366,_0x153e3b),_0x3f4366=_0x57284b['createRange'](_0x453401));const _0x1265c4=_0x57284b['createRange'](_0x453401);_0x153e3b['markers']['has'](_0x3fffa3)?(_0x57284b['updateMarker'](_0x3fffa3,{'range':_0x3f4366}),_0x57284b['updateMarker'](_0xa14c7b,{'range':_0x1265c4})):(_0x57284b['addMarker'](_0x3fffa3,{'range':_0x3f4366,'usingOperation':!0x0}),_0x57284b['addMarker'](_0xa14c7b,{'range':_0x1265c4,'usingOperation':!0x0}));}function G(_0x1aa647,_0x17fee3,_0x22d39e){const _0x524743=_0x1aa647['t'],t=_0x1aa647['t'];switch(_0x17fee3){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 _0x524743({'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'},_0x22d39e);default:return'';}}let J=0x1;class l extends _0x445119{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xf291f8)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x35b9fe,_0x5380a6,_0xe23653];}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 _0x36cacb=this['serverHistory']['getOperations']();for(let _0x57eeed=_0x36cacb['length']-0x1;_0x57eeed>=0x0;_0x57eeed--){const _0x3d2d1c=_0x36cacb[_0x57eeed];if(!this['_disconnectionOperations']['has'](_0x3d2d1c))return _0x3d2d1c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x7e8e5c){if(super(_0x7e8e5c),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x19f92b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x40dad7('collaboration-missing-channelid',this);const _0x3c6eb5=_0x7e8e5c['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3c6eb5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5c669b(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x162ed8=this['editor'],_0x1ca788=_0x162ed8['plugins']['get'](_0x5380a6),_0x487d83=_0x162ed8['plugins']['get'](c);this['listenTo'](_0x1ca788,'getOperationAuthor',(_0x24c499,_0x1c080d)=>{const _0x700145=_0x1c080d[0x0];_0x700145['_authorId']&&(_0x24c499['return']=_0x1ca788['getUser'](_0x700145['_authorId']),_0x24c499['stop']()),null===_0x700145['_authorId']&&(_0x24c499['return']=null,_0x24c499['stop']());},{'priority':'high'}),this['listenTo'](_0x162ed8['model']['document']['selection'],'change:range',(_0x334c0c,_0x25cc47)=>{_0x25cc47['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x162ed8['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x162ed8['model']['on']('applyOperation',(_0x4f9523,_0x5a429b)=>{const _0x54e7f5=_0x5a429b[0x0];_0x54e7f5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x54e7f5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x487d83,'state',this,'_hasSynchronizationProblem',(_0x3a17b6,_0x30dcc8)=>'connected'===_0x3a17b6&&!_0x30dcc8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x162ed8['disableReadOnlyMode']('rtc-offline'):_0x162ed8['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x162ed8['disableReadOnlyMode']('rtc-offline'):_0x162ed8['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x231977=this['editor']['plugins']['get'](i),_0x224d29=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x231977['unregister'](this['_channelId']);const _0x10e6fb=await this['_service']['reconnect'](_0x224d29['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x10e6fb)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x38d566=await this['_service']['getConnectedSessions']();_0x231977['register'](this['_channelId'],_0x38d566),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x18e293){if(function(_0x4ee783){return'404'===_0x4ee783['code'];}(_0x18e293)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1c32da){return'409'===_0x1c32da['code'];}(_0x18e293)){const _0x53a3eb=G(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'](_0x53a3eb);}else{if(!(_0x18e293 instanceof Q))throw _0x18e293;this['_handleReconnectionError']();}}}}['destroy'](){const _0x300734=this['editor']['plugins']['get'](c),_0x1ad0f2=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1ad0f2['channelSessions']['has'](this['_channelId'])&&_0x1ad0f2['unregister'](this['_channelId']),_0x300734['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x37d568){if(this['sessionId']!==_0x37d568['sessionId']&&this['_lastSyncedOperationId']!==_0x37d568['lastOperationId'])throw new Q();return this['sessionId']=_0x37d568['sessionId'],this['_handleServerResponse']([],{..._0x37d568,'wereChangesApplied':!0x1,'data':_0x37d568['data']},'reconnect');}async['_connectService'](_0x436513,_0x140b96=!0x1){const {connection:_0x1dbf3f}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1dbf3f,this['_channelId'])['then'](_0x47b4a4=>this['_initSessionsHandling'](_0x47b4a4))['catch'](_0x3d176a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3d176a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5285b5,_0x54e2c0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x54e2c0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5657e7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x436513);this['_isPendingUpdate']=!0x0;const _0x25aa4c=await this['_service']['connect'](_0x1dbf3f,this['_compressOperations'](_0x436513),_0x5657e7);if(this['sessionId']=_0x25aa4c['sessionId'],_0x140b96){if(!_0x25aa4c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x25aa4c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x436513,_0x25aa4c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x25aa4c,_0x436513);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x34ca19=this['editor']['plugins']['get'](i),_0x34695d=this['editor']['plugins']['get'](q),_0x29768f=_0x34ca19['channelSessions']['get'](this['_channelId']);_0x29768f&&_0x29768f['length']>0x1?_0x34695d['createUserMarkerOperations']():this['listenTo'](_0x34ca19,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x34ca19['channelSessions']['get'](this['_channelId'])['length']&&_0x34695d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4a81dc,_0x1f9dbe,_0x3af3a8,_0x14f86a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1f9dbe){const _0x126bb3=this['_decompressOperations'](_0x3af3a8,_0x14f86a);await this['_fetchMissingUsers'](_0x126bb3),this['_handleExternalOperations'](_0x126bb3,_0x1f9dbe,_0x3af3a8['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x450d4b}=this['editor'];let _0x1a50ff;try{_0x1a50ff=await this['_service']['getDocumentDetails']();}catch(_0x5c1a87){const _0x4811ef=G(_0x450d4b,'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'](_0x4811ef);}const _0x5cf90c=_0x1a50ff['currentDocumentSession']||_0x1a50ff['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x5cf90c['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x459563=G(_0x450d4b,'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.');this['_handleReconnectionError'](_0x459563);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x408462){const _0x3120f8=this['editor']['plugins']['get'](i);this['listenTo'](_0x3120f8,'sessionAdd:'+this['_channelId'],(_0x45221e,{session:_0x566eed})=>{if(_0x566eed['id']===_0x3120f8['mySessionId']){_0x45221e['off']();const _0x4a6b50=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x22467c=_0x566eed['permissions'];_0x4a6b50&&_0x4a6b50['isEnabled']&&(_0x22467c=_0x22467c['filter'](_0x3523b4=>'document:write'!==_0x3523b4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x22467c,this['_channelId']);}}),_0x3120f8['register'](this['_channelId'],_0x408462);}['_initThrowingOnDataSet'](){const _0x362650=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x51de54)=>{if(!_0x51de54[_0x51de54['length']-0x1]['suppressErrorInCollaboration'])throw new _0x40dad7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x362650['apply'](this['editor']['data'],_0x51de54);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5dc5ad,[_0x228265])=>{if(this['_document']['version'])throw new _0x40dad7('realtimecollaborationclient-init-document-already-initialized',this);_0x5dc5ad['stop'](),this['_setPendingAction']();const _0x680a71=this['editor']['config']['get']('rootsAttributes'),_0x52ff0d=this['_getOperationsFromInitData'](_0x228265,_0x680a71);0x0==_0x52ff0d['length']&&_0x52ff0d['push'](new _0x54891a(0x0)),_0x5dc5ad['return']=this['_connectService'](_0x52ff0d)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xc8c250=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xc8c250))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2b47e8,[_0x1adbc8,_0x589696])=>{_0x2b47e8['stop']();const _0x5aa1aa=this['editor']['model']['document']['getRoot'](_0x1adbc8);if(!this['_knownRootNames']['has'](_0x1adbc8)){const _0x54848d=_0x589696&&_0x589696['data']?_0x589696['data']:'',_0x5748f8=_0x589696&&_0x589696['attributes']?_0x589696['attributes']:{};await this['_loadRoot'](_0x1adbc8,_0x54848d,_0x5748f8);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5aa1aa['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5aa1aa);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x20a08d){const _0x132c70=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x3ceb34}=this['editor']['plugins']['get'](c),_0x23ec5e=new Set();for(const _0x1b5845 of _0x20a08d){const _0x31d0c3=_0x1b5845['_authorId'];_0x31d0c3&&!_0x132c70['getUser'](_0x31d0c3)&&_0x23ec5e['add'](_0x31d0c3);}if(0x0===_0x23ec5e['size'])return;const _0x5aaa17=await dt['getMany'](_0x3ceb34,Array['from'](_0x23ec5e));for(const _0xdda1d4 of _0x5aaa17)_0x132c70['getUser'](_0xdda1d4['id'])||_0x132c70['addUser'](_0xdda1d4);}['_getOperationsFromInitData'](_0x15c7f3,_0x2883a4={}){const _0x4974bd=this['editor']['model'],_0x3804e3=[];let _0xd4b44c=0x0;const _0x43c03c='string'==typeof _0x15c7f3?{'main':_0x15c7f3}:_0x15c7f3;for(const _0x39b532 of Object['keys'](_0x43c03c)){if(!this['_document']['roots']['has'](_0x39b532))throw new _0x40dad7('realtimecollaborationclient-init-non-existent-root',this);const _0x3870c3=this['editor']['data']['parse'](_0x43c03c[_0x39b532]),_0x266112=this['_document']['getRoot'](_0x39b532),_0x32e509=new _0xe1436f(_0x4974bd['createPositionAt'](_0x266112,0x0),_0x3870c3,_0xd4b44c++);_0x3804e3['push'](_0x32e509);for(const [_0x20fd03,_0x197aa4]of _0x3870c3['markers']){const _0xb4784f=_0x4974bd['createRange'](_0x4974bd['createPositionFromPath'](_0x266112,_0x197aa4['start']['path']['slice']()),_0x4974bd['createPositionFromPath'](_0x266112,_0x197aa4['end']['path']['slice']())),_0x867df1=new _0x3c7e22(_0x20fd03,null,_0xb4784f,_0x4974bd['markers'],!0x0,_0xd4b44c++);_0x3804e3['push'](_0x867df1);}}if(_0x2883a4)for(const [_0x475481,_0x225df9]of Object['entries'](_0x2883a4)){const _0x441ad2=_0x4974bd['document']['getRoot'](_0x475481);if(!_0x441ad2)throw new _0x40dad7('multi-root-editor-root-attributes-no-root',null);for(const [_0x2fd467,_0x796e99]of Object['entries'](_0x225df9))if(null!==_0x796e99){const _0x6b3b19=new _0x401de0(_0x441ad2,_0x2fd467,null,_0x796e99,_0xd4b44c++);_0x3804e3['push'](_0x6b3b19);}}return _0x3804e3;}async['_loadRoot'](_0x3d21cd,_0x511ec6,_0x5c5165){this['_getOperationsFromInitData']({[_0x3d21cd]:_0x511ec6},{[_0x3d21cd]:_0x5c5165})['forEach']((_0x45af00,_0x56cc58)=>{_0x45af00['baseVersion']=this['_document']['version']+_0x56cc58,_0x45af00['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x45af00);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2ca56a,_0x5146c6){let _0x1d7b98;this['_offset']=_0x2ca56a['offset'];const _0x3a2213=_0x2ca56a['wereChangesApplied']&&!_0x2ca56a['initData'],_0xa77d8b=_0x3a2213?0x0:_0x2ca56a['data']['baseVersion'];if(_0x5146c6['forEach'](_0x29f0bd=>{_0x29f0bd['_isInit']=!0x0,_0x29f0bd['createdAt']=_0x2ca56a['sessionCreatedAt'],_0x29f0bd['_authorId']=null;}),_0x3a2213)_0x1d7b98=_0x5146c6,this['_applyOperationsSet'](_0x1d7b98,_0x3a2213);else{if(_0x2ca56a['initData']){const _0x18c724=this['_getOperationsFromInitData'](_0x2ca56a['initData']);this['_document']['history']['version']=-_0x18c724['length'],_0x18c724['forEach'](_0x4f5e01=>{_0x4f5e01['baseVersion']-=_0x18c724['length'],_0x4f5e01['createdAt']=_0x2ca56a['sessionCreatedAt'],_0x4f5e01['_isInit']=!0x0,_0x4f5e01['_authorId']=null;}),this['_applyOperationsSet'](_0x18c724,!0x0),this['serverHistory']['version']=-_0x18c724['length']+this['_offset'],this['_updateServerHistory'](_0x18c724);}this['_document']['history']['version']=_0xa77d8b,_0x1d7b98=this['_decompressOperations'](_0x2ca56a['data'],_0x2ca56a['metadata']),await this['_fetchMissingUsers'](_0x1d7b98),this['_applyOperationsSet'](_0x1d7b98,_0x3a2213);}_0x2ca56a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1d7b98,_0x2ca56a['lastOperationId']),this['_lastSyncedOperationId']=_0x2ca56a['lastOperationId']),this['serverHistory']['version']=_0xa77d8b+this['_offset'],this['_updateServerHistory'](_0x1d7b98),_0x5146c6['filter'](_0x233b70=>{const _0x2d38aa=this['_getAffectedRoot'](_0x233b70);return _0x2d38aa&&!this['_knownRootNames']['has'](_0x2d38aa);})['forEach']((_0x4662d0,_0x531027)=>{_0x4662d0['baseVersion']=this['_document']['version']+_0x531027,this['_saveOperationInBuffer'](_0x4662d0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x325a92,_0xca9224){const _0x467bcf=_0xca9224&&_0xca9224['message'];if(_0x467bcf&&_0x467bcf['startsWith']('realtimecollaborationclient'))throw _0xca9224;const _0x3e1c06=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x3e1c06['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x40dad7(_0x325a92,this['editor'],_0x467bcf?{'originalError':_0x467bcf}:void 0x0);}['_saveOperationInBuffer'](_0xf8f504){this['_knownOperations']['has'](_0xf8f504)||(this['_knownOperations']['add'](_0xf8f504),this['_bufferedOperations']['push'](_0xf8f504),this['_pendingAction']||'marker'==_0xf8f504['type']&&!_0xf8f504['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2b2884=!0x1){!_0x2b2884&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x224226=>{_0x224226&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3a651e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xc51364){return _0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3a651e)||this['_crash'](_0x3a651e['message'],_0x3a651e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1533aa=>{this['on']('change:_isPendingUpdate',()=>{_0x1533aa();});});}async['_sendBufferedOperations'](){const _0x45835b=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x45835b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2b0951=[...this['_bufferedOperations']];for(const _0x5646a1 of _0x2b0951)_0x5646a1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5646a1);const _0x5039a7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b0951),_0x1b674d=J++,_0x306295=this['_compressOperations'](_0x2b0951),_0x4d93ad=await this['_service']['sendOperations'](_0x306295,_0x306295['baseVersion'],_0x5039a7);try{return await this['_handleServerResponse'](_0x2b0951,_0x4d93ad,_0x1b674d);}catch(_0x15a770){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x15a770);}}async['_handleServerResponse'](_0xbc2c64,_0x2f7a8d,_0x50d4ec){if('error'in _0x2f7a8d)throw _0x2f7a8d['error'];let _0x181e54=!0x1;if(_0x2f7a8d['wereChangesApplied']){_0x2f7a8d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2f7a8d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x369bfb=>!_0xbc2c64['includes'](_0x369bfb));for(const _0x2963fc of _0xbc2c64)_0x2963fc['createdAt']='lastOperationAcceptedAt'in _0x2f7a8d&&_0x2f7a8d['lastOperationAcceptedAt']||void 0x0;X(_0xbc2c64,_0x2f7a8d['version']-_0xbc2c64['length']),this['_updateServerHistory'](_0xbc2c64);const _0x524108=_0xbc2c64['filter'](_0x2e50e6=>{if(!_0x2e50e6['_isInit'])return!0x1;const _0x542c07=this['_getAffectedRoot'](_0x2e50e6);return _0x542c07&&!this['_knownRootNames']['has'](_0x542c07);});X(_0x524108,this['_document']['version']),this['_applyOperationsSet'](_0x524108),_0x181e54=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x452345=this['_decompressOperations'](_0x2f7a8d['data'],_0x2f7a8d['metadata'])['filter'](_0x3414af=>_0x3414af['baseVersion']>=this['_lastServerVersion']);_0x452345['forEach'](_0x1a12c2=>this['_addKnownRoot'](_0x1a12c2)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5099e0=>!_0x5099e0['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5099e0))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x452345),_0x181e54=this['_handleExternalOperations'](_0x452345,_0x2f7a8d['version'],_0x2f7a8d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x181e54?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5a2448,_0x95796,_0x13f3a5){try{const _0x363480={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x47342e,operationsB:_0x2af08f,originalOperations:_0xdb985d}=_0x216b65(_0x5a2448,this['_bufferedOperations'],_0x363480);X(_0x47342e,this['_document']['version']),X(_0x2af08f,_0x95796);for(const _0x46c850 of _0x47342e){const _0x2b533e=_0xdb985d['get'](_0x46c850);_0x46c850['_authorId']=_0x2b533e?_0x2b533e['_authorId']:null;}_0x13f3a5&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5a2448,_0x13f3a5),this['_lastSyncedOperationId']=_0x13f3a5),this['_bufferedOperations']=[..._0x2af08f],this['_applyOperationsSet'](_0x47342e),this['_updateServerHistory'](_0x5a2448);}catch(_0x5f3d11){return console['error'](_0x5f3d11),!0x1;}return!0x0;}['_applyOperationsSet'](_0x526e5f,_0x4e439c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2dbaa9=>{for(const _0x324626 of _0x526e5f)this['_knownOperations']['add'](_0x324626),this['_addKnownRoot'](_0x324626),_0x2dbaa9['batch']['addOperation'](_0x324626),this['editor']['model']['applyOperation'](_0x324626);});}['_addKnownRoot'](_0x2715b9){const _0xb434db=this['_getAffectedRoot'](_0x2715b9);_0xb434db&&this['_knownRootNames']['add'](_0xb434db);}['_getAffectedRoot'](_0x58c791){let _0x50c4bc,_0x596ff0;switch(_0x58c791['type']){case'insert':_0x50c4bc=_0x58c791['position']['root'];break;case'marker':if(_0x596ff0=_0x58c791['newRange'],!_0x596ff0)return null;_0x50c4bc=_0x596ff0['root'];break;case'addRootAttribute':_0x50c4bc=_0x58c791['root'];break;case'addRoot':_0x50c4bc=_0x58c791['affectedSelectable'];break;case'move':_0x50c4bc=_0x58c791['targetPosition']['root'];break;default:return null;}return _0x50c4bc['rootName'];}['_updateServerHistory'](_0x418dcc){_0x418dcc['forEach'](_0x19ad6d=>{const _0x2696fe=_0x19ad6d['clone']();_0x2696fe['_authorId']=_0x19ad6d['_authorId'],_0x2696fe['_isInit']=!!_0x19ad6d['_isInit'],_0x2696fe['createdAt']=_0x19ad6d['createdAt'],_0x2696fe['baseVersion']+=this['_offset'],_0x19ad6d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2696fe),this['serverHistory']['addOperation'](_0x2696fe);});}['_handleReconnectionError'](_0x3f0539){const _0x4744a9=this['editor']['plugins']['get']('Notification'),_0x35fe29=this['editor']['locale'];_0x3f0539||(_0x3f0539=G(_0x35fe29,'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.')),_0x4744a9['showWarning'](_0x3f0539,{'title':G(_0x35fe29,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x35b9fe)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x35b9fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2a2546){const _0x44dc91=_0x2a2546['map'](_0x23c9f6=>_0x23c9f6['toJSON']());return this['_compressor']['compress'](_0x44dc91);}['_decompressOperations'](_0x2cb41a,_0x460cd1){return this['_compressor']['decompress'](_0x2cb41a)['map']((_0x325dc9,_0x3c7ee5)=>{const _0xc0a64b='init'==_0x460cd1[_0x3c7ee5]['type'];if('InsertOperation'==_0x325dc9['__className']){const _0x517182=_0x325dc9['position']['root'];!this['_document']['getRoot'](_0x517182)&&(this['_document']['createRoot']('$root',_0x517182)['_isAttached']=!0x1);}const _0x496b88=_0x55bd9e['fromJSON'](_0x325dc9,this['_document']);return _0x496b88['wasUndone']=_0x325dc9['wasUndone'],_0x496b88['_isInit']=_0xc0a64b,_0x496b88['_authorId']=_0xc0a64b?null:_0x460cd1[_0x3c7ee5]['userId'],_0x496b88['_isDisconnection']='cs:removeUser'===_0x460cd1[_0x3c7ee5]['type'],_0x496b88['createdAt']=_0x460cd1[_0x3c7ee5]['createdAt'],_0x496b88;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5aea2d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5aea2d&&_0x5aea2d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x5b3c8b,_0x1742e5){for(const _0x1827bd of _0x5b3c8b)_0x1827bd['baseVersion']=_0x1742e5++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x15f6d7){this['_ignoredOperations']=_0x15f6d7,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2566b5){let _0x5e4899=_0x2566b5['length'];for(;_0x5e4899--;){const _0x29578f=_0x2566b5[_0x5e4899];if(!this['_ignoredOperations']['has'](_0x29578f)){if(!this['_operationToId']['has'](_0x29578f)){const _0x38edc8=_0x18e0d9()['slice'](0x1,0x12);this['_operationToId']['set'](_0x29578f,_0x38edc8);}return this['_operationToId']['get'](_0x29578f);}}}['setIdForTheLastOperation'](_0x13b1a0,_0x546618){if(!_0x546618)return;let _0x15dff4=_0x13b1a0['length'];for(;_0x15dff4--;){const _0xfc1a5=_0x13b1a0[_0x15dff4];this['_ignoredOperations']['has'](_0xfc1a5)||this['_operationToId']['set'](_0xfc1a5,_0x546618);}}}class n extends _0x445119{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x50d425{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x21da9a)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5380a6];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x499af0){super(_0x499af0),this['_services']=new Map();}async['init'](){const _0x4b71f3=this['context'],_0x592112=_0x4b71f3['plugins']['get']('CommentsRepository');if(_0x4b71f3['plugins']['get'](c)['addToReconnectionStack'](this),_0x592112['adapter']={'addCommentThread':async({channelId:_0x30691d,threadId:_0x106667,comments:_0x5b4e2b,resolvedAt:_0xc914b0,resolvedBy:_0x50b69e,context:_0x39388b,attributes:_0x50125e})=>{const _0x3a635f=await this['_getService'](_0x30691d)['addCommentThread']({'commentThreadId':_0x106667,'comments':_0x5b4e2b['map'](_0x51d1cd=>function(_0x1e8b9f,_0x4d3cad,_0x148df0){return{'commentThreadId':_0x148df0,'commentId':_0x1e8b9f['commentId'],'userId':_0x1e8b9f['authorId'],'content':_0x1e8b9f['content'],'documentId':_0x4d3cad,'createdAt':_0x1e8b9f['createdAt'],'attributes':_0x1e8b9f['attributes']||{}};}(_0x51d1cd,_0x30691d,_0x106667)),'resolvedAt':_0xc914b0,'resolvedBy':_0x50b69e,'context':_0x39388b,'attributes':_0x50125e})['catch'](ut);return{'threadId':_0x3a635f['commentThreadId'],'comments':_0x3a635f['comments']};},'getCommentThread':async({channelId:_0xbdc176,threadId:_0x17a50b})=>{const _0x5ebd20=await this['_getService'](_0xbdc176)['getCommentThread'](_0x17a50b)['catch'](ut);return _0x5ebd20['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5ebd20]),{'threadId':_0x5ebd20['commentThreadId'],'comments':_0x5ebd20['comments']['map'](b),'context':_0x5ebd20['context'],'resolvedAt':_0x5ebd20['resolvedAt'],'resolvedBy':_0x5ebd20['resolvedBy'],'attributes':_0x5ebd20['attributes']||{}});},'updateCommentThread':async({channelId:_0x454009,threadId:_0x5e7495,context:_0x27e4d6,unlinkedAt:_0x6c6949,attributes:_0x4355dd})=>this['_getService'](_0x454009)['updateCommentThread']({'commentThreadId':_0x5e7495,'context':_0x27e4d6,'attributes':_0x4355dd,'unlinkedAt':_0x6c6949})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x4b3957,threadId:_0x23d111})=>{const _0x7506cd=await this['_getService'](_0x4b3957)['resolveCommentThread'](_0x23d111)['catch'](y)['catch'](ut);return{'threadId':_0x7506cd['commentThreadId'],'resolvedAt':_0x7506cd['resolvedAt'],'resolvedBy':_0x7506cd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x306820,threadId:_0x311864})=>this['_getService'](_0x306820)['reopenCommentThread'](_0x311864)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x50e814,threadId:_0xe0b729})=>this['_getService'](_0x50e814)['removeCommentThread'](_0xe0b729)['catch'](y)['catch'](ut),'addComment':({channelId:_0x448355,threadId:_0x24b29b,commentId:_0x515f55,content:_0x29f938,attributes:_0x93b13b})=>this['_getService'](_0x448355)['addComment'](_0x24b29b,_0x515f55,_0x29f938,_0x93b13b)['catch'](ut),'updateComment':({channelId:_0x3e0c86,threadId:_0x2754be,commentId:_0x5a76c8,content:_0x1ff981,attributes:_0x2f1fa2})=>this['_getService'](_0x3e0c86)['updateComment'](_0x2754be,_0x5a76c8,_0x1ff981,_0x2f1fa2)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x36abf7,threadId:_0x56d243,commentId:_0x4b66c5})=>this['_getService'](_0x36abf7)['removeComment'](_0x56d243,_0x4b66c5)['catch'](y)['catch'](ut)},_0x4b71f3 instanceof _0x38b153){const _0x34a862=_0x4b71f3['config']['get']('collaboration.channelId'),_0x3d7b01=_0x4b71f3['plugins']['get'](i);await this['_setUpService'](_0x34a862);const _0x248ab9=await this['_services']['get'](_0x34a862)['getConnectedSessions']();this['listenTo'](_0x3d7b01,'sessionAdd:'+_0x34a862,(_0x5e55f2,{session:_0x15e39e})=>{_0x15e39e['id']===_0x3d7b01['mySessionId']&&(_0x5e55f2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x15e39e['permissions'],_0x34a862));}),_0x3d7b01['register'](_0x34a862,_0x248ab9);}}async['_setUpService'](_0x45a627){if(this['_services']['has'](_0x45a627))throw new _0x40dad7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x45a627});const _0x42873c=this['context']['plugins']['get']('CommentsRepository'),_0x3bcfc1=new a['CommentsService'](_0x45a627);this['_services']['set'](_0x45a627,_0x3bcfc1),this['listenTo'](_0x3bcfc1,'commentThreadAdded',(_0x3c67b6,_0x647764)=>{const {commentThreadId:_0x570ce8,documentId:_0x3ee9b9,context:_0x4ada45,attributes:_0x1371af,resolvedAt:_0x1ed7fc,resolvedBy:_0x47eef9,comments:_0x1943a8}=_0x647764;_0x42873c['getCommentThread'](_0x570ce8)||_0x42873c['addCommentThread']({'threadId':_0x570ce8,'channelId':_0x3ee9b9,'comments':_0x1943a8?_0x1943a8['map'](b):[],'context':_0x4ada45,'attributes':_0x1371af,'resolvedAt':_0x1ed7fc,'resolvedBy':_0x47eef9,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadUpdated',(_0x8da906,{commentThreadId:_0x44e3e2,documentId:_0x8ca477,context:_0x82d692,unlinkedAt:_0x3d5387,attributes:_0xf6d4a5})=>{_0x42873c['getCommentThread'](_0x44e3e2)&&_0x42873c['updateCommentThread']({'threadId':_0x44e3e2,'channelId':_0x8ca477,'context':_0x82d692,'unlinkedAt':_0x3d5387,'attributes':_0xf6d4a5,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadResolved',(_0x65a89f,{commentThreadId:_0x428931,resolvedBy:_0xaad117,resolvedAt:_0x471bc9})=>{const _0x5b42de=_0x42873c['getCommentThread'](_0x428931);_0x5b42de&&_0x5b42de['resolve']({'resolvedBy':_0xaad117,'resolvedAt':_0x471bc9,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadReopened',(_0x37434d,{commentThreadId:_0x2dfd2f})=>{const _0x4a1ed4=_0x42873c['getCommentThread'](_0x2dfd2f);_0x4a1ed4&&_0x4a1ed4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadRemoved',(_0x3b19ab,{commentThreadId:_0x31a007})=>{const _0x58ef57=_0x42873c['getCommentThread'](_0x31a007);_0x58ef57&&_0x58ef57['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentAdded',(_0x192656,_0x29273d)=>{const _0x2aa1f4=_0x29273d['commentThreadId'],_0xecb0aa=_0x42873c['getCommentThread'](_0x2aa1f4);_0xecb0aa&&_0xecb0aa['addComment']({...b(_0x29273d),'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentUpdated',(_0x5edc75,{commentThreadId:_0x4f5ea6,commentId:_0x1c2021,content:_0x1ba856,attributes:_0x415bc9})=>{const _0x4898a6=_0x42873c['getCommentThread'](_0x4f5ea6);if(_0x4898a6){const _0xa1e751=_0x4898a6['getComment'](_0x1c2021);_0xa1e751&&_0xa1e751['update']({'content':_0x1ba856,'attributes':_0x415bc9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3bcfc1,'commentRemoved',(_0x39cc2d,{commentThreadId:_0x476a85,commentId:_0x25eda5})=>{const _0x32672e=_0x42873c['getCommentThread'](_0x476a85);if(_0x32672e){const _0x26677e=_0x32672e['getComment'](_0x25eda5);_0x26677e&&_0x26677e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x45a627);}['destroy'](){if(this['context']instanceof _0x38b153){const _0x351276=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x351276);}}['_terminateService'](_0x348ec5){if(!this['_services']['has'](_0x348ec5))throw new _0x40dad7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x348ec5});this['_getService'](_0x348ec5)['disconnect'](),this['_services']['delete'](_0x348ec5);}async['reconnect'](){for(const _0x58e095 of this['_services']['keys']())await this['_connectService'](_0x58e095);if(this['context']instanceof _0x38b153){const _0x15c016=this['context']['config']['get']('collaboration.channelId'),_0x25a5d3=this['context']['plugins']['get'](i);_0x25a5d3['unregister'](_0x15c016);const _0x4a34c7=await this['_services']['get'](_0x15c016)['getConnectedSessions']();_0x25a5d3['register'](_0x15c016,_0x4a34c7);}}async['_connectService'](_0x52ebac){const {connection:_0x1f06f8}=this['context']['plugins']['get'](c),_0x4c4f69=this['context']['plugins']['get']('CommentsRepository'),_0x543395=this['_services']['get'](_0x52ebac),_0x310b11=await _0x543395['connect'](_0x1f06f8);await this['_fetchMissingUsersForThreads'](_0x310b11);const _0x189762=new Set(Array['from'](_0x4c4f69['getCommentThreads']({'channelId':_0x52ebac}),_0x29df47=>_0x29df47['id']));for(const _0x366783 of _0x310b11)_0x366783['deletedAt']||_0x189762['delete'](_0x366783['commentThreadId']);for(const _0x1022e7 of _0x189762)_0x4c4f69['getCommentThread'](_0x1022e7)['remove']({'isFromAdapter':!0x0});for(const _0x19068c of _0x310b11){let _0x5e83ee=_0x4c4f69['getCommentThread'](_0x19068c['commentThreadId']);const {commentThreadId:_0x3f9b45,context:_0x260cc8,attributes:_0x1f590b,resolvedBy:_0x41f228,resolvedAt:_0x2e88f9,unlinkedAt:_0x50332e,deletedAt:_0x2d693b}=_0x19068c;if(_0x2d693b)continue;_0x5e83ee||(_0x5e83ee=_0x4c4f69['addCommentThread']({'channelId':_0x52ebac,'threadId':_0x3f9b45,'context':_0x260cc8,'attributes':_0x1f590b||{},'resolvedBy':_0x41f228,'resolvedAt':_0x2e88f9,'unlinkedAt':_0x50332e,'isFromAdapter':!0x0}));const _0xb1522a=new Set(Array['from'](_0x5e83ee['comments'],_0x378444=>_0x378444['id']));for(const _0x312456 of _0x19068c['comments'])_0xb1522a['delete'](_0x312456['commentId']);for(const _0x1def5b of _0xb1522a)_0x5e83ee['getComment'](_0x1def5b)['remove']({'isFromAdapter':!0x0});for(const _0x11faef of _0x19068c['comments']){const _0x145c98=_0x5e83ee['getComment'](_0x11faef['commentId']);_0x145c98?_0x145c98['content']!==_0x11faef['content']&&_0x145c98['update']({'content':_0x11faef['content'],'isFromAdapter':!0x0}):_0x5e83ee['addComment'](Object['assign'](b(_0x11faef),{'isFromAdapter':!0x0}));}}}['_getService'](_0x152216){if(!this['_services']['has'](_0x152216))throw new _0x40dad7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x152216});return this['_services']['get'](_0x152216);}async['_fetchMissingUsersForThreads'](_0x56924f){const _0x5a626a=this['context']['plugins']['get'](_0x5380a6),{connection:_0x2ddeba}=this['context']['plugins']['get'](c),_0x4eb3c4=new Set();for(const {resolvedBy:_0x3b0f38,comments:_0x1d8893}of _0x56924f){_0x3b0f38&&!_0x5a626a['getUser'](_0x3b0f38)&&_0x4eb3c4['add'](_0x3b0f38);for(const {userId:_0x3bbbbb}of _0x1d8893)_0x5a626a['getUser'](_0x3bbbbb)||_0x4eb3c4['add'](_0x3bbbbb);}if(0x0===_0x4eb3c4['size'])return;const _0x2b6ebe=await dt['getMany'](_0x2ddeba,Array['from'](_0x4eb3c4));for(const _0x5374cb of _0x2b6ebe)_0x5a626a['getUser'](_0x5374cb['id'])||_0x5a626a['addUser'](_0x5374cb);}}async function y(_0x34745d){if('404'!==_0x34745d['code'])throw _0x34745d;}function ut(_0x2beb32){if((_0xaf7447=_0x2beb32)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xaf7447['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xaf7447['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xaf7447;throw _0x2beb32;}function b(_0x58f7f1){return{'threadId':_0x58f7f1['commentThreadId'],'commentId':_0x58f7f1['commentId'],'content':_0x58f7f1['content'],'createdAt':_0x58f7f1['createdAt'],'authorId':_0x58f7f1['userId'],'attributes':_0x58f7f1['attributes']||{}};}class f extends _0x445119{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55db96){super(_0x55db96);const _0x3709c8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x3709c8);}['init'](){const _0x5a6383=this['editor']['plugins']['get'](c),_0x36356a=this['editor']['plugins']['get']('TrackChangesEditing');return _0x36356a['adapter']={'getSuggestion':async _0x15a797=>{await this['_waitForServiceReady']();const _0x1af7e1=await this['_trackChangesService']['get'](_0x15a797)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x1af7e1]),_0x1af7e1;},'addSuggestion':async({id:_0x14e665,type:_0x532905,data:_0x5b5284,originalSuggestionId:_0xa1d221,attributes:_0x49e614})=>{await this['_waitForServiceReady']();const _0x441832={'id':_0x14e665,'type':_0x532905,'data':_0x5b5284,'originalSuggestionId':_0xa1d221,'attributes':_0x49e614},_0x1c12f3=await this['_trackChangesService']['add'](_0x14e665,_0x532905,_0x5b5284,_0xa1d221,_0x49e614)['catch'](_0x7fce13=>{if(ft(_0x7fce13))return new Promise(_0x3f458b=>{this['_bufferedRequests']['set'](_0x14e665,{'resolve':_0x3f458b,'suggestionData':_0x441832});});throw _0x7fce13;});return this['_bufferedRequests']['delete'](_0x14e665),_0x1c12f3;},'updateSuggestion':async(_0x2145b5,_0x38a0c8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x38a0c8['state'])return this['_trackChangesService']['update'](_0x2145b5,_0x38a0c8)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5d2676,_0x14457c)=>{_0x36356a['hasSuggestion'](_0x14457c['id'])&&(_0x36356a['getSuggestion'](_0x14457c['id'])['attributes']=_0x14457c['attributes']);}),this['_trackChangesService']['connect'](_0x5a6383['connection'])['then'](_0x5121c6=>(_0x5a6383['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5121c6)['then'](()=>{for(const _0x2724f7 of _0x5121c6){_0x36356a['addSuggestionData'](_0x2724f7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x47ce02=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1c608f}=this['editor']['plugins']['get'](c),_0x239f3d=await this['_trackChangesService']['connect'](_0x1c608f);await this['_fetchMissingUsersForThreads'](_0x239f3d);for(const {suggestionData:_0x2447a8,resolve:_0x17d23f}of this['_bufferedRequests']['values']()){let _0x33f62f=_0x239f3d['find'](_0x17d5cf=>_0x17d5cf['id']===_0x2447a8['id']);_0x33f62f||(_0x33f62f=await this['_trackChangesService']['add'](_0x2447a8['id'],_0x2447a8['type'],_0x2447a8['data'],_0x2447a8['originalSuggestionId'])),_0x17d23f(_0x33f62f);}for(const _0x1ad5f3 of _0x239f3d)_0x47ce02['hasSuggestion'](_0x1ad5f3['id'])||_0x47ce02['addSuggestionData'](_0x1ad5f3);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x39be2b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2230de=>{_0x2230de['off'](),_0x39be2b();});});}async['_fetchMissingUsersForThreads'](_0x17d591){const _0x179334=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x37bc8f}=this['editor']['plugins']['get'](c),_0x563140=new Set();for(const {authorId:_0x35cc7e}of _0x17d591)_0x179334['getUser'](_0x35cc7e)||_0x563140['add'](_0x35cc7e);if(0x0===_0x563140['size'])return;const _0x4f86aa=await dt['getMany'](_0x37bc8f,Array['from'](_0x563140));for(const _0x26035a of _0x4f86aa)_0x179334['getUser'](_0x26035a['id'])||_0x179334['addUser'](_0x26035a);}}function w(_0x5002bb){if(ft(_0x5002bb))return new Promise(()=>{});throw _0x5002bb;}function ft(_0x32975a){return _0x32975a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32975a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x445119{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x47086b=this['editor']['plugins']['get'](c),_0x468dcb=this['editor']['plugins']['get']('CommentsEditing'),_0x4b05fd=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x47086b,'change:state',(_0x491d0f,_0x2828e7,_0x32b777)=>{_0x468dcb['isThreadsLoadingPaused']='connected'!==_0x32b777;});}),this['listenTo'](_0x47086b,'change:state',(_0x248b23,_0x37db18,_0x248737)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x248737);}),_0x4b05fd['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x445119{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x445119{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x5380a6];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x561832){super(_0x561832);const _0x2a5f49=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2a5f49);}async['init'](){const _0x4132e8=this['editor']['plugins']['get'](l),_0x4aacf4=_0x4132e8['serverHistory'],_0x5a350e=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x4aacf4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4132e8['sessionId']});const _0x49640a=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1c6cf2=await tt['isBundleUploaded'](_0x5a350e['connection'],_0x49640a);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x9299e})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9299e)),'updateRevisions':async _0x25bb47=>{await this['_waitForServiceReady']();const _0x5df2b6=this['_revisionTracker']['currentRevision'];if(_0x1c6cf2&&0x1===_0x25bb47['length']&&_0x25bb47[0x0]['id']===_0x5df2b6['id'])return _0x25bb47;for(const _0x322011 of _0x25bb47)_0x322011['id']===_0x5df2b6['id']&&(_0x322011['isEmptyCurrent']=_0x322011['fromVersion']===_0x322011['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25bb47,this['_lastRequestId'])['then'](_0xfbfa9d=>(this['_lastRequestId']=_0xfbfa9d,_0x25bb47))['catch'](_0x2e4c37=>{if(st(_0x2e4c37)||'400'===_0x2e4c37['code']&&void 0x0!==_0x2e4c37['data']['wrongRequestId']){for(const _0x3de1bb of _0x25bb47){!this['_revisionTracker']['repository']['getRevision'](_0x3de1bb['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3de1bb['id'],_0x3de1bb,!0x1);}if(st(_0x2e4c37))throw _0x2e4c37;return _0x25bb47;}throw _0x2e4c37;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d99a9,{revisionsData:_0x1cd6a6,requestId:_0x25c839})=>{Math['max'](..._0x1cd6a6['map'](_0x4bbf07=>_0x4bbf07['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1cd6a6,_0x25c839);}):this['_handleRevisionsUpdate'](_0x1cd6a6,_0x25c839);});const {revisions:_0x38c7cd,requestId:_0x3af5c6}=await this['_revisionHistoryService']['connect'](_0x5a350e['connection']);_0x5a350e['addToReconnectionStack'](this),this['_lastRequestId']=_0x3af5c6,await this['_fetchMissingUsers'](_0x38c7cd);for(const _0xf6a044 of _0x38c7cd)this['_revisionTracker']['addRevisionData'](_0xf6a044);this['listenTo'](_0x4132e8,'change:_isConnected',(_0x31dea5,_0x12c648,_0x28fbf5)=>{_0x28fbf5&&(this['_oldOffset']=_0x4132e8['_offset'],_0x31dea5['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5a350e,'state',_0x4bb6fd=>_0x4bb6fd===_0x3c6968['CONNECTED']);}async['reconnect'](){const _0x5c5397=this['editor']['plugins']['get'](c),_0x648a6a=this['editor']['plugins']['get'](l),_0x1c6742=async()=>{const _0xc4d17a=this['_revisionTracker']['currentRevision'],_0x3e0af9=_0xc4d17a['id'],_0x3fe0ea=_0x3e0af9!==_0x648a6a['sessionId'];if(_0x3fe0ea){const _0x30163d=_0x648a6a['_offset']-this['_oldOffset'],_0xef58ba=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc4d17a['toVersion']+_0x30163d!==_0xef58ba){const _0x22c433=_0xc4d17a['fromVersion']+_0x30163d,_0x14564d=this['editor']['plugins']['get'](_0x5380a6),_0x52900f=this['_revisionTracker']['buildRevisionData']({'revision':_0xc4d17a,'from':_0x22c433,'to':_0xef58ba});_0x52900f['id']=_0xc4d17a['id'];const _0x22e4f9=_0x52900f['authorsIds']['map'](_0x27e8bd=>_0x14564d['getUser'](_0x27e8bd));_0xc4d17a['_update']({..._0x52900f,'authors':_0x22e4f9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc4d17a['id'],_0x52900f,!0x0);}this['_revisionTracker']['_startingVersion']=_0xef58ba,(_0xc4d17a['toVersion']===_0xc4d17a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3e0af9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3e0af9),this['_revisionTracker']['_createCurrentRevision'](_0xef58ba));}const {revisions:_0x2a415c,requestId:_0xed5981}=await this['_revisionHistoryService']['reconnect'](_0x5c5397['connection'],this['_lastRequestId']);_0x3fe0ea&&_0x2a415c['length']>0x0?_0x648a6a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2a415c),this['_handleRevisionsUpdate'](_0x2a415c,_0xed5981),this['_revisionTracker']['sendBufferedUpdates']());};return _0x648a6a['_isConnected']?_0x1c6742():new Promise((_0x1e9502,_0x26bc01)=>{_0x648a6a['once']('change:_isConnected',()=>{_0x1c6742()['then'](_0x1e9502)['catch'](_0x26bc01);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x13957e=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1dca49=>{_0x1dca49['off'](),_0x13957e();});});}['_getLatestVersionFromServerOperations'](){const _0x125a09=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1956ce of _0x125a09)if('marker'!==_0x1956ce['type']||_0x1956ce['affectsData'])return _0x1956ce['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2614c5=this['editor']['plugins']['get'](l);return new Promise(_0x14733b=>{_0x2614c5['_isPendingUpdate']?_0x2614c5['once']('change:_isPendingUpdate',()=>{_0x14733b(this['_getLatestVersionFromServerOperations']());}):_0x14733b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x30f1fb,_0x454bc6){const _0x16a9f7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x454bc6;for(const _0x1d4863 of _0x30f1fb){const _0x4f9fd7=_0x16a9f7['getRevision'](_0x1d4863['id']);if(_0x4f9fd7){if((_0x1d4863['fromVersion']||_0x1d4863['toVersion'])&&(_0x1d4863['diffData']=null),_0x4f9fd7===this['_revisionTracker']['currentRevision']){const _0x2bf863=Math['max'](_0x4f9fd7['toVersion'],_0x1d4863['toVersion']),_0x47c2eb=Math['max'](_0x4f9fd7['fromVersion'],_0x1d4863['fromVersion']);let _0xafc371;_0x4f9fd7['toVersion']===_0x1d4863['toVersion']&&_0x4f9fd7['fromVersion']===_0x1d4863['fromVersion']?(_0xafc371=!0x0,this['_preventResendingRevisionData'](_0x1d4863)):_0x1d4863['toVersion']===_0x2bf863&&_0x1d4863['fromVersion']===_0x47c2eb?_0xafc371=!0x1:(_0x4f9fd7['toVersion']===_0x2bf863&&_0x4f9fd7['fromVersion']===_0x47c2eb||this['_fixRevision']({'revision':_0x4f9fd7,'from':_0x47c2eb,'to':_0x2bf863}),_0xafc371=!0x0),_0xafc371&&(delete _0x1d4863['fromVersion'],delete _0x1d4863['toVersion'],delete _0x1d4863['diffData'],delete _0x1d4863['createdAt'],delete _0x1d4863['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1d4863),this['_preventResendingRevisionData'](_0x1d4863);}else this['_revisionTracker']['addRevisionData'](_0x1d4863);}const _0x3b6ec1=_0x16a9f7['getRevisions']();_0x3b6ec1['reverse']();for(let _0x262060=0x0;_0x262060<_0x3b6ec1['length']-0x1;_0x262060++){const _0x2c1ecd=_0x3b6ec1[_0x262060],_0x2e6dc6=_0x3b6ec1[_0x262060+0x1];if(_0x2c1ecd['fromVersion']<_0x2e6dc6['toVersion']){const _0x29267e=_0x2e6dc6['toVersion'],_0x1cd463=Math['max'](_0x29267e,_0x2c1ecd['toVersion']);this['_fixRevision']({'revision':_0x2c1ecd,'from':_0x29267e,'to':_0x1cd463});}}}['_fixRevision']({revision:_0x2a2cc0,from:_0xdf7b15,to:_0x5846a1}={}){const _0x4d0f6a=this['editor']['plugins']['get'](_0x5380a6),_0x27aa64=this['_revisionTracker']['buildRevisionData']({'revision':_0x2a2cc0,'from':_0xdf7b15,'to':_0x5846a1});_0x27aa64['authors']=_0x27aa64['authorsIds']['map'](_0x5c9023=>_0x4d0f6a['getUser'](_0x5c9023)),_0x2a2cc0['_update'](_0x27aa64);}['_preventResendingRevisionData'](_0x25c16b){const _0x7b4216={};_0x7b4216['id']=_0x25c16b['id'];for(const _0x2ac66c of Object['keys'](_0x25c16b))'id'!==_0x2ac66c&&(_0x7b4216[_0x2ac66c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x7b4216['id'],_0x7b4216,!0x0);}async['_fetchMissingUsers'](_0x52c690){const _0x31617d=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x20b358}=this['editor']['plugins']['get'](c),_0x3a0c0c=new Set();for(const _0x16a177 of _0x52c690){for(const _0x58b8c8 of _0x16a177['authorsIds'])_0x24e0c8(_0x58b8c8);_0x16a177['creatorId']&&_0x24e0c8(_0x16a177['creatorId']);}if(0x0===_0x3a0c0c['size'])return;const _0x254bc9=await dt['getMany'](_0x20b358,Array['from'](_0x3a0c0c));for(const _0x303977 of _0x254bc9)_0x31617d['getUser'](_0x303977['id'])||_0x31617d['addUser'](_0x303977);function _0x24e0c8(_0x181c9b){_0x31617d['getUser'](_0x181c9b)||_0x3a0c0c['add'](_0x181c9b);}}}function st(_0x2774b8){return _0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x445119{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class P extends _0x337b85{['_collapseAt'];constructor(_0x448789,_0x1a86df=0x6){super(_0x448789);const _0x4d4db1=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1a86df,this['bind']('isHidden')['to'](this,'usersCount',_0x312283=>_0x312283<_0x1a86df),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4d4db1['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':_0x4d4db1['to']('usersCount',_0x663de5=>'+'+(_0x663de5-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x337b85{['items'];['keystrokes'];constructor(_0x4e17db){super(_0x4e17db);const _0x428886=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5f46a0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x428886['if']('hasPopup'),'aria-expanded':_0x428886['to']('isExpanded',_0x21e1f4=>this['hasPopup']&&String(_0x21e1f4)),'aria-label':_0x428886['to']('hasPopup',_0x107faa=>G(_0x4e17db,_0x107faa?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x428886['to']('hasPopup',_0x33742a=>!!_0x33742a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x428886['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x428886['to'](_0x1e1d64=>{const _0x44e19b=_0x1e1d64,_0x1deae0=document['querySelector']('.ck-presence-list__dropdown-list'),_0x59cd26=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1deae0?.['contains'](_0x44e19b['relatedTarget'])||_0x59cd26?.['contains'](_0x44e19b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2a77bd,_0xe2c126,_0x413ac4)=>{this['element']&&(_0x413ac4?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 _ extends _0x337b85{['counterView'];['inlineListView'];constructor(_0x4b23c8,_0x2448fd=0x6){super(_0x4b23c8);const _0x1db4ae=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new P(this['locale'],_0x2448fd),this['inlineListView']=new ts(_0x4b23c8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x280def of this['inlineListView']['items'])_0x280def['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',_0x1db4ae['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class D extends _0x337b85{['listWrapperView'];constructor(_0xbc4021,_0xf6add5){super(_0xbc4021);const _0xb00be6=this['bindTemplate'];this['listWrapperView']=new mt(_0xbc4021,_0xf6add5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0xbc4021,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xb00be6['to'](_0x2cac95=>{const _0x43c6d0=_0x2cac95,_0x383bc3=document['querySelector']('.ck-presence-list__list'),_0x2a5cb3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x383bc3?.['contains'](_0x43c6d0['relatedTarget'])||_0x2a5cb3?.['contains'](_0x43c6d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x5d69bd{constructor(_0x17265a,_0x7f3e46){super(_0x17265a);const _0x46e9ca=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7f3e46?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x46e9ca['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x46e9ca['to']('role'),'aria-label':_0x46e9ca['to']('ariaLabel'),'aria-labelledby':_0x46e9ca['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4a36f6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x51df7b=this['element'];_0x51df7b&&(this['_isScrollable']=Math['max'](_0x51df7b['scrollHeight'],_0x51df7b['clientHeight'])>0.8*window['innerHeight']);}}class U extends rt{['userView'];constructor(_0x493db0,_0x39419b,_0x1ff809){super(_0x493db0);const _0x299dc8=this['bindTemplate'];this['userView']=new ct(_0x493db0,_0x39419b);const _0x263656={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x39419b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x39419b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x39419b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1ff809&&(_0x263656['tag']='button',_0x263656['on']={'click':_0x299dc8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x263656);}['focus'](){this['element']['focus']();}}class V extends _0x337b85{['userView'];['markerView'];constructor(_0x5cd498,_0x3269ea,_0x3e0aa8){super(_0x5cd498);const _0x47b15b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x5cd498,_0x3269ea),this['markerView']=new at(_0x5cd498,_0x3269ea);const _0x53dafb=new ot(_0x5cd498);_0x53dafb['template']['tag']='span',_0x53dafb['text']=_0x3269ea['name'];const _0x130930={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x47b15b['to']('isFocusable',_0x5d7c8d=>!!_0x5d7c8d&&0x0),'aria-labelledby':_0x53dafb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x47b15b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x47b15b['to']('hasTooltip',_0x815d8b=>!_0x815d8b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x53dafb]};_0x3e0aa8&&(_0x130930['tag']='button',_0x130930['on']={'click':_0x47b15b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x130930);}}class at extends _0x337b85{constructor(_0x43f7a2,_0x266554){super(_0x43f7a2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x266554['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const E={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x50d425{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b83a1){super(_0x1b83a1),this['context']['config']['define']('presenceList',E);const _0x4f9a5c=_0x1b83a1['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4f9a5c)throw new _0x40dad7('presencelist-collapseat-invalid-format',this);if(_0x4f9a5c<0x1)throw new _0x40dad7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x39af79(),this['balloonPanelView']=new _0x4d9134(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x160ed2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x160ed2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2bd3f6,_0x1b302e)=>{this['_handleUserAdd'](_0x1b302e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x498de9,_0xac3611)=>{this['_handleUserRemove'](_0xac3611);});}['_createView'](){const _0x423fac=this['context'],_0x149884=new _(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x115b78=this['balloonPanelView'];if(!_0x51f85d(_0x423fac['config']['get']('presenceList.container')))throw new _0x40dad7('presencelist-missing-container',this);return _0x149884['counterView']['bind']('usersCount')['to'](this),_0x149884['bind']('isCollapsed')['to'](this,'usersCount',_0x536309=>{const {collapseAt:_0x14ac9f}=_0x423fac['config']['get']('presenceList'),_0x497390=_0x536309>=_0x14ac9f;if(_0x497390&&!_0x149884['inlineListView']['items']['find'](_0x77a083=>_0x77a083 instanceof P)){const _0x229dc4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x229dc4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x149884['inlineListView']['items']['add'](_0x149884['counterView']);}return _0x497390||this['hideDropdown'](),_0x497390;}),_0x149884['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x16deae=>{const _0x3d73ea=_0x423fac['config']['get']('presenceList'),_0x2b2cc5=new V(_0x423fac['locale'],_0x16deae,!!_0x3d73ea['onClick']);return _0x2b2cc5['bind']('hasTooltip')['to'](_0x149884,'isCollapsed',_0x1d5aa2=>!_0x1d5aa2),_0x2b2cc5['bind']('isFocusable')['to'](_0x149884,'isCollapsed',_0x16bc29=>!_0x16bc29),_0x3d73ea['onClick']&&this['listenTo'](_0x2b2cc5,'execute',()=>{this['view']['isCollapsed']||_0x3d73ea['onClick'](_0x16deae,_0x2b2cc5['element']);}),_0x2b2cc5;}),this['listenTo'](_0x149884['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x149884['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x149884['inlineListView']['keystrokes']['set']('Enter',(_0x5c4be6,_0x22d9cc)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x22d9cc());}),_0x149884['render'](),_0x115b78['render'](),_0xcc8b17({'emitter':_0x149884,'activator':()=>_0x115b78['isVisible'],'contextElements':[_0x115b78['element'],_0x149884['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x423fac['config']['get']('presenceList.container')['appendChild'](_0x149884['element']),this['_bodyCollection']=new _0x2e46db(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x149884;}['_handleUserAdd'](_0x398fab){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x398fab['isMe'])return;const _0x270c65=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x270c65-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x243cec=_0x398fab['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x398fab,_0x243cec);}['_handleUserRemove'](_0x11293f){this['usersCount']--;const {collapseAt:_0x1d07fc}=this['context']['config']['get']('presenceList'),_0x56bd4e=this['usersCount']>=_0x1d07fc;if(this['currentDisplayedUsers']['get'](_0x11293f['id']))this['currentDisplayedUsers']['remove'](_0x11293f['id']);else{if(_0x56bd4e&&this['currentDisplayedUsers']['length']+0x1===_0x1d07fc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x56bd4e?0x1:0x0)<this['usersCount']){for(const _0x3a5c0b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a5c0b['id'])&&(this['currentDisplayedUsers']['add'](_0x3a5c0b,Math['min'](this['currentDisplayedUsers']['length']-(_0x56bd4e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x56bd4e?0x1:0x0)===_0x1d07fc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x373189=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new D(this['context']['locale'],!!_0x373189['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x8ac6d4}=this['presenceDropdownView'];_0x8ac6d4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x232b7a=>{if(!_0x373189['displayMe']&&_0x232b7a['isMe'])return null;const _0x57f765=new U(this['context']['locale'],_0x232b7a,!!_0x373189['onClick']);return _0x373189['onClick']&&this['listenTo'](_0x57f765,'execute',()=>{_0x373189['onClick'](_0x232b7a,_0x57f765['element']);}),_0x57f765;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x8ac6d4['focus'](),_0x8ac6d4['checkIfScrollable']();const _0x493663=(_0x578a77,_0x24d615)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x24d615();};_0x8ac6d4['keystrokes']['set']('Esc',_0x493663),_0x8ac6d4['keystrokes']['set']('Shift+Tab',_0x493663),_0x8ac6d4['keystrokes']['set']('Tab',(_0x216d51,_0x482833)=>{!function(_0x3b2a2e){const _0x137540=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3cec62=>_0x3cec62+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5b5f0c=[...document['body']['querySelectorAll'](_0x137540)]['filter'](_0x3c984a=>_0x3c984a===document['activeElement']||_0x3c984a['offsetWidth']+_0x3c984a['offsetHeight']>0x0)['sort']((_0x4dccf8,_0x36cbd5)=>(_0x4dccf8['tabIndex']||0x0)-(_0x36cbd5['tabIndex']||0x0)),_0x4acf1c=_0x5b5f0c['indexOf'](_0x3b2a2e),_0x2abf6a=_0x5b5f0c[(_0x4acf1c+0x1)%_0x5b5f0c['length']];_0x2abf6a&&_0x2abf6a['focus']();}(this['view']['element']),this['hideDropdown'](),_0x482833();}),_0x8ac6d4['focusTracker']['add'](this['view']['element']),_0x8ac6d4['focusTracker']['on']('change:isFocused',(_0x2654bf,_0x2fd792,_0x51b04a)=>{_0x51b04a||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 s extends _0x50d425{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};