@ckeditor/ckeditor5-real-time-collaboration 43.3.0-alpha.3 → 43.3.0-alpha.6

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 _0x33a461,Plugin as _0xc45049,PendingActions as _0x54a0be,Context as _0x35bf49}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xfc40d0,CKEditorError as _0x18dc38,Collection as _0x330773,global as _0x3ee391,version as nt,uid as _0xb2b188,KeystrokeHandler as _0x26df46}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xedf1a5,View as _0x3d8c1a,ListView as _0xd3dc2c,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4f7ecf,clickOutsideHandler as _0x39189a,BodyCollection as _0x361caf}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x57fa0d,NoOperation as _0x30677b,InsertOperation as _0x48cd8e,MarkerOperation as _0x1944c9,RootAttributeOperation as _0x5e1d8f,transformSets as _0x21a970,OperationFactory as _0x20d8ce}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x36fb79,CollaborativeEditingService as _0x23bfeb,User as dt,CommentsService as _0x1abf4b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4e2011,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5986db}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x19da4d}from'lodash-es';class c extends _0x33a461{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xedf1a5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e453a){super(_0x3e453a),this['set']('state',_0x36fb79['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0xfc40d0);}['init'](){const _0x29b8c2=this['context'],_0x27726e=_0x29b8c2['plugins']['get']('CloudServices'),_0x110955=_0x29b8c2['plugins']['get'](_0xedf1a5);if(!_0x27726e['token'])throw new _0x18dc38('websocketgateway-missing-token',this);if(!_0x27726e['webSocketUrl'])throw new _0x18dc38('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'](_0x27726e['token'],_0x27726e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xda812d=>{if(this['connection']=_0xda812d,this['bind']('state')['to'](_0xda812d,'state',this,'_isBrowserOffline',(_0x51e944,_0x5ec3b9)=>('connected'!==_0x51e944&&(this['_shouldPluginsReconnect']=!0x0),_0x5ec3b9||_0x51e944!==_0x36fb79['CONNECTED']?_0x36fb79['DISCONNECTED']:this['state']==_0x36fb79['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x36fb79['CONNECTING']):_0x36fb79['CONNECTED'])),this['connection']['on']('error',(_0x268710,_0x264238)=>{if('limitExceeded'!==_0x264238['code'])throw console['error'](_0x264238),new _0x18dc38('cloudservices-init',null,{'originalError':_0x264238});_0x110955['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'});}),!_0xda812d['me'])return new Promise(_0x1ec67e=>_0xda812d['on']('change:me',_0x1ec67e));})['catch'](_0x10447b=>{throw console['error'](_0x10447b),new _0x18dc38('cloudservices-init',null,{'originalError':_0x10447b});});}['addToReconnectionStack'](_0x33e40e){if('function'!=typeof _0x33e40e['reconnect'])throw new _0x18dc38('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33e40e))throw new _0x18dc38('websocketgateway-plugin-already-registered',this,{'name':_0x33e40e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33e40e);}['removeFromReconnectionStack'](_0x4edd63){this['_reconnectionStack']['delete'](_0x4edd63);}['isInReconnectionStack'](_0x592879){return this['_reconnectionStack']['has'](_0x592879);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5b93be=>_0x5b93be['reconnect']())))['then'](()=>this['state']=_0x36fb79['CONNECTED'])['catch'](_0x4eec8f=>{throw console['error'](_0x4eec8f),new _0x18dc38('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x36fb79['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x33a461{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x4e2011];}constructor(_0x133044){super(_0x133044),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x330773(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4e2011);}['init'](){const _0x3ecbd4=this['context']['plugins']['get'](c);this['listenTo'](_0x3ecbd4,'change:state',(_0x2dd79d,_0x79b58b,_0x4b31ed)=>{if('connected'!==_0x4b31ed)this['channelSessions']['forEach'](_0x168571=>_0x168571['clear']()),this['channelConnectedUsers']['forEach'](_0x541759=>_0x541759['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2008d1,_0x240073]of this['_registeredSessions'])for(const _0x2a2cdb of _0x240073)this['_handleSessionAdd'](_0x2008d1,_0x2a2cdb);}}),this['_createUser'](_0x3ecbd4['connection']['me'],!0x0);}['register'](_0x2c968b,_0x82bc1){if(this['_registeredSessions']['has'](_0x2c968b))throw new _0x18dc38('sessions-register-already-registered',null,{'channelId':_0x2c968b});this['_registeredSessions']['set'](_0x2c968b,_0x82bc1),this['channelSessions']['set'](_0x2c968b,new _0x330773()),this['channelConnectedUsers']['set'](_0x2c968b,new _0x330773()),this['listenTo'](_0x82bc1,'add',(_0x4c6244,_0x37d24d)=>this['_handleSessionAdd'](_0x2c968b,_0x37d24d)),this['listenTo'](_0x82bc1,'remove',(_0x39c1af,_0x3a7ef1)=>this['_handleSessionRemove'](_0x2c968b,_0x3a7ef1));for(const _0x59e344 of _0x82bc1)this['_handleSessionAdd'](_0x2c968b,_0x59e344);}['unregister'](_0x1a3cf6){if(!this['_registeredSessions']['has'](_0x1a3cf6))throw new _0x18dc38('sessions-unregister-not-exist',null,{'channelId':_0x1a3cf6});const _0x32f280=this['_registeredSessions']['get'](_0x1a3cf6);this['stopListening'](_0x32f280);for(const _0x1e3375 of _0x32f280)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x1a3cf6,_0x1e3375);this['_registeredSessions']['delete'](_0x1a3cf6),this['channelSessions']['delete'](_0x1a3cf6),this['channelConnectedUsers']['delete'](_0x1a3cf6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x27a175){for(const _0x33229c of this['channelSessions']['values']())for(const _0x1a2677 of _0x33229c)if(_0x1a2677['id']===_0x27a175)return _0x1a2677['user'];}['getUserSessions'](_0x1fb158,_0x3f5ba2){const _0x46390f=_0x3f5ba2?[this['channelSessions']['get'](_0x3f5ba2)]:this['channelSessions']['values'](),_0x546a66=new Set();for(const _0x30416f of _0x46390f)for(const _0x53b33b of _0x30416f)_0x53b33b['user']['id']===_0x1fb158['id']&&_0x546a66['add'](_0x53b33b['id']);return _0x546a66;}['getUserRole'](_0x50a0c8){for(const _0x1fd289 of this['channelSessions']['values']())for(const _0x366adf of _0x1fd289)if(_0x366adf['user']===_0x50a0c8)return _0x366adf['role'];}['_handleSessionAdd'](_0x5025f2,_0x41bd90){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5f4dc4=_0x41bd90['user'],_0x25fb28=this['_users']['getUser'](_0x5f4dc4['id'])||this['_createUser'](_0x5f4dc4),_0x1ed0bd=Object['assign']({},_0x41bd90,{'user':_0x25fb28});this['channelSessions']['get'](_0x5025f2)['add'](_0x1ed0bd);const _0x25401e=this['channelConnectedUsers']['get'](_0x5025f2);_0x25401e['has'](_0x25fb28['id'])||_0x25401e['add'](_0x25fb28),this['allConnectedUsers']['has'](_0x25fb28['id'])||this['allConnectedUsers']['add'](_0x25fb28,_0x25fb28['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5025f2,{'channelId':_0x5025f2,'session':_0x1ed0bd});}['_handleSessionRemove'](_0x2cfce8,_0x42eae4){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16da30=this['channelConnectedUsers']['get'](_0x2cfce8),_0x392c0e=_0x42eae4['user'];_0x392c0e['id']&&(this['channelSessions']['get'](_0x2cfce8)['remove'](_0x42eae4['id']),_0x16da30['has'](_0x392c0e['id'])&&!this['getUserSessions'](_0x392c0e,_0x2cfce8)['size']&&_0x16da30['remove'](_0x392c0e['id']),this['allConnectedUsers']['get'](_0x392c0e['id'])&&!this['getUserSessions'](_0x392c0e)['size']&&this['allConnectedUsers']['remove'](_0x392c0e['id']));}['_createUser'](_0x13c863,_0x17ff08){const _0xee5510=this['_users']['addUser'](_0x13c863);return _0x17ff08&&this['_users']['defineMe'](_0x13c863['id']),_0xee5510['orderNumber']=this['_uniqueUsersCount']++,_0xee5510;}}class H extends _0xc45049{['_domEmitter']=new(_0xfc40d0())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5f4421=this['editor'],_0x5059c1=_0x5f4421['plugins']['get'](i);_0x5f4421['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x84b627,{writer:_0x1f270d})=>function(_0x19ab77,_0x4e37d4,_0x21dfee,_0x4f0d57){const _0x246ec2=_0x19ab77['markerName']['split'](':')[0x2],_0x4daeb1=_0x21dfee['getUserBySessionId'](_0x246ec2);if(!_0x4daeb1||_0x246ec2===_0x21dfee['mySessionId'])return;if(!_0x4f0d57['model']['schema']['checkChild'](_0x19ab77['markerRange']['start'],'$text'))return;const _0x400dd9={'class':'ck-user__marker\x20'+_0x4daeb1['color']['getMarkerClass'](),'data-name':_0x4daeb1['name'],'data-session-id':_0x246ec2},_0x5d563b=_0x4f0d57['model']['markers']['get'](_0x19ab77['markerName']),_0x1aac7f=_0x5d563b['getStart'](),_0x17db4c=_0x1aac7f['nodeAfter'],_0x461618=_0x4f0d57['model']['schema'];if(_0x17db4c&&_0x461618['isObject'](_0x17db4c)&&_0x461618['isInline'](_0x17db4c)&&!_0x4f0d57['model']['markers']['get']('user:range:'+_0x246ec2)['getRange']()['isCollapsed'])return;const _0x57d537=_0x1aac7f['parent'];return _0x4f0d57['model']['schema']['isLimit'](_0x57d537)&&!_0x4f0d57['model']['hasContent'](_0x57d537)&&(_0x400dd9['contenteditable']=!0x1),function(_0x36518f,_0x25d57f,_0x2b5408){const _0x1f65ec=_0x36518f['createUIElement']('span',_0x25d57f);return _0x36518f['setCustomProperty']('userPositionMarker',!0x0,_0x1f65ec),_0x1f65ec['render']=function(_0x56a3f9){const _0x273cc9=this['toDomElement'](_0x56a3f9);return _0x273cc9['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>'+_0x2b5408['name']+'</span>⁠',_0x273cc9['addEventListener']('mouseenter',()=>{_0x273cc9['classList']['add']('ck-user__marker_hovered');}),_0x273cc9['addEventListener']('mouseleave',()=>{_0x273cc9['classList']['remove']('ck-user__marker_hovered');}),_0x273cc9;},_0x1f65ec['isSimilar']=function(_0x187862){return!(!this['getCustomProperty']('userPositionMarker')||!_0x187862['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x187862['getAttribute']('data-session-id'));},_0x1f65ec;}(_0x4e37d4,_0x400dd9,_0x4daeb1);}(_0x84b627,_0x1f270d,_0x5059c1,_0x5f4421)}),_0x5f4421['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2b5ab0=>function(_0x23d7fd,_0x4fdc24){const _0x494f3e=_0x23d7fd['markerName']['split'](':')[0x2];if(_0x494f3e===_0x4fdc24['mySessionId'])return null;const _0x507699=_0x4fdc24['getUserBySessionId'](_0x494f3e);if(!_0x507699)return{'id':_0x494f3e,'classes':[]};return{'id':_0x494f3e,'classes':['ck-user__selection',_0x507699['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x494f3e},'priority':0x7d0+_0x507699['orderNumber']};}(_0x2b5ab0,_0x5059c1)}),function(_0x13317f){const _0x56959f=_0x13317f['model'],_0x4f4889=new Map(),_0x44cc98=_0x13317f['plugins']['get'](i);_0x56959f['markers']['on']('update:user:range',(_0x3ca40a,_0x36f268,_0x3c7b1f,_0x2c717d)=>{if(!_0x2c717d&&_0x4f4889['get'](_0x36f268['name']))return _0x4f4889['get'](_0x36f268['name'])['detach'](),void _0x4f4889['delete'](_0x36f268['name']);const _0x2f4f9e=_0x36f268['name']['split'](':')[0x2];if(_0x2f4f9e===_0x44cc98['mySessionId'])return;const _0x1892b9='user:position:'+_0x2f4f9e;_0x56959f['markers']['has'](_0x1892b9)&&_0x13317f['editing']['reconvertMarker'](_0x1892b9),_0x36f268['on']('change:range',(_0x421f50,_0x3980d4,_0x492eec)=>{if('$graveyard'!=_0x3980d4['root']['rootName']&&'$graveyard'==_0x36f268['getRange']()['root']['rootName']&&!_0x4f4889['has'](_0x36f268['name'])){const _0x1c8423=_0x56959f['schema']['getNearestSelectionRange'](_0x492eec['deletionPosition']);if(_0x1c8423){const _0x28d61e=ht['fromRange'](_0x1c8423);_0x4f4889['set'](_0x36f268['name'],_0x28d61e),_0x28d61e['on']('change:range',(_0xbbae6c,_0x23d4b2,_0x373da7)=>{if('$graveyard'==_0x28d61e['root']['rootName']){const _0x2500b0=_0x56959f['schema']['getNearestSelectionRange'](_0x373da7['deletionPosition']);_0x2500b0?(_0x28d61e['start']=_0x2500b0['start'],_0x28d61e['end']=_0x2500b0['end']):(_0x4f4889['delete'](_0x36f268['name']),_0x28d61e['detach']());}});}}});}),_0x56959f['document']['on']('change',()=>{_0x4f4889['size']>0x0&&_0x56959f['enqueueChange']({'isUndoable':!0x1},_0x223495=>{for(const [_0x3e0a3c,_0x30099b]of _0x4f4889)'$graveyard'==_0x56959f['markers']['get'](_0x3e0a3c)['getRange']()['root']['rootName']&&(re(_0x3e0a3c['split'](':')[0x2],_0x30099b['toRange'](),_0x56959f,_0x223495),_0x30099b['detach']());_0x4f4889['clear']();});});}(_0x5f4421),this['_domEmitter']['listenTo'](_0x3ee391['document'],'keydown',(_0x574a2f,{key:_0x30f4c7})=>{'Escape'===_0x30f4c7&&function(_0x4b836d){_0x4b836d['editing']['view']['change'](_0x34eeef=>{for(const _0x4ab896 of _0x4b836d['model']['markers']){if(!_0x4ab896['name']['startsWith']('user:position'))continue;const _0x29a135=_0x4b836d['editing']['mapper']['markerNameToElements'](_0x4ab896['name']);if(_0x29a135){for(const _0x316ee8 of _0x29a135)_0x34eeef['removeClass']('ck-user__marker_hovered',_0x316ee8);}}});}(_0x5f4421);},{'useCapture':!0x0});}['afterInit'](){const _0x7bf6d7=this['editor'],_0x4c59c7=_0x7bf6d7['commands']['get']('undo');_0x4c59c7&&_0x7bf6d7['model']['on']('applyOperation',(_0x12a84c,_0x3a94f2)=>{const _0x3e03f3=_0x3a94f2[0x0];if('marker'!=_0x3e03f3['type']||!_0x3e03f3['name']['startsWith']('user:'))return;const _0x29c2ba=_0x3e03f3['batch'];_0x4c59c7['_createdBatches']['has'](_0x29c2ba)&&(_0x3e03f3['newRange']=_0x3e03f3['oldRange']?_0x7bf6d7['model']['createRange'](_0x3e03f3['oldRange']['start'],_0x3e03f3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x48cdbd=this['editor'],_0x5d010c=_0x48cdbd['model']['document'],_0x9ced84=_0x48cdbd['plugins']['get'](i);_0x48cdbd['model']['enqueueChange']({'isUndoable':!0x1},_0x1556c2=>{const _0x1f333a='user:range:'+_0x9ced84['mySessionId'],_0x2eacbd='user:position:'+_0x9ced84['mySessionId'],_0x4f41b7=_0x48cdbd['model']['markers']['has'](_0x1f333a);_0x48cdbd['editing']['view']['hasDomSelection']?re(_0x9ced84['mySessionId'],_0x5d010c['selection']['getFirstRange'](),_0x48cdbd['model'],_0x1556c2):_0x4f41b7&&(_0x1556c2['removeMarker'](_0x1f333a),_0x1556c2['removeMarker'](_0x2eacbd));});}}function re(_0x54283a,_0xd412f5,_0x570300,_0x48aa6b){const _0x3f5d8c='user:range:'+_0x54283a,_0x175085='user:position:'+_0x54283a,_0x553285=_0xd412f5['getContainedElement']();let _0x2c6960=_0xd412f5['start'];_0x553285&&_0x553285['is']('element','tableCell')&&(_0x2c6960=function(_0xf248cd,_0x3a9f3b){for(const _0x176860 of _0xf248cd['getPositions']())if(_0x3a9f3b['schema']['checkChild'](_0x176860,'$text'))return _0x176860;}(_0xd412f5,_0x570300),_0xd412f5=_0x48aa6b['createRange'](_0x2c6960));const _0x1b968f=_0x48aa6b['createRange'](_0x2c6960);_0x570300['markers']['has'](_0x3f5d8c)?(_0x48aa6b['updateMarker'](_0x3f5d8c,{'range':_0xd412f5}),_0x48aa6b['updateMarker'](_0x175085,{'range':_0x1b968f})):(_0x48aa6b['addMarker'](_0x3f5d8c,{'range':_0xd412f5,'usingOperation':!0x0}),_0x48aa6b['addMarker'](_0x175085,{'range':_0x1b968f,'usingOperation':!0x0}));}function q(_0x3ad5db,_0x12b05f,_0x5a8e73){const _0x11b5c2=_0x3ad5db['t'],t=_0x3ad5db['t'];switch(_0x12b05f){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 _0x11b5c2({'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'},_0x5a8e73);default:return'';}}let K=0x1;class l extends _0xc45049{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x23bfeb)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x54a0be,_0x4e2011,_0xedf1a5];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x4d5bed=this['serverHistory']['getOperations']();for(let _0x218ed4=_0x4d5bed['length']-0x1;_0x218ed4>=0x0;_0x218ed4--){const _0x53825b=_0x4d5bed[_0x218ed4];if(!this['_disconnectionOperations']['has'](_0x53825b))return _0x53825b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3ed08d){if(super(_0x3ed08d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x57fa0d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x18dc38('collaboration-missing-channelid',this);const _0x267445=_0x3ed08d['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x267445,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5986db(),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 _0x1b0285=this['editor'],_0x3acaa8=_0x1b0285['plugins']['get'](_0x4e2011),_0x2758c1=_0x1b0285['plugins']['get'](c);this['listenTo'](_0x3acaa8,'getOperationAuthor',(_0xdcd464,_0x48509b)=>{const _0x225419=_0x48509b[0x0];_0x225419['_authorId']&&(_0xdcd464['return']=_0x3acaa8['getUser'](_0x225419['_authorId']),_0xdcd464['stop']()),null===_0x225419['_authorId']&&(_0xdcd464['return']=null,_0xdcd464['stop']());},{'priority':'high'}),this['listenTo'](_0x1b0285['model']['document']['selection'],'change:range',(_0x15c5b6,_0x5b1cce)=>{_0x5b1cce['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1b0285['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1b0285['model']['on']('applyOperation',(_0x7fd6da,_0x499925)=>{const _0x359a60=_0x499925[0x0];_0x359a60['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x359a60),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2758c1,'state',this,'_hasSynchronizationProblem',(_0xfdf427,_0x35d566)=>'connected'===_0xfdf427&&!_0x35d566),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1b0285['disableReadOnlyMode']('rtc-offline'):_0x1b0285['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1b0285['disableReadOnlyMode']('rtc-offline'):_0x1b0285['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2527e7=this['editor']['plugins']['get'](i),_0x5abc66=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x2527e7['unregister'](this['_channelId']);const _0x5b8ffd=await this['_service']['reconnect'](_0x5abc66['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5b8ffd)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2e5b7a=await this['_service']['getConnectedSessions']();_0x2527e7['register'](this['_channelId'],_0x2e5b7a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x154477){if(function(_0xf22baf){return'404'===_0xf22baf['code'];}(_0x154477)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x571716){return'409'===_0x571716['code'];}(_0x154477)){const _0x55d989=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'](_0x55d989);}else{if(!(_0x154477 instanceof J))throw _0x154477;this['_handleReconnectionError']();}}}}['destroy'](){const _0x478407=this['editor']['plugins']['get'](c),_0x605223=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x605223['channelSessions']['has'](this['_channelId'])&&_0x605223['unregister'](this['_channelId']),_0x478407['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ee9f6){if(this['sessionId']!==_0x2ee9f6['sessionId']&&this['_lastSyncedOperationId']!==_0x2ee9f6['lastOperationId'])throw new J();return this['sessionId']=_0x2ee9f6['sessionId'],this['_handleServerResponse']([],{..._0x2ee9f6,'wereChangesApplied':!0x1,'data':_0x2ee9f6['data']},'reconnect');}async['_connectService'](_0x2b449c,_0x29ea1f=!0x1){const {connection:_0xdcd12b}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0xdcd12b,this['_channelId'])['then'](_0x394187=>this['_initSessionsHandling'](_0x394187))['catch'](_0x14800d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14800d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xfe0bfb,_0x3f176f)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3f176f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5a071e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b449c);this['_isPendingUpdate']=!0x0;const _0x2dca34=await this['_service']['connect'](_0xdcd12b,this['_compressOperations'](_0x2b449c),_0x5a071e);if(this['sessionId']=_0x2dca34['sessionId'],_0x29ea1f){if(!_0x2dca34['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2dca34['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2b449c,_0x2dca34,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2dca34,_0x2b449c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x33f127=this['editor']['plugins']['get'](i),_0x16b4f8=this['editor']['plugins']['get'](H),_0x7af235=_0x33f127['channelSessions']['get'](this['_channelId']);_0x7af235&&_0x7af235['length']>0x1?_0x16b4f8['createUserMarkerOperations']():this['listenTo'](_0x33f127,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x33f127['channelSessions']['get'](this['_channelId'])['length']&&_0x16b4f8['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1ae850,_0x5a5864,_0x5d2cf2,_0x1f3ab5){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5a5864){const _0x4523ba=this['_decompressOperations'](_0x5d2cf2,_0x1f3ab5);await this['_fetchMissingUsers'](_0x4523ba),this['_handleExternalOperations'](_0x4523ba,_0x5a5864,_0x5d2cf2['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x140da0}=this['editor'];let _0x5d5692;try{_0x5d5692=await this['_service']['getDocumentDetails']();}catch(_0x41f3a7){const _0x2c654b=q(_0x140da0,'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'](_0x2c654b);}const _0x4dbbb2=_0x5d5692['currentDocumentSession']||_0x5d5692['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4dbbb2['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x22c08f=q(_0x140da0,'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'](_0x22c08f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x53a2aa){const _0x58acc2=this['editor']['plugins']['get'](i);this['listenTo'](_0x58acc2,'sessionAdd:'+this['_channelId'],(_0x3ab013,{session:_0x5c4ebe})=>{if(_0x5c4ebe['id']===_0x58acc2['mySessionId']){_0x3ab013['off']();const _0x534558=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xee0c55=_0x5c4ebe['permissions'];_0x534558&&_0x534558['isEnabled']&&(_0xee0c55=_0xee0c55['filter'](_0x305f71=>'document:write'!==_0x305f71)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xee0c55,this['_channelId']);}}),_0x58acc2['register'](this['_channelId'],_0x53a2aa);}['_initThrowingOnDataSet'](){const _0x385182=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x169d4d)=>{if(!_0x169d4d[_0x169d4d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x18dc38('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x385182['apply'](this['editor']['data'],_0x169d4d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x85df0a,[_0x8faeed])=>{if(this['_document']['version'])throw new _0x18dc38('realtimecollaborationclient-init-document-already-initialized',this);_0x85df0a['stop'](),this['_setPendingAction']();const _0x272a10=this['editor']['config']['get']('rootsAttributes'),_0x584216=this['_getOperationsFromInitData'](_0x8faeed,_0x272a10);0x0==_0x584216['length']&&_0x584216['push'](new _0x30677b(0x0)),_0x85df0a['return']=this['_connectService'](_0x584216)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1ee37=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1ee37))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x590a63,[_0x49de83,_0x354416])=>{_0x590a63['stop']();const _0x5d030e=this['editor']['model']['document']['getRoot'](_0x49de83);if(!this['_knownRootNames']['has'](_0x49de83)){const _0x49b023=_0x354416&&_0x354416['data']?_0x354416['data']:'',_0x281b01=_0x354416&&_0x354416['attributes']?_0x354416['attributes']:{};await this['_loadRoot'](_0x49de83,_0x49b023,_0x281b01);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d030e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d030e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xcb935c){const _0x1d2b0f=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x3ff18e}=this['editor']['plugins']['get'](c),_0x194276=new Set();for(const _0x2fa796 of _0xcb935c){const _0x984863=_0x2fa796['_authorId'];_0x984863&&!_0x1d2b0f['getUser'](_0x984863)&&_0x194276['add'](_0x984863);}if(0x0===_0x194276['size'])return;const _0x25cfc8=await dt['getMany'](_0x3ff18e,Array['from'](_0x194276));for(const _0x4b60f7 of _0x25cfc8)_0x1d2b0f['getUser'](_0x4b60f7['id'])||_0x1d2b0f['addUser'](_0x4b60f7);}['_getOperationsFromInitData'](_0x528c28,_0x5ded76={}){const _0x56cb41=this['editor']['model'],_0x3eccf5=[];let _0x1f4e0b=0x0;const _0x3891cf='string'==typeof _0x528c28?{'main':_0x528c28}:_0x528c28;for(const _0x352d53 of Object['keys'](_0x3891cf)){if(!this['_document']['roots']['has'](_0x352d53))throw new _0x18dc38('realtimecollaborationclient-init-non-existent-root',this);const _0x2d0ea8=this['editor']['data']['parse'](_0x3891cf[_0x352d53]),_0x4c0f0d=this['_document']['getRoot'](_0x352d53),_0x45b829=new _0x48cd8e(_0x56cb41['createPositionAt'](_0x4c0f0d,0x0),_0x2d0ea8,_0x1f4e0b++);_0x3eccf5['push'](_0x45b829);for(const [_0x293ab9,_0x19c60c]of _0x2d0ea8['markers']){const _0x585351=_0x56cb41['createRange'](_0x56cb41['createPositionFromPath'](_0x4c0f0d,_0x19c60c['start']['path']['slice']()),_0x56cb41['createPositionFromPath'](_0x4c0f0d,_0x19c60c['end']['path']['slice']())),_0x744f90=new _0x1944c9(_0x293ab9,null,_0x585351,_0x56cb41['markers'],!0x0,_0x1f4e0b++);_0x3eccf5['push'](_0x744f90);}}if(_0x5ded76)for(const [_0x3d2193,_0x13ef01]of Object['entries'](_0x5ded76)){const _0x38af56=_0x56cb41['document']['getRoot'](_0x3d2193);if(!_0x38af56)throw new _0x18dc38('multi-root-editor-root-attributes-no-root',null);for(const [_0x5c8871,_0x4a55da]of Object['entries'](_0x13ef01))if(null!==_0x4a55da){const _0x439057=new _0x5e1d8f(_0x38af56,_0x5c8871,null,_0x4a55da,_0x1f4e0b++);_0x3eccf5['push'](_0x439057);}}return _0x3eccf5;}async['_loadRoot'](_0x22edf0,_0x312798,_0x9b20b3){this['_getOperationsFromInitData']({[_0x22edf0]:_0x312798},{[_0x22edf0]:_0x9b20b3})['forEach']((_0x361082,_0x55e720)=>{_0x361082['baseVersion']=this['_document']['version']+_0x55e720,_0x361082['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x361082);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4c68d0,_0x54234b){let _0x1141d7;this['_offset']=_0x4c68d0['offset'];const _0x1b10f5=_0x4c68d0['wereChangesApplied']&&!_0x4c68d0['initData'],_0x4edba5=_0x1b10f5?0x0:_0x4c68d0['data']['baseVersion'];if(_0x54234b['forEach'](_0x466ee1=>{_0x466ee1['_isInit']=!0x0,_0x466ee1['createdAt']=_0x4c68d0['sessionCreatedAt'],_0x466ee1['_authorId']=null;}),_0x1b10f5)_0x1141d7=_0x54234b,this['_applyOperationsSet'](_0x1141d7,_0x1b10f5);else{if(_0x4c68d0['initData']){const _0x11f4c8=this['_getOperationsFromInitData'](_0x4c68d0['initData']);this['_document']['history']['version']=-_0x11f4c8['length'],_0x11f4c8['forEach'](_0x393f04=>{_0x393f04['baseVersion']-=_0x11f4c8['length'],_0x393f04['createdAt']=_0x4c68d0['sessionCreatedAt'],_0x393f04['_isInit']=!0x0,_0x393f04['_authorId']=null;}),this['_applyOperationsSet'](_0x11f4c8,!0x0),this['serverHistory']['version']=-_0x11f4c8['length']+this['_offset'],this['_updateServerHistory'](_0x11f4c8);}this['_document']['history']['version']=_0x4edba5,_0x1141d7=this['_decompressOperations'](_0x4c68d0['data'],_0x4c68d0['metadata']),await this['_fetchMissingUsers'](_0x1141d7),this['_applyOperationsSet'](_0x1141d7,_0x1b10f5);}_0x4c68d0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1141d7,_0x4c68d0['lastOperationId']),this['_lastSyncedOperationId']=_0x4c68d0['lastOperationId']),this['serverHistory']['version']=_0x4edba5+this['_offset'],this['_updateServerHistory'](_0x1141d7),_0x54234b['filter'](_0x2bb17d=>{const _0x1ab67f=this['_getAffectedRoot'](_0x2bb17d);return _0x1ab67f&&!this['_knownRootNames']['has'](_0x1ab67f);})['forEach']((_0x1b7e6e,_0x263a63)=>{_0x1b7e6e['baseVersion']=this['_document']['version']+_0x263a63,this['_saveOperationInBuffer'](_0x1b7e6e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2c95be,_0x31a5ea){throw this['_isPendingUpdate']=!0x0,_0x31a5ea&&console['error'](_0x31a5ea),new _0x18dc38(_0x2c95be,this['editor']);}['_saveOperationInBuffer'](_0x1f7868){this['_knownOperations']['has'](_0x1f7868)||(this['_knownOperations']['add'](_0x1f7868),this['_bufferedOperations']['push'](_0x1f7868),this['_pendingAction']||'marker'==_0x1f7868['type']&&!_0x1f7868['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xa5a062=!0x1){!_0xa5a062&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3d892e=>{_0x3d892e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xa675bc=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x195e98){return _0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xa675bc))throw _0xa675bc;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x49ad3d=>{this['on']('change:_isPendingUpdate',()=>{_0x49ad3d();});});}async['_sendBufferedOperations'](){const _0x20e41f=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x20e41f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x53ac06=[...this['_bufferedOperations']];for(const _0x181fcf of _0x53ac06)_0x181fcf['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x181fcf);const _0x40c073=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x53ac06),_0x190a0a=K++,_0x1f8497=this['_compressOperations'](_0x53ac06),_0x457879=await this['_service']['sendOperations'](_0x1f8497,_0x1f8497['baseVersion'],_0x40c073);try{return await this['_handleServerResponse'](_0x53ac06,_0x457879,_0x190a0a);}catch(_0x755f65){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x755f65);}}async['_handleServerResponse'](_0x4f5005,_0x2793ab,_0x5455e7){if('error'in _0x2793ab)throw _0x2793ab['error'];let _0x40d95f=!0x1;if(_0x2793ab['wereChangesApplied']){_0x2793ab['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2793ab['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x305623=>!_0x4f5005['includes'](_0x305623));for(const _0xb9402a of _0x4f5005)_0xb9402a['createdAt']='lastOperationAcceptedAt'in _0x2793ab&&_0x2793ab['lastOperationAcceptedAt']||void 0x0;Q(_0x4f5005,_0x2793ab['version']-_0x4f5005['length']),this['_updateServerHistory'](_0x4f5005);const _0xbd5213=_0x4f5005['filter'](_0x5b1c93=>{if(!_0x5b1c93['_isInit'])return!0x1;const _0x4db620=this['_getAffectedRoot'](_0x5b1c93);return _0x4db620&&!this['_knownRootNames']['has'](_0x4db620);});Q(_0xbd5213,this['_document']['version']),this['_applyOperationsSet'](_0xbd5213),_0x40d95f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4045eb=this['_decompressOperations'](_0x2793ab['data'],_0x2793ab['metadata'])['filter'](_0x398c78=>_0x398c78['baseVersion']>=this['_lastServerVersion']);_0x4045eb['forEach'](_0x5bac63=>this['_addKnownRoot'](_0x5bac63)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x533b49=>!_0x533b49['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x533b49))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4045eb),_0x40d95f=this['_handleExternalOperations'](_0x4045eb,_0x2793ab['version'],_0x2793ab['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x40d95f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xf8b4d0,_0x4165e5,_0x14745f){try{const _0x7d67d3={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5b1ee0,operationsB:_0x467950,originalOperations:_0x30b42d}=_0x21a970(_0xf8b4d0,this['_bufferedOperations'],_0x7d67d3);Q(_0x5b1ee0,this['_document']['version']),Q(_0x467950,_0x4165e5);for(const _0x10d8e1 of _0x5b1ee0){const _0x583587=_0x30b42d['get'](_0x10d8e1);_0x10d8e1['_authorId']=_0x583587?_0x583587['_authorId']:null;}_0x14745f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf8b4d0,_0x14745f),this['_lastSyncedOperationId']=_0x14745f),this['_bufferedOperations']=[..._0x467950],this['_applyOperationsSet'](_0x5b1ee0),this['_updateServerHistory'](_0xf8b4d0);}catch(_0x1797d1){return console['error'](_0x1797d1),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4987eb,_0xc46b58=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5c3918=>{for(const _0x22cb5c of _0x4987eb)this['_knownOperations']['add'](_0x22cb5c),this['_addKnownRoot'](_0x22cb5c),_0x5c3918['batch']['addOperation'](_0x22cb5c),this['editor']['model']['applyOperation'](_0x22cb5c);});}['_addKnownRoot'](_0x12e8d4){const _0x5dc05b=this['_getAffectedRoot'](_0x12e8d4);_0x5dc05b&&this['_knownRootNames']['add'](_0x5dc05b);}['_getAffectedRoot'](_0xec7dfa){let _0x32bf9a,_0x509081;switch(_0xec7dfa['type']){case'insert':_0x32bf9a=_0xec7dfa['position']['root'];break;case'marker':if(_0x509081=_0xec7dfa['newRange'],!_0x509081)return null;_0x32bf9a=_0x509081['root'];break;case'addRootAttribute':_0x32bf9a=_0xec7dfa['root'];break;case'addRoot':_0x32bf9a=_0xec7dfa['affectedSelectable'];break;case'move':_0x32bf9a=_0xec7dfa['targetPosition']['root'];break;default:return null;}return _0x32bf9a['rootName'];}['_updateServerHistory'](_0x977311){_0x977311['forEach'](_0x32a812=>{const _0xc76034=_0x32a812['clone']();_0xc76034['_authorId']=_0x32a812['_authorId'],_0xc76034['_isInit']=!!_0x32a812['_isInit'],_0xc76034['createdAt']=_0x32a812['createdAt'],_0xc76034['baseVersion']+=this['_offset'],_0x32a812['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xc76034),this['serverHistory']['addOperation'](_0xc76034);});}['_handleReconnectionError'](_0x3ead13){const _0x42ae9d=this['editor']['plugins']['get']('Notification'),_0x1b8e41=this['editor']['locale'];_0x3ead13||(_0x3ead13=q(_0x1b8e41,'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.')),_0x42ae9d['showWarning'](_0x3ead13,{'title':q(_0x1b8e41,'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'](_0x54a0be)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x54a0be)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x24f6ff){const _0x8295d8=_0x24f6ff['map'](_0x5cc63e=>_0x5cc63e['toJSON']());return this['_compressor']['compress'](_0x8295d8);}['_decompressOperations'](_0x3ac9fc,_0x218a11){return this['_compressor']['decompress'](_0x3ac9fc)['map']((_0x4d5c68,_0x517bef)=>{const _0x9e43ca='init'==_0x218a11[_0x517bef]['type'];if('InsertOperation'==_0x4d5c68['__className']){const _0x29985e=_0x4d5c68['position']['root'];!this['_document']['getRoot'](_0x29985e)&&(this['_document']['createRoot']('$root',_0x29985e)['_isAttached']=!0x1);}const _0x181071=_0x20d8ce['fromJSON'](_0x4d5c68,this['_document']);return _0x181071['wasUndone']=_0x4d5c68['wasUndone'],_0x181071['_isInit']=_0x9e43ca,_0x181071['_authorId']=_0x9e43ca?null:_0x218a11[_0x517bef]['userId'],_0x181071['_isDisconnection']='cs:removeUser'===_0x218a11[_0x517bef]['type'],_0x181071['createdAt']=_0x218a11[_0x517bef]['createdAt'],_0x181071;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x199db6=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x199db6&&_0x199db6['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x1ca687,_0x2d7d86){for(const _0x58c24b of _0x1ca687)_0x58c24b['baseVersion']=_0x2d7d86++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x5e1575){this['_ignoredOperations']=_0x5e1575,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x54348f){let _0x91b5d9=_0x54348f['length'];for(;_0x91b5d9--;){const _0x139aae=_0x54348f[_0x91b5d9];if(!this['_ignoredOperations']['has'](_0x139aae)){if(!this['_operationToId']['has'](_0x139aae)){const _0x4a5e69=_0xb2b188()['slice'](0x1,0x12);this['_operationToId']['set'](_0x139aae,_0x4a5e69);}return this['_operationToId']['get'](_0x139aae);}}}['setIdForTheLastOperation'](_0x2906d3,_0x40c188){if(!_0x40c188)return;let _0x5966c2=_0x2906d3['length'];for(;_0x5966c2--;){const _0xa243c3=_0x2906d3[_0x5966c2];this['_ignoredOperations']['has'](_0xa243c3)||this['_operationToId']['set'](_0xa243c3,_0x40c188);}}}class n extends _0xc45049{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x33a461{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1abf4b)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4e2011];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x181adb){super(_0x181adb),this['_services']=new Map();}async['init'](){const _0x5abc3f=this['context'],_0x256ace=_0x5abc3f['plugins']['get']('CommentsRepository');if(_0x5abc3f['plugins']['get'](c)['addToReconnectionStack'](this),_0x256ace['adapter']={'addCommentThread':async({channelId:_0x4839eb,threadId:_0x4ea0ae,comments:_0x43c9ce,resolvedAt:_0xc7510a,resolvedBy:_0x3482c7,context:_0x52f025,attributes:_0x58bc4d})=>{const _0x1a4843=await this['_getService'](_0x4839eb)['addCommentThread']({'commentThreadId':_0x4ea0ae,'comments':_0x43c9ce['map'](_0x1804ef=>function(_0x2f60fa,_0xff2986,_0x31778f){return{'commentThreadId':_0x31778f,'commentId':_0x2f60fa['commentId'],'userId':_0x2f60fa['authorId'],'content':_0x2f60fa['content'],'documentId':_0xff2986,'createdAt':_0x2f60fa['createdAt'],'attributes':_0x2f60fa['attributes']||{}};}(_0x1804ef,_0x4839eb,_0x4ea0ae)),'resolvedAt':_0xc7510a,'resolvedBy':_0x3482c7,'context':_0x52f025,'attributes':_0x58bc4d})['catch'](ut);return{'threadId':_0x1a4843['commentThreadId'],'comments':_0x1a4843['comments']};},'getCommentThread':async({channelId:_0x10bb44,threadId:_0x5ae95f})=>{const _0x484a31=await this['_getService'](_0x10bb44)['getCommentThread'](_0x5ae95f)['catch'](ut);return _0x484a31['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x484a31]),{'threadId':_0x484a31['commentThreadId'],'comments':_0x484a31['comments']['map'](S),'context':_0x484a31['context'],'resolvedAt':_0x484a31['resolvedAt'],'resolvedBy':_0x484a31['resolvedBy'],'attributes':_0x484a31['attributes']||{}});},'updateCommentThread':async({channelId:_0xae948c,threadId:_0x3c78c6,context:_0x424b39,unlinkedAt:_0x479537,attributes:_0x4ec705})=>this['_getService'](_0xae948c)['updateCommentThread']({'commentThreadId':_0x3c78c6,'context':_0x424b39,'attributes':_0x4ec705,'unlinkedAt':_0x479537})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0xc43c78,threadId:_0x74d9f})=>{const _0x2e464d=await this['_getService'](_0xc43c78)['resolveCommentThread'](_0x74d9f)['catch'](B)['catch'](ut);return{'threadId':_0x2e464d['commentThreadId'],'resolvedAt':_0x2e464d['resolvedAt'],'resolvedBy':_0x2e464d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x28b825,threadId:_0x4e7997})=>this['_getService'](_0x28b825)['reopenCommentThread'](_0x4e7997)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x5e3708,threadId:_0x16f794})=>this['_getService'](_0x5e3708)['removeCommentThread'](_0x16f794)['catch'](B)['catch'](ut),'addComment':({channelId:_0x3372c6,threadId:_0x1b2b0c,commentId:_0x4e2ff8,content:_0x4861a6,attributes:_0x317245})=>this['_getService'](_0x3372c6)['addComment'](_0x1b2b0c,_0x4e2ff8,_0x4861a6,_0x317245)['catch'](ut),'updateComment':({channelId:_0x1a42b4,threadId:_0x42ff2d,commentId:_0x3772b9,content:_0x5ce863,attributes:_0x50888b})=>this['_getService'](_0x1a42b4)['updateComment'](_0x42ff2d,_0x3772b9,_0x5ce863,_0x50888b)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x5222cb,threadId:_0x5d0bb1,commentId:_0x52c08d})=>this['_getService'](_0x5222cb)['removeComment'](_0x5d0bb1,_0x52c08d)['catch'](B)['catch'](ut)},_0x5abc3f instanceof _0x35bf49){const _0x1e3524=_0x5abc3f['config']['get']('collaboration.channelId'),_0x355661=_0x5abc3f['plugins']['get'](i);await this['_setUpService'](_0x1e3524);const _0x568f35=await this['_services']['get'](_0x1e3524)['getConnectedSessions']();this['listenTo'](_0x355661,'sessionAdd:'+_0x1e3524,(_0x1323c2,{session:_0x262664})=>{_0x262664['id']===_0x355661['mySessionId']&&(_0x1323c2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x262664['permissions'],_0x1e3524));}),_0x355661['register'](_0x1e3524,_0x568f35);}}async['_setUpService'](_0x18603c){if(this['_services']['has'](_0x18603c))throw new _0x18dc38('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18603c});const _0x4f2d28=this['context']['plugins']['get']('CommentsRepository'),_0x1f1e09=new a['CommentsService'](_0x18603c);this['_services']['set'](_0x18603c,_0x1f1e09),this['listenTo'](_0x1f1e09,'commentThreadAdded',(_0xcfa20c,_0x1ed792)=>{const {commentThreadId:_0x251b61,documentId:_0x73b69b,context:_0x3b8d66,attributes:_0x12eab1,resolvedAt:_0x5dce68,resolvedBy:_0x508cf6,comments:_0x3d6cde}=_0x1ed792;_0x4f2d28['getCommentThread'](_0x251b61)||_0x4f2d28['addCommentThread']({'threadId':_0x251b61,'channelId':_0x73b69b,'comments':_0x3d6cde?_0x3d6cde['map'](S):[],'context':_0x3b8d66,'attributes':_0x12eab1,'resolvedAt':_0x5dce68,'resolvedBy':_0x508cf6,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadUpdated',(_0x34e4c0,{commentThreadId:_0x3ea2ff,documentId:_0x2d2dbc,context:_0x3e5701,unlinkedAt:_0x5d0a97,attributes:_0x37a009})=>{_0x4f2d28['getCommentThread'](_0x3ea2ff)&&_0x4f2d28['updateCommentThread']({'threadId':_0x3ea2ff,'channelId':_0x2d2dbc,'context':_0x3e5701,'unlinkedAt':_0x5d0a97,'attributes':_0x37a009,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadResolved',(_0x175c56,{commentThreadId:_0x1cc4f2,resolvedBy:_0x515312,resolvedAt:_0x47ac2b})=>{const _0x52378f=_0x4f2d28['getCommentThread'](_0x1cc4f2);_0x52378f&&_0x52378f['resolve']({'resolvedBy':_0x515312,'resolvedAt':_0x47ac2b,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadReopened',(_0x1cab2b,{commentThreadId:_0x21323b})=>{const _0x5a6d59=_0x4f2d28['getCommentThread'](_0x21323b);_0x5a6d59&&_0x5a6d59['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadRemoved',(_0x465c5d,{commentThreadId:_0x3e28a7})=>{const _0x4bfe61=_0x4f2d28['getCommentThread'](_0x3e28a7);_0x4bfe61&&_0x4bfe61['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentAdded',(_0x18b88a,_0x23abf4)=>{const _0x291d4d=_0x23abf4['commentThreadId'],_0x3bd3b5=_0x4f2d28['getCommentThread'](_0x291d4d);_0x3bd3b5&&_0x3bd3b5['addComment']({...S(_0x23abf4),'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentUpdated',(_0x3ce047,{commentThreadId:_0xb5d5f3,commentId:_0x1461f0,content:_0x149a88,attributes:_0x345688})=>{const _0x162256=_0x4f2d28['getCommentThread'](_0xb5d5f3);if(_0x162256){const _0x123ba8=_0x162256['getComment'](_0x1461f0);_0x123ba8&&_0x123ba8['update']({'content':_0x149a88,'attributes':_0x345688,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1f1e09,'commentRemoved',(_0x2e9a04,{commentThreadId:_0x54afa8,commentId:_0x4e8abf})=>{const _0x42e019=_0x4f2d28['getCommentThread'](_0x54afa8);if(_0x42e019){const _0x360dbe=_0x42e019['getComment'](_0x4e8abf);_0x360dbe&&_0x360dbe['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18603c);}['destroy'](){if(this['context']instanceof _0x35bf49){const _0x484504=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x484504);}}['_terminateService'](_0x507bf3){if(!this['_services']['has'](_0x507bf3))throw new _0x18dc38('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x507bf3});this['_getService'](_0x507bf3)['disconnect'](),this['_services']['delete'](_0x507bf3);}async['reconnect'](){for(const _0x46d20e of this['_services']['keys']())await this['_connectService'](_0x46d20e);if(this['context']instanceof _0x35bf49){const _0x422d1b=this['context']['config']['get']('collaboration.channelId'),_0x86be32=this['context']['plugins']['get'](i);_0x86be32['unregister'](_0x422d1b);const _0x257c6f=await this['_services']['get'](_0x422d1b)['getConnectedSessions']();_0x86be32['register'](_0x422d1b,_0x257c6f);}}async['_connectService'](_0x25a849){const {connection:_0x55a1c4}=this['context']['plugins']['get'](c),_0x5a3b3d=this['context']['plugins']['get']('CommentsRepository'),_0x1d3c62=this['_services']['get'](_0x25a849),_0xe6fbba=await _0x1d3c62['connect'](_0x55a1c4);await this['_fetchMissingUsersForThreads'](_0xe6fbba);const _0x90d79d=new Set(Array['from'](_0x5a3b3d['getCommentThreads']({'channelId':_0x25a849}),_0x241153=>_0x241153['id']));for(const _0x4361bb of _0xe6fbba)_0x4361bb['deletedAt']||_0x90d79d['delete'](_0x4361bb['commentThreadId']);for(const _0xb03200 of _0x90d79d)_0x5a3b3d['getCommentThread'](_0xb03200)['remove']({'isFromAdapter':!0x0});for(const _0xb844cc of _0xe6fbba){let _0x18283e=_0x5a3b3d['getCommentThread'](_0xb844cc['commentThreadId']);const {commentThreadId:_0x3bb0fd,context:_0x1b004d,attributes:_0x43f964,resolvedBy:_0x1eb91d,resolvedAt:_0x5dae2b,unlinkedAt:_0x3197d0,deletedAt:_0x5e1a03}=_0xb844cc;if(_0x5e1a03)continue;_0x18283e||(_0x18283e=_0x5a3b3d['addCommentThread']({'channelId':_0x25a849,'threadId':_0x3bb0fd,'context':_0x1b004d,'attributes':_0x43f964||{},'resolvedBy':_0x1eb91d,'resolvedAt':_0x5dae2b,'unlinkedAt':_0x3197d0,'isFromAdapter':!0x0}));const _0xc34807=new Set(Array['from'](_0x18283e['comments'],_0x4ec709=>_0x4ec709['id']));for(const _0x36cf21 of _0xb844cc['comments'])_0xc34807['delete'](_0x36cf21['commentId']);for(const _0xf838b6 of _0xc34807)_0x18283e['getComment'](_0xf838b6)['remove']({'isFromAdapter':!0x0});for(const _0x495a57 of _0xb844cc['comments']){const _0x1206ed=_0x18283e['getComment'](_0x495a57['commentId']);_0x1206ed?_0x1206ed['content']!==_0x495a57['content']&&_0x1206ed['update']({'content':_0x495a57['content'],'isFromAdapter':!0x0}):_0x18283e['addComment'](Object['assign'](S(_0x495a57),{'isFromAdapter':!0x0}));}}}['_getService'](_0x50374d){if(!this['_services']['has'](_0x50374d))throw new _0x18dc38('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x50374d});return this['_services']['get'](_0x50374d);}async['_fetchMissingUsersForThreads'](_0x2f6515){const _0x565910=this['context']['plugins']['get'](_0x4e2011),{connection:_0x3735ad}=this['context']['plugins']['get'](c),_0x452a3d=new Set();for(const {resolvedBy:_0x476643,comments:_0x73150d}of _0x2f6515){_0x476643&&!_0x565910['getUser'](_0x476643)&&_0x452a3d['add'](_0x476643);for(const {userId:_0x49caca}of _0x73150d)_0x565910['getUser'](_0x49caca)||_0x452a3d['add'](_0x49caca);}if(0x0===_0x452a3d['size'])return;const _0x50efd7=await dt['getMany'](_0x3735ad,Array['from'](_0x452a3d));for(const _0xa46f86 of _0x50efd7)_0x565910['getUser'](_0xa46f86['id'])||_0x565910['addUser'](_0xa46f86);}}async function B(_0x46dcb8){if('404'!==_0x46dcb8['code'])throw _0x46dcb8;}function ut(_0x1036a3){if((_0x2d6c9c=_0x1036a3)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2d6c9c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d6c9c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2d6c9c;throw _0x1036a3;}function S(_0xcd898e){return{'threadId':_0xcd898e['commentThreadId'],'commentId':_0xcd898e['commentId'],'content':_0xcd898e['content'],'createdAt':_0xcd898e['createdAt'],'authorId':_0xcd898e['userId'],'attributes':_0xcd898e['attributes']||{}};}class f extends _0xc45049{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x1693ad){super(_0x1693ad);const _0x3df98e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x3df98e);}['init'](){const _0x4da196=this['editor']['plugins']['get'](c),_0x1fc2e8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1fc2e8['adapter']={'getSuggestion':async _0x65e92f=>{await this['_waitForServiceReady']();const _0x439e92=await this['_trackChangesService']['get'](_0x65e92f)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x439e92]),_0x439e92;},'addSuggestion':async({id:_0x385858,type:_0x144a8c,data:_0x26cf67,originalSuggestionId:_0x4255f4,attributes:_0x3334bd})=>{await this['_waitForServiceReady']();const _0x3d2134={'id':_0x385858,'type':_0x144a8c,'data':_0x26cf67,'originalSuggestionId':_0x4255f4,'attributes':_0x3334bd},_0x15770d=await this['_trackChangesService']['add'](_0x385858,_0x144a8c,_0x26cf67,_0x4255f4,_0x3334bd)['catch'](_0x40b29e=>{if(ft(_0x40b29e))return new Promise(_0x209c02=>{this['_bufferedRequests']['set'](_0x385858,{'resolve':_0x209c02,'suggestionData':_0x3d2134});});throw _0x40b29e;});return this['_bufferedRequests']['delete'](_0x385858),_0x15770d;},'updateSuggestion':async(_0x3f6ba0,_0x4869cf)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4869cf['state'])return this['_trackChangesService']['update'](_0x3f6ba0,_0x4869cf)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5ade9a,_0x4f6ef4)=>{_0x1fc2e8['hasSuggestion'](_0x4f6ef4['id'])&&(_0x1fc2e8['getSuggestion'](_0x4f6ef4['id'])['attributes']=_0x4f6ef4['attributes']);}),this['_trackChangesService']['connect'](_0x4da196['connection'])['then'](_0x1b45f4=>(_0x4da196['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1b45f4)['then'](()=>{for(const _0x67cfe5 of _0x1b45f4){_0x1fc2e8['addSuggestionData'](_0x67cfe5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1badb0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4a9852}=this['editor']['plugins']['get'](c),_0x20be69=await this['_trackChangesService']['connect'](_0x4a9852);await this['_fetchMissingUsersForThreads'](_0x20be69);for(const {suggestionData:_0x18e597,resolve:_0x33e61c}of this['_bufferedRequests']['values']()){let _0x2668be=_0x20be69['find'](_0x4fc79a=>_0x4fc79a['id']===_0x18e597['id']);_0x2668be||(_0x2668be=await this['_trackChangesService']['add'](_0x18e597['id'],_0x18e597['type'],_0x18e597['data'],_0x18e597['originalSuggestionId'])),_0x33e61c(_0x2668be);}for(const _0x2d4476 of _0x20be69)_0x1badb0['hasSuggestion'](_0x2d4476['id'])||_0x1badb0['addSuggestionData'](_0x2d4476);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4fa6ff=>{this['listenTo'](this['_trackChangesService'],'connected',_0x465707=>{_0x465707['off'](),_0x4fa6ff();});});}async['_fetchMissingUsersForThreads'](_0x3c9f6d){const _0x49dce5=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x51f598}=this['editor']['plugins']['get'](c),_0x1c60af=new Set();for(const {authorId:_0x181f93}of _0x3c9f6d)_0x49dce5['getUser'](_0x181f93)||_0x1c60af['add'](_0x181f93);if(0x0===_0x1c60af['size'])return;const _0x57a534=await dt['getMany'](_0x51f598,Array['from'](_0x1c60af));for(const _0x1cd359 of _0x57a534)_0x49dce5['getUser'](_0x1cd359['id'])||_0x49dce5['addUser'](_0x1cd359);}}function R(_0x2973bf){if(ft(_0x2973bf))return new Promise(()=>{});throw _0x2973bf;}function ft(_0x572811){return _0x572811['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x572811['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xc45049{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4ab455=this['editor']['plugins']['get'](c),_0x24ea85=this['editor']['plugins']['get']('CommentsEditing'),_0xf41d9b=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4ab455,'change:state',(_0x36dca6,_0x18256a,_0xf73f15)=>{_0x24ea85['isThreadsLoadingPaused']='connected'!==_0xf73f15;});}),this['listenTo'](_0x4ab455,'change:state',(_0x23576f,_0x374224,_0x191351)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x191351);}),_0xf41d9b['_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 _0xc45049{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0xc45049{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4e2011];}constructor(_0x57f971){super(_0x57f971);const _0x38744d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x38744d);}async['init'](){const _0x4607d6=this['editor']['plugins']['get'](l),_0x17727c=_0x4607d6['serverHistory'],_0x12dd2c=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x17727c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4607d6['sessionId']});const _0x3b9211=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x22e01d=await tt['isBundleUploaded'](_0x12dd2c['connection'],_0x3b9211);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x2ce5b9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2ce5b9)),'updateRevisions':async _0x33a36a=>{await this['_waitForServiceReady']();const _0x1fe72b=this['_revisionTracker']['currentRevision'];if(_0x22e01d&&0x1===_0x33a36a['length']&&_0x33a36a[0x0]['id']===_0x1fe72b['id'])return _0x33a36a;for(const _0x8584c4 of _0x33a36a)_0x8584c4['id']===_0x1fe72b['id']&&(_0x8584c4['isEmptyCurrent']=_0x8584c4['fromVersion']===_0x8584c4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x33a36a,this['_lastRequestId'])['then'](_0x5cc2b1=>(this['_lastRequestId']=_0x5cc2b1,_0x33a36a))['catch'](_0x525db3=>{if(st(_0x525db3)||'400'===_0x525db3['code']&&void 0x0!==_0x525db3['data']['wrongRequestId']){for(const _0x5cb028 of _0x33a36a){!this['_revisionTracker']['repository']['getRevision'](_0x5cb028['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5cb028['id'],_0x5cb028,!0x1);}if(st(_0x525db3))throw _0x525db3;return _0x33a36a;}throw _0x525db3;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2a970d,{revisionsData:_0xcc9801,requestId:_0x562f71})=>{Math['max'](..._0xcc9801['map'](_0x3e7e86=>_0x3e7e86['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xcc9801,_0x562f71);}):this['_handleRevisionsUpdate'](_0xcc9801,_0x562f71);});const {revisions:_0x255bac,requestId:_0x39e790}=await this['_revisionHistoryService']['connect'](_0x12dd2c['connection']);_0x12dd2c['addToReconnectionStack'](this),this['_lastRequestId']=_0x39e790,await this['_fetchMissingUsers'](_0x255bac);for(const _0x4dd985 of _0x255bac)this['_revisionTracker']['addRevisionData'](_0x4dd985);this['listenTo'](_0x4607d6,'change:_isConnected',(_0x361159,_0x5f2c02,_0x73eb2f)=>{_0x73eb2f&&(this['_oldOffset']=_0x4607d6['_offset'],_0x361159['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x12dd2c,'state',_0x84d216=>_0x84d216===_0x36fb79['CONNECTED']);}async['reconnect'](){const _0x599034=this['editor']['plugins']['get'](c),_0x558215=this['editor']['plugins']['get'](l),_0x5445b0=async()=>{const _0xc72af4=this['_revisionTracker']['currentRevision'],_0x1a6620=_0xc72af4['id'],_0x2ac24f=_0x1a6620!==_0x558215['sessionId'];if(_0x2ac24f){const _0x23e810=_0x558215['_offset']-this['_oldOffset'],_0x552927=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc72af4['toVersion']+_0x23e810!==_0x552927){const _0x3632ac=_0xc72af4['fromVersion']+_0x23e810,_0x33c2fa=this['editor']['plugins']['get'](_0x4e2011),_0x2a4675=this['_revisionTracker']['buildRevisionData']({'revision':_0xc72af4,'from':_0x3632ac,'to':_0x552927});_0x2a4675['id']=_0xc72af4['id'];const _0x54ef26=_0x2a4675['authorsIds']['map'](_0xdd07f2=>_0x33c2fa['getUser'](_0xdd07f2));_0xc72af4['_update']({..._0x2a4675,'authors':_0x54ef26},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc72af4['id'],_0x2a4675,!0x0);}this['_revisionTracker']['_startingVersion']=_0x552927,(_0xc72af4['toVersion']===_0xc72af4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a6620)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a6620),this['_revisionTracker']['_createCurrentRevision'](_0x552927));}const {revisions:_0x108bfa,requestId:_0x5cb4bc}=await this['_revisionHistoryService']['reconnect'](_0x599034['connection'],this['_lastRequestId']);_0x2ac24f&&_0x108bfa['length']>0x0?_0x558215['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x108bfa),this['_handleRevisionsUpdate'](_0x108bfa,_0x5cb4bc),this['_revisionTracker']['sendBufferedUpdates']());};return _0x558215['_isConnected']?_0x5445b0():new Promise((_0x2cba9b,_0x3b48a8)=>{_0x558215['once']('change:_isConnected',()=>{_0x5445b0()['then'](_0x2cba9b)['catch'](_0x3b48a8);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3fbf4d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1c01d6=>{_0x1c01d6['off'](),_0x3fbf4d();});});}['_getLatestVersionFromServerOperations'](){const _0x1c89fd=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x347da8 of _0x1c89fd)if('marker'!==_0x347da8['type']||_0x347da8['affectsData'])return _0x347da8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x6caf30=this['editor']['plugins']['get'](l);return new Promise(_0x41d835=>{_0x6caf30['_isPendingUpdate']?_0x6caf30['once']('change:_isPendingUpdate',()=>{_0x41d835(this['_getLatestVersionFromServerOperations']());}):_0x41d835(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4ae216,_0x58eebc){const _0x1c2ab4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x58eebc;for(const _0x108c0a of _0x4ae216){const _0xaa015a=_0x1c2ab4['getRevision'](_0x108c0a['id']);if(_0xaa015a){if((_0x108c0a['fromVersion']||_0x108c0a['toVersion'])&&(_0x108c0a['diffData']=null),_0xaa015a===this['_revisionTracker']['currentRevision']){const _0x55e48e=Math['max'](_0xaa015a['toVersion'],_0x108c0a['toVersion']),_0x1b1dff=Math['max'](_0xaa015a['fromVersion'],_0x108c0a['fromVersion']);let _0x57c519;_0xaa015a['toVersion']===_0x108c0a['toVersion']&&_0xaa015a['fromVersion']===_0x108c0a['fromVersion']?(_0x57c519=!0x0,this['_preventResendingRevisionData'](_0x108c0a)):_0x108c0a['toVersion']===_0x55e48e&&_0x108c0a['fromVersion']===_0x1b1dff?_0x57c519=!0x1:(_0xaa015a['toVersion']===_0x55e48e&&_0xaa015a['fromVersion']===_0x1b1dff||this['_fixRevision']({'revision':_0xaa015a,'from':_0x1b1dff,'to':_0x55e48e}),_0x57c519=!0x0),_0x57c519&&(delete _0x108c0a['fromVersion'],delete _0x108c0a['toVersion'],delete _0x108c0a['diffData'],delete _0x108c0a['createdAt'],delete _0x108c0a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x108c0a),this['_preventResendingRevisionData'](_0x108c0a);}else this['_revisionTracker']['addRevisionData'](_0x108c0a);}const _0x556d8e=_0x1c2ab4['getRevisions']();_0x556d8e['reverse']();for(let _0x234b97=0x0;_0x234b97<_0x556d8e['length']-0x1;_0x234b97++){const _0x1b713b=_0x556d8e[_0x234b97],_0x8a4cdf=_0x556d8e[_0x234b97+0x1];if(_0x1b713b['fromVersion']<_0x8a4cdf['toVersion']){const _0x3c450e=_0x8a4cdf['toVersion'],_0x1b50b5=Math['max'](_0x3c450e,_0x1b713b['toVersion']);this['_fixRevision']({'revision':_0x1b713b,'from':_0x3c450e,'to':_0x1b50b5});}}}['_fixRevision']({revision:_0x457a77,from:_0x40714d,to:_0x55baa7}={}){const _0x54525f=this['editor']['plugins']['get'](_0x4e2011),_0x1ff5b9=this['_revisionTracker']['buildRevisionData']({'revision':_0x457a77,'from':_0x40714d,'to':_0x55baa7});_0x1ff5b9['authors']=_0x1ff5b9['authorsIds']['map'](_0x4a6623=>_0x54525f['getUser'](_0x4a6623)),_0x457a77['_update'](_0x1ff5b9);}['_preventResendingRevisionData'](_0x417152){const _0x92b03e={};_0x92b03e['id']=_0x417152['id'];for(const _0x320932 of Object['keys'](_0x417152))'id'!==_0x320932&&(_0x92b03e[_0x320932]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x92b03e['id'],_0x92b03e,!0x0);}async['_fetchMissingUsers'](_0x7d7f0){const _0x57dbf8=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x2958dd}=this['editor']['plugins']['get'](c),_0x131e01=new Set();for(const _0x11cc15 of _0x7d7f0){for(const _0x35ac84 of _0x11cc15['authorsIds'])_0x5a2a28(_0x35ac84);_0x11cc15['creatorId']&&_0x5a2a28(_0x11cc15['creatorId']);}if(0x0===_0x131e01['size'])return;const _0x5cde19=await dt['getMany'](_0x2958dd,Array['from'](_0x131e01));for(const _0x24b70f of _0x5cde19)_0x57dbf8['getUser'](_0x24b70f['id'])||_0x57dbf8['addUser'](_0x24b70f);function _0x5a2a28(_0x49749c){_0x57dbf8['getUser'](_0x49749c)||_0x131e01['add'](_0x49749c);}}}function st(_0x1bd15f){return _0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xc45049{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x3d8c1a{constructor(_0x5e30c5){super(_0x5e30c5);const _0x3e3269=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3e3269['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3e3269['to']('usersCount',_0x43115d=>q(_0x5e30c5,'CONNECTED_USERS',_0x43115d))}]});}}class es extends _0x3d8c1a{['items'];['keystrokes'];constructor(_0x4b06cc){super(_0x4b06cc);const _0x2c4cf6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x26df46(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2c4cf6['if']('hasPopup'),'aria-expanded':_0x2c4cf6['to']('isExpanded',_0x553252=>this['hasPopup']&&String(_0x553252)),'aria-label':_0x2c4cf6['to']('hasPopup',_0x6b38a5=>q(_0x4b06cc,_0x6b38a5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2c4cf6['to']('hasPopup',_0x52ea7a=>!!_0x52ea7a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x2c4cf6['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x5c16db,_0x55d020,_0x36e3d7)=>{this['element']&&(_0x36e3d7?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 _0x3d8c1a{['counterView'];['inlineListView'];constructor(_0x5d28eb){super(_0x5d28eb);const _0x4940b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5d28eb),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x58e3e0 of this['inlineListView']['items'])_0x58e3e0['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',_0x4940b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x3d8c1a{['listWrapperView'];constructor(_0x4a72b3,_0x1d4fa5){super(_0x4a72b3),this['listWrapperView']=new mt(_0x4a72b3,_0x1d4fa5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x4a72b3,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0xd3dc2c{constructor(_0x2010eb,_0x163492){super(_0x2010eb);const _0x10de41=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x163492?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x10de41['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x10de41['to']('role'),'aria-label':_0x10de41['to']('ariaLabel'),'aria-labelledby':_0x10de41['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3ee391['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x175daa=this['element'];_0x175daa&&(this['_isScrollable']=Math['max'](_0x175daa['scrollHeight'],_0x175daa['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0xcbd4ec,_0x5fbbba,_0x1bb3d4){super(_0xcbd4ec);const _0x75c18b=this['bindTemplate'];this['userView']=new ct(_0xcbd4ec,_0x5fbbba);const _0x3d70c0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5fbbba['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5fbbba['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5fbbba['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1bb3d4&&(_0x3d70c0['tag']='button',_0x3d70c0['on']={'click':_0x75c18b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d70c0);}['focus'](){this['element']['focus']();}}class y extends _0x3d8c1a{['userView'];['markerView'];constructor(_0x4ea6f0,_0x43351e,_0x273ebb){super(_0x4ea6f0);const _0x16e903=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x4ea6f0,_0x43351e),this['markerView']=new at(_0x4ea6f0,_0x43351e);const _0x155617=new ot(_0x4ea6f0);_0x155617['template']['tag']='span',_0x155617['text']=_0x43351e['name'];const _0x470005={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x16e903['to']('isFocusable',_0x43e6a9=>!!_0x43e6a9&&0x0),'aria-labelledby':_0x155617['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x16e903['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x16e903['to']('hasTooltip',_0x1394a2=>!_0x1394a2),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x155617]};_0x273ebb&&(_0x470005['tag']='button',_0x470005['on']={'click':_0x16e903['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x470005);}}class at extends _0x3d8c1a{constructor(_0x38f6e6,_0x1e6440){super(_0x38f6e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e6440['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x33a461{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0xbfdd8b){super(_0xbfdd8b),this['context']['config']['define']('presenceList',A);const _0x73a872=_0xbfdd8b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x73a872)throw new _0x18dc38('presencelist-collapseat-invalid-format',this);if(_0x73a872<0x1)throw new _0x18dc38('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x330773(),this['balloonPanelView']=new _0x4f7ecf(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1a852b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1a852b);this['listenTo'](this['_allConnectedUsers'],'add',(_0x37680d,_0x2021b3)=>{this['_handleUserAdd'](_0x2021b3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5ec23f,_0x3548b9)=>{this['_handleUserRemove'](_0x3548b9);});}['_createView'](){const _0x16b072=this['context'],_0x1b4781=new L(this['context']['locale']),_0x6cdd1b=this['balloonPanelView'];if(!_0x19da4d(_0x16b072['config']['get']('presenceList.container')))throw new _0x18dc38('presencelist-missing-container',this);return _0x1b4781['counterView']['bind']('usersCount')['to'](this),_0x1b4781['bind']('isCollapsed')['to'](this,'usersCount',_0x1ebdf4=>{const {collapseAt:_0x99f421,displayMe:_0x4a46ca}=_0x16b072['config']['get']('presenceList'),_0x30af4c=_0x1ebdf4>=_0x99f421;return _0x1b4781['counterView']['isHidden']=!(0x1==_0x1ebdf4&&_0x4a46ca||_0x30af4c),_0x30af4c||this['hideDropdown'](),_0x30af4c;}),_0x1b4781['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4be3a5=>{const _0x506b6b=_0x16b072['config']['get']('presenceList'),_0x386af7=new y(_0x16b072['locale'],_0x4be3a5,!!_0x506b6b['onClick']);return _0x386af7['bind']('hasTooltip')['to'](_0x1b4781,'isCollapsed',_0x317995=>!_0x317995),_0x386af7['bind']('isFocusable')['to'](_0x1b4781,'isCollapsed',_0xd6b696=>!_0xd6b696),_0x506b6b['onClick']&&this['listenTo'](_0x386af7,'execute',()=>{this['view']['isCollapsed']||_0x506b6b['onClick'](_0x4be3a5,_0x386af7['element']);}),_0x386af7;}),this['listenTo'](_0x1b4781['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x1b4781['inlineListView']['keystrokes']['set']('Enter',(_0x326e11,_0x487f6c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x487f6c());}),_0x1b4781['render'](),_0x6cdd1b['render'](),_0x39189a({'emitter':_0x1b4781,'activator':()=>_0x6cdd1b['isVisible'],'contextElements':[_0x6cdd1b['element'],_0x1b4781['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x16b072['config']['get']('presenceList.container')['appendChild'](_0x1b4781['element']),this['_bodyCollection']=new _0x361caf(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1b4781;}['_handleUserAdd'](_0x504a90){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x504a90['isMe'])return;const _0x156f05=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x156f05&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x189ee7=_0x504a90['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x504a90,_0x189ee7);}['_handleUserRemove'](_0x3cbe67){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3cbe67['id'])&&(this['currentDisplayedUsers']['remove'](_0x3cbe67['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x30c522 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x30c522['id']))return void this['currentDisplayedUsers']['add'](_0x30c522,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1212fb=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x1212fb['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x19db89}=this['presenceDropdownView'];_0x19db89['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x543759=>{if(!_0x1212fb['displayMe']&&_0x543759['isMe'])return null;const _0x103d69=new k(this['context']['locale'],_0x543759,!!_0x1212fb['onClick']);return _0x1212fb['onClick']&&this['listenTo'](_0x103d69,'execute',()=>{_0x1212fb['onClick'](_0x543759,_0x103d69['element']);}),_0x103d69;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x19db89['focus'](),_0x19db89['checkIfScrollable']();const _0xf4f362=(_0x543593,_0x153275)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x153275();};_0x19db89['keystrokes']['set']('Esc',_0xf4f362),_0x19db89['keystrokes']['set']('Shift+Tab',_0xf4f362),_0x19db89['keystrokes']['set']('Tab',(_0x41ebd1,_0x3cc5e0)=>{!function(_0x3e7c6a){const _0xfe4a89=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x313329=>_0x313329+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x58cd76=[...document['body']['querySelectorAll'](_0xfe4a89)]['filter'](_0x1966a9=>_0x1966a9===document['activeElement']||_0x1966a9['offsetWidth']+_0x1966a9['offsetHeight']>0x0)['sort']((_0x370eff,_0x2d84ea)=>(_0x370eff['tabIndex']||0x0)-(_0x2d84ea['tabIndex']||0x0)),_0x2774fe=_0x58cd76['indexOf'](_0x3e7c6a),_0x8d401=_0x58cd76[(_0x2774fe+0x1)%_0x58cd76['length']];_0x8d401&&_0x8d401['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3cc5e0();}),_0x19db89['focusTracker']['add'](this['view']['element']),_0x19db89['focusTracker']['on']('change:isFocused',(_0x111174,_0x5aa665,_0xc7f646)=>{_0xc7f646||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x33a461{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x1f6ad9,Plugin as _0x3c7597,PendingActions as _0x116dc2,Context as _0x3bacf4}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x11c8ea,CKEditorError as _0x2067cc,Collection as _0x3caab5,global as _0x2c0094,version as nt,uid as _0x23cfbe,KeystrokeHandler as _0x30daff}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x132feb,View as _0x4c3ca9,ListView as _0xbf831b,ListItemView as st,LabelView as ot,BalloonPanelView as _0x4ca446,clickOutsideHandler as _0x512ea3,BodyCollection as _0x320c61}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as rt,History as _0xade2db,NoOperation as _0x4e4135,InsertOperation as _0x5e0cf2,MarkerOperation as _0x54f3a2,RootAttributeOperation as _0x34ffa8,transformSets as _0x50e32b,OperationFactory as _0x75592d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x1ba25d,CollaborativeEditingService as _0x311e8f,User as ht,CommentsService as _0x40bb4f,TrackChangesService as _0x1bbb40,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x13305b,UserView as et}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x36c71e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x52addc}from'lodash-es';class c extends _0x1f6ad9{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x132feb];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x23dc63){super(_0x23dc63),this['set']('state',_0x1ba25d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x11c8ea);}['init'](){const _0x50c19a=this['context'],_0x5160c1=_0x50c19a['plugins']['get']('CloudServices'),_0x38fb72=_0x50c19a['plugins']['get'](_0x132feb);if(!_0x5160c1['token'])throw new _0x2067cc('websocketgateway-missing-token',this);if(!_0x5160c1['webSocketUrl'])throw new _0x2067cc('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'](_0x5160c1['token'],_0x5160c1['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x211daf=>{if(this['connection']=_0x211daf,this['bind']('state')['to'](_0x211daf,'state',this,'_isBrowserOffline',(_0x191090,_0x417dae)=>('connected'!==_0x191090&&(this['_shouldPluginsReconnect']=!0x0),_0x417dae||_0x191090!==_0x1ba25d['CONNECTED']?_0x1ba25d['DISCONNECTED']:this['state']==_0x1ba25d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x1ba25d['CONNECTING']):_0x1ba25d['CONNECTED'])),this['connection']['on']('error',(_0x406432,_0x3d391b)=>{if('limitExceeded'!==_0x3d391b['code'])throw console['error'](_0x3d391b),new _0x2067cc('cloudservices-init',null,{'originalError':_0x3d391b});_0x38fb72['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'});}),!_0x211daf['me'])return new Promise(_0x152c2a=>_0x211daf['on']('change:me',_0x152c2a));})['catch'](_0x193211=>{throw console['error'](_0x193211),new _0x2067cc('cloudservices-init',null,{'originalError':_0x193211});});}['addToReconnectionStack'](_0x4794b4){if('function'!=typeof _0x4794b4['reconnect'])throw new _0x2067cc('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4794b4))throw new _0x2067cc('websocketgateway-plugin-already-registered',this,{'name':_0x4794b4['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4794b4);}['removeFromReconnectionStack'](_0x5cb242){this['_reconnectionStack']['delete'](_0x5cb242);}['isInReconnectionStack'](_0x587ed1){return this['_reconnectionStack']['has'](_0x587ed1);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x442317=>_0x442317['reconnect']())))['then'](()=>this['state']=_0x1ba25d['CONNECTED'])['catch'](_0xa73e1a=>{throw console['error'](_0xa73e1a),new _0x2067cc('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x1ba25d['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x1f6ad9{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x13305b];}constructor(_0x2a2e4a){super(_0x2a2e4a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3caab5(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x13305b);}['init'](){const _0x17902e=this['context']['plugins']['get'](c);this['listenTo'](_0x17902e,'change:state',(_0x4ba0f4,_0x38b758,_0x566198)=>{if('connected'!==_0x566198)this['channelSessions']['forEach'](_0x4721f2=>_0x4721f2['clear']()),this['channelConnectedUsers']['forEach'](_0x30ef1d=>_0x30ef1d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2276cd,_0x2cff59]of this['_registeredSessions'])for(const _0x5d9219 of _0x2cff59)this['_handleSessionAdd'](_0x2276cd,_0x5d9219);}}),this['_createUser'](_0x17902e['connection']['me'],!0x0);}['register'](_0x3976ee,_0x123c6c){if(this['_registeredSessions']['has'](_0x3976ee))throw new _0x2067cc('sessions-register-already-registered',null,{'channelId':_0x3976ee});this['_registeredSessions']['set'](_0x3976ee,_0x123c6c),this['channelSessions']['set'](_0x3976ee,new _0x3caab5()),this['channelConnectedUsers']['set'](_0x3976ee,new _0x3caab5()),this['listenTo'](_0x123c6c,'add',(_0x5cc3e5,_0x59934d)=>this['_handleSessionAdd'](_0x3976ee,_0x59934d)),this['listenTo'](_0x123c6c,'remove',(_0x1149b5,_0x6cfedc)=>this['_handleSessionRemove'](_0x3976ee,_0x6cfedc));for(const _0x54baea of _0x123c6c)this['_handleSessionAdd'](_0x3976ee,_0x54baea);}['unregister'](_0x2bf07f){if(!this['_registeredSessions']['has'](_0x2bf07f))throw new _0x2067cc('sessions-unregister-not-exist',null,{'channelId':_0x2bf07f});const _0x3b7fe3=this['_registeredSessions']['get'](_0x2bf07f);this['stopListening'](_0x3b7fe3);for(const _0x274045 of _0x3b7fe3)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x2bf07f,_0x274045);this['_registeredSessions']['delete'](_0x2bf07f),this['channelSessions']['delete'](_0x2bf07f),this['channelConnectedUsers']['delete'](_0x2bf07f);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x2008fb){for(const _0xe90c83 of this['channelSessions']['values']())for(const _0x19677c of _0xe90c83)if(_0x19677c['id']===_0x2008fb)return _0x19677c['user'];}['getUserSessions'](_0x3c2ea3,_0x1fd6da){const _0x5dd9b5=_0x1fd6da?[this['channelSessions']['get'](_0x1fd6da)]:this['channelSessions']['values'](),_0x441b39=new Set();for(const _0x41f7b7 of _0x5dd9b5)for(const _0x50fe41 of _0x41f7b7)_0x50fe41['user']['id']===_0x3c2ea3['id']&&_0x441b39['add'](_0x50fe41['id']);return _0x441b39;}['getUserRole'](_0x8b90bb){for(const _0x142a6f of this['channelSessions']['values']())for(const _0x2af5db of _0x142a6f)if(_0x2af5db['user']===_0x8b90bb)return _0x2af5db['role'];}['_handleSessionAdd'](_0x3d37b7,_0x26b2d){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xc311bb=_0x26b2d['user'],_0x4ebc06=this['_users']['getUser'](_0xc311bb['id'])||this['_createUser'](_0xc311bb),_0x5ef7d1=Object['assign']({},_0x26b2d,{'user':_0x4ebc06});this['channelSessions']['get'](_0x3d37b7)['add'](_0x5ef7d1);const _0x263dda=this['channelConnectedUsers']['get'](_0x3d37b7);_0x263dda['has'](_0x4ebc06['id'])||_0x263dda['add'](_0x4ebc06),this['allConnectedUsers']['has'](_0x4ebc06['id'])||this['allConnectedUsers']['add'](_0x4ebc06,_0x4ebc06['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3d37b7,{'channelId':_0x3d37b7,'session':_0x5ef7d1});}['_handleSessionRemove'](_0x179b67,_0x9fc072){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x493dad=this['channelConnectedUsers']['get'](_0x179b67),_0x161d60=_0x9fc072['user'];_0x161d60['id']&&(this['channelSessions']['get'](_0x179b67)['remove'](_0x9fc072['id']),_0x493dad['has'](_0x161d60['id'])&&!this['getUserSessions'](_0x161d60,_0x179b67)['size']&&_0x493dad['remove'](_0x161d60['id']),this['allConnectedUsers']['get'](_0x161d60['id'])&&!this['getUserSessions'](_0x161d60)['size']&&this['allConnectedUsers']['remove'](_0x161d60['id']));}['_createUser'](_0x44b214,_0x52b577){const _0x5e4908=this['_users']['addUser'](_0x44b214);return _0x52b577&&this['_users']['defineMe'](_0x44b214['id']),_0x5e4908['orderNumber']=this['_uniqueUsersCount']++,_0x5e4908;}}class G extends _0x3c7597{['_domEmitter']=new(_0x11c8ea())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x224db0=this['editor'],_0x2187fb=_0x224db0['plugins']['get'](i);_0x224db0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x46bf3a,{writer:_0x22a404})=>function(_0x2522b5,_0x51442d,_0x1f2da1,_0x318457){const _0x4f2119=_0x2522b5['markerName']['split'](':')[0x2],_0x130689=_0x1f2da1['getUserBySessionId'](_0x4f2119);if(!_0x130689||_0x4f2119===_0x1f2da1['mySessionId'])return;if(!_0x318457['model']['schema']['checkChild'](_0x2522b5['markerRange']['start'],'$text'))return;const _0x4aeefb={'class':'ck-user__marker\x20'+_0x130689['color']['getMarkerClass'](),'data-name':_0x130689['name'],'data-session-id':_0x4f2119},_0xd2c8f3=_0x318457['model']['markers']['get'](_0x2522b5['markerName']),_0x987ec2=_0xd2c8f3['getStart'](),_0x216396=_0x987ec2['nodeAfter'],_0x1db0ff=_0x318457['model']['schema'];if(_0x216396&&_0x1db0ff['isObject'](_0x216396)&&_0x1db0ff['isInline'](_0x216396)&&!_0x318457['model']['markers']['get']('user:range:'+_0x4f2119)['getRange']()['isCollapsed'])return;const _0x154986=_0x987ec2['parent'];return _0x318457['model']['schema']['isLimit'](_0x154986)&&!_0x318457['model']['hasContent'](_0x154986)&&(_0x4aeefb['contenteditable']=!0x1),function(_0xd9c21e,_0x391ed3,_0x5116a0){const _0x41c261=_0xd9c21e['createUIElement']('span',_0x391ed3);return _0xd9c21e['setCustomProperty']('userPositionMarker',!0x0,_0x41c261),_0x41c261['render']=function(_0x2867e8){const _0x2df24a=this['toDomElement'](_0x2867e8);return _0x2df24a['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>'+_0x5116a0['name']+'</span>⁠',_0x2df24a['addEventListener']('mouseenter',()=>{_0x2df24a['classList']['add']('ck-user__marker_hovered');}),_0x2df24a['addEventListener']('mouseleave',()=>{_0x2df24a['classList']['remove']('ck-user__marker_hovered');}),_0x2df24a;},_0x41c261['isSimilar']=function(_0x31926d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x31926d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x31926d['getAttribute']('data-session-id'));},_0x41c261;}(_0x51442d,_0x4aeefb,_0x130689);}(_0x46bf3a,_0x22a404,_0x2187fb,_0x224db0)}),_0x224db0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x595beb=>function(_0x49209c,_0x602606){const _0x34b864=_0x49209c['markerName']['split'](':')[0x2];if(_0x34b864===_0x602606['mySessionId'])return null;const _0xd7ba75=_0x602606['getUserBySessionId'](_0x34b864);if(!_0xd7ba75)return{'id':_0x34b864,'classes':[]};return{'id':_0x34b864,'classes':['ck-user__selection',_0xd7ba75['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x34b864},'priority':0x7d0+_0xd7ba75['orderNumber']};}(_0x595beb,_0x2187fb)}),function(_0x2b40c2){const _0x13ee02=_0x2b40c2['model'],_0x4e459e=new Map(),_0x556b97=_0x2b40c2['plugins']['get'](i);_0x13ee02['markers']['on']('update:user:range',(_0x55bbcd,_0x2945f9,_0x4ff8f5,_0x172a24)=>{if(!_0x172a24&&_0x4e459e['get'](_0x2945f9['name']))return _0x4e459e['get'](_0x2945f9['name'])['detach'](),void _0x4e459e['delete'](_0x2945f9['name']);const _0x5437e4=_0x2945f9['name']['split'](':')[0x2];if(_0x5437e4===_0x556b97['mySessionId'])return;const _0x30465f='user:position:'+_0x5437e4;_0x13ee02['markers']['has'](_0x30465f)&&_0x2b40c2['editing']['reconvertMarker'](_0x30465f),_0x2945f9['on']('change:range',(_0x570656,_0x331128,_0x383d5b)=>{if('$graveyard'!=_0x331128['root']['rootName']&&'$graveyard'==_0x2945f9['getRange']()['root']['rootName']&&!_0x4e459e['has'](_0x2945f9['name'])){const _0x4de790=_0x13ee02['schema']['getNearestSelectionRange'](_0x383d5b['deletionPosition']);if(_0x4de790){const _0x3b56ee=rt['fromRange'](_0x4de790);_0x4e459e['set'](_0x2945f9['name'],_0x3b56ee),_0x3b56ee['on']('change:range',(_0x515641,_0x3d319f,_0x47169a)=>{if('$graveyard'==_0x3b56ee['root']['rootName']){const _0x31b3ca=_0x13ee02['schema']['getNearestSelectionRange'](_0x47169a['deletionPosition']);_0x31b3ca?(_0x3b56ee['start']=_0x31b3ca['start'],_0x3b56ee['end']=_0x31b3ca['end']):(_0x4e459e['delete'](_0x2945f9['name']),_0x3b56ee['detach']());}});}}});}),_0x13ee02['document']['on']('change',()=>{_0x4e459e['size']>0x0&&_0x13ee02['enqueueChange']({'isUndoable':!0x1},_0x1ee1f7=>{for(const [_0x37b3fa,_0xf65ffc]of _0x4e459e)'$graveyard'==_0x13ee02['markers']['get'](_0x37b3fa)['getRange']()['root']['rootName']&&(te(_0x37b3fa['split'](':')[0x2],_0xf65ffc['toRange'](),_0x13ee02,_0x1ee1f7),_0xf65ffc['detach']());_0x4e459e['clear']();});});}(_0x224db0),this['_domEmitter']['listenTo'](_0x2c0094['document'],'keydown',(_0x539762,{key:_0x4c6358})=>{'Escape'===_0x4c6358&&function(_0x8f0c35){_0x8f0c35['editing']['view']['change'](_0x3ddf4c=>{for(const _0x198233 of _0x8f0c35['model']['markers']){if(!_0x198233['name']['startsWith']('user:position'))continue;const _0x501ec0=_0x8f0c35['editing']['mapper']['markerNameToElements'](_0x198233['name']);if(_0x501ec0){for(const _0x16c8c5 of _0x501ec0)_0x3ddf4c['removeClass']('ck-user__marker_hovered',_0x16c8c5);}}});}(_0x224db0);},{'useCapture':!0x0});}['afterInit'](){const _0x46cd86=this['editor'],_0x5bd30c=_0x46cd86['commands']['get']('undo');_0x5bd30c&&_0x46cd86['model']['on']('applyOperation',(_0x31425b,_0x3736c0)=>{const _0x1b7a99=_0x3736c0[0x0];if('marker'!=_0x1b7a99['type']||!_0x1b7a99['name']['startsWith']('user:'))return;const _0x556bae=_0x1b7a99['batch'];_0x5bd30c['_createdBatches']['has'](_0x556bae)&&(_0x1b7a99['newRange']=_0x1b7a99['oldRange']?_0x46cd86['model']['createRange'](_0x1b7a99['oldRange']['start'],_0x1b7a99['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2eedde=this['editor'],_0x84d411=_0x2eedde['model']['document'],_0x4db9b3=_0x2eedde['plugins']['get'](i);_0x2eedde['model']['enqueueChange']({'isUndoable':!0x1},_0x3ca99d=>{const _0x105d41='user:range:'+_0x4db9b3['mySessionId'],_0x497aad='user:position:'+_0x4db9b3['mySessionId'],_0x1c5d7f=_0x2eedde['model']['markers']['has'](_0x105d41);_0x2eedde['editing']['view']['hasDomSelection']?te(_0x4db9b3['mySessionId'],_0x84d411['selection']['getFirstRange'](),_0x2eedde['model'],_0x3ca99d):_0x1c5d7f&&(_0x3ca99d['removeMarker'](_0x105d41),_0x3ca99d['removeMarker'](_0x497aad));});}}function te(_0x652453,_0x1f016d,_0x4cd057,_0x1d752d){const _0x154af1='user:range:'+_0x652453,_0x407c7e='user:position:'+_0x652453,_0x1dc0f9=_0x1f016d['getContainedElement']();let _0x11dc1c=_0x1f016d['start'];_0x1dc0f9&&_0x1dc0f9['is']('element','tableCell')&&(_0x11dc1c=function(_0x3049c5,_0x532f2b){for(const _0x5d9db0 of _0x3049c5['getPositions']())if(_0x532f2b['schema']['checkChild'](_0x5d9db0,'$text'))return _0x5d9db0;}(_0x1f016d,_0x4cd057),_0x1f016d=_0x1d752d['createRange'](_0x11dc1c));const _0x18e452=_0x1d752d['createRange'](_0x11dc1c);_0x4cd057['markers']['has'](_0x154af1)?(_0x1d752d['updateMarker'](_0x154af1,{'range':_0x1f016d}),_0x1d752d['updateMarker'](_0x407c7e,{'range':_0x18e452})):(_0x1d752d['addMarker'](_0x154af1,{'range':_0x1f016d,'usingOperation':!0x0}),_0x1d752d['addMarker'](_0x407c7e,{'range':_0x18e452,'usingOperation':!0x0}));}function $(_0x2fc671,_0x542da3,_0x28adae){const _0x45c996=_0x2fc671['t'],t=_0x2fc671['t'];switch(_0x542da3){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 _0x45c996({'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'},_0x28adae);default:return'';}}let Q=0x1;class l extends _0x3c7597{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x311e8f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,G,_0x116dc2,_0x13305b,_0x132feb];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x54e3a8=this['serverHistory']['getOperations']();for(let _0x18045b=_0x54e3a8['length']-0x1;_0x18045b>=0x0;_0x18045b--){const _0x998a80=_0x54e3a8[_0x18045b];if(!this['_disconnectionOperations']['has'](_0x998a80))return _0x998a80['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2bcead){if(super(_0x2bcead),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xade2db(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2067cc('collaboration-missing-channelid',this);const _0x827b15=_0x2bcead['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x827b15,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x36c71e(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Z(this['_disconnectionOperations']);}['init'](){const _0x5a69ba=this['editor'],_0x16bede=_0x5a69ba['plugins']['get'](_0x13305b),_0x1ef68c=_0x5a69ba['plugins']['get'](c);this['listenTo'](_0x16bede,'getOperationAuthor',(_0x465650,_0x5146fc)=>{const _0x3752cf=_0x5146fc[0x0];_0x3752cf['_authorId']&&(_0x465650['return']=_0x16bede['getUser'](_0x3752cf['_authorId']),_0x465650['stop']()),null===_0x3752cf['_authorId']&&(_0x465650['return']=null,_0x465650['stop']());},{'priority':'high'}),this['listenTo'](_0x5a69ba['model']['document']['selection'],'change:range',(_0x337e23,_0x1199e6)=>{_0x1199e6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5a69ba['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5a69ba['model']['on']('applyOperation',(_0x1f8ede,_0x4534db)=>{const _0x10353e=_0x4534db[0x0];_0x10353e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x10353e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1ef68c,'state',this,'_hasSynchronizationProblem',(_0x5c162a,_0x2e927e)=>'connected'===_0x5c162a&&!_0x2e927e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5a69ba['disableReadOnlyMode']('rtc-offline'):_0x5a69ba['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5a69ba['disableReadOnlyMode']('rtc-offline'):_0x5a69ba['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x249f89=this['editor']['plugins']['get'](i),_0x219b02=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x249f89['unregister'](this['_channelId']);const _0xdb1f89=await this['_service']['reconnect'](_0x219b02['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xdb1f89)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x129355=await this['_service']['getConnectedSessions']();_0x249f89['register'](this['_channelId'],_0x129355),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4da491){if(function(_0x396666){return'404'===_0x396666['code'];}(_0x4da491)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5eefa0){return'409'===_0x5eefa0['code'];}(_0x4da491)){const _0x4c69e6=$(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'](_0x4c69e6);}else{if(!(_0x4da491 instanceof X))throw _0x4da491;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1e0037=this['editor']['plugins']['get'](c),_0x5d148c=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5d148c['channelSessions']['has'](this['_channelId'])&&_0x5d148c['unregister'](this['_channelId']),_0x1e0037['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ba92e){if(this['sessionId']!==_0x2ba92e['sessionId']&&this['_lastSyncedOperationId']!==_0x2ba92e['lastOperationId'])throw new X();return this['sessionId']=_0x2ba92e['sessionId'],this['_handleServerResponse']([],{..._0x2ba92e,'wereChangesApplied':!0x1,'data':_0x2ba92e['data']},'reconnect');}async['_connectService'](_0x5efe22,_0x4f59a4=!0x1){const {connection:_0x1014c5}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1014c5,this['_channelId'])['then'](_0x10aa9b=>this['_initSessionsHandling'](_0x10aa9b))['catch'](_0xccf610=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xccf610);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1a4a76,_0x3f1205)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3f1205);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x42fa65=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5efe22);this['_isPendingUpdate']=!0x0;const _0x5424d1=await this['_service']['connect'](_0x1014c5,this['_compressOperations'](_0x5efe22),_0x42fa65);if(this['sessionId']=_0x5424d1['sessionId'],_0x4f59a4){if(!_0x5424d1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5424d1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5efe22,_0x5424d1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5424d1,_0x5efe22);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x45367d=this['editor']['plugins']['get'](i),_0x1a6754=this['editor']['plugins']['get'](G),_0x4a2ff2=_0x45367d['channelSessions']['get'](this['_channelId']);_0x4a2ff2&&_0x4a2ff2['length']>0x1?_0x1a6754['createUserMarkerOperations']():this['listenTo'](_0x45367d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x45367d['channelSessions']['get'](this['_channelId'])['length']&&_0x1a6754['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2416c9,_0x521b7f,_0x30b0f6,_0x219c92){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x521b7f){const _0x83563f=this['_decompressOperations'](_0x30b0f6,_0x219c92);await this['_fetchMissingUsers'](_0x83563f),this['_handleExternalOperations'](_0x83563f,_0x521b7f,_0x30b0f6['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1a486a}=this['editor'];let _0x488e5c;try{_0x488e5c=await this['_service']['getDocumentDetails']();}catch(_0x30dca3){const _0x5cf289=$(_0x1a486a,'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'](_0x5cf289);}const _0x7715f=_0x488e5c['currentDocumentSession']||_0x488e5c['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x7715f['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x2363fc=$(_0x1a486a,'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'](_0x2363fc);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12cacf){const _0x4a00a6=this['editor']['plugins']['get'](i);this['listenTo'](_0x4a00a6,'sessionAdd:'+this['_channelId'],(_0x555229,{session:_0x5c61ba})=>{if(_0x5c61ba['id']===_0x4a00a6['mySessionId']){_0x555229['off']();const _0x3b6b18=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xeaf523=_0x5c61ba['permissions'];_0x3b6b18&&_0x3b6b18['isEnabled']&&(_0xeaf523=_0xeaf523['filter'](_0x391268=>'document:write'!==_0x391268)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xeaf523,this['_channelId']);}}),_0x4a00a6['register'](this['_channelId'],_0x12cacf);}['_initThrowingOnDataSet'](){const _0xc953c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3a45ca)=>{if(!_0x3a45ca[_0x3a45ca['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2067cc('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xc953c1['apply'](this['editor']['data'],_0x3a45ca);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3c41f1,[_0x1bf66d])=>{if(this['_document']['version'])throw new _0x2067cc('realtimecollaborationclient-init-document-already-initialized',this);_0x3c41f1['stop'](),this['_setPendingAction']();const _0x5623b2=this['editor']['config']['get']('rootsAttributes'),_0x33ed58=this['_getOperationsFromInitData'](_0x1bf66d,_0x5623b2);0x0==_0x33ed58['length']&&_0x33ed58['push'](new _0x4e4135(0x0)),_0x3c41f1['return']=this['_connectService'](_0x33ed58)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x12535f=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x12535f))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x443a50,[_0xd5aa88,_0x1c14bc])=>{_0x443a50['stop']();const _0x82bc41=this['editor']['model']['document']['getRoot'](_0xd5aa88);if(!this['_knownRootNames']['has'](_0xd5aa88)){const _0x50cb97=_0x1c14bc&&_0x1c14bc['data']?_0x1c14bc['data']:'',_0x123dce=_0x1c14bc&&_0x1c14bc['attributes']?_0x1c14bc['attributes']:{};await this['_loadRoot'](_0xd5aa88,_0x50cb97,_0x123dce);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x82bc41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x82bc41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x174d41){const _0x4a97c4=this['editor']['plugins']['get'](_0x13305b),{connection:_0x134421}=this['editor']['plugins']['get'](c),_0x2cf62c=new Set();for(const _0x44460e of _0x174d41){const _0x4f5eed=_0x44460e['_authorId'];_0x4f5eed&&!_0x4a97c4['getUser'](_0x4f5eed)&&_0x2cf62c['add'](_0x4f5eed);}if(0x0===_0x2cf62c['size'])return;const _0x1c20c2=await ht['getMany'](_0x134421,Array['from'](_0x2cf62c));for(const _0x3a34a6 of _0x1c20c2)_0x4a97c4['getUser'](_0x3a34a6['id'])||_0x4a97c4['addUser'](_0x3a34a6);}['_getOperationsFromInitData'](_0x124ccb,_0x3ba638={}){const _0x3802eb=this['editor']['model'],_0x58b39b=[];let _0x3223ab=0x0;const _0x1927a5='string'==typeof _0x124ccb?{'main':_0x124ccb}:_0x124ccb;for(const _0x534569 of Object['keys'](_0x1927a5)){if(!this['_document']['roots']['has'](_0x534569))throw new _0x2067cc('realtimecollaborationclient-init-non-existent-root',this);const _0x17467f=this['editor']['data']['parse'](_0x1927a5[_0x534569]),_0x5ad7f0=this['_document']['getRoot'](_0x534569),_0xd9e97b=new _0x5e0cf2(_0x3802eb['createPositionAt'](_0x5ad7f0,0x0),_0x17467f,_0x3223ab++);_0x58b39b['push'](_0xd9e97b);for(const [_0x52ad46,_0x42b6ff]of _0x17467f['markers']){const _0x1ea1e7=_0x3802eb['createRange'](_0x3802eb['createPositionFromPath'](_0x5ad7f0,_0x42b6ff['start']['path']['slice']()),_0x3802eb['createPositionFromPath'](_0x5ad7f0,_0x42b6ff['end']['path']['slice']())),_0x2ab936=new _0x54f3a2(_0x52ad46,null,_0x1ea1e7,_0x3802eb['markers'],!0x0,_0x3223ab++);_0x58b39b['push'](_0x2ab936);}}if(_0x3ba638)for(const [_0x972fe6,_0x31c42b]of Object['entries'](_0x3ba638)){const _0xa8a42c=_0x3802eb['document']['getRoot'](_0x972fe6);if(!_0xa8a42c)throw new _0x2067cc('multi-root-editor-root-attributes-no-root',null);for(const [_0x16ca87,_0x1bb7d8]of Object['entries'](_0x31c42b))if(null!==_0x1bb7d8){const _0x17b847=new _0x34ffa8(_0xa8a42c,_0x16ca87,null,_0x1bb7d8,_0x3223ab++);_0x58b39b['push'](_0x17b847);}}return _0x58b39b;}async['_loadRoot'](_0x18ead5,_0x3c9dc6,_0x19fae9){this['_getOperationsFromInitData']({[_0x18ead5]:_0x3c9dc6},{[_0x18ead5]:_0x19fae9})['forEach']((_0x2d3138,_0x408d7f)=>{_0x2d3138['baseVersion']=this['_document']['version']+_0x408d7f,_0x2d3138['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3138);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3ecd03,_0x762794){let _0x144d80;this['_offset']=_0x3ecd03['offset'];const _0x20a0ec=_0x3ecd03['wereChangesApplied']&&!_0x3ecd03['initData'],_0x53cfa8=_0x20a0ec?0x0:_0x3ecd03['data']['baseVersion'];if(_0x762794['forEach'](_0x28a64e=>{_0x28a64e['_isInit']=!0x0,_0x28a64e['createdAt']=_0x3ecd03['sessionCreatedAt'],_0x28a64e['_authorId']=null;}),_0x20a0ec)_0x144d80=_0x762794,this['_applyOperationsSet'](_0x144d80,_0x20a0ec);else{if(_0x3ecd03['initData']){const _0x495fe7=this['_getOperationsFromInitData'](_0x3ecd03['initData']);this['_document']['history']['version']=-_0x495fe7['length'],_0x495fe7['forEach'](_0x4554d6=>{_0x4554d6['baseVersion']-=_0x495fe7['length'],_0x4554d6['createdAt']=_0x3ecd03['sessionCreatedAt'],_0x4554d6['_isInit']=!0x0,_0x4554d6['_authorId']=null;}),this['_applyOperationsSet'](_0x495fe7,!0x0),this['serverHistory']['version']=-_0x495fe7['length']+this['_offset'],this['_updateServerHistory'](_0x495fe7);}this['_document']['history']['version']=_0x53cfa8,_0x144d80=this['_decompressOperations'](_0x3ecd03['data'],_0x3ecd03['metadata']),await this['_fetchMissingUsers'](_0x144d80),this['_applyOperationsSet'](_0x144d80,_0x20a0ec);}_0x3ecd03['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x144d80,_0x3ecd03['lastOperationId']),this['_lastSyncedOperationId']=_0x3ecd03['lastOperationId']),this['serverHistory']['version']=_0x53cfa8+this['_offset'],this['_updateServerHistory'](_0x144d80),_0x762794['filter'](_0x519d42=>{const _0x50207c=this['_getAffectedRoot'](_0x519d42);return _0x50207c&&!this['_knownRootNames']['has'](_0x50207c);})['forEach']((_0x1db812,_0x4f0d9c)=>{_0x1db812['baseVersion']=this['_document']['version']+_0x4f0d9c,this['_saveOperationInBuffer'](_0x1db812);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x7ae909,_0x9642c2){throw this['_isPendingUpdate']=!0x0,_0x9642c2&&console['error'](_0x9642c2),new _0x2067cc(_0x7ae909,this['editor']);}['_saveOperationInBuffer'](_0x1550eb){this['_knownOperations']['has'](_0x1550eb)||(this['_knownOperations']['add'](_0x1550eb),this['_bufferedOperations']['push'](_0x1550eb),this['_pendingAction']||'marker'==_0x1550eb['type']&&!_0x1550eb['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1e61dd=!0x1){!_0x1e61dd&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x198392=>{_0x198392&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x27bbf7=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x97a315){return _0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x27bbf7))throw _0x27bbf7;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x399c1d=>{this['on']('change:_isPendingUpdate',()=>{_0x399c1d();});});}async['_sendBufferedOperations'](){const _0xae97ec=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0xae97ec['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3ccec7=[...this['_bufferedOperations']];for(const _0x4eecbf of _0x3ccec7)_0x4eecbf['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4eecbf);const _0x13a315=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3ccec7),_0x3de3d6=Q++,_0x591ce5=this['_compressOperations'](_0x3ccec7),_0x3bb8b9=await this['_service']['sendOperations'](_0x591ce5,_0x591ce5['baseVersion'],_0x13a315);try{return await this['_handleServerResponse'](_0x3ccec7,_0x3bb8b9,_0x3de3d6);}catch(_0x516d2e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x516d2e);}}async['_handleServerResponse'](_0x35ab7b,_0x3fc756,_0x635214){if('error'in _0x3fc756)throw _0x3fc756['error'];let _0x5a7966=!0x1;if(_0x3fc756['wereChangesApplied']){_0x3fc756['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3fc756['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5eb90b=>!_0x35ab7b['includes'](_0x5eb90b));for(const _0x582134 of _0x35ab7b)_0x582134['createdAt']='lastOperationAcceptedAt'in _0x3fc756&&_0x3fc756['lastOperationAcceptedAt']||void 0x0;Y(_0x35ab7b,_0x3fc756['version']-_0x35ab7b['length']),this['_updateServerHistory'](_0x35ab7b);const _0x321ed0=_0x35ab7b['filter'](_0x102773=>{if(!_0x102773['_isInit'])return!0x1;const _0x21db31=this['_getAffectedRoot'](_0x102773);return _0x21db31&&!this['_knownRootNames']['has'](_0x21db31);});Y(_0x321ed0,this['_document']['version']),this['_applyOperationsSet'](_0x321ed0),_0x5a7966=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1cceee=this['_decompressOperations'](_0x3fc756['data'],_0x3fc756['metadata'])['filter'](_0x427edb=>_0x427edb['baseVersion']>=this['_lastServerVersion']);_0x1cceee['forEach'](_0x367a10=>this['_addKnownRoot'](_0x367a10)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x45d551=>!_0x45d551['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x45d551))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1cceee),_0x5a7966=this['_handleExternalOperations'](_0x1cceee,_0x3fc756['version'],_0x3fc756['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5a7966?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5bf8a7,_0x4fd6c7,_0x3963ec){try{const _0x1fc911={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3c2afd,operationsB:_0x1f5d2,originalOperations:_0x23ed4f}=_0x50e32b(_0x5bf8a7,this['_bufferedOperations'],_0x1fc911);Y(_0x3c2afd,this['_document']['version']),Y(_0x1f5d2,_0x4fd6c7);for(const _0xec92e3 of _0x3c2afd){const _0x32fd34=_0x23ed4f['get'](_0xec92e3);_0xec92e3['_authorId']=_0x32fd34?_0x32fd34['_authorId']:null;}_0x3963ec&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5bf8a7,_0x3963ec),this['_lastSyncedOperationId']=_0x3963ec),this['_bufferedOperations']=[..._0x1f5d2],this['_applyOperationsSet'](_0x3c2afd),this['_updateServerHistory'](_0x5bf8a7);}catch(_0x295a44){return console['error'](_0x295a44),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1d3fa4,_0x9a027a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x13fac3=>{for(const _0x366995 of _0x1d3fa4)this['_knownOperations']['add'](_0x366995),this['_addKnownRoot'](_0x366995),_0x13fac3['batch']['addOperation'](_0x366995),this['editor']['model']['applyOperation'](_0x366995);});}['_addKnownRoot'](_0x509ec6){const _0xf99895=this['_getAffectedRoot'](_0x509ec6);_0xf99895&&this['_knownRootNames']['add'](_0xf99895);}['_getAffectedRoot'](_0x28c029){let _0x12604b,_0x4f0233;switch(_0x28c029['type']){case'insert':_0x12604b=_0x28c029['position']['root'];break;case'marker':if(_0x4f0233=_0x28c029['newRange'],!_0x4f0233)return null;_0x12604b=_0x4f0233['root'];break;case'addRootAttribute':_0x12604b=_0x28c029['root'];break;case'addRoot':_0x12604b=_0x28c029['affectedSelectable'];break;case'move':_0x12604b=_0x28c029['targetPosition']['root'];break;default:return null;}return _0x12604b['rootName'];}['_updateServerHistory'](_0x2271be){_0x2271be['forEach'](_0x36336b=>{const _0x1a145a=_0x36336b['clone']();_0x1a145a['_authorId']=_0x36336b['_authorId'],_0x1a145a['_isInit']=!!_0x36336b['_isInit'],_0x1a145a['createdAt']=_0x36336b['createdAt'],_0x1a145a['baseVersion']+=this['_offset'],_0x36336b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1a145a),this['serverHistory']['addOperation'](_0x1a145a);});}['_handleReconnectionError'](_0x5a8fea){const _0x21f50a=this['editor']['plugins']['get']('Notification'),_0x17b16b=this['editor']['locale'];_0x5a8fea||(_0x5a8fea=$(_0x17b16b,'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.')),_0x21f50a['showWarning'](_0x5a8fea,{'title':$(_0x17b16b,'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'](_0x116dc2)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x116dc2)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x519fc2){const _0x486296=_0x519fc2['map'](_0x314a55=>_0x314a55['toJSON']());return this['_compressor']['compress'](_0x486296);}['_decompressOperations'](_0xca9bc3,_0x31b099){return this['_compressor']['decompress'](_0xca9bc3)['map']((_0x1f7a71,_0x4bd772)=>{const _0x43f95f='init'==_0x31b099[_0x4bd772]['type'];if('InsertOperation'==_0x1f7a71['__className']){const _0x57ea24=_0x1f7a71['position']['root'];!this['_document']['getRoot'](_0x57ea24)&&(this['_document']['createRoot']('$root',_0x57ea24)['_isAttached']=!0x1);}const _0xe384b=_0x75592d['fromJSON'](_0x1f7a71,this['_document']);return _0xe384b['wasUndone']=_0x1f7a71['wasUndone'],_0xe384b['_isInit']=_0x43f95f,_0xe384b['_authorId']=_0x43f95f?null:_0x31b099[_0x4bd772]['userId'],_0xe384b['_isDisconnection']='cs:removeUser'===_0x31b099[_0x4bd772]['type'],_0xe384b['createdAt']=_0x31b099[_0x4bd772]['createdAt'],_0xe384b;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4548b9=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4548b9&&_0x4548b9['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x59b76e,_0x4f0994){for(const _0x1c5abb of _0x59b76e)_0x1c5abb['baseVersion']=_0x4f0994++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x493b86){this['_ignoredOperations']=_0x493b86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3061f4){let _0x93f980=_0x3061f4['length'];for(;_0x93f980--;){const _0x17d216=_0x3061f4[_0x93f980];if(!this['_ignoredOperations']['has'](_0x17d216)){if(!this['_operationToId']['has'](_0x17d216)){const _0x455eb8=_0x23cfbe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x17d216,_0x455eb8);}return this['_operationToId']['get'](_0x17d216);}}}['setIdForTheLastOperation'](_0x7245b6,_0x49c92e){if(!_0x49c92e)return;let _0x1930f9=_0x7245b6['length'];for(;_0x1930f9--;){const _0x264e8a=_0x7245b6[_0x1930f9];this['_ignoredOperations']['has'](_0x264e8a)||this['_operationToId']['set'](_0x264e8a,_0x49c92e);}}}class n extends _0x3c7597{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x1f6ad9{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x40bb4f)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x13305b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x527bc1){super(_0x527bc1),this['_services']=new Map();}async['init'](){const _0x57f711=this['context'],_0x1d8efd=_0x57f711['plugins']['get']('CommentsRepository');if(_0x57f711['plugins']['get'](c)['addToReconnectionStack'](this),_0x1d8efd['adapter']={'addCommentThread':async({channelId:_0x3d77c1,threadId:_0x5eb021,comments:_0x3b0ab5,resolvedAt:_0x1e7bc2,resolvedBy:_0x2f6bd5,context:_0x5f335e,attributes:_0x829837})=>{const _0x5af6fb=await this['_getService'](_0x3d77c1)['addCommentThread']({'commentThreadId':_0x5eb021,'comments':_0x3b0ab5['map'](_0x267ba0=>function(_0x3a4d5e,_0x2e1da0,_0x582a9d){return{'commentThreadId':_0x582a9d,'commentId':_0x3a4d5e['commentId'],'userId':_0x3a4d5e['authorId'],'content':_0x3a4d5e['content'],'documentId':_0x2e1da0,'createdAt':_0x3a4d5e['createdAt'],'attributes':_0x3a4d5e['attributes']||{}};}(_0x267ba0,_0x3d77c1,_0x5eb021)),'resolvedAt':_0x1e7bc2,'resolvedBy':_0x2f6bd5,'context':_0x5f335e,'attributes':_0x829837})['catch'](lt);return{'threadId':_0x5af6fb['commentThreadId'],'comments':_0x5af6fb['comments']};},'getCommentThread':async({channelId:_0x4e4f36,threadId:_0x26f40a})=>{const _0x4516a6=await this['_getService'](_0x4e4f36)['getCommentThread'](_0x26f40a)['catch'](lt);return _0x4516a6['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4516a6]),{'threadId':_0x4516a6['commentThreadId'],'comments':_0x4516a6['comments']['map'](b),'context':_0x4516a6['context'],'resolvedAt':_0x4516a6['resolvedAt'],'resolvedBy':_0x4516a6['resolvedBy'],'attributes':_0x4516a6['attributes']||{}});},'updateCommentThread':async({channelId:_0x17b2c9,threadId:_0x8b8da,context:_0x1b8a56,unlinkedAt:_0x24cc2e,attributes:_0x15a717})=>this['_getService'](_0x17b2c9)['updateCommentThread']({'commentThreadId':_0x8b8da,'context':_0x1b8a56,'attributes':_0x15a717,'unlinkedAt':_0x24cc2e})['catch'](y)['catch'](lt),'resolveCommentThread':async({channelId:_0x4a7377,threadId:_0x8fbabf})=>{const _0x3ad467=await this['_getService'](_0x4a7377)['resolveCommentThread'](_0x8fbabf)['catch'](y)['catch'](lt);return{'threadId':_0x3ad467['commentThreadId'],'resolvedAt':_0x3ad467['resolvedAt'],'resolvedBy':_0x3ad467['resolvedBy']};},'reopenCommentThread':async({channelId:_0x823579,threadId:_0x2304bd})=>this['_getService'](_0x823579)['reopenCommentThread'](_0x2304bd)['catch'](y)['catch'](lt),'removeCommentThread':({channelId:_0x335020,threadId:_0x202de4})=>this['_getService'](_0x335020)['removeCommentThread'](_0x202de4)['catch'](y)['catch'](lt),'addComment':({channelId:_0x590935,threadId:_0x42a513,commentId:_0x187a65,content:_0x1354ee,attributes:_0x39fa2f})=>this['_getService'](_0x590935)['addComment'](_0x42a513,_0x187a65,_0x1354ee,_0x39fa2f)['catch'](lt),'updateComment':({channelId:_0x491c60,threadId:_0x3f30ef,commentId:_0x55f6aa,content:_0x3b8ca1,attributes:_0x3f5975})=>this['_getService'](_0x491c60)['updateComment'](_0x3f30ef,_0x55f6aa,_0x3b8ca1,_0x3f5975)['catch'](y)['catch'](lt),'removeComment':({channelId:_0x11459c,threadId:_0x1a651f,commentId:_0x51ea2d})=>this['_getService'](_0x11459c)['removeComment'](_0x1a651f,_0x51ea2d)['catch'](y)['catch'](lt)},_0x57f711 instanceof _0x3bacf4){const _0x6ef459=_0x57f711['config']['get']('collaboration.channelId'),_0x45ea05=_0x57f711['plugins']['get'](i);await this['_setUpService'](_0x6ef459);const _0x37b85e=await this['_services']['get'](_0x6ef459)['getConnectedSessions']();this['listenTo'](_0x45ea05,'sessionAdd:'+_0x6ef459,(_0x453c8a,{session:_0x5506d5})=>{_0x5506d5['id']===_0x45ea05['mySessionId']&&(_0x453c8a['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5506d5['permissions'],_0x6ef459));}),_0x45ea05['register'](_0x6ef459,_0x37b85e);}}async['_setUpService'](_0x5a0c33){if(this['_services']['has'](_0x5a0c33))throw new _0x2067cc('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5a0c33});const _0x5911b7=this['context']['plugins']['get']('CommentsRepository'),_0x30a892=new a['CommentsService'](_0x5a0c33);this['_services']['set'](_0x5a0c33,_0x30a892),this['listenTo'](_0x30a892,'commentThreadAdded',(_0x10ffc4,_0x1c33dc)=>{const {commentThreadId:_0x5c6a2f,documentId:_0x1b01f9,context:_0x1e436d,attributes:_0x75436c,resolvedAt:_0x202ce2,resolvedBy:_0x366bb3,comments:_0xb27150}=_0x1c33dc;_0x5911b7['getCommentThread'](_0x5c6a2f)||_0x5911b7['addCommentThread']({'threadId':_0x5c6a2f,'channelId':_0x1b01f9,'comments':_0xb27150?_0xb27150['map'](b):[],'context':_0x1e436d,'attributes':_0x75436c,'resolvedAt':_0x202ce2,'resolvedBy':_0x366bb3,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadUpdated',(_0x4fd3bc,{commentThreadId:_0x5ba152,documentId:_0x5a6465,context:_0x1542fb,unlinkedAt:_0x3740b9,attributes:_0x49d8d8})=>{_0x5911b7['getCommentThread'](_0x5ba152)&&_0x5911b7['updateCommentThread']({'threadId':_0x5ba152,'channelId':_0x5a6465,'context':_0x1542fb,'unlinkedAt':_0x3740b9,'attributes':_0x49d8d8,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadResolved',(_0x4bfc4c,{commentThreadId:_0x2cfe86,resolvedBy:_0x23b83c,resolvedAt:_0x2011d2})=>{const _0x276215=_0x5911b7['getCommentThread'](_0x2cfe86);_0x276215&&_0x276215['resolve']({'resolvedBy':_0x23b83c,'resolvedAt':_0x2011d2,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadReopened',(_0x499eed,{commentThreadId:_0x4f33c9})=>{const _0xa50593=_0x5911b7['getCommentThread'](_0x4f33c9);_0xa50593&&_0xa50593['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadRemoved',(_0x2e0d70,{commentThreadId:_0x7d118b})=>{const _0x21a972=_0x5911b7['getCommentThread'](_0x7d118b);_0x21a972&&_0x21a972['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentAdded',(_0x2842b6,_0x30ad82)=>{const _0x13d67e=_0x30ad82['commentThreadId'],_0x4c5865=_0x5911b7['getCommentThread'](_0x13d67e);_0x4c5865&&_0x4c5865['addComment']({...b(_0x30ad82),'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentUpdated',(_0x246043,{commentThreadId:_0x4209ea,commentId:_0x263643,content:_0x450d13,attributes:_0x421af1})=>{const _0x418580=_0x5911b7['getCommentThread'](_0x4209ea);if(_0x418580){const _0x452f34=_0x418580['getComment'](_0x263643);_0x452f34&&_0x452f34['update']({'content':_0x450d13,'attributes':_0x421af1,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30a892,'commentRemoved',(_0x49f649,{commentThreadId:_0x120141,commentId:_0xe4ee3d})=>{const _0x55d97=_0x5911b7['getCommentThread'](_0x120141);if(_0x55d97){const _0x1ee83a=_0x55d97['getComment'](_0xe4ee3d);_0x1ee83a&&_0x1ee83a['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5a0c33);}['destroy'](){if(this['context']instanceof _0x3bacf4){const _0x104c77=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x104c77);}}['_terminateService'](_0x45951e){if(!this['_services']['has'](_0x45951e))throw new _0x2067cc('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x45951e});this['_getService'](_0x45951e)['disconnect'](),this['_services']['delete'](_0x45951e);}async['reconnect'](){for(const _0xc850db of this['_services']['keys']())await this['_connectService'](_0xc850db);if(this['context']instanceof _0x3bacf4){const _0x18f5d9=this['context']['config']['get']('collaboration.channelId'),_0x19f06f=this['context']['plugins']['get'](i);_0x19f06f['unregister'](_0x18f5d9);const _0x3e14ca=await this['_services']['get'](_0x18f5d9)['getConnectedSessions']();_0x19f06f['register'](_0x18f5d9,_0x3e14ca);}}async['_connectService'](_0xb8768){const {connection:_0x263a9a}=this['context']['plugins']['get'](c),_0x351705=this['context']['plugins']['get']('CommentsRepository'),_0x559c1d=this['_services']['get'](_0xb8768),_0x54a9c8=await _0x559c1d['connect'](_0x263a9a);await this['_fetchMissingUsersForThreads'](_0x54a9c8);const _0x50f720=new Set(Array['from'](_0x351705['getCommentThreads']({'channelId':_0xb8768}),_0x204b38=>_0x204b38['id']));for(const _0x1aba19 of _0x54a9c8)_0x1aba19['deletedAt']||_0x50f720['delete'](_0x1aba19['commentThreadId']);for(const _0x4d8d0b of _0x50f720)_0x351705['getCommentThread'](_0x4d8d0b)['remove']({'isFromAdapter':!0x0});for(const _0x48e6e7 of _0x54a9c8){let _0x238e1c=_0x351705['getCommentThread'](_0x48e6e7['commentThreadId']);const {commentThreadId:_0x296096,context:_0x5b4fc9,attributes:_0x15fc8e,resolvedBy:_0x3c26ab,resolvedAt:_0x528f03,unlinkedAt:_0x5132a4,deletedAt:_0x301c45}=_0x48e6e7;if(_0x301c45)continue;_0x238e1c||(_0x238e1c=_0x351705['addCommentThread']({'channelId':_0xb8768,'threadId':_0x296096,'context':_0x5b4fc9,'attributes':_0x15fc8e||{},'resolvedBy':_0x3c26ab,'resolvedAt':_0x528f03,'unlinkedAt':_0x5132a4,'isFromAdapter':!0x0}));const _0x376958=new Set(Array['from'](_0x238e1c['comments'],_0x135f59=>_0x135f59['id']));for(const _0x2b19df of _0x48e6e7['comments'])_0x376958['delete'](_0x2b19df['commentId']);for(const _0x11a4fa of _0x376958)_0x238e1c['getComment'](_0x11a4fa)['remove']({'isFromAdapter':!0x0});for(const _0x199f4c of _0x48e6e7['comments']){const _0x1096fc=_0x238e1c['getComment'](_0x199f4c['commentId']);_0x1096fc?_0x1096fc['content']!==_0x199f4c['content']&&_0x1096fc['update']({'content':_0x199f4c['content'],'isFromAdapter':!0x0}):_0x238e1c['addComment'](Object['assign'](b(_0x199f4c),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5cf503){if(!this['_services']['has'](_0x5cf503))throw new _0x2067cc('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5cf503});return this['_services']['get'](_0x5cf503);}async['_fetchMissingUsersForThreads'](_0x581735){const _0x3a1c45=this['context']['plugins']['get'](_0x13305b),{connection:_0x1dad8f}=this['context']['plugins']['get'](c),_0x416eff=new Set();for(const {resolvedBy:_0x2d59ef,comments:_0x51b251}of _0x581735){_0x2d59ef&&!_0x3a1c45['getUser'](_0x2d59ef)&&_0x416eff['add'](_0x2d59ef);for(const {userId:_0xbf2c87}of _0x51b251)_0x3a1c45['getUser'](_0xbf2c87)||_0x416eff['add'](_0xbf2c87);}if(0x0===_0x416eff['size'])return;const _0x354c3f=await ht['getMany'](_0x1dad8f,Array['from'](_0x416eff));for(const _0x370346 of _0x354c3f)_0x3a1c45['getUser'](_0x370346['id'])||_0x3a1c45['addUser'](_0x370346);}}async function y(_0x58b658){if('404'!==_0x58b658['code'])throw _0x58b658;}function lt(_0x2250c0){if((_0x12b9e9=_0x2250c0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x12b9e9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x12b9e9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x12b9e9;throw _0x2250c0;}function b(_0xba42ff){return{'threadId':_0xba42ff['commentThreadId'],'commentId':_0xba42ff['commentId'],'content':_0xba42ff['content'],'createdAt':_0xba42ff['createdAt'],'authorId':_0xba42ff['userId'],'attributes':_0xba42ff['attributes']||{}};}class f extends _0x3c7597{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1bbb40)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x3c7ed6){super(_0x3c7ed6);const _0x1fe15b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x1fe15b);}['init'](){const _0x2479f1=this['editor']['plugins']['get'](c),_0x540668=this['editor']['plugins']['get']('TrackChangesEditing');return _0x540668['adapter']={'getSuggestion':async _0x302124=>{await this['_waitForServiceReady']();const _0x260b05=await this['_trackChangesService']['get'](_0x302124)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x260b05]),_0x260b05;},'addSuggestion':async({id:_0x38ced2,type:_0x293148,data:_0x2a51f1,originalSuggestionId:_0x5f9636,attributes:_0x1a93c0})=>{await this['_waitForServiceReady']();const _0x4d7ad7={'id':_0x38ced2,'type':_0x293148,'data':_0x2a51f1,'originalSuggestionId':_0x5f9636,'attributes':_0x1a93c0},_0x2470bb=await this['_trackChangesService']['add'](_0x38ced2,_0x293148,_0x2a51f1,_0x5f9636,_0x1a93c0)['catch'](_0x1a8b71=>{if(dt(_0x1a8b71))return new Promise(_0x197cab=>{this['_bufferedRequests']['set'](_0x38ced2,{'resolve':_0x197cab,'suggestionData':_0x4d7ad7});});throw _0x1a8b71;});return this['_bufferedRequests']['delete'](_0x38ced2),_0x2470bb;},'updateSuggestion':async(_0x222552,_0x45df2e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x45df2e['state'])return this['_trackChangesService']['update'](_0x222552,_0x45df2e)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xe4d175,_0x4d7f79)=>{_0x540668['hasSuggestion'](_0x4d7f79['id'])&&(_0x540668['getSuggestion'](_0x4d7f79['id'])['attributes']=_0x4d7f79['attributes']);}),this['_trackChangesService']['connect'](_0x2479f1['connection'])['then'](_0x4065ee=>(_0x2479f1['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4065ee)['then'](()=>{for(const _0x3ba930 of _0x4065ee){_0x540668['addSuggestionData'](_0x3ba930)['_saved']=!0x0;}})));}async['reconnect'](){const _0x35cd3f=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3265c7}=this['editor']['plugins']['get'](c),_0x122eef=await this['_trackChangesService']['connect'](_0x3265c7);await this['_fetchMissingUsersForThreads'](_0x122eef);for(const {suggestionData:_0x4445d7,resolve:_0x15febb}of this['_bufferedRequests']['values']()){let _0x35175e=_0x122eef['find'](_0x24b1f0=>_0x24b1f0['id']===_0x4445d7['id']);_0x35175e||(_0x35175e=await this['_trackChangesService']['add'](_0x4445d7['id'],_0x4445d7['type'],_0x4445d7['data'],_0x4445d7['originalSuggestionId'])),_0x15febb(_0x35175e);}for(const _0x578b34 of _0x122eef)_0x35cd3f['hasSuggestion'](_0x578b34['id'])||_0x35cd3f['addSuggestionData'](_0x578b34);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x218881=>{this['listenTo'](this['_trackChangesService'],'connected',_0x167dda=>{_0x167dda['off'](),_0x218881();});});}async['_fetchMissingUsersForThreads'](_0x4d1b32){const _0x2d7141=this['editor']['plugins']['get'](_0x13305b),{connection:_0x55bdd0}=this['editor']['plugins']['get'](c),_0x114edb=new Set();for(const {authorId:_0x2461dc}of _0x4d1b32)_0x2d7141['getUser'](_0x2461dc)||_0x114edb['add'](_0x2461dc);if(0x0===_0x114edb['size'])return;const _0x2a55a4=await ht['getMany'](_0x55bdd0,Array['from'](_0x114edb));for(const _0x5c6534 of _0x2a55a4)_0x2d7141['getUser'](_0x5c6534['id'])||_0x2d7141['addUser'](_0x5c6534);}}function w(_0x53e34e){if(dt(_0x53e34e))return new Promise(()=>{});throw _0x53e34e;}function dt(_0x316495){return _0x316495['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x316495['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x3c7597{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2a2d1e=this['editor']['plugins']['get'](c),_0x5d0382=this['editor']['plugins']['get']('CommentsEditing'),_0x5da430=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2a2d1e,'change:state',(_0x2180c0,_0x33e54c,_0x2e76b4)=>{_0x5d0382['isThreadsLoadingPaused']='connected'!==_0x2e76b4;});}),this['listenTo'](_0x2a2d1e,'change:state',(_0x3ceeac,_0xd0e7bd,_0xe07798)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xe07798);}),_0x5da430['_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 _0x3c7597{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x3c7597{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x13305b];}constructor(_0xd6e23f){super(_0xd6e23f);const _0x3fd0f1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x3fd0f1);}async['init'](){const _0x57a341=this['editor']['plugins']['get'](l),_0x55915a=_0x57a341['serverHistory'],_0x368c3a=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x55915a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x57a341['sessionId']});const _0x232375=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x11896e=await tt['isBundleUploaded'](_0x368c3a['connection'],_0x232375);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0xffe06e})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xffe06e)),'updateRevisions':async _0x4d5572=>{await this['_waitForServiceReady']();const _0x1da042=this['_revisionTracker']['currentRevision'];if(_0x11896e&&0x1===_0x4d5572['length']&&_0x4d5572[0x0]['id']===_0x1da042['id'])return _0x4d5572;for(const _0x378858 of _0x4d5572)_0x378858['id']===_0x1da042['id']&&(_0x378858['isEmptyCurrent']=_0x378858['fromVersion']===_0x378858['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d5572,this['_lastRequestId'])['then'](_0x25a8b7=>(this['_lastRequestId']=_0x25a8b7,_0x4d5572))['catch'](_0x24ea31=>{if(P(_0x24ea31)||'400'===_0x24ea31['code']&&void 0x0!==_0x24ea31['data']['wrongRequestId']){for(const _0x19dfd7 of _0x4d5572){!this['_revisionTracker']['repository']['getRevision'](_0x19dfd7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x19dfd7['id'],_0x19dfd7,!0x1);}if(P(_0x24ea31))throw _0x24ea31;return _0x4d5572;}throw _0x24ea31;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4fa14c,{revisionsData:_0x4bd5cf,requestId:_0x40a1b7})=>{Math['max'](..._0x4bd5cf['map'](_0x19c1f1=>_0x19c1f1['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4bd5cf,_0x40a1b7);}):this['_handleRevisionsUpdate'](_0x4bd5cf,_0x40a1b7);});const {revisions:_0x533fcc,requestId:_0x3d3893}=await this['_revisionHistoryService']['connect'](_0x368c3a['connection']);_0x368c3a['addToReconnectionStack'](this),this['_lastRequestId']=_0x3d3893,await this['_fetchMissingUsers'](_0x533fcc);for(const _0x3836fc of _0x533fcc)this['_revisionTracker']['addRevisionData'](_0x3836fc);this['listenTo'](_0x57a341,'change:_isConnected',(_0x5659b5,_0x52a5b9,_0x4d7b6f)=>{_0x4d7b6f&&(this['_oldOffset']=_0x57a341['_offset'],_0x5659b5['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x368c3a,'state',_0x3e6502=>_0x3e6502===_0x1ba25d['CONNECTED']);}async['reconnect'](){const _0x2fe8e0=this['editor']['plugins']['get'](c),_0x45a5a8=this['editor']['plugins']['get'](l),_0x2c7cb8=async()=>{const _0x1bd82a=this['_revisionTracker']['currentRevision'],_0x1fe5c2=_0x1bd82a['id'],_0xf833f0=_0x1fe5c2!==_0x45a5a8['sessionId'];if(_0xf833f0){const _0x1e80b7=_0x45a5a8['_offset']-this['_oldOffset'],_0x43696b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1bd82a['toVersion']+_0x1e80b7!==_0x43696b){const _0x3e30c6=_0x1bd82a['fromVersion']+_0x1e80b7,_0x45385a=this['editor']['plugins']['get'](_0x13305b),_0x50eb10=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bd82a,'from':_0x3e30c6,'to':_0x43696b});_0x50eb10['id']=_0x1bd82a['id'];const _0x232e59=_0x50eb10['authorsIds']['map'](_0x44dc99=>_0x45385a['getUser'](_0x44dc99));_0x1bd82a['_update']({..._0x50eb10,'authors':_0x232e59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bd82a['id'],_0x50eb10,!0x0);}this['_revisionTracker']['_startingVersion']=_0x43696b,(_0x1bd82a['toVersion']===_0x1bd82a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1fe5c2)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1fe5c2),this['_revisionTracker']['_createCurrentRevision'](_0x43696b));}const {revisions:_0x4060ca,requestId:_0x569ec1}=await this['_revisionHistoryService']['reconnect'](_0x2fe8e0['connection'],this['_lastRequestId']);_0xf833f0&&_0x4060ca['length']>0x0?_0x45a5a8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4060ca),this['_handleRevisionsUpdate'](_0x4060ca,_0x569ec1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x45a5a8['_isConnected']?_0x2c7cb8():new Promise((_0xb3350b,_0xc4df08)=>{_0x45a5a8['once']('change:_isConnected',()=>{_0x2c7cb8()['then'](_0xb3350b)['catch'](_0xc4df08);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x291d1c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x56cdb6=>{_0x56cdb6['off'](),_0x291d1c();});});}['_getLatestVersionFromServerOperations'](){const _0x544c8e=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3a5d7d of _0x544c8e)if('marker'!==_0x3a5d7d['type']||_0x3a5d7d['affectsData'])return _0x3a5d7d['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2fab74=this['editor']['plugins']['get'](l);return new Promise(_0x10a48b=>{_0x2fab74['_isPendingUpdate']?_0x2fab74['once']('change:_isPendingUpdate',()=>{_0x10a48b(this['_getLatestVersionFromServerOperations']());}):_0x10a48b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5d20be,_0x2994ed){const _0x269981=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2994ed;for(const _0x4efaba of _0x5d20be){const _0xe71cf=_0x269981['getRevision'](_0x4efaba['id']);if(_0xe71cf){if((_0x4efaba['fromVersion']||_0x4efaba['toVersion'])&&(_0x4efaba['diffData']=null),_0xe71cf===this['_revisionTracker']['currentRevision']){const _0x2f5c3f=Math['max'](_0xe71cf['toVersion'],_0x4efaba['toVersion']),_0x990493=Math['max'](_0xe71cf['fromVersion'],_0x4efaba['fromVersion']);let _0x362e5c;_0xe71cf['toVersion']===_0x4efaba['toVersion']&&_0xe71cf['fromVersion']===_0x4efaba['fromVersion']?(_0x362e5c=!0x0,this['_preventResendingRevisionData'](_0x4efaba)):_0x4efaba['toVersion']===_0x2f5c3f&&_0x4efaba['fromVersion']===_0x990493?_0x362e5c=!0x1:(_0xe71cf['toVersion']===_0x2f5c3f&&_0xe71cf['fromVersion']===_0x990493||this['_fixRevision']({'revision':_0xe71cf,'from':_0x990493,'to':_0x2f5c3f}),_0x362e5c=!0x0),_0x362e5c&&(delete _0x4efaba['fromVersion'],delete _0x4efaba['toVersion'],delete _0x4efaba['diffData'],delete _0x4efaba['createdAt'],delete _0x4efaba['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4efaba),this['_preventResendingRevisionData'](_0x4efaba);}else this['_revisionTracker']['addRevisionData'](_0x4efaba);}const _0x5af2c0=_0x269981['getRevisions']();_0x5af2c0['reverse']();for(let _0x3a3299=0x0;_0x3a3299<_0x5af2c0['length']-0x1;_0x3a3299++){const _0x4ed8d0=_0x5af2c0[_0x3a3299],_0x49e98d=_0x5af2c0[_0x3a3299+0x1];if(_0x4ed8d0['fromVersion']<_0x49e98d['toVersion']){const _0x55594b=_0x49e98d['toVersion'],_0x29ba6e=Math['max'](_0x55594b,_0x4ed8d0['toVersion']);this['_fixRevision']({'revision':_0x4ed8d0,'from':_0x55594b,'to':_0x29ba6e});}}}['_fixRevision']({revision:_0x2be10b,from:_0x4b19fe,to:_0x1d93fa}={}){const _0x58759e=this['editor']['plugins']['get'](_0x13305b),_0x20222=this['_revisionTracker']['buildRevisionData']({'revision':_0x2be10b,'from':_0x4b19fe,'to':_0x1d93fa});_0x20222['authors']=_0x20222['authorsIds']['map'](_0x33fa72=>_0x58759e['getUser'](_0x33fa72)),_0x2be10b['_update'](_0x20222);}['_preventResendingRevisionData'](_0x37b777){const _0x46602b={};_0x46602b['id']=_0x37b777['id'];for(const _0x132e4d of Object['keys'](_0x37b777))'id'!==_0x132e4d&&(_0x46602b[_0x132e4d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x46602b['id'],_0x46602b,!0x0);}async['_fetchMissingUsers'](_0x3887a8){const _0x573517=this['editor']['plugins']['get'](_0x13305b),{connection:_0x353923}=this['editor']['plugins']['get'](c),_0x168602=new Set();for(const _0x536258 of _0x3887a8){for(const _0x24a5b6 of _0x536258['authorsIds'])_0x4181ab(_0x24a5b6);_0x536258['creatorId']&&_0x4181ab(_0x536258['creatorId']);}if(0x0===_0x168602['size'])return;const _0x2294c9=await ht['getMany'](_0x353923,Array['from'](_0x168602));for(const _0x286679 of _0x2294c9)_0x573517['getUser'](_0x286679['id'])||_0x573517['addUser'](_0x286679);function _0x4181ab(_0x14a5ef){_0x573517['getUser'](_0x14a5ef)||_0x168602['add'](_0x14a5ef);}}}function P(_0x4238f0){return _0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3c7597{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4c3ca9{constructor(_0x51104c){super(_0x51104c);const _0x51a903=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x51a903['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x51a903['to']('usersCount',_0x1879ce=>$(_0x51104c,'CONNECTED_USERS',_0x1879ce))}]});}}class es extends _0x4c3ca9{['items'];['keystrokes'];constructor(_0x37a1f5){super(_0x37a1f5);const _0x54db14=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x30daff(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x54db14['if']('hasPopup'),'aria-expanded':_0x54db14['to']('isExpanded',_0xc34f73=>this['hasPopup']&&String(_0xc34f73)),'aria-label':_0x54db14['to']('hasPopup',_0x2bd5c1=>$(_0x37a1f5,_0x2bd5c1?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x54db14['to']('hasPopup',_0x417760=>!!_0x417760&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x54db14['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x2f357e,_0x35be91,_0x515c09)=>{this['element']&&(_0x515c09?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _ extends _0x4c3ca9{['counterView'];['inlineListView'];constructor(_0xe01933){super(_0xe01933);const _0x4b209a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xe01933),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x11068e of this['inlineListView']['items'])_0x11068e['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',_0x4b209a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0x4c3ca9{['listWrapperView'];constructor(_0x17943a,_0x2fe5b5){super(_0x17943a),this['listWrapperView']=new ut(_0x17943a,_0x2fe5b5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x17943a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class ut extends _0xbf831b{constructor(_0x207846,_0x46eeb0){super(_0x207846);const _0x38c3ce=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x46eeb0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x38c3ce['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x38c3ce['to']('role'),'aria-label':_0x38c3ce['to']('ariaLabel'),'aria-labelledby':_0x38c3ce['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2c0094['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4a413e=this['element'];_0x4a413e&&(this['_isScrollable']=Math['max'](_0x4a413e['scrollHeight'],_0x4a413e['clientHeight'])>0.8*window['innerHeight']);}}class E extends st{['userView'];constructor(_0x3d5bc0,_0x5cd428,_0x2e5e19){super(_0x3d5bc0);const _0x2b43c7=this['bindTemplate'];this['userView']=new et(_0x3d5bc0,_0x5cd428);const _0x525637={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5cd428['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5cd428['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5cd428['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2e5e19&&(_0x525637['tag']='button',_0x525637['on']={'click':_0x2b43c7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x525637);}['focus'](){this['element']['focus']();}}class T extends _0x4c3ca9{['userView'];['markerView'];constructor(_0xf59995,_0x3b5ae2,_0x22591e){super(_0xf59995);const _0x1c3e34=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new et(_0xf59995,_0x3b5ae2),this['markerView']=new ct(_0xf59995,_0x3b5ae2);const _0x18f788=new ot(_0xf59995);_0x18f788['template']['tag']='span',_0x18f788['text']=_0x3b5ae2['name'];const _0x474df5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1c3e34['to']('isFocusable',_0x51872b=>!!_0x51872b&&0x0),'aria-labelledby':_0x18f788['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1c3e34['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1c3e34['to']('hasTooltip',_0xb65107=>!_0xb65107),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x18f788]};_0x22591e&&(_0x474df5['tag']='button',_0x474df5['on']={'click':_0x1c3e34['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x474df5);}}class ct extends _0x4c3ca9{constructor(_0xfb3654,_0x315ab5){super(_0xfb3654),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x315ab5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1f6ad9{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x191e2b){super(_0x191e2b),this['context']['config']['define']('presenceList',D);const _0x7322c5=_0x191e2b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7322c5)throw new _0x2067cc('presencelist-collapseat-invalid-format',this);if(_0x7322c5<0x1)throw new _0x2067cc('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3caab5(),this['balloonPanelView']=new _0x4ca446(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xaac55e of this['_allConnectedUsers'])this['_handleUserAdd'](_0xaac55e);this['listenTo'](this['_allConnectedUsers'],'add',(_0xdfde68,_0x3b0837)=>{this['_handleUserAdd'](_0x3b0837);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5e2b05,_0x20f505)=>{this['_handleUserRemove'](_0x20f505);});}['_createView'](){const _0x28d428=this['context'],_0x5af5b5=new _(this['context']['locale']),_0x13f6fe=this['balloonPanelView'];if(!_0x52addc(_0x28d428['config']['get']('presenceList.container')))throw new _0x2067cc('presencelist-missing-container',this);return _0x5af5b5['counterView']['bind']('usersCount')['to'](this),_0x5af5b5['bind']('isCollapsed')['to'](this,'usersCount',_0x494714=>{const {collapseAt:_0x31f4ee,displayMe:_0x3a79e8}=_0x28d428['config']['get']('presenceList'),_0x1016ab=_0x494714>=_0x31f4ee;return _0x5af5b5['counterView']['isHidden']=!(0x1==_0x494714&&_0x3a79e8||_0x1016ab),_0x1016ab||this['hideDropdown'](),_0x1016ab;}),_0x5af5b5['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x42dd26=>{const _0x44c2dd=_0x28d428['config']['get']('presenceList'),_0x3ea088=new T(_0x28d428['locale'],_0x42dd26,!!_0x44c2dd['onClick']);return _0x3ea088['bind']('hasTooltip')['to'](_0x5af5b5,'isCollapsed',_0x5d6ada=>!_0x5d6ada),_0x3ea088['bind']('isFocusable')['to'](_0x5af5b5,'isCollapsed',_0x30074b=>!_0x30074b),_0x44c2dd['onClick']&&this['listenTo'](_0x3ea088,'execute',()=>{this['view']['isCollapsed']||_0x44c2dd['onClick'](_0x42dd26,_0x3ea088['element']);}),_0x3ea088;}),this['listenTo'](_0x5af5b5['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x5af5b5['inlineListView']['keystrokes']['set']('Enter',(_0x5cecec,_0x30e78d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x30e78d());}),_0x5af5b5['render'](),_0x13f6fe['render'](),_0x512ea3({'emitter':_0x5af5b5,'activator':()=>_0x13f6fe['isVisible'],'contextElements':[_0x13f6fe['element'],_0x5af5b5['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x28d428['config']['get']('presenceList.container')['appendChild'](_0x5af5b5['element']),this['_bodyCollection']=new _0x320c61(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5af5b5;}['_handleUserAdd'](_0x2fa5c8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2fa5c8['isMe'])return;const _0x12eb52=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x12eb52&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x5743b1=_0x2fa5c8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2fa5c8,_0x5743b1);}['_handleUserRemove'](_0x2c3809){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x2c3809['id'])&&(this['currentDisplayedUsers']['remove'](_0x2c3809['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0xa78f5b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa78f5b['id']))return void this['currentDisplayedUsers']['add'](_0xa78f5b,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x46ad88=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x46ad88['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x494bbe}=this['presenceDropdownView'];_0x494bbe['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xe1af9c=>{if(!_0x46ad88['displayMe']&&_0xe1af9c['isMe'])return null;const _0x1f6da7=new E(this['context']['locale'],_0xe1af9c,!!_0x46ad88['onClick']);return _0x46ad88['onClick']&&this['listenTo'](_0x1f6da7,'execute',()=>{_0x46ad88['onClick'](_0xe1af9c,_0x1f6da7['element']);}),_0x1f6da7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x494bbe['focus'](),_0x494bbe['checkIfScrollable']();const _0xca38fe=(_0x2be65e,_0x275938)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x275938();};_0x494bbe['keystrokes']['set']('Esc',_0xca38fe),_0x494bbe['keystrokes']['set']('Shift+Tab',_0xca38fe),_0x494bbe['keystrokes']['set']('Tab',(_0xb47248,_0x3d752b)=>{!function(_0x2b0b40){const _0x3c53d0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e3a82=>_0x2e3a82+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52b047=[...document['body']['querySelectorAll'](_0x3c53d0)]['filter'](_0x5940da=>_0x5940da===document['activeElement']||_0x5940da['offsetWidth']+_0x5940da['offsetHeight']>0x0)['sort']((_0x3b42b1,_0x4dcdd3)=>(_0x3b42b1['tabIndex']||0x0)-(_0x4dcdd3['tabIndex']||0x0)),_0x1be04f=_0x52b047['indexOf'](_0x2b0b40),_0x3d71db=_0x52b047[(_0x1be04f+0x1)%_0x52b047['length']];_0x3d71db&&_0x3d71db['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3d752b();}),_0x494bbe['focusTracker']['add'](this['view']['element']),_0x494bbe['focusTracker']['on']('change:isFocused',(_0x49dea9,_0x2ed28d,_0x2cc55e)=>{_0x2cc55e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x1f6ad9{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g 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.3.0-alpha.3",
3
+ "version": "43.3.0-alpha.6",
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.11",
45
- "@ckeditor/ckeditor5-core": "43.3.0-alpha.3",
46
- "@ckeditor/ckeditor5-engine": "43.3.0-alpha.3",
47
- "@ckeditor/ckeditor5-operations-compressor": "43.3.0-alpha.3",
48
- "@ckeditor/ckeditor5-theme-lark": "43.3.0-alpha.3",
49
- "@ckeditor/ckeditor5-ui": "43.3.0-alpha.3",
50
- "@ckeditor/ckeditor5-utils": "43.3.0-alpha.3",
51
- "ckeditor5": "43.3.0-alpha.3",
52
- "ckeditor5-collaboration": "43.3.0-alpha.3",
45
+ "@ckeditor/ckeditor5-core": "43.3.0-alpha.6",
46
+ "@ckeditor/ckeditor5-engine": "43.3.0-alpha.6",
47
+ "@ckeditor/ckeditor5-operations-compressor": "43.3.0-alpha.6",
48
+ "@ckeditor/ckeditor5-theme-lark": "43.3.0-alpha.6",
49
+ "@ckeditor/ckeditor5-ui": "43.3.0-alpha.6",
50
+ "@ckeditor/ckeditor5-utils": "43.3.0-alpha.6",
51
+ "ckeditor5": "43.3.0-alpha.6",
52
+ "ckeditor5-collaboration": "43.3.0-alpha.6",
53
53
  "lodash-es": "4.17.21"
54
54
  },
55
55
  "types": "src/index.d.ts",