@ckeditor/ckeditor5-real-time-collaboration 43.2.0-alpha.3 → 43.2.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 _0x536a58,Plugin as _0xa7b1dc,PendingActions as _0x2fc54a,Context as _0x20f32d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3e8a40,CKEditorError as _0x3e942c,Collection as _0x29beb2,global as _0x4bd3f5,version as ht,uid as _0x5c9614,KeystrokeHandler as _0x5b37f4}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2e2629,View as _0x385240,ListView as _0x53e168,ListItemView as ct,LabelView as pt,BalloonPanelView as _0x19bb9a,clickOutsideHandler as _0x1293dd,BodyCollection as _0x54173d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x5d978e,NoOperation as _0x5c431e,InsertOperation as _0x453615,MarkerOperation as _0x1128c5,RootAttributeOperation as _0x53a927,transformSets as _0x442640,OperationFactory as _0x168a4e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x2bb5ea,CollaborativeEditingService as _0x3c3a24,User as mt,CommentsService as tt,TrackChangesService as at,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x33926,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xe4dc0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1d376a}from'lodash-es';class c extends _0x536a58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2e2629];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x29c2f7){super(_0x29c2f7),this['set']('state',_0x2bb5ea['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x3e8a40);}['init'](){const _0x56f4f3=this['context'],_0x464954=_0x56f4f3['plugins']['get']('CloudServices'),_0xf214d9=_0x56f4f3['plugins']['get'](_0x2e2629);if(!_0x464954['token'])throw new _0x3e942c('websocketgateway-missing-token',this);if(!_0x464954['webSocketUrl'])throw new _0x3e942c('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'](_0x464954['token'],_0x464954['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x179d7a=>{if(this['connection']=_0x179d7a,this['bind']('state')['to'](_0x179d7a,'state',this,'_isBrowserOffline',(_0x125ea5,_0x589ecb)=>('connected'!==_0x125ea5&&(this['_shouldPluginsReconnect']=!0x0),_0x589ecb||_0x125ea5!==_0x2bb5ea['CONNECTED']?_0x2bb5ea['DISCONNECTED']:this['state']==_0x2bb5ea['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2bb5ea['CONNECTING']):_0x2bb5ea['CONNECTED'])),this['connection']['on']('error',(_0x5834a0,_0x25f1c4)=>{if('limitExceeded'!==_0x25f1c4['code'])throw console['error'](_0x25f1c4),new _0x3e942c('cloudservices-init',null,{'originalError':_0x25f1c4});_0xf214d9['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'});}),!_0x179d7a['me'])return new Promise(_0x54bd51=>_0x179d7a['on']('change:me',_0x54bd51));})['catch'](_0x17a4af=>{throw console['error'](_0x17a4af),new _0x3e942c('cloudservices-init',null,{'originalError':_0x17a4af});});}['addToReconnectionStack'](_0x27c6ae){if('function'!=typeof _0x27c6ae['reconnect'])throw new _0x3e942c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x27c6ae))throw new _0x3e942c('websocketgateway-plugin-already-registered',this,{'name':_0x27c6ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x27c6ae);}['removeFromReconnectionStack'](_0x5795aa){this['_reconnectionStack']['delete'](_0x5795aa);}['isInReconnectionStack'](_0x2b4459){return this['_reconnectionStack']['has'](_0x2b4459);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434818=>_0x434818['reconnect']())))['then'](()=>this['state']=_0x2bb5ea['CONNECTED'])['catch'](_0xe3fd40=>{throw console['error'](_0xe3fd40),new _0x3e942c('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2bb5ea['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x536a58{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x33926];}constructor(_0x30e2aa){super(_0x30e2aa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x29beb2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x33926);}['init'](){const _0x35ba43=this['context']['plugins']['get'](c);this['listenTo'](_0x35ba43,'change:state',(_0x138d83,_0x1bf0a7,_0x75a0a)=>{if('connected'!==_0x75a0a)this['channelSessions']['forEach'](_0x40fbc0=>_0x40fbc0['clear']()),this['channelConnectedUsers']['forEach'](_0x581909=>_0x581909['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3e4b1d,_0x2831a0]of this['_registeredSessions'])for(const _0xaf3266 of _0x2831a0)this['_handleSessionAdd'](_0x3e4b1d,_0xaf3266);}}),this['_createUser'](_0x35ba43['connection']['me'],!0x0);}['register'](_0x3ee83f,_0xc7cb96){if(this['_registeredSessions']['has'](_0x3ee83f))throw new _0x3e942c('sessions-register-already-registered',null,{'channelId':_0x3ee83f});this['_registeredSessions']['set'](_0x3ee83f,_0xc7cb96),this['channelSessions']['set'](_0x3ee83f,new _0x29beb2()),this['channelConnectedUsers']['set'](_0x3ee83f,new _0x29beb2()),this['listenTo'](_0xc7cb96,'add',(_0x4ff7ab,_0x20dbb5)=>this['_handleSessionAdd'](_0x3ee83f,_0x20dbb5)),this['listenTo'](_0xc7cb96,'remove',(_0x3f358c,_0x1d0b72)=>this['_handleSessionRemove'](_0x3ee83f,_0x1d0b72));for(const _0x353232 of _0xc7cb96)this['_handleSessionAdd'](_0x3ee83f,_0x353232);}['unregister'](_0x356cd1){if(!this['_registeredSessions']['has'](_0x356cd1))throw new _0x3e942c('sessions-unregister-not-exist',null,{'channelId':_0x356cd1});const _0x4b8ae0=this['_registeredSessions']['get'](_0x356cd1);this['stopListening'](_0x4b8ae0);for(const _0xa0e9be of _0x4b8ae0)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x356cd1,_0xa0e9be);this['_registeredSessions']['delete'](_0x356cd1),this['channelSessions']['delete'](_0x356cd1),this['channelConnectedUsers']['delete'](_0x356cd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4cf57e){for(const _0x13906f of this['channelSessions']['values']())for(const _0xd098ef of _0x13906f)if(_0xd098ef['id']===_0x4cf57e)return _0xd098ef['user'];}['getUserSessions'](_0x22aa5d,_0x514275){const _0x14ede3=_0x514275?[this['channelSessions']['get'](_0x514275)]:this['channelSessions']['values'](),_0x169d38=new Set();for(const _0x47f868 of _0x14ede3)for(const _0x2f3e89 of _0x47f868)_0x2f3e89['user']['id']===_0x22aa5d['id']&&_0x169d38['add'](_0x2f3e89['id']);return _0x169d38;}['getUserRole'](_0x1330ca){for(const _0x58c4bb of this['channelSessions']['values']())for(const _0x370174 of _0x58c4bb)if(_0x370174['user']===_0x1330ca)return _0x370174['role'];}['_handleSessionAdd'](_0x5c9661,_0x41c572){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xcb8b90=_0x41c572['user'],_0x2e6ef7=this['_users']['getUser'](_0xcb8b90['id'])||this['_createUser'](_0xcb8b90),_0x59736c=Object['assign']({},_0x41c572,{'user':_0x2e6ef7});this['channelSessions']['get'](_0x5c9661)['add'](_0x59736c);const _0x3d1c10=this['channelConnectedUsers']['get'](_0x5c9661);_0x3d1c10['has'](_0x2e6ef7['id'])||_0x3d1c10['add'](_0x2e6ef7),this['allConnectedUsers']['has'](_0x2e6ef7['id'])||this['allConnectedUsers']['add'](_0x2e6ef7,_0x2e6ef7['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5c9661,{'channelId':_0x5c9661,'session':_0x59736c});}['_handleSessionRemove'](_0x5ea8ca,_0x4ac991){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5c60eb=this['channelConnectedUsers']['get'](_0x5ea8ca),_0xa881=_0x4ac991['user'];_0xa881['id']&&(this['channelSessions']['get'](_0x5ea8ca)['remove'](_0x4ac991['id']),_0x5c60eb['has'](_0xa881['id'])&&!this['getUserSessions'](_0xa881,_0x5ea8ca)['size']&&_0x5c60eb['remove'](_0xa881['id']),this['allConnectedUsers']['get'](_0xa881['id'])&&!this['getUserSessions'](_0xa881)['size']&&this['allConnectedUsers']['remove'](_0xa881['id']));}['_createUser'](_0x45a28c,_0x101aae){const _0x445bed=this['_users']['addUser'](_0x45a28c);return _0x101aae&&this['_users']['defineMe'](_0x45a28c['id']),_0x445bed['orderNumber']=this['_uniqueUsersCount']++,_0x445bed;}}class E extends _0xa7b1dc{['_domEmitter']=new(_0x3e8a40())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x3611bc=this['editor'],_0x270891=_0x3611bc['plugins']['get'](r);_0x3611bc['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x134f02,{writer:_0x78b8c0})=>function(_0x356be4,_0x2ad6b0,_0x5df47f,_0x3a1a88){const _0x16d641=_0x356be4['markerName']['split'](':')[0x2],_0x2ebc2a=_0x5df47f['getUserBySessionId'](_0x16d641);if(!_0x2ebc2a||_0x16d641===_0x5df47f['mySessionId'])return;if(!_0x3a1a88['model']['schema']['checkChild'](_0x356be4['markerRange']['start'],'$text'))return;const _0x1399f3={'class':'ck-user__marker\x20'+_0x2ebc2a['color']['getMarkerClass'](),'data-name':_0x2ebc2a['name'],'data-session-id':_0x16d641},_0xad14a2=_0x3a1a88['model']['markers']['get'](_0x356be4['markerName']),_0x43cf76=_0xad14a2['getStart'](),_0x31e0e5=_0x43cf76['nodeAfter'],_0x40625f=_0x3a1a88['model']['schema'];if(_0x31e0e5&&_0x40625f['isObject'](_0x31e0e5)&&_0x40625f['isInline'](_0x31e0e5)&&!_0x3a1a88['model']['markers']['get']('user:range:'+_0x16d641)['getRange']()['isCollapsed'])return;const _0x2d91cd=_0x43cf76['parent'];return _0x3a1a88['model']['schema']['isLimit'](_0x2d91cd)&&!_0x3a1a88['model']['hasContent'](_0x2d91cd)&&(_0x1399f3['contenteditable']=!0x1),function(_0x35a116,_0x14480e,_0x115693){const _0x4e1409=_0x35a116['createUIElement']('span',_0x14480e);return _0x35a116['setCustomProperty']('userPositionMarker',!0x0,_0x4e1409),_0x4e1409['render']=function(_0x1ebe2d){const _0x35700a=this['toDomElement'](_0x1ebe2d);return _0x35700a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x115693['name']+'</span>⁠',_0x35700a['addEventListener']('mouseenter',()=>{_0x35700a['classList']['add']('ck-user__marker_hovered');}),_0x35700a['addEventListener']('mouseleave',()=>{_0x35700a['classList']['remove']('ck-user__marker_hovered');}),_0x35700a;},_0x4e1409['isSimilar']=function(_0x4f05a6){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4f05a6['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4f05a6['getAttribute']('data-session-id'));},_0x4e1409;}(_0x2ad6b0,_0x1399f3,_0x2ebc2a);}(_0x134f02,_0x78b8c0,_0x270891,_0x3611bc)}),_0x3611bc['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xe6de7d=>function(_0x5a2355,_0x468def){const _0x2298d7=_0x5a2355['markerName']['split'](':')[0x2];if(_0x2298d7===_0x468def['mySessionId'])return null;const _0x462dd8=_0x468def['getUserBySessionId'](_0x2298d7);if(!_0x462dd8)return{'id':_0x2298d7,'classes':[]};return{'id':_0x2298d7,'classes':['ck-user__selection',_0x462dd8['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2298d7},'priority':0x7d0+_0x462dd8['orderNumber']};}(_0xe6de7d,_0x270891)}),function(_0x1587e3){const _0x9a30c1=_0x1587e3['model'],_0x320f70=new Map(),_0x581b00=_0x1587e3['plugins']['get'](r);_0x9a30c1['markers']['on']('update:user:range',(_0x50bff6,_0x4ece31,_0x3c1271,_0x1fa7ce)=>{if(!_0x1fa7ce&&_0x320f70['get'](_0x4ece31['name']))return _0x320f70['get'](_0x4ece31['name'])['detach'](),void _0x320f70['delete'](_0x4ece31['name']);const _0x2e3a24=_0x4ece31['name']['split'](':')[0x2];if(_0x2e3a24===_0x581b00['mySessionId'])return;const _0x58b57f='user:position:'+_0x2e3a24;_0x9a30c1['markers']['has'](_0x58b57f)&&_0x1587e3['editing']['reconvertMarker'](_0x58b57f),_0x4ece31['on']('change:range',(_0x3ff10b,_0x348596,_0x41cb7e)=>{if('$graveyard'!=_0x348596['root']['rootName']&&'$graveyard'==_0x4ece31['getRange']()['root']['rootName']&&!_0x320f70['has'](_0x4ece31['name'])){const _0x5246df=_0x9a30c1['schema']['getNearestSelectionRange'](_0x41cb7e['deletionPosition']);if(_0x5246df){const _0x454f69=ut['fromRange'](_0x5246df);_0x320f70['set'](_0x4ece31['name'],_0x454f69),_0x454f69['on']('change:range',(_0x40dd9e,_0x20c975,_0x9c2299)=>{if('$graveyard'==_0x454f69['root']['rootName']){const _0x1b522b=_0x9a30c1['schema']['getNearestSelectionRange'](_0x9c2299['deletionPosition']);_0x1b522b?(_0x454f69['start']=_0x1b522b['start'],_0x454f69['end']=_0x1b522b['end']):(_0x320f70['delete'](_0x4ece31['name']),_0x454f69['detach']());}});}}});}),_0x9a30c1['document']['on']('change',()=>{_0x320f70['size']>0x0&&_0x9a30c1['enqueueChange']({'isUndoable':!0x1},_0x43ab9a=>{for(const [_0x33aa30,_0x1a667b]of _0x320f70)'$graveyard'==_0x9a30c1['markers']['get'](_0x33aa30)['getRange']()['root']['rootName']&&(Q(_0x33aa30['split'](':')[0x2],_0x1a667b['toRange'](),_0x9a30c1,_0x43ab9a),_0x1a667b['detach']());_0x320f70['clear']();});});}(_0x3611bc),this['_domEmitter']['listenTo'](_0x4bd3f5['document'],'keydown',(_0x3dbdf4,{key:_0x410669})=>{'Escape'===_0x410669&&function(_0x26ec35){_0x26ec35['editing']['view']['change'](_0x21b0f9=>{for(const _0x129548 of _0x26ec35['model']['markers']){if(!_0x129548['name']['startsWith']('user:position'))continue;const _0x239a45=_0x26ec35['editing']['mapper']['markerNameToElements'](_0x129548['name']);if(_0x239a45){for(const _0x5613ae of _0x239a45)_0x21b0f9['removeClass']('ck-user__marker_hovered',_0x5613ae);}}});}(_0x3611bc);},{'useCapture':!0x0});}['afterInit'](){const _0x2fe944=this['editor'],_0x26fb05=_0x2fe944['commands']['get']('undo');_0x26fb05&&_0x2fe944['model']['on']('applyOperation',(_0x8148fc,_0x586b17)=>{const _0x34092a=_0x586b17[0x0];if('marker'!=_0x34092a['type']||!_0x34092a['name']['startsWith']('user:'))return;const _0x1c131b=_0x34092a['batch'];_0x26fb05['_createdBatches']['has'](_0x1c131b)&&(_0x34092a['newRange']=_0x34092a['oldRange']?_0x2fe944['model']['createRange'](_0x34092a['oldRange']['start'],_0x34092a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x26c213=this['editor'],_0x11b8c0=_0x26c213['model']['document'],_0xb0fc00=_0x26c213['plugins']['get'](r);_0x26c213['model']['enqueueChange']({'isUndoable':!0x1},_0x350506=>{const _0x80e26a='user:range:'+_0xb0fc00['mySessionId'],_0x3195b5='user:position:'+_0xb0fc00['mySessionId'],_0x2c73b3=_0x26c213['model']['markers']['has'](_0x80e26a);_0x26c213['editing']['view']['hasDomSelection']?Q(_0xb0fc00['mySessionId'],_0x11b8c0['selection']['getFirstRange'](),_0x26c213['model'],_0x350506):_0x2c73b3&&(_0x350506['removeMarker'](_0x80e26a),_0x350506['removeMarker'](_0x3195b5));});}}function Q(_0x422b45,_0x465332,_0x744c94,_0x9eaca0){const _0x47297b='user:range:'+_0x422b45,_0x5b2c5c='user:position:'+_0x422b45,_0x39396a=_0x465332['getContainedElement']();let _0xc25b7a=_0x465332['start'];_0x39396a&&_0x39396a['is']('element','tableCell')&&(_0xc25b7a=function(_0x32a310,_0x36049c){for(const _0x399564 of _0x32a310['getPositions']())if(_0x36049c['schema']['checkChild'](_0x399564,'$text'))return _0x399564;}(_0x465332,_0x744c94),_0x465332=_0x9eaca0['createRange'](_0xc25b7a));const _0x158141=_0x9eaca0['createRange'](_0xc25b7a);_0x744c94['markers']['has'](_0x47297b)?(_0x9eaca0['updateMarker'](_0x47297b,{'range':_0x465332}),_0x9eaca0['updateMarker'](_0x5b2c5c,{'range':_0x158141})):(_0x9eaca0['addMarker'](_0x47297b,{'range':_0x465332,'usingOperation':!0x0}),_0x9eaca0['addMarker'](_0x5b2c5c,{'range':_0x158141,'usingOperation':!0x0}));}function B(_0x23eb2b,_0x9213da,_0x5b48fb){const t=_0x23eb2b['t'];switch(_0x9213da){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 t({'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'},_0x5b48fb);default:return'';}}let F=0x1;class l extends _0xa7b1dc{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3c3a24)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,E,_0x2fc54a,_0x33926,_0x2e2629];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x262c2f=this['serverHistory']['getOperations']();for(let _0x3e0fde=_0x262c2f['length']-0x1;_0x3e0fde>=0x0;_0x3e0fde--){const _0xa56ed4=_0x262c2f[_0x3e0fde];if(!this['_disconnectionOperations']['has'](_0xa56ed4))return _0xa56ed4['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50f3c4){if(super(_0x50f3c4),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5d978e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3e942c('collaboration-missing-channelid',this);const _0x5bbdf2=_0x50f3c4['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x5bbdf2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xe4dc0(),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 G(this['_disconnectionOperations']);}['init'](){const _0x5bb65c=this['editor'],_0x14e5fe=_0x5bb65c['plugins']['get'](_0x33926),_0x16feb0=_0x5bb65c['plugins']['get'](c);this['listenTo'](_0x14e5fe,'getOperationAuthor',(_0x413785,_0xfafa93)=>{const _0x4f28f2=_0xfafa93[0x0];_0x4f28f2['_authorId']&&(_0x413785['return']=_0x14e5fe['getUser'](_0x4f28f2['_authorId']),_0x413785['stop']()),null===_0x4f28f2['_authorId']&&(_0x413785['return']=null,_0x413785['stop']());},{'priority':'high'}),this['listenTo'](_0x5bb65c['model']['document']['selection'],'change:range',(_0xbaf750,_0x2f1834)=>{_0x2f1834['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5bb65c['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5bb65c['model']['on']('applyOperation',(_0x553eb8,_0x56a339)=>{const _0x4b5596=_0x56a339[0x0];_0x4b5596['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4b5596),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x16feb0,'state',this,'_hasSynchronizationProblem',(_0x36f6c2,_0x33da08)=>'connected'===_0x36f6c2&&!_0x33da08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4b413e=this['editor']['plugins']['get'](r),_0x2dee43=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x4b413e['unregister'](this['_channelId']);const _0x46eb34=await this['_service']['reconnect'](_0x2dee43['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x46eb34)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2c6b65=await this['_service']['getConnectedSessions']();_0x4b413e['register'](this['_channelId'],_0x2c6b65),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10b97e){if(function(_0x5c7824){return'404'===_0x5c7824['code'];}(_0x10b97e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ab38e){return'409'===_0x4ab38e['code'];}(_0x10b97e)){const _0x16283a=B(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'](_0x16283a);}else{if(!(_0x10b97e instanceof H))throw _0x10b97e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x103606=this['editor']['plugins']['get'](c),_0x5c788a=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c788a['channelSessions']['has'](this['_channelId'])&&_0x5c788a['unregister'](this['_channelId']),_0x103606['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4d6567){if(this['sessionId']!==_0x4d6567['sessionId']&&this['_lastSyncedOperationId']!==_0x4d6567['lastOperationId'])throw new H();return this['sessionId']=_0x4d6567['sessionId'],this['_handleServerResponse']([],{..._0x4d6567,'wereChangesApplied':!0x1,'data':_0x4d6567['data']},'reconnect');}async['_connectService'](_0x39ae85,_0xe1fb33=!0x1){const {connection:_0x2e1b8b}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2e1b8b,this['_channelId'])['then'](_0x5596ad=>this['_initSessionsHandling'](_0x5596ad))['catch'](_0x666ec5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x666ec5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x215488,_0x281fef)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x281fef);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x45de4a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ae85);this['_isPendingUpdate']=!0x0;const _0x1580a1=await this['_service']['connect'](_0x2e1b8b,this['_compressOperations'](_0x39ae85),_0x45de4a);if(this['sessionId']=_0x1580a1['sessionId'],_0xe1fb33){if(!_0x1580a1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1580a1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x39ae85,_0x1580a1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1580a1,_0x39ae85);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2ce99c=this['editor']['plugins']['get'](r),_0x257873=this['editor']['plugins']['get'](E),_0x39118d=_0x2ce99c['channelSessions']['get'](this['_channelId']);_0x39118d&&_0x39118d['length']>0x1?_0x257873['createUserMarkerOperations']():this['listenTo'](_0x2ce99c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2ce99c['channelSessions']['get'](this['_channelId'])['length']&&_0x257873['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ed7dd,_0x67ceb,_0x1dea7f,_0x39cf2d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x67ceb){const _0xe7bc8c=this['_decompressOperations'](_0x1dea7f,_0x39cf2d);await this['_fetchMissingUsers'](_0xe7bc8c),this['_handleExternalOperations'](_0xe7bc8c,_0x67ceb,_0x1dea7f['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2dec11}=this['editor'];let _0x646a45;try{_0x646a45=await this['_service']['getDocumentDetails']();}catch(_0x5658f4){const _0x4e34cb=B(_0x2dec11,'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'](_0x4e34cb);}const _0x4c935c=_0x646a45['currentDocumentSession']||_0x646a45['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4c935c['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x3e9b2f=B(_0x2dec11,'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'](_0x3e9b2f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4ab9da){const _0x1d1448=this['editor']['plugins']['get'](r);this['listenTo'](_0x1d1448,'sessionAdd:'+this['_channelId'],(_0x290f52,{session:_0x4406d7})=>{if(_0x4406d7['id']===_0x1d1448['mySessionId']){_0x290f52['off']();const _0x9ce2bb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5df825=_0x4406d7['permissions'];_0x9ce2bb&&_0x9ce2bb['isEnabled']&&(_0x5df825=_0x5df825['filter'](_0x6c8700=>'document:write'!==_0x6c8700)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5df825,this['_channelId']);}}),_0x1d1448['register'](this['_channelId'],_0x4ab9da);}['_initThrowingOnDataSet'](){const _0x512e4e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x40b8dc)=>{if(!_0x40b8dc[_0x40b8dc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3e942c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x512e4e['apply'](this['editor']['data'],_0x40b8dc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46112d,[_0x134484])=>{if(this['_document']['version'])throw new _0x3e942c('realtimecollaborationclient-init-document-already-initialized',this);_0x46112d['stop'](),this['_setPendingAction']();const _0x1f46d6=this['editor']['config']['get']('rootsAttributes'),_0x234891=this['_getOperationsFromInitData'](_0x134484,_0x1f46d6);0x0==_0x234891['length']&&_0x234891['push'](new _0x5c431e(0x0)),_0x46112d['return']=this['_connectService'](_0x234891)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2a1947=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2a1947))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x26db9a,[_0x2341f4,_0x192b7c])=>{_0x26db9a['stop']();const _0x419979=this['editor']['model']['document']['getRoot'](_0x2341f4);if(!this['_knownRootNames']['has'](_0x2341f4)){const _0x215043=_0x192b7c&&_0x192b7c['data']?_0x192b7c['data']:'',_0x1d745f=_0x192b7c&&_0x192b7c['attributes']?_0x192b7c['attributes']:{};await this['_loadRoot'](_0x2341f4,_0x215043,_0x1d745f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x419979['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x419979);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc43bfe){const _0x34a124=this['editor']['plugins']['get'](_0x33926),{connection:_0x45d478}=this['editor']['plugins']['get'](c),_0x1b6e6e=new Set();for(const _0x4551ee of _0xc43bfe){const _0x5a3ff6=_0x4551ee['_authorId'];_0x5a3ff6&&!_0x34a124['getUser'](_0x5a3ff6)&&_0x1b6e6e['add'](_0x5a3ff6);}if(0x0===_0x1b6e6e['size'])return;const _0x55d5a2=await mt['getMany'](_0x45d478,Array['from'](_0x1b6e6e));for(const _0x5d97e8 of _0x55d5a2)_0x34a124['getUser'](_0x5d97e8['id'])||_0x34a124['addUser'](_0x5d97e8);}['_getOperationsFromInitData'](_0x1b1f13,_0x42ec4d={}){const _0x4e895d=this['editor']['model'],_0x389956=[];let _0x1c5487=0x0;const _0x474cdc='string'==typeof _0x1b1f13?{'main':_0x1b1f13}:_0x1b1f13;for(const _0x403610 of Object['keys'](_0x474cdc)){if(!this['_document']['roots']['has'](_0x403610))throw new _0x3e942c('realtimecollaborationclient-init-non-existent-root',this);const _0x15f2fa=this['editor']['data']['parse'](_0x474cdc[_0x403610]),_0x106cf3=this['_document']['getRoot'](_0x403610),_0x54d687=new _0x453615(_0x4e895d['createPositionAt'](_0x106cf3,0x0),_0x15f2fa,_0x1c5487++);_0x389956['push'](_0x54d687);for(const [_0x3b7b1b,_0x3bc281]of _0x15f2fa['markers']){const _0x14e8d1=_0x4e895d['createRange'](_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['start']['path']['slice']()),_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['end']['path']['slice']())),_0xbe592f=new _0x1128c5(_0x3b7b1b,null,_0x14e8d1,_0x4e895d['markers'],!0x0,_0x1c5487++);_0x389956['push'](_0xbe592f);}}if(_0x42ec4d)for(const [_0x4494c4,_0x49a5e1]of Object['entries'](_0x42ec4d)){const _0x313c99=_0x4e895d['document']['getRoot'](_0x4494c4);if(!_0x313c99)throw new _0x3e942c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4204b4,_0x39a7c7]of Object['entries'](_0x49a5e1))if(null!==_0x39a7c7){const _0xae97ba=new _0x53a927(_0x313c99,_0x4204b4,null,_0x39a7c7,_0x1c5487++);_0x389956['push'](_0xae97ba);}}return _0x389956;}async['_loadRoot'](_0x4d8fd6,_0x32b345,_0x57eada){this['_getOperationsFromInitData']({[_0x4d8fd6]:_0x32b345},{[_0x4d8fd6]:_0x57eada})['forEach']((_0x2d3102,_0x324021)=>{_0x2d3102['baseVersion']=this['_document']['version']+_0x324021,_0x2d3102['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3102);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3b2eeb,_0x21d5d6){let _0x1f6631;this['_offset']=_0x3b2eeb['offset'];const _0x5d6a22=_0x3b2eeb['wereChangesApplied']&&!_0x3b2eeb['initData'],_0x284fc1=_0x5d6a22?0x0:_0x3b2eeb['data']['baseVersion'];if(_0x21d5d6['forEach'](_0x4a3b22=>{_0x4a3b22['_isInit']=!0x0,_0x4a3b22['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x4a3b22['_authorId']=null;}),_0x5d6a22)_0x1f6631=_0x21d5d6,this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);else{if(_0x3b2eeb['initData']){const _0x2fd5d5=this['_getOperationsFromInitData'](_0x3b2eeb['initData']);this['_document']['history']['version']=-_0x2fd5d5['length'],_0x2fd5d5['forEach'](_0x19fd45=>{_0x19fd45['baseVersion']-=_0x2fd5d5['length'],_0x19fd45['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x19fd45['_isInit']=!0x0,_0x19fd45['_authorId']=null;}),this['_applyOperationsSet'](_0x2fd5d5,!0x0),this['serverHistory']['version']=-_0x2fd5d5['length']+this['_offset'],this['_updateServerHistory'](_0x2fd5d5);}this['_document']['history']['version']=_0x284fc1,_0x1f6631=this['_decompressOperations'](_0x3b2eeb['data'],_0x3b2eeb['metadata']),await this['_fetchMissingUsers'](_0x1f6631),this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);}_0x3b2eeb['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f6631,_0x3b2eeb['lastOperationId']),this['_lastSyncedOperationId']=_0x3b2eeb['lastOperationId']),this['serverHistory']['version']=_0x284fc1+this['_offset'],this['_updateServerHistory'](_0x1f6631),_0x21d5d6['filter'](_0x4aebc5=>{const _0x3acfa0=this['_getAffectedRoot'](_0x4aebc5);return _0x3acfa0&&!this['_knownRootNames']['has'](_0x3acfa0);})['forEach']((_0x3a6be8,_0x52328a)=>{_0x3a6be8['baseVersion']=this['_document']['version']+_0x52328a,this['_saveOperationInBuffer'](_0x3a6be8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa67e36,_0x1a1647){throw this['_isPendingUpdate']=!0x0,_0x1a1647&&console['error'](_0x1a1647),new _0x3e942c(_0xa67e36,this['editor']);}['_saveOperationInBuffer'](_0x26e39e){this['_knownOperations']['has'](_0x26e39e)||(this['_knownOperations']['add'](_0x26e39e),this['_bufferedOperations']['push'](_0x26e39e),this['_pendingAction']||'marker'==_0x26e39e['type']&&!_0x26e39e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xa417e7=!0x1){!_0xa417e7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5296f0=>{_0x5296f0&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2ff6a9=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x48dc3a){return _0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2ff6a9))throw _0x2ff6a9;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5d9f18=>{this['on']('change:_isPendingUpdate',()=>{_0x5d9f18();});});}async['_sendBufferedOperations'](){const _0x466e86=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x466e86['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfffb=[...this['_bufferedOperations']];for(const _0x1bc466 of _0xcfffb)_0x1bc466['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1bc466);const _0x10c3a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfffb),_0x57aced=F++,_0x2ea5fa=this['_compressOperations'](_0xcfffb),_0x47c28d=await this['_service']['sendOperations'](_0x2ea5fa,_0x2ea5fa['baseVersion'],_0x10c3a9);try{return await this['_handleServerResponse'](_0xcfffb,_0x47c28d,_0x57aced);}catch(_0x4f57cc){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4f57cc);}}async['_handleServerResponse'](_0xc15c06,_0x1a70c6,_0x562e78){if('error'in _0x1a70c6)throw _0x1a70c6['error'];let _0x5daa36=!0x1;if(_0x1a70c6['wereChangesApplied']){_0x1a70c6['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1a70c6['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x16345e=>!_0xc15c06['includes'](_0x16345e));for(const _0xe89915 of _0xc15c06)_0xe89915['createdAt']='lastOperationAcceptedAt'in _0x1a70c6&&_0x1a70c6['lastOperationAcceptedAt']||void 0x0;q(_0xc15c06,_0x1a70c6['version']-_0xc15c06['length']),this['_updateServerHistory'](_0xc15c06);const _0xdec1c2=_0xc15c06['filter'](_0x176ff3=>{if(!_0x176ff3['_isInit'])return!0x1;const _0x5e568b=this['_getAffectedRoot'](_0x176ff3);return _0x5e568b&&!this['_knownRootNames']['has'](_0x5e568b);});q(_0xdec1c2,this['_document']['version']),this['_applyOperationsSet'](_0xdec1c2),_0x5daa36=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x16bb00=this['_decompressOperations'](_0x1a70c6['data'],_0x1a70c6['metadata'])['filter'](_0x22e0bd=>_0x22e0bd['baseVersion']>=this['_lastServerVersion']);_0x16bb00['forEach'](_0x1545f1=>this['_addKnownRoot'](_0x1545f1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2101e6=>!_0x2101e6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2101e6))),this['_bufferedOperations']['length']&&q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x16bb00),_0x5daa36=this['_handleExternalOperations'](_0x16bb00,_0x1a70c6['version'],_0x1a70c6['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5daa36?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5155d1,_0x100738,_0x5f3db9){try{const _0x4e0891={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x19492f,operationsB:_0x59657a,originalOperations:_0x3bd364}=_0x442640(_0x5155d1,this['_bufferedOperations'],_0x4e0891);q(_0x19492f,this['_document']['version']),q(_0x59657a,_0x100738);for(const _0x1d82ca of _0x19492f){const _0x3164de=_0x3bd364['get'](_0x1d82ca);_0x1d82ca['_authorId']=_0x3164de?_0x3164de['_authorId']:null;}_0x5f3db9&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5155d1,_0x5f3db9),this['_lastSyncedOperationId']=_0x5f3db9),this['_bufferedOperations']=[..._0x59657a],this['_applyOperationsSet'](_0x19492f),this['_updateServerHistory'](_0x5155d1);}catch(_0x4031f8){return console['error'](_0x4031f8),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2cf54e,_0x4f1cf5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49a197=>{for(const _0x377bcf of _0x2cf54e)this['_knownOperations']['add'](_0x377bcf),this['_addKnownRoot'](_0x377bcf),_0x49a197['batch']['addOperation'](_0x377bcf),this['editor']['model']['applyOperation'](_0x377bcf);});}['_addKnownRoot'](_0x4c98d1){const _0x181569=this['_getAffectedRoot'](_0x4c98d1);_0x181569&&this['_knownRootNames']['add'](_0x181569);}['_getAffectedRoot'](_0x558798){let _0x1b5fff,_0x239423;switch(_0x558798['type']){case'insert':_0x1b5fff=_0x558798['position']['root'];break;case'marker':if(_0x239423=_0x558798['newRange'],!_0x239423)return null;_0x1b5fff=_0x239423['root'];break;case'addRootAttribute':_0x1b5fff=_0x558798['root'];break;case'addRoot':_0x1b5fff=_0x558798['affectedSelectable'];break;case'move':_0x1b5fff=_0x558798['targetPosition']['root'];break;default:return null;}return _0x1b5fff['rootName'];}['_updateServerHistory'](_0x334a38){_0x334a38['forEach'](_0x583496=>{const _0x4d0327=_0x583496['clone']();_0x4d0327['_authorId']=_0x583496['_authorId'],_0x4d0327['_isInit']=!!_0x583496['_isInit'],_0x4d0327['createdAt']=_0x583496['createdAt'],_0x4d0327['baseVersion']+=this['_offset'],_0x583496['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4d0327),this['serverHistory']['addOperation'](_0x4d0327);});}['_handleReconnectionError'](_0x152bfc){const _0xe6e2c=this['editor']['plugins']['get']('Notification'),_0x324ea9=this['editor']['locale'];_0x152bfc||(_0x152bfc=B(_0x324ea9,'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.')),_0xe6e2c['showWarning'](_0x152bfc,{'title':B(_0x324ea9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2fc54a)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fc54a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x84600b){const _0x23691d=_0x84600b['map'](_0x47e44d=>_0x47e44d['toJSON']());return this['_compressor']['compress'](_0x23691d);}['_decompressOperations'](_0x189f2d,_0x23bbfc){return this['_compressor']['decompress'](_0x189f2d)['map']((_0x59b030,_0x1db83e)=>{const _0x363ef7='init'==_0x23bbfc[_0x1db83e]['type'];if('InsertOperation'==_0x59b030['__className']){const _0x4188a1=_0x59b030['position']['root'];!this['_document']['getRoot'](_0x4188a1)&&(this['_document']['createRoot']('$root',_0x4188a1)['_isAttached']=!0x1);}const _0x3de89e=_0x168a4e['fromJSON'](_0x59b030,this['_document']);return _0x3de89e['wasUndone']=_0x59b030['wasUndone'],_0x3de89e['_isInit']=_0x363ef7,_0x3de89e['_authorId']=_0x363ef7?null:_0x23bbfc[_0x1db83e]['userId'],_0x3de89e['_isDisconnection']='cs:removeUser'===_0x23bbfc[_0x1db83e]['type'],_0x3de89e['createdAt']=_0x23bbfc[_0x1db83e]['createdAt'],_0x3de89e;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4a7bcd=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4a7bcd&&_0x4a7bcd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function q(_0x36623f,_0x262e43){for(const _0x51c720 of _0x36623f)_0x51c720['baseVersion']=_0x262e43++;}class G{['_ignoredOperations'];['_operationToId'];constructor(_0x5b1388){this['_ignoredOperations']=_0x5b1388,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xb9df7b){let _0x647415=_0xb9df7b['length'];for(;_0x647415--;){const _0x1de9e7=_0xb9df7b[_0x647415];if(!this['_ignoredOperations']['has'](_0x1de9e7)){if(!this['_operationToId']['has'](_0x1de9e7)){const _0x439ad7=_0x5c9614()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1de9e7,_0x439ad7);}return this['_operationToId']['get'](_0x1de9e7);}}}['setIdForTheLastOperation'](_0x509e83,_0x455514){if(!_0x455514)return;let _0x46f35f=_0x509e83['length'];for(;_0x46f35f--;){const _0x24bc73=_0x509e83[_0x46f35f];this['_ignoredOperations']['has'](_0x24bc73)||this['_operationToId']['set'](_0x24bc73,_0x455514);}}}class n extends _0xa7b1dc{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x536a58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>tt)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x33926];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x3511f0){super(_0x3511f0),this['_services']=new Map();}async['init'](){const _0x1067c8=this['context'],_0xac8901=_0x1067c8['plugins']['get']('CommentsRepository');if(_0x1067c8['plugins']['get'](c)['addToReconnectionStack'](this),_0xac8901['adapter']={'addCommentThread':async({channelId:_0x4d5226,threadId:_0xe4fe1b,comments:_0x5241f1,resolvedAt:_0xc6f331,resolvedBy:_0x34bbfc,context:_0x549dee,attributes:_0x55fc23})=>{const _0x44e3ee=await this['_getService'](_0x4d5226)['addCommentThread']({'commentThreadId':_0xe4fe1b,'comments':_0x5241f1['map'](_0xd6ed5d=>function(_0x2584d8,_0x5cd592,_0x2a5d75){return{'commentThreadId':_0x2a5d75,'commentId':_0x2584d8['commentId'],'userId':_0x2584d8['authorId'],'content':_0x2584d8['content'],'documentId':_0x5cd592,'createdAt':_0x2584d8['createdAt'],'attributes':_0x2584d8['attributes']||{}};}(_0xd6ed5d,_0x4d5226,_0xe4fe1b)),'resolvedAt':_0xc6f331,'resolvedBy':_0x34bbfc,'context':_0x549dee,'attributes':_0x55fc23})['catch'](wt);return{'threadId':_0x44e3ee['commentThreadId'],'comments':_0x44e3ee['comments']};},'getCommentThread':async({channelId:_0x4de9d5,threadId:_0x59be97})=>{const _0x2fa6ce=await this['_getService'](_0x4de9d5)['getCommentThread'](_0x59be97)['catch'](wt);return _0x2fa6ce['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2fa6ce]),{'threadId':_0x2fa6ce['commentThreadId'],'comments':_0x2fa6ce['comments']['map'](nt),'context':_0x2fa6ce['context'],'resolvedAt':_0x2fa6ce['resolvedAt'],'resolvedBy':_0x2fa6ce['resolvedBy'],'attributes':_0x2fa6ce['attributes']||{}});},'updateCommentThread':async({channelId:_0x580b41,threadId:_0x28fb1b,context:_0x27c919,unlinkedAt:_0x34ce07,attributes:_0xa31dfc})=>this['_getService'](_0x580b41)['updateCommentThread']({'commentThreadId':_0x28fb1b,'context':_0x27c919,'attributes':_0xa31dfc,'unlinkedAt':_0x34ce07})['catch'](et)['catch'](wt),'resolveCommentThread':async({channelId:_0x36f404,threadId:_0x4e7547})=>{const _0x2e85cb=await this['_getService'](_0x36f404)['resolveCommentThread'](_0x4e7547)['catch'](et)['catch'](wt);return{'threadId':_0x2e85cb['commentThreadId'],'resolvedAt':_0x2e85cb['resolvedAt'],'resolvedBy':_0x2e85cb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x48de49,threadId:_0x456a40})=>this['_getService'](_0x48de49)['reopenCommentThread'](_0x456a40)['catch'](et)['catch'](wt),'removeCommentThread':({channelId:_0x1e2caf,threadId:_0xf1c540})=>this['_getService'](_0x1e2caf)['removeCommentThread'](_0xf1c540)['catch'](et)['catch'](wt),'addComment':({channelId:_0x38f035,threadId:_0x8c4302,commentId:_0x260e59,content:_0x3308d6,attributes:_0x2e629d})=>this['_getService'](_0x38f035)['addComment'](_0x8c4302,_0x260e59,_0x3308d6,_0x2e629d)['catch'](wt),'updateComment':({channelId:_0xcea788,threadId:_0x564917,commentId:_0x389c59,content:_0x260153,attributes:_0x1f32c3})=>this['_getService'](_0xcea788)['updateComment'](_0x564917,_0x389c59,_0x260153,_0x1f32c3)['catch'](et)['catch'](wt),'removeComment':({channelId:_0x5d154c,threadId:_0x30ff18,commentId:_0x5eb922})=>this['_getService'](_0x5d154c)['removeComment'](_0x30ff18,_0x5eb922)['catch'](et)['catch'](wt)},_0x1067c8 instanceof _0x20f32d){const _0x218e12=_0x1067c8['config']['get']('collaboration.channelId'),_0xef27e7=_0x1067c8['plugins']['get'](r);await this['_setUpService'](_0x218e12);const _0x1003d8=await this['_services']['get'](_0x218e12)['getConnectedSessions']();this['listenTo'](_0xef27e7,'sessionAdd:'+_0x218e12,(_0x422972,{session:_0x6fd060})=>{_0x6fd060['id']===_0xef27e7['mySessionId']&&(_0x422972['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x6fd060['permissions'],_0x218e12));}),_0xef27e7['register'](_0x218e12,_0x1003d8);}}async['_setUpService'](_0x586cc3){if(this['_services']['has'](_0x586cc3))throw new _0x3e942c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x586cc3});const _0x2602e8=this['context']['plugins']['get']('CommentsRepository'),_0x4c27c2=new a['CommentsService'](_0x586cc3);this['_services']['set'](_0x586cc3,_0x4c27c2),this['listenTo'](_0x4c27c2,'commentThreadAdded',(_0x3c59d4,_0x231585)=>{const {commentThreadId:_0x3dfd42,documentId:_0x250eaa,context:_0x22a2f9,attributes:_0x573527,resolvedAt:_0x2f8144,resolvedBy:_0x305274,comments:_0x552426}=_0x231585;_0x2602e8['getCommentThread'](_0x3dfd42)||_0x2602e8['addCommentThread']({'threadId':_0x3dfd42,'channelId':_0x250eaa,'comments':_0x552426?_0x552426['map'](nt):[],'context':_0x22a2f9,'attributes':_0x573527,'resolvedAt':_0x2f8144,'resolvedBy':_0x305274,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadUpdated',(_0x39dad5,{commentThreadId:_0x4382d1,documentId:_0x1eb63d,context:_0x33c590,unlinkedAt:_0x15c362,attributes:_0x13c701})=>{_0x2602e8['getCommentThread'](_0x4382d1)&&_0x2602e8['updateCommentThread']({'threadId':_0x4382d1,'channelId':_0x1eb63d,'context':_0x33c590,'unlinkedAt':_0x15c362,'attributes':_0x13c701,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadResolved',(_0x548650,{commentThreadId:_0x50c050,resolvedBy:_0x207743,resolvedAt:_0x511cfb})=>{const _0x60be40=_0x2602e8['getCommentThread'](_0x50c050);_0x60be40&&_0x60be40['resolve']({'resolvedBy':_0x207743,'resolvedAt':_0x511cfb,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadReopened',(_0x4d1ba8,{commentThreadId:_0x4ea58f})=>{const _0x362d76=_0x2602e8['getCommentThread'](_0x4ea58f);_0x362d76&&_0x362d76['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadRemoved',(_0x2f0602,{commentThreadId:_0x178428})=>{const _0x442471=_0x2602e8['getCommentThread'](_0x178428);_0x442471&&_0x442471['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentAdded',(_0x25b4a1,_0x2bd06f)=>{const _0x238a74=_0x2bd06f['commentThreadId'],_0xe76df3=_0x2602e8['getCommentThread'](_0x238a74);_0xe76df3&&_0xe76df3['addComment']({...nt(_0x2bd06f),'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentUpdated',(_0x3c8302,{commentThreadId:_0x4cfa4e,commentId:_0xa8840a,content:_0x54b434,attributes:_0x86efa})=>{const _0x4f4c45=_0x2602e8['getCommentThread'](_0x4cfa4e);if(_0x4f4c45){const _0x36466a=_0x4f4c45['getComment'](_0xa8840a);_0x36466a&&_0x36466a['update']({'content':_0x54b434,'attributes':_0x86efa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4c27c2,'commentRemoved',(_0x5545bc,{commentThreadId:_0x4c8fc9,commentId:_0x5b968c})=>{const _0x48c88e=_0x2602e8['getCommentThread'](_0x4c8fc9);if(_0x48c88e){const _0x11191e=_0x48c88e['getComment'](_0x5b968c);_0x11191e&&_0x11191e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x586cc3);}['destroy'](){if(this['context']instanceof _0x20f32d){const _0x54ab71=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x54ab71);}}['_terminateService'](_0x1b2bee){if(!this['_services']['has'](_0x1b2bee))throw new _0x3e942c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1b2bee});this['_getService'](_0x1b2bee)['disconnect'](),this['_services']['delete'](_0x1b2bee);}async['reconnect'](){for(const _0x2500bf of this['_services']['keys']())await this['_connectService'](_0x2500bf);if(this['context']instanceof _0x20f32d){const _0x39fec6=this['context']['config']['get']('collaboration.channelId'),_0x4f5fd9=this['context']['plugins']['get'](r);_0x4f5fd9['unregister'](_0x39fec6);const _0x16312c=await this['_services']['get'](_0x39fec6)['getConnectedSessions']();_0x4f5fd9['register'](_0x39fec6,_0x16312c);}}async['_connectService'](_0x5237ce){const {connection:_0x30904e}=this['context']['plugins']['get'](c),_0x578933=this['context']['plugins']['get']('CommentsRepository'),_0x6b9de5=this['_services']['get'](_0x5237ce),_0x996e7b=await _0x6b9de5['connect'](_0x30904e);await this['_fetchMissingUsersForThreads'](_0x996e7b);const _0x3e54ef=new Set(Array['from'](_0x578933['getCommentThreads']({'channelId':_0x5237ce}),_0x12d2eb=>_0x12d2eb['id']));for(const _0x1a31f7 of _0x996e7b)_0x1a31f7['deletedAt']||_0x3e54ef['delete'](_0x1a31f7['commentThreadId']);for(const _0x521ed5 of _0x3e54ef)_0x578933['getCommentThread'](_0x521ed5)['remove']({'isFromAdapter':!0x0});for(const _0x4de3ca of _0x996e7b){let _0x3db2fa=_0x578933['getCommentThread'](_0x4de3ca['commentThreadId']);const {commentThreadId:_0x59ea75,context:_0x276a32,attributes:_0x1e813f,resolvedBy:_0x36afc9,resolvedAt:_0x5bb4cb,unlinkedAt:_0xee4adc,deletedAt:_0x3b3421}=_0x4de3ca;if(_0x3b3421)continue;_0x3db2fa||(_0x3db2fa=_0x578933['addCommentThread']({'channelId':_0x5237ce,'threadId':_0x59ea75,'context':_0x276a32,'attributes':_0x1e813f||{},'resolvedBy':_0x36afc9,'resolvedAt':_0x5bb4cb,'unlinkedAt':_0xee4adc,'isFromAdapter':!0x0}));const _0x2f099a=new Set(Array['from'](_0x3db2fa['comments'],_0x20faa6=>_0x20faa6['id']));for(const _0x50022c of _0x4de3ca['comments'])_0x2f099a['delete'](_0x50022c['commentId']);for(const _0xd672f4 of _0x2f099a)_0x3db2fa['getComment'](_0xd672f4)['remove']({'isFromAdapter':!0x0});for(const _0x351e41 of _0x4de3ca['comments']){const _0x1c5bd9=_0x3db2fa['getComment'](_0x351e41['commentId']);_0x1c5bd9?_0x1c5bd9['content']!==_0x351e41['content']&&_0x1c5bd9['update']({'content':_0x351e41['content'],'isFromAdapter':!0x0}):_0x3db2fa['addComment'](Object['assign'](nt(_0x351e41),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1e103b){if(!this['_services']['has'](_0x1e103b))throw new _0x3e942c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1e103b});return this['_services']['get'](_0x1e103b);}async['_fetchMissingUsersForThreads'](_0x33a497){const _0x4ab273=this['context']['plugins']['get'](_0x33926),{connection:_0xd1ce78}=this['context']['plugins']['get'](c),_0x511ab7=new Set();for(const {resolvedBy:_0x3a5e00,comments:_0x310590}of _0x33a497){_0x3a5e00&&!_0x4ab273['getUser'](_0x3a5e00)&&_0x511ab7['add'](_0x3a5e00);for(const {userId:_0x5ae9d8}of _0x310590)_0x4ab273['getUser'](_0x5ae9d8)||_0x511ab7['add'](_0x5ae9d8);}if(0x0===_0x511ab7['size'])return;const _0x21ef6e=await mt['getMany'](_0xd1ce78,Array['from'](_0x511ab7));for(const _0x5c56b1 of _0x21ef6e)_0x4ab273['getUser'](_0x5c56b1['id'])||_0x4ab273['addUser'](_0x5c56b1);}}async function et(_0x23d153){if('404'!==_0x23d153['code'])throw _0x23d153;}function wt(_0x2dc18b){if((_0x3b7e09=_0x2dc18b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3b7e09;throw _0x2dc18b;}function nt(_0x769613){return{'threadId':_0x769613['commentThreadId'],'commentId':_0x769613['commentId'],'content':_0x769613['content'],'createdAt':_0x769613['createdAt'],'authorId':_0x769613['userId'],'attributes':_0x769613['attributes']||{}};}class g extends _0xa7b1dc{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x9c33e7){super(_0x9c33e7);const _0x526931=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x526931);}['init'](){const _0x975255=this['editor']['plugins']['get'](c),_0x5a9c7b=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5a9c7b['adapter']={'getSuggestion':async _0x4ff8ee=>{await this['_waitForServiceReady']();const _0x33c292=await this['_trackChangesService']['get'](_0x4ff8ee)['catch'](ot);return await this['_fetchMissingUsersForThreads']([_0x33c292]),_0x33c292;},'addSuggestion':async({id:_0x424371,type:_0x1ef7a9,data:_0x5c4534,originalSuggestionId:_0x5d1f8b,attributes:_0x440d55})=>{await this['_waitForServiceReady']();const _0x197a7e={'id':_0x424371,'type':_0x1ef7a9,'data':_0x5c4534,'originalSuggestionId':_0x5d1f8b,'attributes':_0x440d55},_0x5e8253=await this['_trackChangesService']['add'](_0x424371,_0x1ef7a9,_0x5c4534,_0x5d1f8b,_0x440d55)['catch'](_0x27b359=>{if(gt(_0x27b359))return new Promise(_0x39fdfd=>{this['_bufferedRequests']['set'](_0x424371,{'resolve':_0x39fdfd,'suggestionData':_0x197a7e});});throw _0x27b359;});return this['_bufferedRequests']['delete'](_0x424371),_0x5e8253;},'updateSuggestion':async(_0x4f63e2,_0x4a348e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4a348e['state'])return this['_trackChangesService']['update'](_0x4f63e2,_0x4a348e)['catch'](ot);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x31f9e8,_0xb74ef0)=>{_0x5a9c7b['hasSuggestion'](_0xb74ef0['id'])&&(_0x5a9c7b['getSuggestion'](_0xb74ef0['id'])['attributes']=_0xb74ef0['attributes']);}),this['_trackChangesService']['connect'](_0x975255['connection'])['then'](_0x3503b7=>(_0x975255['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3503b7)['then'](()=>{for(const _0x35c285 of _0x3503b7){_0x5a9c7b['addSuggestionData'](_0x35c285)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5738a6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3e0149}=this['editor']['plugins']['get'](c),_0x4ba96=await this['_trackChangesService']['connect'](_0x3e0149);await this['_fetchMissingUsersForThreads'](_0x4ba96);for(const {suggestionData:_0x385b98,resolve:_0x13eb8a}of this['_bufferedRequests']['values']()){let _0x5b3dc7=_0x4ba96['find'](_0x4f7ba2=>_0x4f7ba2['id']===_0x385b98['id']);_0x5b3dc7||(_0x5b3dc7=await this['_trackChangesService']['add'](_0x385b98['id'],_0x385b98['type'],_0x385b98['data'],_0x385b98['originalSuggestionId'])),_0x13eb8a(_0x5b3dc7);}for(const _0x33ff89 of _0x4ba96)_0x5738a6['hasSuggestion'](_0x33ff89['id'])||_0x5738a6['addSuggestionData'](_0x33ff89);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5b758b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18fe6c=>{_0x18fe6c['off'](),_0x5b758b();});});}async['_fetchMissingUsersForThreads'](_0x4ff03e){const _0x597ab8=this['editor']['plugins']['get'](_0x33926),{connection:_0x49d13e}=this['editor']['plugins']['get'](c),_0xaaec92=new Set();for(const {authorId:_0x438971}of _0x4ff03e)_0x597ab8['getUser'](_0x438971)||_0xaaec92['add'](_0x438971);if(0x0===_0xaaec92['size'])return;const _0x156095=await mt['getMany'](_0x49d13e,Array['from'](_0xaaec92));for(const _0x1c091f of _0x156095)_0x597ab8['getUser'](_0x1c091f['id'])||_0x597ab8['addUser'](_0x1c091f);}}function ot(_0x58a52c){if(gt(_0x58a52c))return new Promise(()=>{});throw _0x58a52c;}function gt(_0x39465b){return _0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xa7b1dc{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x13e643=this['editor']['plugins']['get'](c),_0x33d227=this['editor']['plugins']['get']('CommentsEditing'),_0x4c6a1c=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x13e643,'change:state',(_0x428786,_0x4a8081,_0x36f916)=>{_0x33d227['isThreadsLoadingPaused']='connected'!==_0x36f916;});}),this['listenTo'](_0x13e643,'change:state',(_0x946506,_0x141f6f,_0x11b5db)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x11b5db);}),_0x4c6a1c['_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 _0xa7b1dc{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0xa7b1dc{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x33926];}constructor(_0x241461){super(_0x241461);const _0x193b2a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x193b2a);}async['init'](){const _0x120eaf=this['editor']['plugins']['get'](l),_0x486785=_0x120eaf['serverHistory'],_0x3a4268=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x486785,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x120eaf['sessionId']});const _0x3765b0=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x5d8100=await it['isBundleUploaded'](_0x3a4268['connection'],_0x3765b0);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4717b9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4717b9)),'updateRevisions':async _0x89835=>{await this['_waitForServiceReady']();const _0x5ea356=this['_revisionTracker']['currentRevision'];if(_0x5d8100&&0x1===_0x89835['length']&&_0x89835[0x0]['id']===_0x5ea356['id'])return _0x89835;for(const _0x59ac87 of _0x89835)_0x59ac87['id']===_0x5ea356['id']&&(_0x59ac87['isEmptyCurrent']=_0x59ac87['fromVersion']===_0x59ac87['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x89835,this['_lastRequestId'])['then'](_0x2e40d6=>(this['_lastRequestId']=_0x2e40d6,_0x89835))['catch'](_0x1c5f31=>{if(rt(_0x1c5f31)||'400'===_0x1c5f31['code']&&void 0x0!==_0x1c5f31['data']['wrongRequestId']){for(const _0x48adb9 of _0x89835){!this['_revisionTracker']['repository']['getRevision'](_0x48adb9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x48adb9['id'],_0x48adb9,!0x1);}if(rt(_0x1c5f31))throw _0x1c5f31;return _0x89835;}throw _0x1c5f31;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1d13c5,{revisionsData:_0x58a501,requestId:_0x143934})=>{Math['max'](..._0x58a501['map'](_0x4fa1b8=>_0x4fa1b8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58a501,_0x143934);}):this['_handleRevisionsUpdate'](_0x58a501,_0x143934);});const {revisions:_0x5b1296,requestId:_0x4f8523}=await this['_revisionHistoryService']['connect'](_0x3a4268['connection']);_0x3a4268['addToReconnectionStack'](this),this['_lastRequestId']=_0x4f8523,await this['_fetchMissingUsers'](_0x5b1296);for(const _0x4c74cb of _0x5b1296)this['_revisionTracker']['addRevisionData'](_0x4c74cb);this['listenTo'](_0x120eaf,'change:_isConnected',(_0x38d819,_0x107320,_0x4bfe3e)=>{_0x4bfe3e&&(this['_oldOffset']=_0x120eaf['_offset'],_0x38d819['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3a4268,'state',_0x155d3e=>_0x155d3e===_0x2bb5ea['CONNECTED']);}async['reconnect'](){const _0x40a373=this['editor']['plugins']['get'](c),_0x9c463a=this['editor']['plugins']['get'](l),_0x38f48f=async()=>{const _0x30d9d4=this['_revisionTracker']['currentRevision'],_0x4f0836=_0x30d9d4['id'],_0x23a32a=_0x4f0836!==_0x9c463a['sessionId'];if(_0x23a32a){const _0x16ed7a=_0x9c463a['_offset']-this['_oldOffset'],_0x2de1dc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x30d9d4['toVersion']+_0x16ed7a!==_0x2de1dc){const _0x15c147=_0x30d9d4['fromVersion']+_0x16ed7a,_0x65033a=this['editor']['plugins']['get'](_0x33926),_0x2f58d2=this['_revisionTracker']['buildRevisionData']({'revision':_0x30d9d4,'from':_0x15c147,'to':_0x2de1dc});_0x2f58d2['id']=_0x30d9d4['id'];const _0x395cb5=_0x2f58d2['authorsIds']['map'](_0x17dfe5=>_0x65033a['getUser'](_0x17dfe5));_0x30d9d4['_update']({..._0x2f58d2,'authors':_0x395cb5},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x30d9d4['id'],_0x2f58d2,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2de1dc,(_0x30d9d4['toVersion']===_0x30d9d4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4f0836)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4f0836),this['_revisionTracker']['_createCurrentRevision'](_0x2de1dc));}const {revisions:_0x37ca28,requestId:_0x52a0c1}=await this['_revisionHistoryService']['reconnect'](_0x40a373['connection'],this['_lastRequestId']);_0x23a32a&&_0x37ca28['length']>0x0?_0x9c463a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x37ca28),this['_handleRevisionsUpdate'](_0x37ca28,_0x52a0c1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x9c463a['_isConnected']?_0x38f48f():new Promise((_0x541b1f,_0x4451bb)=>{_0x9c463a['once']('change:_isConnected',()=>{_0x38f48f()['then'](_0x541b1f)['catch'](_0x4451bb);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x321112=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48a285=>{_0x48a285['off'](),_0x321112();});});}['_getLatestVersionFromServerOperations'](){const _0xad7e02=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xefcf35 of _0xad7e02)if('marker'!==_0xefcf35['type']||_0xefcf35['affectsData'])return _0xefcf35['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b15b6=this['editor']['plugins']['get'](l);return new Promise(_0x3adb0c=>{_0x1b15b6['_isPendingUpdate']?_0x1b15b6['once']('change:_isPendingUpdate',()=>{_0x3adb0c(this['_getLatestVersionFromServerOperations']());}):_0x3adb0c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x17905c,_0x12f9d3){const _0x43c764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x12f9d3;for(const _0x138b3b of _0x17905c){const _0x2e09c1=_0x43c764['getRevision'](_0x138b3b['id']);if(_0x2e09c1){if((_0x138b3b['fromVersion']||_0x138b3b['toVersion'])&&(_0x138b3b['diffData']=null),_0x2e09c1===this['_revisionTracker']['currentRevision']){const _0x442440=Math['max'](_0x2e09c1['toVersion'],_0x138b3b['toVersion']),_0x260a12=Math['max'](_0x2e09c1['fromVersion'],_0x138b3b['fromVersion']);let _0x15b684;_0x2e09c1['toVersion']===_0x138b3b['toVersion']&&_0x2e09c1['fromVersion']===_0x138b3b['fromVersion']?(_0x15b684=!0x0,this['_preventResendingRevisionData'](_0x138b3b)):_0x138b3b['toVersion']===_0x442440&&_0x138b3b['fromVersion']===_0x260a12?_0x15b684=!0x1:(_0x2e09c1['toVersion']===_0x442440&&_0x2e09c1['fromVersion']===_0x260a12||this['_fixRevision']({'revision':_0x2e09c1,'from':_0x260a12,'to':_0x442440}),_0x15b684=!0x0),_0x15b684&&(delete _0x138b3b['fromVersion'],delete _0x138b3b['toVersion'],delete _0x138b3b['diffData'],delete _0x138b3b['createdAt'],delete _0x138b3b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x138b3b),this['_preventResendingRevisionData'](_0x138b3b);}else this['_revisionTracker']['addRevisionData'](_0x138b3b);}const _0x2b5d70=_0x43c764['getRevisions']();_0x2b5d70['reverse']();for(let _0x5d4e88=0x0;_0x5d4e88<_0x2b5d70['length']-0x1;_0x5d4e88++){const _0x558feb=_0x2b5d70[_0x5d4e88],_0x59786f=_0x2b5d70[_0x5d4e88+0x1];if(_0x558feb['fromVersion']<_0x59786f['toVersion']){const _0x4890c7=_0x59786f['toVersion'],_0x23db74=Math['max'](_0x4890c7,_0x558feb['toVersion']);this['_fixRevision']({'revision':_0x558feb,'from':_0x4890c7,'to':_0x23db74});}}}['_fixRevision']({revision:_0x1b0c4a,from:_0x5f4d74,to:_0x5b2f8e}={}){const _0x29c1e9=this['editor']['plugins']['get'](_0x33926),_0x5e0891=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b0c4a,'from':_0x5f4d74,'to':_0x5b2f8e});_0x5e0891['authors']=_0x5e0891['authorsIds']['map'](_0xbe4793=>_0x29c1e9['getUser'](_0xbe4793)),_0x1b0c4a['_update'](_0x5e0891);}['_preventResendingRevisionData'](_0x1a271){const _0x3d6c3d={};_0x3d6c3d['id']=_0x1a271['id'];for(const _0x15ebcd of Object['keys'](_0x1a271))'id'!==_0x15ebcd&&(_0x3d6c3d[_0x15ebcd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3d6c3d['id'],_0x3d6c3d,!0x0);}async['_fetchMissingUsers'](_0x47ab8f){const _0x469a32=this['editor']['plugins']['get'](_0x33926),{connection:_0x405773}=this['editor']['plugins']['get'](c),_0x2ad0fe=new Set();for(const _0x2320cd of _0x47ab8f){for(const _0xacf529 of _0x2320cd['authorsIds'])_0x144ed3(_0xacf529);_0x2320cd['creatorId']&&_0x144ed3(_0x2320cd['creatorId']);}if(0x0===_0x2ad0fe['size'])return;const _0x2f7bfe=await mt['getMany'](_0x405773,Array['from'](_0x2ad0fe));for(const _0x25c5db of _0x2f7bfe)_0x469a32['getUser'](_0x25c5db['id'])||_0x469a32['addUser'](_0x25c5db);function _0x144ed3(_0x24e64c){_0x469a32['getUser'](_0x24e64c)||_0x2ad0fe['add'](_0x24e64c);}}}function rt(_0x38101d){return _0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0xa7b1dc{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x385240{constructor(_0x1745df){super(_0x1745df);const _0x1593ba=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x1593ba['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x1593ba['to']('usersCount',_0x2a3387=>B(_0x1745df,'CONNECTED_USERS',_0x2a3387))}]});}}class es extends _0x385240{['items'];['keystrokes'];constructor(_0x249130){super(_0x249130);const _0x58a8d1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5b37f4(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x58a8d1['if']('hasPopup'),'aria-expanded':_0x58a8d1['to']('isExpanded',_0x23ec78=>this['hasPopup']&&String(_0x23ec78)),'aria-label':_0x58a8d1['to']('hasPopup',_0x2be9e6=>B(_0x249130,_0x2be9e6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x58a8d1['to']('hasPopup',_0x3afc40=>!!_0x3afc40&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x58a8d1['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x57c85b,_0x397a20,_0x2d13a8)=>{this['element']&&(_0x2d13a8?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 L extends _0x385240{['counterView'];['inlineListView'];constructor(_0xc76b03){super(_0xc76b03);const _0x1cacdf=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xc76b03),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x281af7 of this['inlineListView']['items'])_0x281af7['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',_0x1cacdf['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x385240{['listWrapperView'];constructor(_0xd7da29,_0x1d20a8){super(_0xd7da29),this['listWrapperView']=new vt(_0xd7da29,_0x1d20a8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0xd7da29,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x53e168{constructor(_0x386bca,_0x7609f8){super(_0x386bca);const _0x4fdce0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7609f8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4fdce0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4fdce0['to']('role'),'aria-label':_0x4fdce0['to']('ariaLabel'),'aria-labelledby':_0x4fdce0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4bd3f5['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x22ad99=this['element'];_0x22ad99&&(this['_isScrollable']=Math['max'](_0x22ad99['scrollHeight'],_0x22ad99['clientHeight'])>0.8*window['innerHeight']);}}class k extends ct{['userView'];constructor(_0x2b68b5,_0x49d38c,_0x355ddf){super(_0x2b68b5);const _0x2a74b3=this['bindTemplate'];this['userView']=new lt(_0x2b68b5,_0x49d38c);const _0x97e11d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x49d38c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x49d38c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x49d38c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x355ddf&&(_0x97e11d['tag']='button',_0x97e11d['on']={'click':_0x2a74b3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x97e11d);}['focus'](){this['element']['focus']();}}class y extends _0x385240{['userView'];['markerView'];constructor(_0x3e734b,_0x2b41bb,_0x18a9da){super(_0x3e734b);const _0x4311b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0x3e734b,_0x2b41bb),this['markerView']=new dt(_0x3e734b,_0x2b41bb);const _0x295d83=new pt(_0x3e734b);_0x295d83['template']['tag']='span',_0x295d83['text']=_0x2b41bb['name'];const _0x2636fa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4311b5['to']('isFocusable',_0xee6d23=>!!_0xee6d23&&0x0),'aria-labelledby':_0x295d83['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4311b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4311b5['to']('hasTooltip',_0x15c5a8=>!_0x15c5a8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x295d83]};_0x18a9da&&(_0x2636fa['tag']='button',_0x2636fa['on']={'click':_0x4311b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2636fa);}}class dt extends _0x385240{constructor(_0x3940af,_0x1ee82b){super(_0x3940af),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1ee82b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x536a58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x287df0){super(_0x287df0),this['context']['config']['define']('presenceList',A);const _0x3d07a4=_0x287df0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3d07a4)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);if(_0x3d07a4<0x1)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x29beb2(),this['balloonPanelView']=new _0x19bb9a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x4b90e5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4b90e5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x147fd0,_0x4fdc09)=>{this['_handleUserAdd'](_0x4fdc09);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x21f2c8,_0x5e1ee2)=>{this['_handleUserRemove'](_0x5e1ee2);});}['_createView'](){const _0x4d40a3=this['context'],_0x385988=new L(this['context']['locale']),_0x285063=this['balloonPanelView'];if(!_0x1d376a(_0x4d40a3['config']['get']('presenceList.container')))throw new _0x3e942c('presencelist-missing-container',this);return _0x385988['counterView']['bind']('usersCount')['to'](this),_0x385988['bind']('isCollapsed')['to'](this,'usersCount',_0x2cfb1d=>{const {collapseAt:_0xebe0d9,displayMe:_0x3399b4}=_0x4d40a3['config']['get']('presenceList'),_0x53cd46=_0x2cfb1d>=_0xebe0d9;return _0x385988['counterView']['isHidden']=!(0x1==_0x2cfb1d&&_0x3399b4||_0x53cd46),_0x53cd46||this['hideDropdown'](),_0x53cd46;}),_0x385988['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4b2132=>{const _0x1538e1=_0x4d40a3['config']['get']('presenceList'),_0x661c81=new y(_0x4d40a3['locale'],_0x4b2132,!!_0x1538e1['onClick']);return _0x661c81['bind']('hasTooltip')['to'](_0x385988,'isCollapsed',_0x43cb05=>!_0x43cb05),_0x661c81['bind']('isFocusable')['to'](_0x385988,'isCollapsed',_0x756db0=>!_0x756db0),_0x1538e1['onClick']&&this['listenTo'](_0x661c81,'execute',()=>{this['view']['isCollapsed']||_0x1538e1['onClick'](_0x4b2132,_0x661c81['element']);}),_0x661c81;}),this['listenTo'](_0x385988['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x385988['inlineListView']['keystrokes']['set']('Enter',(_0x123bc0,_0x1a04c0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1a04c0());}),_0x385988['render'](),_0x285063['render'](),_0x1293dd({'emitter':_0x385988,'activator':()=>_0x285063['isVisible'],'contextElements':[_0x285063['element'],_0x385988['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4d40a3['config']['get']('presenceList.container')['appendChild'](_0x385988['element']),this['_bodyCollection']=new _0x54173d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x385988;}['_handleUserAdd'](_0x431baf){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x431baf['isMe'])return;const _0x14fc9b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x14fc9b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4aff74=_0x431baf['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x431baf,_0x4aff74);}['_handleUserRemove'](_0x44126d){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x44126d['id'])&&(this['currentDisplayedUsers']['remove'](_0x44126d['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x443cce of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x443cce['id']))return void this['currentDisplayedUsers']['add'](_0x443cce,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2ba537=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x2ba537['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1d1809}=this['presenceDropdownView'];_0x1d1809['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x264f9b=>{if(!_0x2ba537['displayMe']&&_0x264f9b['isMe'])return null;const _0x241b95=new k(this['context']['locale'],_0x264f9b,!!_0x2ba537['onClick']);return _0x2ba537['onClick']&&this['listenTo'](_0x241b95,'execute',()=>{_0x2ba537['onClick'](_0x264f9b,_0x241b95['element']);}),_0x241b95;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1d1809['focus'](),_0x1d1809['checkIfScrollable']();const _0x5c7d11=(_0x105b00,_0xc028bc)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc028bc();};_0x1d1809['keystrokes']['set']('Esc',_0x5c7d11),_0x1d1809['keystrokes']['set']('Shift+Tab',_0x5c7d11),_0x1d1809['keystrokes']['set']('Tab',(_0x4740bf,_0x1c60db)=>{!function(_0x5f05df){const _0x2ba971=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x55d974=>_0x55d974+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x53e52a=[...document['body']['querySelectorAll'](_0x2ba971)]['filter'](_0x2d1b51=>_0x2d1b51===document['activeElement']||_0x2d1b51['offsetWidth']+_0x2d1b51['offsetHeight']>0x0)['sort']((_0x1c068c,_0x3a5548)=>(_0x1c068c['tabIndex']||0x0)-(_0x3a5548['tabIndex']||0x0)),_0x1d8e74=_0x53e52a['indexOf'](_0x5f05df),_0x40058c=_0x53e52a[(_0x1d8e74+0x1)%_0x53e52a['length']];_0x40058c&&_0x40058c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1c60db();}),_0x1d1809['focusTracker']['add'](this['view']['element']),_0x1d1809['focusTracker']['on']('change:isFocused',(_0x40e28e,_0x127b59,_0x37318d)=>{_0x37318d||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 i extends _0x536a58{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x14461c,Plugin as _0x4dbc33,PendingActions as _0x5b4c88,Context as _0x2df86d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x381303,CKEditorError as _0x206d07,Collection as _0x33b2c0,global as _0x1e5003,version as nt,uid as _0x21753f,KeystrokeHandler as _0x36b3af}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x7ffdbc,View as _0x1fb7fc,ListView as _0x1b86da,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x20d5c5,clickOutsideHandler as _0x5b1e4b,BodyCollection as _0x3e84a3}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x39a3f2,NoOperation as _0x5f0b59,InsertOperation as _0x5ce49d,MarkerOperation as _0x9174b3,RootAttributeOperation as _0x178eb8,transformSets as _0x28de76,OperationFactory as _0x5678b3}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x403fca,CollaborativeEditingService as _0x47e557,User as lt,CommentsService as _0x3ca7eb,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4a45f7,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4c9238}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2a8347}from'lodash-es';class c extends _0x14461c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x7ffdbc];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x1942fd){super(_0x1942fd),this['set']('state',_0x403fca['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x381303);}['init'](){const _0x1ca46a=this['context'],_0x3808e0=_0x1ca46a['plugins']['get']('CloudServices'),_0x421b2f=_0x1ca46a['plugins']['get'](_0x7ffdbc);if(!_0x3808e0['token'])throw new _0x206d07('websocketgateway-missing-token',this);if(!_0x3808e0['webSocketUrl'])throw new _0x206d07('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'](_0x3808e0['token'],_0x3808e0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x37155a=>{if(this['connection']=_0x37155a,this['bind']('state')['to'](_0x37155a,'state',this,'_isBrowserOffline',(_0xfec97d,_0x51a898)=>('connected'!==_0xfec97d&&(this['_shouldPluginsReconnect']=!0x0),_0x51a898||_0xfec97d!==_0x403fca['CONNECTED']?_0x403fca['DISCONNECTED']:this['state']==_0x403fca['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x403fca['CONNECTING']):_0x403fca['CONNECTED'])),this['connection']['on']('error',(_0x5e631a,_0x50d65e)=>{if('limitExceeded'!==_0x50d65e['code'])throw console['error'](_0x50d65e),new _0x206d07('cloudservices-init',null,{'originalError':_0x50d65e});_0x421b2f['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'});}),!_0x37155a['me'])return new Promise(_0x52fb91=>_0x37155a['on']('change:me',_0x52fb91));})['catch'](_0xe2476b=>{throw console['error'](_0xe2476b),new _0x206d07('cloudservices-init',null,{'originalError':_0xe2476b});});}['addToReconnectionStack'](_0x530610){if('function'!=typeof _0x530610['reconnect'])throw new _0x206d07('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x530610))throw new _0x206d07('websocketgateway-plugin-already-registered',this,{'name':_0x530610['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x530610);}['removeFromReconnectionStack'](_0xfe30e5){this['_reconnectionStack']['delete'](_0xfe30e5);}['isInReconnectionStack'](_0x3f1010){return this['_reconnectionStack']['has'](_0x3f1010);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x492c60=>_0x492c60['reconnect']())))['then'](()=>this['state']=_0x403fca['CONNECTED'])['catch'](_0x404b82=>{throw console['error'](_0x404b82),new _0x206d07('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x403fca['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x14461c{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x4a45f7];}constructor(_0x9813d7){super(_0x9813d7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x33b2c0(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a45f7);}['init'](){const _0x124863=this['context']['plugins']['get'](c);this['listenTo'](_0x124863,'change:state',(_0x47ef70,_0x44780a,_0x106dbe)=>{if('connected'!==_0x106dbe)this['channelSessions']['forEach'](_0xa0c44d=>_0xa0c44d['clear']()),this['channelConnectedUsers']['forEach'](_0x38723f=>_0x38723f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x30d74a,_0x2db6fd]of this['_registeredSessions'])for(const _0x40eb51 of _0x2db6fd)this['_handleSessionAdd'](_0x30d74a,_0x40eb51);}}),this['_createUser'](_0x124863['connection']['me'],!0x0);}['register'](_0x17e2fc,_0x56a96a){if(this['_registeredSessions']['has'](_0x17e2fc))throw new _0x206d07('sessions-register-already-registered',null,{'channelId':_0x17e2fc});this['_registeredSessions']['set'](_0x17e2fc,_0x56a96a),this['channelSessions']['set'](_0x17e2fc,new _0x33b2c0()),this['channelConnectedUsers']['set'](_0x17e2fc,new _0x33b2c0()),this['listenTo'](_0x56a96a,'add',(_0x4e18f3,_0x2e524f)=>this['_handleSessionAdd'](_0x17e2fc,_0x2e524f)),this['listenTo'](_0x56a96a,'remove',(_0x47d8a4,_0x18e30a)=>this['_handleSessionRemove'](_0x17e2fc,_0x18e30a));for(const _0x422958 of _0x56a96a)this['_handleSessionAdd'](_0x17e2fc,_0x422958);}['unregister'](_0x29cdaa){if(!this['_registeredSessions']['has'](_0x29cdaa))throw new _0x206d07('sessions-unregister-not-exist',null,{'channelId':_0x29cdaa});const _0x55ea11=this['_registeredSessions']['get'](_0x29cdaa);this['stopListening'](_0x55ea11);for(const _0x47f46e of _0x55ea11)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x29cdaa,_0x47f46e);this['_registeredSessions']['delete'](_0x29cdaa),this['channelSessions']['delete'](_0x29cdaa),this['channelConnectedUsers']['delete'](_0x29cdaa);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x14be32){for(const _0x369e41 of this['channelSessions']['values']())for(const _0x3f2885 of _0x369e41)if(_0x3f2885['id']===_0x14be32)return _0x3f2885['user'];}['getUserSessions'](_0x14c8f9,_0x369114){const _0x3021f5=_0x369114?[this['channelSessions']['get'](_0x369114)]:this['channelSessions']['values'](),_0x5e081e=new Set();for(const _0x45a143 of _0x3021f5)for(const _0x42e577 of _0x45a143)_0x42e577['user']['id']===_0x14c8f9['id']&&_0x5e081e['add'](_0x42e577['id']);return _0x5e081e;}['getUserRole'](_0x549f05){for(const _0x387964 of this['channelSessions']['values']())for(const _0x1a9cbe of _0x387964)if(_0x1a9cbe['user']===_0x549f05)return _0x1a9cbe['role'];}['_handleSessionAdd'](_0x258d3f,_0x4e916f){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x1a03b6=_0x4e916f['user'],_0x7129d7=this['_users']['getUser'](_0x1a03b6['id'])||this['_createUser'](_0x1a03b6),_0x1d09dc=Object['assign']({},_0x4e916f,{'user':_0x7129d7});this['channelSessions']['get'](_0x258d3f)['add'](_0x1d09dc);const _0x27f83d=this['channelConnectedUsers']['get'](_0x258d3f);_0x27f83d['has'](_0x7129d7['id'])||_0x27f83d['add'](_0x7129d7),this['allConnectedUsers']['has'](_0x7129d7['id'])||this['allConnectedUsers']['add'](_0x7129d7,_0x7129d7['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x258d3f,{'channelId':_0x258d3f,'session':_0x1d09dc});}['_handleSessionRemove'](_0x50591a,_0x55fe10){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2189e9=this['channelConnectedUsers']['get'](_0x50591a),_0x3fd59c=_0x55fe10['user'];_0x3fd59c['id']&&(this['channelSessions']['get'](_0x50591a)['remove'](_0x55fe10['id']),_0x2189e9['has'](_0x3fd59c['id'])&&!this['getUserSessions'](_0x3fd59c,_0x50591a)['size']&&_0x2189e9['remove'](_0x3fd59c['id']),this['allConnectedUsers']['get'](_0x3fd59c['id'])&&!this['getUserSessions'](_0x3fd59c)['size']&&this['allConnectedUsers']['remove'](_0x3fd59c['id']));}['_createUser'](_0x227692,_0x37a51d){const _0x54fa8f=this['_users']['addUser'](_0x227692);return _0x37a51d&&this['_users']['defineMe'](_0x227692['id']),_0x54fa8f['orderNumber']=this['_uniqueUsersCount']++,_0x54fa8f;}}class H extends _0x4dbc33{['_domEmitter']=new(_0x381303())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x75a762=this['editor'],_0x304610=_0x75a762['plugins']['get'](r);_0x75a762['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x2172e0,{writer:_0x1e5a81})=>function(_0x53e9db,_0x33ffdd,_0x42f957,_0xf9dc18){const _0x11eb95=_0x53e9db['markerName']['split'](':')[0x2],_0x237deb=_0x42f957['getUserBySessionId'](_0x11eb95);if(!_0x237deb||_0x11eb95===_0x42f957['mySessionId'])return;if(!_0xf9dc18['model']['schema']['checkChild'](_0x53e9db['markerRange']['start'],'$text'))return;const _0x52bce6={'class':'ck-user__marker\x20'+_0x237deb['color']['getMarkerClass'](),'data-name':_0x237deb['name'],'data-session-id':_0x11eb95},_0x5351b7=_0xf9dc18['model']['markers']['get'](_0x53e9db['markerName']),_0x320262=_0x5351b7['getStart'](),_0x201b98=_0x320262['nodeAfter'],_0x2002c7=_0xf9dc18['model']['schema'];if(_0x201b98&&_0x2002c7['isObject'](_0x201b98)&&_0x2002c7['isInline'](_0x201b98)&&!_0xf9dc18['model']['markers']['get']('user:range:'+_0x11eb95)['getRange']()['isCollapsed'])return;const _0x134187=_0x320262['parent'];return _0xf9dc18['model']['schema']['isLimit'](_0x134187)&&!_0xf9dc18['model']['hasContent'](_0x134187)&&(_0x52bce6['contenteditable']=!0x1),function(_0x43a4fc,_0x38ee5b,_0x1ddb76){const _0x2e72ab=_0x43a4fc['createUIElement']('span',_0x38ee5b);return _0x43a4fc['setCustomProperty']('userPositionMarker',!0x0,_0x2e72ab),_0x2e72ab['render']=function(_0x36ff66){const _0x49adad=this['toDomElement'](_0x36ff66);return _0x49adad['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x1ddb76['name']+'</span>⁠',_0x49adad['addEventListener']('mouseenter',()=>{_0x49adad['classList']['add']('ck-user__marker_hovered');}),_0x49adad['addEventListener']('mouseleave',()=>{_0x49adad['classList']['remove']('ck-user__marker_hovered');}),_0x49adad;},_0x2e72ab['isSimilar']=function(_0x2c2b84){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2c2b84['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2c2b84['getAttribute']('data-session-id'));},_0x2e72ab;}(_0x33ffdd,_0x52bce6,_0x237deb);}(_0x2172e0,_0x1e5a81,_0x304610,_0x75a762)}),_0x75a762['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4b0209=>function(_0x3b0b98,_0x16e8a0){const _0x18bca=_0x3b0b98['markerName']['split'](':')[0x2];if(_0x18bca===_0x16e8a0['mySessionId'])return null;const _0x10b365=_0x16e8a0['getUserBySessionId'](_0x18bca);if(!_0x10b365)return{'id':_0x18bca,'classes':[]};return{'id':_0x18bca,'classes':['ck-user__selection',_0x10b365['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x18bca},'priority':0x7d0+_0x10b365['orderNumber']};}(_0x4b0209,_0x304610)}),function(_0x7bcd14){const _0x4aa5da=_0x7bcd14['model'],_0x34067e=new Map(),_0x3a7a17=_0x7bcd14['plugins']['get'](r);_0x4aa5da['markers']['on']('update:user:range',(_0xe887a2,_0xb078fd,_0x19507e,_0x16361d)=>{if(!_0x16361d&&_0x34067e['get'](_0xb078fd['name']))return _0x34067e['get'](_0xb078fd['name'])['detach'](),void _0x34067e['delete'](_0xb078fd['name']);const _0x1f7e73=_0xb078fd['name']['split'](':')[0x2];if(_0x1f7e73===_0x3a7a17['mySessionId'])return;const _0x1e98d8='user:position:'+_0x1f7e73;_0x4aa5da['markers']['has'](_0x1e98d8)&&_0x7bcd14['editing']['reconvertMarker'](_0x1e98d8),_0xb078fd['on']('change:range',(_0x17e91e,_0x3254d9,_0x347a8e)=>{if('$graveyard'!=_0x3254d9['root']['rootName']&&'$graveyard'==_0xb078fd['getRange']()['root']['rootName']&&!_0x34067e['has'](_0xb078fd['name'])){const _0x11dbf0=_0x4aa5da['schema']['getNearestSelectionRange'](_0x347a8e['deletionPosition']);if(_0x11dbf0){const _0x2566cb=ht['fromRange'](_0x11dbf0);_0x34067e['set'](_0xb078fd['name'],_0x2566cb),_0x2566cb['on']('change:range',(_0x5f0dbd,_0x3b4f67,_0x213cb7)=>{if('$graveyard'==_0x2566cb['root']['rootName']){const _0xde58d8=_0x4aa5da['schema']['getNearestSelectionRange'](_0x213cb7['deletionPosition']);_0xde58d8?(_0x2566cb['start']=_0xde58d8['start'],_0x2566cb['end']=_0xde58d8['end']):(_0x34067e['delete'](_0xb078fd['name']),_0x2566cb['detach']());}});}}});}),_0x4aa5da['document']['on']('change',()=>{_0x34067e['size']>0x0&&_0x4aa5da['enqueueChange']({'isUndoable':!0x1},_0x14426b=>{for(const [_0x28078b,_0x50e1e3]of _0x34067e)'$graveyard'==_0x4aa5da['markers']['get'](_0x28078b)['getRange']()['root']['rootName']&&(re(_0x28078b['split'](':')[0x2],_0x50e1e3['toRange'](),_0x4aa5da,_0x14426b),_0x50e1e3['detach']());_0x34067e['clear']();});});}(_0x75a762),this['_domEmitter']['listenTo'](_0x1e5003['document'],'keydown',(_0x3fa9f3,{key:_0x1148cd})=>{'Escape'===_0x1148cd&&function(_0x4b54b8){_0x4b54b8['editing']['view']['change'](_0x1e47e6=>{for(const _0x16e218 of _0x4b54b8['model']['markers']){if(!_0x16e218['name']['startsWith']('user:position'))continue;const _0x16a42=_0x4b54b8['editing']['mapper']['markerNameToElements'](_0x16e218['name']);if(_0x16a42){for(const _0x2e3ae6 of _0x16a42)_0x1e47e6['removeClass']('ck-user__marker_hovered',_0x2e3ae6);}}});}(_0x75a762);},{'useCapture':!0x0});}['afterInit'](){const _0x3e9d11=this['editor'],_0x2fdb59=_0x3e9d11['commands']['get']('undo');_0x2fdb59&&_0x3e9d11['model']['on']('applyOperation',(_0x5d93a0,_0x18ff8d)=>{const _0x3e567c=_0x18ff8d[0x0];if('marker'!=_0x3e567c['type']||!_0x3e567c['name']['startsWith']('user:'))return;const _0x35bbb=_0x3e567c['batch'];_0x2fdb59['_createdBatches']['has'](_0x35bbb)&&(_0x3e567c['newRange']=_0x3e567c['oldRange']?_0x3e9d11['model']['createRange'](_0x3e567c['oldRange']['start'],_0x3e567c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2afb5e=this['editor'],_0x487594=_0x2afb5e['model']['document'],_0x555f71=_0x2afb5e['plugins']['get'](r);_0x2afb5e['model']['enqueueChange']({'isUndoable':!0x1},_0x3c9f07=>{const _0x1ba633='user:range:'+_0x555f71['mySessionId'],_0x55bc66='user:position:'+_0x555f71['mySessionId'],_0xfbf314=_0x2afb5e['model']['markers']['has'](_0x1ba633);_0x2afb5e['editing']['view']['hasDomSelection']?re(_0x555f71['mySessionId'],_0x487594['selection']['getFirstRange'](),_0x2afb5e['model'],_0x3c9f07):_0xfbf314&&(_0x3c9f07['removeMarker'](_0x1ba633),_0x3c9f07['removeMarker'](_0x55bc66));});}}function re(_0x1eb81f,_0x1661e1,_0xe64b56,_0x27054e){const _0x36f484='user:range:'+_0x1eb81f,_0x41509a='user:position:'+_0x1eb81f,_0x5431a5=_0x1661e1['getContainedElement']();let _0x2fa41d=_0x1661e1['start'];_0x5431a5&&_0x5431a5['is']('element','tableCell')&&(_0x2fa41d=function(_0x4d07ef,_0x1220d4){for(const _0x4ddc15 of _0x4d07ef['getPositions']())if(_0x1220d4['schema']['checkChild'](_0x4ddc15,'$text'))return _0x4ddc15;}(_0x1661e1,_0xe64b56),_0x1661e1=_0x27054e['createRange'](_0x2fa41d));const _0x169b18=_0x27054e['createRange'](_0x2fa41d);_0xe64b56['markers']['has'](_0x36f484)?(_0x27054e['updateMarker'](_0x36f484,{'range':_0x1661e1}),_0x27054e['updateMarker'](_0x41509a,{'range':_0x169b18})):(_0x27054e['addMarker'](_0x36f484,{'range':_0x1661e1,'usingOperation':!0x0}),_0x27054e['addMarker'](_0x41509a,{'range':_0x169b18,'usingOperation':!0x0}));}function q(_0x3e8ea5,_0x13fe6e,_0x1fe62d){const t=_0x3e8ea5['t'];switch(_0x13fe6e){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 t({'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'},_0x1fe62d);default:return'';}}let K=0x1;class l extends _0x4dbc33{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x47e557)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,H,_0x5b4c88,_0x4a45f7,_0x7ffdbc];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x2fe415=this['serverHistory']['getOperations']();for(let _0x4717c0=_0x2fe415['length']-0x1;_0x4717c0>=0x0;_0x4717c0--){const _0x4b2e26=_0x2fe415[_0x4717c0];if(!this['_disconnectionOperations']['has'](_0x4b2e26))return _0x4b2e26['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2d9052){if(super(_0x2d9052),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x39a3f2(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x206d07('collaboration-missing-channelid',this);const _0x481553=_0x2d9052['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x481553,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4c9238(),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 X(this['_disconnectionOperations']);}['init'](){const _0x15cd04=this['editor'],_0x4303ea=_0x15cd04['plugins']['get'](_0x4a45f7),_0x15acd4=_0x15cd04['plugins']['get'](c);this['listenTo'](_0x4303ea,'getOperationAuthor',(_0x304971,_0x4dcde5)=>{const _0x55f02b=_0x4dcde5[0x0];_0x55f02b['_authorId']&&(_0x304971['return']=_0x4303ea['getUser'](_0x55f02b['_authorId']),_0x304971['stop']()),null===_0x55f02b['_authorId']&&(_0x304971['return']=null,_0x304971['stop']());},{'priority':'high'}),this['listenTo'](_0x15cd04['model']['document']['selection'],'change:range',(_0x447a1b,_0xe6aa96)=>{_0xe6aa96['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x15cd04['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x15cd04['model']['on']('applyOperation',(_0x22d495,_0x1ba337)=>{const _0x18bdac=_0x1ba337[0x0];_0x18bdac['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x18bdac),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x15acd4,'state',this,'_hasSynchronizationProblem',(_0x1edc03,_0x2e5e7a)=>'connected'===_0x1edc03&&!_0x2e5e7a),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x15cd04['disableReadOnlyMode']('rtc-offline'):_0x15cd04['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x15cd04['disableReadOnlyMode']('rtc-offline'):_0x15cd04['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3d9904=this['editor']['plugins']['get'](r),_0x1681cb=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3d9904['unregister'](this['_channelId']);const _0x33a9fb=await this['_service']['reconnect'](_0x1681cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x33a9fb)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x345c7b=await this['_service']['getConnectedSessions']();_0x3d9904['register'](this['_channelId'],_0x345c7b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2a9494){if(function(_0x40afe7){return'404'===_0x40afe7['code'];}(_0x2a9494)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1489fb){return'409'===_0x1489fb['code'];}(_0x2a9494)){const _0x2d718b=q(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'](_0x2d718b);}else{if(!(_0x2a9494 instanceof J))throw _0x2a9494;this['_handleReconnectionError']();}}}}['destroy'](){const _0x18265e=this['editor']['plugins']['get'](c),_0x29a489=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x29a489['channelSessions']['has'](this['_channelId'])&&_0x29a489['unregister'](this['_channelId']),_0x18265e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4ce9aa){if(this['sessionId']!==_0x4ce9aa['sessionId']&&this['_lastSyncedOperationId']!==_0x4ce9aa['lastOperationId'])throw new J();return this['sessionId']=_0x4ce9aa['sessionId'],this['_handleServerResponse']([],{..._0x4ce9aa,'wereChangesApplied':!0x1,'data':_0x4ce9aa['data']},'reconnect');}async['_connectService'](_0x40f911,_0x2609cf=!0x1){const {connection:_0x5e0fa6}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x5e0fa6,this['_channelId'])['then'](_0x1d0caf=>this['_initSessionsHandling'](_0x1d0caf))['catch'](_0x1d0c51=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1d0c51);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x401b0a,_0x43acee)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x43acee);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x947ea3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x40f911);this['_isPendingUpdate']=!0x0;const _0x22abb9=await this['_service']['connect'](_0x5e0fa6,this['_compressOperations'](_0x40f911),_0x947ea3);if(this['sessionId']=_0x22abb9['sessionId'],_0x2609cf){if(!_0x22abb9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x22abb9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x40f911,_0x22abb9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x22abb9,_0x40f911);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5401fb=this['editor']['plugins']['get'](r),_0x4d5705=this['editor']['plugins']['get'](H),_0x429047=_0x5401fb['channelSessions']['get'](this['_channelId']);_0x429047&&_0x429047['length']>0x1?_0x4d5705['createUserMarkerOperations']():this['listenTo'](_0x5401fb,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5401fb['channelSessions']['get'](this['_channelId'])['length']&&_0x4d5705['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5f0495,_0x170bc8,_0x20dfbe,_0x14e0e2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x170bc8){const _0x4c5b5f=this['_decompressOperations'](_0x20dfbe,_0x14e0e2);await this['_fetchMissingUsers'](_0x4c5b5f),this['_handleExternalOperations'](_0x4c5b5f,_0x170bc8,_0x20dfbe['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x472daa}=this['editor'];let _0x10a6ba;try{_0x10a6ba=await this['_service']['getDocumentDetails']();}catch(_0x20feca){const _0x1a1412=q(_0x472daa,'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'](_0x1a1412);}const _0x1f7ad4=_0x10a6ba['currentDocumentSession']||_0x10a6ba['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x1f7ad4['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0xa2a3bb=q(_0x472daa,'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'](_0xa2a3bb);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3aace9){const _0x26964c=this['editor']['plugins']['get'](r);this['listenTo'](_0x26964c,'sessionAdd:'+this['_channelId'],(_0x141c17,{session:_0x57bbf6})=>{if(_0x57bbf6['id']===_0x26964c['mySessionId']){_0x141c17['off']();const _0x1510aa=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x46c846=_0x57bbf6['permissions'];_0x1510aa&&_0x1510aa['isEnabled']&&(_0x46c846=_0x46c846['filter'](_0xf65335=>'document:write'!==_0xf65335)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x46c846,this['_channelId']);}}),_0x26964c['register'](this['_channelId'],_0x3aace9);}['_initThrowingOnDataSet'](){const _0x278505=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1f279f)=>{if(!_0x1f279f[_0x1f279f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x206d07('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x278505['apply'](this['editor']['data'],_0x1f279f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x508daa,[_0x270273])=>{if(this['_document']['version'])throw new _0x206d07('realtimecollaborationclient-init-document-already-initialized',this);_0x508daa['stop'](),this['_setPendingAction']();const _0x344f90=this['editor']['config']['get']('rootsAttributes'),_0x243207=this['_getOperationsFromInitData'](_0x270273,_0x344f90);0x0==_0x243207['length']&&_0x243207['push'](new _0x5f0b59(0x0)),_0x508daa['return']=this['_connectService'](_0x243207)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x276144=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x276144))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3b634b,[_0x1c183e,_0x94c1b2])=>{_0x3b634b['stop']();const _0x98f4f=this['editor']['model']['document']['getRoot'](_0x1c183e);if(!this['_knownRootNames']['has'](_0x1c183e)){const _0x9cc894=_0x94c1b2&&_0x94c1b2['data']?_0x94c1b2['data']:'',_0x2fa69b=_0x94c1b2&&_0x94c1b2['attributes']?_0x94c1b2['attributes']:{};await this['_loadRoot'](_0x1c183e,_0x9cc894,_0x2fa69b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x98f4f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x98f4f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4bd195){const _0x399eb8=this['editor']['plugins']['get'](_0x4a45f7),{connection:_0x869f7e}=this['editor']['plugins']['get'](c),_0x179a41=new Set();for(const _0x3e78b6 of _0x4bd195){const _0x3f6905=_0x3e78b6['_authorId'];_0x3f6905&&!_0x399eb8['getUser'](_0x3f6905)&&_0x179a41['add'](_0x3f6905);}if(0x0===_0x179a41['size'])return;const _0x56040c=await lt['getMany'](_0x869f7e,Array['from'](_0x179a41));for(const _0x3c791f of _0x56040c)_0x399eb8['getUser'](_0x3c791f['id'])||_0x399eb8['addUser'](_0x3c791f);}['_getOperationsFromInitData'](_0x2da0be,_0x341ca4={}){const _0x1066d0=this['editor']['model'],_0x22d0a9=[];let _0x2479be=0x0;const _0x1653ff='string'==typeof _0x2da0be?{'main':_0x2da0be}:_0x2da0be;for(const _0xee02e1 of Object['keys'](_0x1653ff)){if(!this['_document']['roots']['has'](_0xee02e1))throw new _0x206d07('realtimecollaborationclient-init-non-existent-root',this);const _0x24075e=this['editor']['data']['parse'](_0x1653ff[_0xee02e1]),_0x35e58e=this['_document']['getRoot'](_0xee02e1),_0x1cac52=new _0x5ce49d(_0x1066d0['createPositionAt'](_0x35e58e,0x0),_0x24075e,_0x2479be++);_0x22d0a9['push'](_0x1cac52);for(const [_0x2db69e,_0x5b86cc]of _0x24075e['markers']){const _0x4ce9f4=_0x1066d0['createRange'](_0x1066d0['createPositionFromPath'](_0x35e58e,_0x5b86cc['start']['path']['slice']()),_0x1066d0['createPositionFromPath'](_0x35e58e,_0x5b86cc['end']['path']['slice']())),_0x55c4ea=new _0x9174b3(_0x2db69e,null,_0x4ce9f4,_0x1066d0['markers'],!0x0,_0x2479be++);_0x22d0a9['push'](_0x55c4ea);}}if(_0x341ca4)for(const [_0x5446a1,_0x303044]of Object['entries'](_0x341ca4)){const _0x492049=_0x1066d0['document']['getRoot'](_0x5446a1);if(!_0x492049)throw new _0x206d07('multi-root-editor-root-attributes-no-root',null);for(const [_0x18c402,_0x5e5352]of Object['entries'](_0x303044))if(null!==_0x5e5352){const _0x49dfdb=new _0x178eb8(_0x492049,_0x18c402,null,_0x5e5352,_0x2479be++);_0x22d0a9['push'](_0x49dfdb);}}return _0x22d0a9;}async['_loadRoot'](_0x5d43b3,_0x36f54a,_0x27b867){this['_getOperationsFromInitData']({[_0x5d43b3]:_0x36f54a},{[_0x5d43b3]:_0x27b867})['forEach']((_0x5b4bda,_0x31de9d)=>{_0x5b4bda['baseVersion']=this['_document']['version']+_0x31de9d,_0x5b4bda['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5b4bda);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x47f6b8,_0x4aac5a){let _0x29fdf9;this['_offset']=_0x47f6b8['offset'];const _0x517db5=_0x47f6b8['wereChangesApplied']&&!_0x47f6b8['initData'],_0x26f454=_0x517db5?0x0:_0x47f6b8['data']['baseVersion'];if(_0x4aac5a['forEach'](_0x4f1849=>{_0x4f1849['_isInit']=!0x0,_0x4f1849['createdAt']=_0x47f6b8['sessionCreatedAt'],_0x4f1849['_authorId']=null;}),_0x517db5)_0x29fdf9=_0x4aac5a,this['_applyOperationsSet'](_0x29fdf9,_0x517db5);else{if(_0x47f6b8['initData']){const _0x3dbf7d=this['_getOperationsFromInitData'](_0x47f6b8['initData']);this['_document']['history']['version']=-_0x3dbf7d['length'],_0x3dbf7d['forEach'](_0x33b549=>{_0x33b549['baseVersion']-=_0x3dbf7d['length'],_0x33b549['createdAt']=_0x47f6b8['sessionCreatedAt'],_0x33b549['_isInit']=!0x0,_0x33b549['_authorId']=null;}),this['_applyOperationsSet'](_0x3dbf7d,!0x0),this['serverHistory']['version']=-_0x3dbf7d['length']+this['_offset'],this['_updateServerHistory'](_0x3dbf7d);}this['_document']['history']['version']=_0x26f454,_0x29fdf9=this['_decompressOperations'](_0x47f6b8['data'],_0x47f6b8['metadata']),await this['_fetchMissingUsers'](_0x29fdf9),this['_applyOperationsSet'](_0x29fdf9,_0x517db5);}_0x47f6b8['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x29fdf9,_0x47f6b8['lastOperationId']),this['_lastSyncedOperationId']=_0x47f6b8['lastOperationId']),this['serverHistory']['version']=_0x26f454+this['_offset'],this['_updateServerHistory'](_0x29fdf9),_0x4aac5a['filter'](_0x3b878a=>{const _0x24bcf3=this['_getAffectedRoot'](_0x3b878a);return _0x24bcf3&&!this['_knownRootNames']['has'](_0x24bcf3);})['forEach']((_0xa5f94e,_0x1b3035)=>{_0xa5f94e['baseVersion']=this['_document']['version']+_0x1b3035,this['_saveOperationInBuffer'](_0xa5f94e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3e8bed,_0x1e412b){throw this['_isPendingUpdate']=!0x0,_0x1e412b&&console['error'](_0x1e412b),new _0x206d07(_0x3e8bed,this['editor']);}['_saveOperationInBuffer'](_0x355b44){this['_knownOperations']['has'](_0x355b44)||(this['_knownOperations']['add'](_0x355b44),this['_bufferedOperations']['push'](_0x355b44),this['_pendingAction']||'marker'==_0x355b44['type']&&!_0x355b44['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3e7edd=!0x1){!_0x3e7edd&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x41d858=>{_0x41d858&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x35b8f4=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x367109){return _0x367109['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x367109['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x367109['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x35b8f4))throw _0x35b8f4;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x4c162c=>{this['on']('change:_isPendingUpdate',()=>{_0x4c162c();});});}async['_sendBufferedOperations'](){const _0x192bc6=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x192bc6['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4b5bc6=[...this['_bufferedOperations']];for(const _0x2790de of _0x4b5bc6)_0x2790de['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2790de);const _0x44e384=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4b5bc6),_0xa54fe0=K++,_0x28fd08=this['_compressOperations'](_0x4b5bc6),_0x28a8d0=await this['_service']['sendOperations'](_0x28fd08,_0x28fd08['baseVersion'],_0x44e384);try{return await this['_handleServerResponse'](_0x4b5bc6,_0x28a8d0,_0xa54fe0);}catch(_0x48f284){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x48f284);}}async['_handleServerResponse'](_0x4642e0,_0xfc3a9b,_0x564ceb){if('error'in _0xfc3a9b)throw _0xfc3a9b['error'];let _0x4df8ec=!0x1;if(_0xfc3a9b['wereChangesApplied']){_0xfc3a9b['lastOperationId']&&(this['_lastSyncedOperationId']=_0xfc3a9b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x18cd95=>!_0x4642e0['includes'](_0x18cd95));for(const _0x2974b2 of _0x4642e0)_0x2974b2['createdAt']='lastOperationAcceptedAt'in _0xfc3a9b&&_0xfc3a9b['lastOperationAcceptedAt']||void 0x0;Q(_0x4642e0,_0xfc3a9b['version']-_0x4642e0['length']),this['_updateServerHistory'](_0x4642e0);const _0xe79c3f=_0x4642e0['filter'](_0x3eb0a0=>{if(!_0x3eb0a0['_isInit'])return!0x1;const _0x1b1b65=this['_getAffectedRoot'](_0x3eb0a0);return _0x1b1b65&&!this['_knownRootNames']['has'](_0x1b1b65);});Q(_0xe79c3f,this['_document']['version']),this['_applyOperationsSet'](_0xe79c3f),_0x4df8ec=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x21336c=this['_decompressOperations'](_0xfc3a9b['data'],_0xfc3a9b['metadata'])['filter'](_0x378063=>_0x378063['baseVersion']>=this['_lastServerVersion']);_0x21336c['forEach'](_0x199cdc=>this['_addKnownRoot'](_0x199cdc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x28b3ee=>!_0x28b3ee['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x28b3ee))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x21336c),_0x4df8ec=this['_handleExternalOperations'](_0x21336c,_0xfc3a9b['version'],_0xfc3a9b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4df8ec?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x101b8e,_0x5e3bec,_0x47d13c){try{const _0x2bf27d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3949cf,operationsB:_0x34f46d,originalOperations:_0x1fb08f}=_0x28de76(_0x101b8e,this['_bufferedOperations'],_0x2bf27d);Q(_0x3949cf,this['_document']['version']),Q(_0x34f46d,_0x5e3bec);for(const _0x109e34 of _0x3949cf){const _0x4ac739=_0x1fb08f['get'](_0x109e34);_0x109e34['_authorId']=_0x4ac739?_0x4ac739['_authorId']:null;}_0x47d13c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x101b8e,_0x47d13c),this['_lastSyncedOperationId']=_0x47d13c),this['_bufferedOperations']=[..._0x34f46d],this['_applyOperationsSet'](_0x3949cf),this['_updateServerHistory'](_0x101b8e);}catch(_0xd820ec){return console['error'](_0xd820ec),!0x1;}return!0x0;}['_applyOperationsSet'](_0x68b89f,_0x3a3dc5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xa22ad2=>{for(const _0x4bf683 of _0x68b89f)this['_knownOperations']['add'](_0x4bf683),this['_addKnownRoot'](_0x4bf683),_0xa22ad2['batch']['addOperation'](_0x4bf683),this['editor']['model']['applyOperation'](_0x4bf683);});}['_addKnownRoot'](_0x383b9b){const _0x5cf4d2=this['_getAffectedRoot'](_0x383b9b);_0x5cf4d2&&this['_knownRootNames']['add'](_0x5cf4d2);}['_getAffectedRoot'](_0x31f4d1){let _0x2a020d,_0x22d008;switch(_0x31f4d1['type']){case'insert':_0x2a020d=_0x31f4d1['position']['root'];break;case'marker':if(_0x22d008=_0x31f4d1['newRange'],!_0x22d008)return null;_0x2a020d=_0x22d008['root'];break;case'addRootAttribute':_0x2a020d=_0x31f4d1['root'];break;case'addRoot':_0x2a020d=_0x31f4d1['affectedSelectable'];break;case'move':_0x2a020d=_0x31f4d1['targetPosition']['root'];break;default:return null;}return _0x2a020d['rootName'];}['_updateServerHistory'](_0x36aefa){_0x36aefa['forEach'](_0x4ba40b=>{const _0xa6c153=_0x4ba40b['clone']();_0xa6c153['_authorId']=_0x4ba40b['_authorId'],_0xa6c153['_isInit']=!!_0x4ba40b['_isInit'],_0xa6c153['createdAt']=_0x4ba40b['createdAt'],_0xa6c153['baseVersion']+=this['_offset'],_0x4ba40b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xa6c153),this['serverHistory']['addOperation'](_0xa6c153);});}['_handleReconnectionError'](_0x386117){const _0x2325eb=this['editor']['plugins']['get']('Notification'),_0x44f589=this['editor']['locale'];_0x386117||(_0x386117=q(_0x44f589,'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.')),_0x2325eb['showWarning'](_0x386117,{'title':q(_0x44f589,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5b4c88)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5b4c88)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2c4627){const _0x4aaaac=_0x2c4627['map'](_0x378d79=>_0x378d79['toJSON']());return this['_compressor']['compress'](_0x4aaaac);}['_decompressOperations'](_0x527636,_0x307ec0){return this['_compressor']['decompress'](_0x527636)['map']((_0x3e4b02,_0x5ddad0)=>{const _0x34eaa0='init'==_0x307ec0[_0x5ddad0]['type'];if('InsertOperation'==_0x3e4b02['__className']){const _0x6df189=_0x3e4b02['position']['root'];!this['_document']['getRoot'](_0x6df189)&&(this['_document']['createRoot']('$root',_0x6df189)['_isAttached']=!0x1);}const _0x3ed955=_0x5678b3['fromJSON'](_0x3e4b02,this['_document']);return _0x3ed955['wasUndone']=_0x3e4b02['wasUndone'],_0x3ed955['_isInit']=_0x34eaa0,_0x3ed955['_authorId']=_0x34eaa0?null:_0x307ec0[_0x5ddad0]['userId'],_0x3ed955['_isDisconnection']='cs:removeUser'===_0x307ec0[_0x5ddad0]['type'],_0x3ed955['createdAt']=_0x307ec0[_0x5ddad0]['createdAt'],_0x3ed955;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x46282e=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x46282e&&_0x46282e['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0xa05e72,_0x31eeab){for(const _0x5f4667 of _0xa05e72)_0x5f4667['baseVersion']=_0x31eeab++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x359f44){this['_ignoredOperations']=_0x359f44,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2f041b){let _0x175d48=_0x2f041b['length'];for(;_0x175d48--;){const _0x5cc40a=_0x2f041b[_0x175d48];if(!this['_ignoredOperations']['has'](_0x5cc40a)){if(!this['_operationToId']['has'](_0x5cc40a)){const _0x339ed7=_0x21753f()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5cc40a,_0x339ed7);}return this['_operationToId']['get'](_0x5cc40a);}}}['setIdForTheLastOperation'](_0x3e9b74,_0x16e64f){if(!_0x16e64f)return;let _0x10e91b=_0x3e9b74['length'];for(;_0x10e91b--;){const _0xc3e74=_0x3e9b74[_0x10e91b];this['_ignoredOperations']['has'](_0xc3e74)||this['_operationToId']['set'](_0xc3e74,_0x16e64f);}}}class n extends _0x4dbc33{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x14461c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3ca7eb)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x4a45f7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x4e0608){super(_0x4e0608),this['_services']=new Map();}async['init'](){const _0x3de3e7=this['context'],_0x4a4428=_0x3de3e7['plugins']['get']('CommentsRepository');if(_0x3de3e7['plugins']['get'](c)['addToReconnectionStack'](this),_0x4a4428['adapter']={'addCommentThread':async({channelId:_0x2a4666,threadId:_0x52b739,comments:_0x1f3db1,resolvedAt:_0x8b3726,resolvedBy:_0x52b144,context:_0x39ed9b,attributes:_0x16ae4a})=>{const _0x1e244a=await this['_getService'](_0x2a4666)['addCommentThread']({'commentThreadId':_0x52b739,'comments':_0x1f3db1['map'](_0x437fb1=>function(_0x377407,_0x2a34a3,_0x257d75){return{'commentThreadId':_0x257d75,'commentId':_0x377407['commentId'],'userId':_0x377407['authorId'],'content':_0x377407['content'],'documentId':_0x2a34a3,'createdAt':_0x377407['createdAt'],'attributes':_0x377407['attributes']||{}};}(_0x437fb1,_0x2a4666,_0x52b739)),'resolvedAt':_0x8b3726,'resolvedBy':_0x52b144,'context':_0x39ed9b,'attributes':_0x16ae4a})['catch'](ut);return{'threadId':_0x1e244a['commentThreadId'],'comments':_0x1e244a['comments']};},'getCommentThread':async({channelId:_0x101c5e,threadId:_0x5c3cb3})=>{const _0x319ad4=await this['_getService'](_0x101c5e)['getCommentThread'](_0x5c3cb3)['catch'](ut);return _0x319ad4['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x319ad4]),{'threadId':_0x319ad4['commentThreadId'],'comments':_0x319ad4['comments']['map'](S),'context':_0x319ad4['context'],'resolvedAt':_0x319ad4['resolvedAt'],'resolvedBy':_0x319ad4['resolvedBy'],'attributes':_0x319ad4['attributes']||{}});},'updateCommentThread':async({channelId:_0x2921e5,threadId:_0x2f7b5b,context:_0x4f91af,unlinkedAt:_0x2eb1e0,attributes:_0x1f1fb8})=>this['_getService'](_0x2921e5)['updateCommentThread']({'commentThreadId':_0x2f7b5b,'context':_0x4f91af,'attributes':_0x1f1fb8,'unlinkedAt':_0x2eb1e0})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0x277500,threadId:_0x28040f})=>{const _0x2332ed=await this['_getService'](_0x277500)['resolveCommentThread'](_0x28040f)['catch'](B)['catch'](ut);return{'threadId':_0x2332ed['commentThreadId'],'resolvedAt':_0x2332ed['resolvedAt'],'resolvedBy':_0x2332ed['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4c3e08,threadId:_0x457d9c})=>this['_getService'](_0x4c3e08)['reopenCommentThread'](_0x457d9c)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x11eeb8,threadId:_0x4e2eb5})=>this['_getService'](_0x11eeb8)['removeCommentThread'](_0x4e2eb5)['catch'](B)['catch'](ut),'addComment':({channelId:_0x45b5a2,threadId:_0xe3d97d,commentId:_0x26baf,content:_0x2db536,attributes:_0x30f661})=>this['_getService'](_0x45b5a2)['addComment'](_0xe3d97d,_0x26baf,_0x2db536,_0x30f661)['catch'](ut),'updateComment':({channelId:_0x90fb45,threadId:_0x130db2,commentId:_0x2f8138,content:_0x34c912,attributes:_0x274aac})=>this['_getService'](_0x90fb45)['updateComment'](_0x130db2,_0x2f8138,_0x34c912,_0x274aac)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x2330e4,threadId:_0x5a88a7,commentId:_0x149636})=>this['_getService'](_0x2330e4)['removeComment'](_0x5a88a7,_0x149636)['catch'](B)['catch'](ut)},_0x3de3e7 instanceof _0x2df86d){const _0x1c656d=_0x3de3e7['config']['get']('collaboration.channelId'),_0x589515=_0x3de3e7['plugins']['get'](r);await this['_setUpService'](_0x1c656d);const _0xfcec11=await this['_services']['get'](_0x1c656d)['getConnectedSessions']();this['listenTo'](_0x589515,'sessionAdd:'+_0x1c656d,(_0x15c5da,{session:_0x97ea8e})=>{_0x97ea8e['id']===_0x589515['mySessionId']&&(_0x15c5da['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x97ea8e['permissions'],_0x1c656d));}),_0x589515['register'](_0x1c656d,_0xfcec11);}}async['_setUpService'](_0x310293){if(this['_services']['has'](_0x310293))throw new _0x206d07('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x310293});const _0xb4de16=this['context']['plugins']['get']('CommentsRepository'),_0x59621b=new a['CommentsService'](_0x310293);this['_services']['set'](_0x310293,_0x59621b),this['listenTo'](_0x59621b,'commentThreadAdded',(_0x2bf36b,_0x200853)=>{const {commentThreadId:_0x527f47,documentId:_0x45519e,context:_0x43a4d5,attributes:_0x3dfb1b,resolvedAt:_0x1e6b6e,resolvedBy:_0x7e8744,comments:_0x56ca9f}=_0x200853;_0xb4de16['getCommentThread'](_0x527f47)||_0xb4de16['addCommentThread']({'threadId':_0x527f47,'channelId':_0x45519e,'comments':_0x56ca9f?_0x56ca9f['map'](S):[],'context':_0x43a4d5,'attributes':_0x3dfb1b,'resolvedAt':_0x1e6b6e,'resolvedBy':_0x7e8744,'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentThreadUpdated',(_0x575bf1,{commentThreadId:_0x26b89c,documentId:_0x2bf01f,context:_0x1dbd10,unlinkedAt:_0x4d76a7,attributes:_0x36ca35})=>{_0xb4de16['getCommentThread'](_0x26b89c)&&_0xb4de16['updateCommentThread']({'threadId':_0x26b89c,'channelId':_0x2bf01f,'context':_0x1dbd10,'unlinkedAt':_0x4d76a7,'attributes':_0x36ca35,'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentThreadResolved',(_0x2784b9,{commentThreadId:_0x1c4081,resolvedBy:_0x4d6116,resolvedAt:_0x9219cd})=>{const _0x43b171=_0xb4de16['getCommentThread'](_0x1c4081);_0x43b171&&_0x43b171['resolve']({'resolvedBy':_0x4d6116,'resolvedAt':_0x9219cd,'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentThreadReopened',(_0x23b6c7,{commentThreadId:_0x55b05f})=>{const _0x1f3f05=_0xb4de16['getCommentThread'](_0x55b05f);_0x1f3f05&&_0x1f3f05['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentThreadRemoved',(_0x4626ab,{commentThreadId:_0x5980c4})=>{const _0x525cee=_0xb4de16['getCommentThread'](_0x5980c4);_0x525cee&&_0x525cee['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentAdded',(_0x38d38a,_0x1e5655)=>{const _0x4da5ce=_0x1e5655['commentThreadId'],_0xc0f54f=_0xb4de16['getCommentThread'](_0x4da5ce);_0xc0f54f&&_0xc0f54f['addComment']({...S(_0x1e5655),'isFromAdapter':!0x0});}),this['listenTo'](_0x59621b,'commentUpdated',(_0x22263f,{commentThreadId:_0xc2f583,commentId:_0x5c71e7,content:_0xe735d5,attributes:_0x1d73d4})=>{const _0x3cd9c3=_0xb4de16['getCommentThread'](_0xc2f583);if(_0x3cd9c3){const _0x3975d5=_0x3cd9c3['getComment'](_0x5c71e7);_0x3975d5&&_0x3975d5['update']({'content':_0xe735d5,'attributes':_0x1d73d4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x59621b,'commentRemoved',(_0xe2fe3a,{commentThreadId:_0x538681,commentId:_0x1ca259})=>{const _0x337aef=_0xb4de16['getCommentThread'](_0x538681);if(_0x337aef){const _0x3694c2=_0x337aef['getComment'](_0x1ca259);_0x3694c2&&_0x3694c2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x310293);}['destroy'](){if(this['context']instanceof _0x2df86d){const _0x4cda14=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4cda14);}}['_terminateService'](_0xa692a8){if(!this['_services']['has'](_0xa692a8))throw new _0x206d07('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xa692a8});this['_getService'](_0xa692a8)['disconnect'](),this['_services']['delete'](_0xa692a8);}async['reconnect'](){for(const _0x122dbb of this['_services']['keys']())await this['_connectService'](_0x122dbb);if(this['context']instanceof _0x2df86d){const _0xfa27b7=this['context']['config']['get']('collaboration.channelId'),_0x14fe62=this['context']['plugins']['get'](r);_0x14fe62['unregister'](_0xfa27b7);const _0x2c7e84=await this['_services']['get'](_0xfa27b7)['getConnectedSessions']();_0x14fe62['register'](_0xfa27b7,_0x2c7e84);}}async['_connectService'](_0x487e87){const {connection:_0x13f680}=this['context']['plugins']['get'](c),_0x3a58f2=this['context']['plugins']['get']('CommentsRepository'),_0x27be84=this['_services']['get'](_0x487e87),_0x3d40f3=await _0x27be84['connect'](_0x13f680);await this['_fetchMissingUsersForThreads'](_0x3d40f3);const _0x146336=new Set(Array['from'](_0x3a58f2['getCommentThreads']({'channelId':_0x487e87}),_0xe860e6=>_0xe860e6['id']));for(const _0x209d4c of _0x3d40f3)_0x209d4c['deletedAt']||_0x146336['delete'](_0x209d4c['commentThreadId']);for(const _0x2a4a38 of _0x146336)_0x3a58f2['getCommentThread'](_0x2a4a38)['remove']({'isFromAdapter':!0x0});for(const _0xd8698 of _0x3d40f3){let _0x24ece3=_0x3a58f2['getCommentThread'](_0xd8698['commentThreadId']);const {commentThreadId:_0x3ee825,context:_0xbb4736,attributes:_0x1f394b,resolvedBy:_0x2aa270,resolvedAt:_0x2ae6c5,unlinkedAt:_0x35cf67,deletedAt:_0x290266}=_0xd8698;if(_0x290266)continue;_0x24ece3||(_0x24ece3=_0x3a58f2['addCommentThread']({'channelId':_0x487e87,'threadId':_0x3ee825,'context':_0xbb4736,'attributes':_0x1f394b||{},'resolvedBy':_0x2aa270,'resolvedAt':_0x2ae6c5,'unlinkedAt':_0x35cf67,'isFromAdapter':!0x0}));const _0x5df089=new Set(Array['from'](_0x24ece3['comments'],_0x12b501=>_0x12b501['id']));for(const _0x5497a2 of _0xd8698['comments'])_0x5df089['delete'](_0x5497a2['commentId']);for(const _0x5a22e3 of _0x5df089)_0x24ece3['getComment'](_0x5a22e3)['remove']({'isFromAdapter':!0x0});for(const _0x287e56 of _0xd8698['comments']){const _0x15859c=_0x24ece3['getComment'](_0x287e56['commentId']);_0x15859c?_0x15859c['content']!==_0x287e56['content']&&_0x15859c['update']({'content':_0x287e56['content'],'isFromAdapter':!0x0}):_0x24ece3['addComment'](Object['assign'](S(_0x287e56),{'isFromAdapter':!0x0}));}}}['_getService'](_0x30e61c){if(!this['_services']['has'](_0x30e61c))throw new _0x206d07('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x30e61c});return this['_services']['get'](_0x30e61c);}async['_fetchMissingUsersForThreads'](_0x15a310){const _0x5231a3=this['context']['plugins']['get'](_0x4a45f7),{connection:_0x16e34d}=this['context']['plugins']['get'](c),_0x4e169f=new Set();for(const {resolvedBy:_0xe52721,comments:_0x34cd5d}of _0x15a310){_0xe52721&&!_0x5231a3['getUser'](_0xe52721)&&_0x4e169f['add'](_0xe52721);for(const {userId:_0x2bf5be}of _0x34cd5d)_0x5231a3['getUser'](_0x2bf5be)||_0x4e169f['add'](_0x2bf5be);}if(0x0===_0x4e169f['size'])return;const _0x468095=await lt['getMany'](_0x16e34d,Array['from'](_0x4e169f));for(const _0x357186 of _0x468095)_0x5231a3['getUser'](_0x357186['id'])||_0x5231a3['addUser'](_0x357186);}}async function B(_0x326633){if('404'!==_0x326633['code'])throw _0x326633;}function ut(_0x427cf4){if((_0x4b95e5=_0x427cf4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4b95e5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b95e5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4b95e5;throw _0x427cf4;}function S(_0x1b3b55){return{'threadId':_0x1b3b55['commentThreadId'],'commentId':_0x1b3b55['commentId'],'content':_0x1b3b55['content'],'createdAt':_0x1b3b55['createdAt'],'authorId':_0x1b3b55['userId'],'attributes':_0x1b3b55['attributes']||{}};}class g extends _0x4dbc33{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x478e36){super(_0x478e36);const _0x425bd4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x425bd4);}['init'](){const _0x4a8d84=this['editor']['plugins']['get'](c),_0x52eb85=this['editor']['plugins']['get']('TrackChangesEditing');return _0x52eb85['adapter']={'getSuggestion':async _0x300135=>{await this['_waitForServiceReady']();const _0x578031=await this['_trackChangesService']['get'](_0x300135)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x578031]),_0x578031;},'addSuggestion':async({id:_0x1fd471,type:_0x1c652f,data:_0x3e59de,originalSuggestionId:_0x1b710f,attributes:_0x3df9ef})=>{await this['_waitForServiceReady']();const _0x5ed630={'id':_0x1fd471,'type':_0x1c652f,'data':_0x3e59de,'originalSuggestionId':_0x1b710f,'attributes':_0x3df9ef},_0x46c915=await this['_trackChangesService']['add'](_0x1fd471,_0x1c652f,_0x3e59de,_0x1b710f,_0x3df9ef)['catch'](_0x430beb=>{if(ft(_0x430beb))return new Promise(_0x4fb1a9=>{this['_bufferedRequests']['set'](_0x1fd471,{'resolve':_0x4fb1a9,'suggestionData':_0x5ed630});});throw _0x430beb;});return this['_bufferedRequests']['delete'](_0x1fd471),_0x46c915;},'updateSuggestion':async(_0x292c61,_0x232d54)=>{if(await this['_waitForServiceReady'](),'open'!==_0x232d54['state'])return this['_trackChangesService']['update'](_0x292c61,_0x232d54)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xdacba3,_0x24bba6)=>{_0x52eb85['hasSuggestion'](_0x24bba6['id'])&&(_0x52eb85['getSuggestion'](_0x24bba6['id'])['attributes']=_0x24bba6['attributes']);}),this['_trackChangesService']['connect'](_0x4a8d84['connection'])['then'](_0x4ee103=>(_0x4a8d84['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4ee103)['then'](()=>{for(const _0x469213 of _0x4ee103){_0x52eb85['addSuggestionData'](_0x469213)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3051b8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2bdf29}=this['editor']['plugins']['get'](c),_0x3496b4=await this['_trackChangesService']['connect'](_0x2bdf29);await this['_fetchMissingUsersForThreads'](_0x3496b4);for(const {suggestionData:_0x464d37,resolve:_0x2ec46c}of this['_bufferedRequests']['values']()){let _0x66e931=_0x3496b4['find'](_0x50dd96=>_0x50dd96['id']===_0x464d37['id']);_0x66e931||(_0x66e931=await this['_trackChangesService']['add'](_0x464d37['id'],_0x464d37['type'],_0x464d37['data'],_0x464d37['originalSuggestionId'])),_0x2ec46c(_0x66e931);}for(const _0x444842 of _0x3496b4)_0x3051b8['hasSuggestion'](_0x444842['id'])||_0x3051b8['addSuggestionData'](_0x444842);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3f6a64=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2c5391=>{_0x2c5391['off'](),_0x3f6a64();});});}async['_fetchMissingUsersForThreads'](_0x5c7eff){const _0x4d900b=this['editor']['plugins']['get'](_0x4a45f7),{connection:_0x173916}=this['editor']['plugins']['get'](c),_0x45de93=new Set();for(const {authorId:_0x1fccf3}of _0x5c7eff)_0x4d900b['getUser'](_0x1fccf3)||_0x45de93['add'](_0x1fccf3);if(0x0===_0x45de93['size'])return;const _0x9f1fb5=await lt['getMany'](_0x173916,Array['from'](_0x45de93));for(const _0x5e69d4 of _0x9f1fb5)_0x4d900b['getUser'](_0x5e69d4['id'])||_0x4d900b['addUser'](_0x5e69d4);}}function R(_0xd8a71f){if(ft(_0xd8a71f))return new Promise(()=>{});throw _0xd8a71f;}function ft(_0x597320){return _0x597320['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x597320['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x4dbc33{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x13f956=this['editor']['plugins']['get'](c),_0x4ec4b1=this['editor']['plugins']['get']('CommentsEditing'),_0x5c3abe=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x13f956,'change:state',(_0x5ecc3b,_0x458cdd,_0x204cf8)=>{_0x4ec4b1['isThreadsLoadingPaused']='connected'!==_0x204cf8;});}),this['listenTo'](_0x13f956,'change:state',(_0x3ca8db,_0x123a33,_0x4d5632)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4d5632);}),_0x5c3abe['_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 _0x4dbc33{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x4dbc33{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x4a45f7];}constructor(_0x548a46){super(_0x548a46);const _0x3f4753=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x3f4753);}async['init'](){const _0x4ab093=this['editor']['plugins']['get'](l),_0x43c2f6=_0x4ab093['serverHistory'],_0x33f7e1=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x43c2f6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4ab093['sessionId']});const _0x36fe09=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2a11ad=await tt['isBundleUploaded'](_0x33f7e1['connection'],_0x36fe09);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x9d244})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9d244)),'updateRevisions':async _0x4b2892=>{await this['_waitForServiceReady']();const _0x4d9c2e=this['_revisionTracker']['currentRevision'];if(_0x2a11ad&&0x1===_0x4b2892['length']&&_0x4b2892[0x0]['id']===_0x4d9c2e['id'])return _0x4b2892;for(const _0x3592f5 of _0x4b2892)_0x3592f5['id']===_0x4d9c2e['id']&&(_0x3592f5['isEmptyCurrent']=_0x3592f5['fromVersion']===_0x3592f5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4b2892,this['_lastRequestId'])['then'](_0x170473=>(this['_lastRequestId']=_0x170473,_0x4b2892))['catch'](_0x955039=>{if(st(_0x955039)||'400'===_0x955039['code']&&void 0x0!==_0x955039['data']['wrongRequestId']){for(const _0x4cbda1 of _0x4b2892){!this['_revisionTracker']['repository']['getRevision'](_0x4cbda1['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4cbda1['id'],_0x4cbda1,!0x1);}if(st(_0x955039))throw _0x955039;return _0x4b2892;}throw _0x955039;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4aa5e8,{revisionsData:_0x259033,requestId:_0x35a69a})=>{Math['max'](..._0x259033['map'](_0x4e2fa5=>_0x4e2fa5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x259033,_0x35a69a);}):this['_handleRevisionsUpdate'](_0x259033,_0x35a69a);});const {revisions:_0x2bd432,requestId:_0x164cdc}=await this['_revisionHistoryService']['connect'](_0x33f7e1['connection']);_0x33f7e1['addToReconnectionStack'](this),this['_lastRequestId']=_0x164cdc,await this['_fetchMissingUsers'](_0x2bd432);for(const _0xbe9e8d of _0x2bd432)this['_revisionTracker']['addRevisionData'](_0xbe9e8d);this['listenTo'](_0x4ab093,'change:_isConnected',(_0xd82261,_0x73158b,_0x3e8a3e)=>{_0x3e8a3e&&(this['_oldOffset']=_0x4ab093['_offset'],_0xd82261['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x33f7e1,'state',_0x31beb2=>_0x31beb2===_0x403fca['CONNECTED']);}async['reconnect'](){const _0x4b062e=this['editor']['plugins']['get'](c),_0x41c0fa=this['editor']['plugins']['get'](l),_0x5c2a61=async()=>{const _0x19dce2=this['_revisionTracker']['currentRevision'],_0x31056e=_0x19dce2['id'],_0x1911cf=_0x31056e!==_0x41c0fa['sessionId'];if(_0x1911cf){const _0x9f22cc=_0x41c0fa['_offset']-this['_oldOffset'],_0x2575df=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x19dce2['toVersion']+_0x9f22cc!==_0x2575df){const _0x3dcf71=_0x19dce2['fromVersion']+_0x9f22cc,_0x312620=this['editor']['plugins']['get'](_0x4a45f7),_0x563365=this['_revisionTracker']['buildRevisionData']({'revision':_0x19dce2,'from':_0x3dcf71,'to':_0x2575df});_0x563365['id']=_0x19dce2['id'];const _0x110797=_0x563365['authorsIds']['map'](_0x2da988=>_0x312620['getUser'](_0x2da988));_0x19dce2['_update']({..._0x563365,'authors':_0x110797},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x19dce2['id'],_0x563365,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2575df,(_0x19dce2['toVersion']===_0x19dce2['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x31056e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x31056e),this['_revisionTracker']['_createCurrentRevision'](_0x2575df));}const {revisions:_0x2933bb,requestId:_0x1f7f5d}=await this['_revisionHistoryService']['reconnect'](_0x4b062e['connection'],this['_lastRequestId']);_0x1911cf&&_0x2933bb['length']>0x0?_0x41c0fa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2933bb),this['_handleRevisionsUpdate'](_0x2933bb,_0x1f7f5d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x41c0fa['_isConnected']?_0x5c2a61():new Promise((_0xe30526,_0x44e1b9)=>{_0x41c0fa['once']('change:_isConnected',()=>{_0x5c2a61()['then'](_0xe30526)['catch'](_0x44e1b9);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xd1bf6e=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x47f33d=>{_0x47f33d['off'](),_0xd1bf6e();});});}['_getLatestVersionFromServerOperations'](){const _0x13a8b1=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1378a0 of _0x13a8b1)if('marker'!==_0x1378a0['type']||_0x1378a0['affectsData'])return _0x1378a0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2087f1=this['editor']['plugins']['get'](l);return new Promise(_0x42a0c9=>{_0x2087f1['_isPendingUpdate']?_0x2087f1['once']('change:_isPendingUpdate',()=>{_0x42a0c9(this['_getLatestVersionFromServerOperations']());}):_0x42a0c9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x28e14f,_0xc4f3ef){const _0x3edf57=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xc4f3ef;for(const _0x185494 of _0x28e14f){const _0x5afbbc=_0x3edf57['getRevision'](_0x185494['id']);if(_0x5afbbc){if((_0x185494['fromVersion']||_0x185494['toVersion'])&&(_0x185494['diffData']=null),_0x5afbbc===this['_revisionTracker']['currentRevision']){const _0x3dab7d=Math['max'](_0x5afbbc['toVersion'],_0x185494['toVersion']),_0x184596=Math['max'](_0x5afbbc['fromVersion'],_0x185494['fromVersion']);let _0x1da6bd;_0x5afbbc['toVersion']===_0x185494['toVersion']&&_0x5afbbc['fromVersion']===_0x185494['fromVersion']?(_0x1da6bd=!0x0,this['_preventResendingRevisionData'](_0x185494)):_0x185494['toVersion']===_0x3dab7d&&_0x185494['fromVersion']===_0x184596?_0x1da6bd=!0x1:(_0x5afbbc['toVersion']===_0x3dab7d&&_0x5afbbc['fromVersion']===_0x184596||this['_fixRevision']({'revision':_0x5afbbc,'from':_0x184596,'to':_0x3dab7d}),_0x1da6bd=!0x0),_0x1da6bd&&(delete _0x185494['fromVersion'],delete _0x185494['toVersion'],delete _0x185494['diffData'],delete _0x185494['createdAt'],delete _0x185494['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x185494),this['_preventResendingRevisionData'](_0x185494);}else this['_revisionTracker']['addRevisionData'](_0x185494);}const _0x4474de=_0x3edf57['getRevisions']();_0x4474de['reverse']();for(let _0x35f7d1=0x0;_0x35f7d1<_0x4474de['length']-0x1;_0x35f7d1++){const _0x434b91=_0x4474de[_0x35f7d1],_0x2c16ad=_0x4474de[_0x35f7d1+0x1];if(_0x434b91['fromVersion']<_0x2c16ad['toVersion']){const _0x45e3c0=_0x2c16ad['toVersion'],_0xae52e4=Math['max'](_0x45e3c0,_0x434b91['toVersion']);this['_fixRevision']({'revision':_0x434b91,'from':_0x45e3c0,'to':_0xae52e4});}}}['_fixRevision']({revision:_0x4a5a07,from:_0x3bbb00,to:_0x399399}={}){const _0x2b5f59=this['editor']['plugins']['get'](_0x4a45f7),_0x2a5b33=this['_revisionTracker']['buildRevisionData']({'revision':_0x4a5a07,'from':_0x3bbb00,'to':_0x399399});_0x2a5b33['authors']=_0x2a5b33['authorsIds']['map'](_0x2bfe4f=>_0x2b5f59['getUser'](_0x2bfe4f)),_0x4a5a07['_update'](_0x2a5b33);}['_preventResendingRevisionData'](_0xbb4d4f){const _0x1eb6fd={};_0x1eb6fd['id']=_0xbb4d4f['id'];for(const _0x2472ac of Object['keys'](_0xbb4d4f))'id'!==_0x2472ac&&(_0x1eb6fd[_0x2472ac]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1eb6fd['id'],_0x1eb6fd,!0x0);}async['_fetchMissingUsers'](_0x197a1b){const _0x47a37d=this['editor']['plugins']['get'](_0x4a45f7),{connection:_0x523e8d}=this['editor']['plugins']['get'](c),_0x4c3eae=new Set();for(const _0x157354 of _0x197a1b){for(const _0x2aa686 of _0x157354['authorsIds'])_0x4b519e(_0x2aa686);_0x157354['creatorId']&&_0x4b519e(_0x157354['creatorId']);}if(0x0===_0x4c3eae['size'])return;const _0x50798d=await lt['getMany'](_0x523e8d,Array['from'](_0x4c3eae));for(const _0xabc2e7 of _0x50798d)_0x47a37d['getUser'](_0xabc2e7['id'])||_0x47a37d['addUser'](_0xabc2e7);function _0x4b519e(_0x48a6b0){_0x47a37d['getUser'](_0x48a6b0)||_0x4c3eae['add'](_0x48a6b0);}}}function st(_0x3e8229){return _0x3e8229['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x3e8229['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e8229['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x4dbc33{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x1fb7fc{constructor(_0x402cca){super(_0x402cca);const _0x2929b7=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x2929b7['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x2929b7['to']('usersCount',_0x85651a=>q(_0x402cca,'CONNECTED_USERS',_0x85651a))}]});}}class es extends _0x1fb7fc{['items'];['keystrokes'];constructor(_0x12c464){super(_0x12c464);const _0x7beb45=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x36b3af(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x7beb45['if']('hasPopup'),'aria-expanded':_0x7beb45['to']('isExpanded',_0x4b7262=>this['hasPopup']&&String(_0x4b7262)),'aria-label':_0x7beb45['to']('hasPopup',_0x1efd8d=>q(_0x12c464,_0x1efd8d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x7beb45['to']('hasPopup',_0x28d649=>!!_0x28d649&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x7beb45['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0xdf0a99,_0x221347,_0xfd1da4)=>{this['element']&&(_0xfd1da4?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 L extends _0x1fb7fc{['counterView'];['inlineListView'];constructor(_0x203f69){super(_0x203f69);const _0x3ed8f1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x203f69),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x558764 of this['inlineListView']['items'])_0x558764['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',_0x3ed8f1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x1fb7fc{['listWrapperView'];constructor(_0x375b70,_0x359df3){super(_0x375b70),this['listWrapperView']=new mt(_0x375b70,_0x359df3),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x375b70,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x1b86da{constructor(_0x52fcf1,_0x1f14c2){super(_0x52fcf1);const _0x340be4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1f14c2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x340be4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x340be4['to']('role'),'aria-label':_0x340be4['to']('ariaLabel'),'aria-labelledby':_0x340be4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1e5003['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4d7419=this['element'];_0x4d7419&&(this['_isScrollable']=Math['max'](_0x4d7419['scrollHeight'],_0x4d7419['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0xe939ce,_0x2581f3,_0x81c685){super(_0xe939ce);const _0xe64a=this['bindTemplate'];this['userView']=new ct(_0xe939ce,_0x2581f3);const _0x1d0975={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2581f3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2581f3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2581f3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x81c685&&(_0x1d0975['tag']='button',_0x1d0975['on']={'click':_0xe64a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1d0975);}['focus'](){this['element']['focus']();}}class y extends _0x1fb7fc{['userView'];['markerView'];constructor(_0x1fdc97,_0xe34d6a,_0x2ff2ef){super(_0x1fdc97);const _0x13a052=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x1fdc97,_0xe34d6a),this['markerView']=new at(_0x1fdc97,_0xe34d6a);const _0x294e96=new ot(_0x1fdc97);_0x294e96['template']['tag']='span',_0x294e96['text']=_0xe34d6a['name'];const _0x145e3c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x13a052['to']('isFocusable',_0x1c45b5=>!!_0x1c45b5&&0x0),'aria-labelledby':_0x294e96['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x13a052['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x13a052['to']('hasTooltip',_0x21db08=>!_0x21db08),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x294e96]};_0x2ff2ef&&(_0x145e3c['tag']='button',_0x145e3c['on']={'click':_0x13a052['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x145e3c);}}class at extends _0x1fb7fc{constructor(_0x2c1a25,_0x4b7d7e){super(_0x2c1a25),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4b7d7e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x14461c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x2d135e){super(_0x2d135e),this['context']['config']['define']('presenceList',A);const _0x30f2b7=_0x2d135e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x30f2b7)throw new _0x206d07('presencelist-collapseat-invalid-format',this);if(_0x30f2b7<0x1)throw new _0x206d07('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x33b2c0(),this['balloonPanelView']=new _0x20d5c5(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x15ac79 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x15ac79);this['listenTo'](this['_allConnectedUsers'],'add',(_0x36fff2,_0x10d706)=>{this['_handleUserAdd'](_0x10d706);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5b8885,_0x24de09)=>{this['_handleUserRemove'](_0x24de09);});}['_createView'](){const _0x4832be=this['context'],_0x3538bc=new L(this['context']['locale']),_0x7e6eb3=this['balloonPanelView'];if(!_0x2a8347(_0x4832be['config']['get']('presenceList.container')))throw new _0x206d07('presencelist-missing-container',this);return _0x3538bc['counterView']['bind']('usersCount')['to'](this),_0x3538bc['bind']('isCollapsed')['to'](this,'usersCount',_0x65e418=>{const {collapseAt:_0x2b767d,displayMe:_0x55be0b}=_0x4832be['config']['get']('presenceList'),_0x53cf85=_0x65e418>=_0x2b767d;return _0x3538bc['counterView']['isHidden']=!(0x1==_0x65e418&&_0x55be0b||_0x53cf85),_0x53cf85||this['hideDropdown'](),_0x53cf85;}),_0x3538bc['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xaf0677=>{const _0x481c96=_0x4832be['config']['get']('presenceList'),_0x4fc1ce=new y(_0x4832be['locale'],_0xaf0677,!!_0x481c96['onClick']);return _0x4fc1ce['bind']('hasTooltip')['to'](_0x3538bc,'isCollapsed',_0x4b77f7=>!_0x4b77f7),_0x4fc1ce['bind']('isFocusable')['to'](_0x3538bc,'isCollapsed',_0x27e371=>!_0x27e371),_0x481c96['onClick']&&this['listenTo'](_0x4fc1ce,'execute',()=>{this['view']['isCollapsed']||_0x481c96['onClick'](_0xaf0677,_0x4fc1ce['element']);}),_0x4fc1ce;}),this['listenTo'](_0x3538bc['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x3538bc['inlineListView']['keystrokes']['set']('Enter',(_0x52e0f9,_0x58f81a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x58f81a());}),_0x3538bc['render'](),_0x7e6eb3['render'](),_0x5b1e4b({'emitter':_0x3538bc,'activator':()=>_0x7e6eb3['isVisible'],'contextElements':[_0x7e6eb3['element'],_0x3538bc['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4832be['config']['get']('presenceList.container')['appendChild'](_0x3538bc['element']),this['_bodyCollection']=new _0x3e84a3(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3538bc;}['_handleUserAdd'](_0x22a694){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x22a694['isMe'])return;const _0x1b1ba1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x1b1ba1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0xc9060e=_0x22a694['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x22a694,_0xc9060e);}['_handleUserRemove'](_0x9798cb){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x9798cb['id'])&&(this['currentDisplayedUsers']['remove'](_0x9798cb['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x25630f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x25630f['id']))return void this['currentDisplayedUsers']['add'](_0x25630f,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x52eb93=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x52eb93['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x5e3cd3}=this['presenceDropdownView'];_0x5e3cd3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x24c20d=>{if(!_0x52eb93['displayMe']&&_0x24c20d['isMe'])return null;const _0x40abbf=new k(this['context']['locale'],_0x24c20d,!!_0x52eb93['onClick']);return _0x52eb93['onClick']&&this['listenTo'](_0x40abbf,'execute',()=>{_0x52eb93['onClick'](_0x24c20d,_0x40abbf['element']);}),_0x40abbf;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5e3cd3['focus'](),_0x5e3cd3['checkIfScrollable']();const _0x1cfc80=(_0x35d22b,_0x318f63)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x318f63();};_0x5e3cd3['keystrokes']['set']('Esc',_0x1cfc80),_0x5e3cd3['keystrokes']['set']('Shift+Tab',_0x1cfc80),_0x5e3cd3['keystrokes']['set']('Tab',(_0x2451aa,_0x4cd3df)=>{!function(_0x391df7){const _0x30327c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1ce6ae=>_0x1ce6ae+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4d80a3=[...document['body']['querySelectorAll'](_0x30327c)]['filter'](_0x43c464=>_0x43c464===document['activeElement']||_0x43c464['offsetWidth']+_0x43c464['offsetHeight']>0x0)['sort']((_0xe4b9a6,_0x127adf)=>(_0xe4b9a6['tabIndex']||0x0)-(_0x127adf['tabIndex']||0x0)),_0x291bb7=_0x4d80a3['indexOf'](_0x391df7),_0x481e0e=_0x4d80a3[(_0x291bb7+0x1)%_0x4d80a3['length']];_0x481e0e&&_0x481e0e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4cd3df();}),_0x5e3cd3['focusTracker']['add'](this['view']['element']),_0x5e3cd3['focusTracker']['on']('change:isFocused',(_0x3df2be,_0x232a47,_0x22dc44)=>{_0x22dc44||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 i extends _0x14461c{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-real-time-collaboration",
3
- "version": "43.2.0-alpha.3",
3
+ "version": "43.2.0-alpha.5",
4
4
  "description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "CKSource (http://cksource.com/)",
@@ -42,14 +42,14 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@ckeditor/ckeditor-cloud-services-collaboration": "52.6.10",
45
- "@ckeditor/ckeditor5-core": "43.2.0-alpha.3",
46
- "@ckeditor/ckeditor5-engine": "43.2.0-alpha.3",
47
- "@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.3",
48
- "@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.3",
49
- "@ckeditor/ckeditor5-ui": "43.2.0-alpha.3",
50
- "@ckeditor/ckeditor5-utils": "43.2.0-alpha.3",
51
- "ckeditor5": "43.2.0-alpha.3",
52
- "ckeditor5-collaboration": "43.2.0-alpha.3",
45
+ "@ckeditor/ckeditor5-core": "43.2.0-alpha.5",
46
+ "@ckeditor/ckeditor5-engine": "43.2.0-alpha.5",
47
+ "@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.5",
48
+ "@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.5",
49
+ "@ckeditor/ckeditor5-ui": "43.2.0-alpha.5",
50
+ "@ckeditor/ckeditor5-utils": "43.2.0-alpha.5",
51
+ "ckeditor5": "43.2.0-alpha.5",
52
+ "ckeditor5-collaboration": "43.2.0-alpha.5",
53
53
  "lodash-es": "4.17.21"
54
54
  },
55
55
  "types": "src/index.d.ts",