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

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.
Files changed (75) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.umd.js +1 -1
  3. package/dist/translations/ar.umd.js +1 -1
  4. package/dist/translations/ast.umd.js +1 -1
  5. package/dist/translations/az.umd.js +1 -1
  6. package/dist/translations/be.umd.js +1 -1
  7. package/dist/translations/bg.umd.js +1 -1
  8. package/dist/translations/bn.umd.js +1 -1
  9. package/dist/translations/bs.umd.js +1 -1
  10. package/dist/translations/ca.umd.js +1 -1
  11. package/dist/translations/cs.umd.js +1 -1
  12. package/dist/translations/da.umd.js +1 -1
  13. package/dist/translations/de-ch.umd.js +1 -1
  14. package/dist/translations/de.umd.js +1 -1
  15. package/dist/translations/el.umd.js +1 -1
  16. package/dist/translations/en-au.umd.js +1 -1
  17. package/dist/translations/en-gb.umd.js +1 -1
  18. package/dist/translations/en.umd.js +1 -1
  19. package/dist/translations/eo.umd.js +1 -1
  20. package/dist/translations/es-co.umd.js +1 -1
  21. package/dist/translations/es.umd.js +1 -1
  22. package/dist/translations/et.umd.js +1 -1
  23. package/dist/translations/eu.umd.js +1 -1
  24. package/dist/translations/fa.umd.js +1 -1
  25. package/dist/translations/fi.umd.js +1 -1
  26. package/dist/translations/fr.umd.js +1 -1
  27. package/dist/translations/gl.umd.js +1 -1
  28. package/dist/translations/gu.umd.js +1 -1
  29. package/dist/translations/he.umd.js +1 -1
  30. package/dist/translations/hi.umd.js +1 -1
  31. package/dist/translations/hr.umd.js +1 -1
  32. package/dist/translations/hu.umd.js +1 -1
  33. package/dist/translations/hy.umd.js +1 -1
  34. package/dist/translations/id.umd.js +1 -1
  35. package/dist/translations/it.umd.js +1 -1
  36. package/dist/translations/ja.umd.js +1 -1
  37. package/dist/translations/jv.umd.js +1 -1
  38. package/dist/translations/kk.umd.js +1 -1
  39. package/dist/translations/km.umd.js +1 -1
  40. package/dist/translations/kn.umd.js +1 -1
  41. package/dist/translations/ko.umd.js +1 -1
  42. package/dist/translations/ku.umd.js +1 -1
  43. package/dist/translations/lt.umd.js +1 -1
  44. package/dist/translations/lv.umd.js +1 -1
  45. package/dist/translations/ms.umd.js +1 -1
  46. package/dist/translations/nb.umd.js +1 -1
  47. package/dist/translations/ne.umd.js +1 -1
  48. package/dist/translations/nl.umd.js +1 -1
  49. package/dist/translations/no.umd.js +1 -1
  50. package/dist/translations/oc.umd.js +1 -1
  51. package/dist/translations/pl.umd.js +1 -1
  52. package/dist/translations/pt-br.umd.js +1 -1
  53. package/dist/translations/pt.umd.js +1 -1
  54. package/dist/translations/ro.umd.js +1 -1
  55. package/dist/translations/ru.umd.js +1 -1
  56. package/dist/translations/si.umd.js +1 -1
  57. package/dist/translations/sk.umd.js +1 -1
  58. package/dist/translations/sl.umd.js +1 -1
  59. package/dist/translations/sq.umd.js +1 -1
  60. package/dist/translations/sr-latn.umd.js +1 -1
  61. package/dist/translations/sr.umd.js +1 -1
  62. package/dist/translations/sv.umd.js +1 -1
  63. package/dist/translations/th.umd.js +1 -1
  64. package/dist/translations/ti.umd.js +1 -1
  65. package/dist/translations/tk.umd.js +1 -1
  66. package/dist/translations/tr.umd.js +1 -1
  67. package/dist/translations/tt.umd.js +1 -1
  68. package/dist/translations/ug.umd.js +1 -1
  69. package/dist/translations/uk.umd.js +1 -1
  70. package/dist/translations/ur.umd.js +1 -1
  71. package/dist/translations/uz.umd.js +1 -1
  72. package/dist/translations/vi.umd.js +1 -1
  73. package/dist/translations/zh-cn.umd.js +1 -1
  74. package/dist/translations/zh.umd.js +1 -1
  75. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x2d68c5,ContextPlugin as _0xc4d6aa,PendingActions as _0x36d6a1,Plugin as _0x36abf4}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x2e8d1b,Collection as _0xed46ed,DomEmitterMixin as _0x2f59e2,KeystrokeHandler as _0x2a8a0f,global as _0x81b33,uid as _0x3e36f4,version as _0x40ea60}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x532b6f,BodyCollection as _0x367670,LabelView as _0xd0dd83,ListItemView as _0x5d7bc4,ListView as _0x584c4e,Notification as _0x35fa26,View as _0x56b2c8,clickOutsideHandler as _0x53dee}from'@ckeditor/ckeditor5-ui';import{History as _0x2acc88,InsertOperation as _0xa72021,MarkerOperation as _0x53a5d6,ModelLiveRange as _0x57f87f,NoOperation as _0x469700,OperationFactory as _0x50c70e,RootAttributeOperation as _0x1d12c1,transformOperationSets as _0x1ef915}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x404a83}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x2dbe7d,CommentsService as _0x5e88d2,EditorService as _0x2742b2,RevisionHistoryService as _0x361b61,TrackChangesService as _0x43b8a5,User as _0xad2f00,WEB_SOCKET_GATEWAY_STATES as _0x398bd1,WebSocketGateway as _0x412666}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3b6bb4,Users as _0x4a1da9}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x157e03}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x112efb,TrackChangesEditing as _0x59abfe}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4663d3,CommentsEditing as _0x116785,CommentsRepository as _0x6bab61}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x230608}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x359a2e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0xc4d6aa{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
- ((()=>_0x412666)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x404a83,_0x35fa26];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e1d0){super(_0x34e1d0),this['set']('state',_0x398bd1['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2f59e2())();}init(){const _0x2f2535=this['context'],_0xafa8a=_0x2f2535['plugins']['get'](_0x404a83),_0x575c3e=_0x2f2535['plugins']['get'](_0x35fa26);if(!_0xafa8a['token'])throw new _0x2e8d1b('websocketgateway-missing-token',this);if(!_0xafa8a['webSocketUrl'])throw new _0x2e8d1b('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),WebSocketGateway['WebSocketGateway']['connect'](_0xafa8a['token'],_0xafa8a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2b38dd=>{if(this['connection']=_0x2b38dd,this['bind']('state')['to'](_0x2b38dd,'state',this,'_isBrowserOffline',(_0x549b8e,_0x25827f)=>('connected'!==_0x549b8e&&(this['_shouldPluginsReconnect']=!0x0),_0x25827f||_0x549b8e!==_0x398bd1['CONNECTED']?_0x398bd1['DISCONNECTED']:this['state']==_0x398bd1['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x398bd1['CONNECTING']):_0x398bd1['CONNECTED'])),this['connection']['on']('error',(_0x35d2f1,_0x145762)=>{if('limitExceeded'!==_0x145762['code'])throw console['error'](_0x145762),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x145762});_0x575c3e['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'});}),!_0x2b38dd['me'])return new Promise(_0x2a4655=>_0x2b38dd['on']('change:me',_0x2a4655));})['catch'](_0x2d8256=>{throw console['error'](_0x2d8256),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x2d8256});});}addToReconnectionStack(_0x166b4a){if('function'!=typeof _0x166b4a['reconnect'])throw new _0x2e8d1b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x166b4a))throw new _0x2e8d1b('websocketgateway-plugin-already-registered',this,{'name':_0x166b4a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x166b4a);}removeFromReconnectionStack(_0x3640cb){this['_reconnectionStack']['delete'](_0x3640cb);}isInReconnectionStack(_0xf06e53){return this['_reconnectionStack']['has'](_0xf06e53);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x47aac8=>_0x47aac8['reconnect']())))['then'](()=>this['state']=_0x398bd1['CONNECTED'])['catch'](_0x39e876=>{throw console['error'](_0x39e876),new _0x2e8d1b('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x398bd1['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xc4d6aa{['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[z,_0x4a1da9];}constructor(_0x3f4c33){super(_0x3f4c33),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xed46ed(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a1da9);}init(){const _0x4bea1b=this['context']['plugins']['get'](z);this['listenTo'](_0x4bea1b,'change:state',(_0x332388,_0x431240,_0x203b11)=>{if('connected'!==_0x203b11)this['channelSessions']['forEach'](_0x5e3d6e=>_0x5e3d6e['clear']()),this['channelConnectedUsers']['forEach'](_0xcc4193=>_0xcc4193['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x19f464,_0x2b351]of this['_registeredSessions'])for(const _0x3b7661 of _0x2b351)this['_handleSessionAdd'](_0x19f464,_0x3b7661);}}),this['_createUser'](_0x4bea1b['connection']['me'],!0x0);}register(_0x3a5de4,_0x67c5f){if(this['_registeredSessions']['has'](_0x3a5de4))throw new _0x2e8d1b('sessions-register-already-registered',null,{'channelId':_0x3a5de4});this['_registeredSessions']['set'](_0x3a5de4,_0x67c5f),this['channelSessions']['set'](_0x3a5de4,new _0xed46ed()),this['channelConnectedUsers']['set'](_0x3a5de4,new _0xed46ed()),this['listenTo'](_0x67c5f,'add',(_0x2dd282,_0x3a3945)=>this['_handleSessionAdd'](_0x3a5de4,_0x3a3945)),this['listenTo'](_0x67c5f,'remove',(_0x282fe9,_0x5a610c)=>this['_handleSessionRemove'](_0x3a5de4,_0x5a610c));for(const _0x3d1a27 of _0x67c5f)this['_handleSessionAdd'](_0x3a5de4,_0x3d1a27);}unregister(_0xaf2f2b){if(!this['_registeredSessions']['has'](_0xaf2f2b))throw new _0x2e8d1b('sessions-unregister-not-exist',null,{'channelId':_0xaf2f2b});const _0x4a7209=this['_registeredSessions']['get'](_0xaf2f2b);this['stopListening'](_0x4a7209);for(const _0x438f62 of _0x4a7209)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xaf2f2b,_0x438f62);this['_registeredSessions']['delete'](_0xaf2f2b),this['channelSessions']['delete'](_0xaf2f2b),this['channelConnectedUsers']['delete'](_0xaf2f2b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x6b8184){for(const _0x40ee05 of this['channelSessions']['values']())for(const _0x4fa396 of _0x40ee05)if(_0x4fa396['id']===_0x6b8184)return _0x4fa396['user'];}getUserSessions(_0x36fe35,_0x41bb1d){const _0x3def36=_0x41bb1d?[this['channelSessions']['get'](_0x41bb1d)]:this['channelSessions']['values'](),_0x4d3135=new Set();for(const _0x5765e4 of _0x3def36)for(const _0x7b1286 of _0x5765e4)_0x7b1286['user']['id']===_0x36fe35['id']&&_0x4d3135['add'](_0x7b1286['id']);return _0x4d3135;}getUserRole(_0x2e0e3a){for(const _0x1b055b of this['channelSessions']['values']())for(const _0x15ba99 of _0x1b055b)if(_0x15ba99['user']===_0x2e0e3a)return _0x15ba99['role'];}['_handleSessionAdd'](_0x105079,_0x5ef549){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xc3a595=_0x5ef549['user'],_0x22f0c0=this['_users']['getUser'](_0xc3a595['id'])||this['_createUser'](_0xc3a595),_0x4d8861=Object['assign']({},_0x5ef549,{'user':_0x22f0c0});if(this['channelSessions']['get'](_0x105079)['add'](_0x4d8861),!_0xc3a595['hiddenInPresenceList']){const _0x43ac0f=this['channelConnectedUsers']['get'](_0x105079);_0x43ac0f['has'](_0x22f0c0['id'])||_0x43ac0f['add'](_0x22f0c0),this['allConnectedUsers']['has'](_0x22f0c0['id'])||_0xc3a595['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x22f0c0,_0x22f0c0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x105079,{'channelId':_0x105079,'session':_0x4d8861});}['_handleSessionRemove'](_0x300854,_0x29b1d6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x7d9bd5=this['channelConnectedUsers']['get'](_0x300854),_0x4c9985=_0x29b1d6['user'];_0x4c9985['id']&&(this['channelSessions']['get'](_0x300854)['remove'](_0x29b1d6['id']),_0x7d9bd5['has'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985,_0x300854)['size']&&_0x7d9bd5['remove'](_0x4c9985['id']),this['allConnectedUsers']['get'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985)['size']&&this['allConnectedUsers']['remove'](_0x4c9985['id']));}_createUser(_0x3ad9a6,_0x570841){const _0xa7de5a=this['_users']['addUser'](_0x3ad9a6);return _0x570841&&this['_users']['defineMe'](_0x3ad9a6['id']),_0xa7de5a['orderNumber']=this['_uniqueUsersCount']++,_0xa7de5a;}},K=class extends _0x36abf4{_domEmitter=new(_0x2f59e2())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1123dd=this['editor'],_0x5b3069=_0x1123dd['plugins']['get'](Y);_0x1123dd['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38e18a,{writer:_0x47f268})=>function(_0x4c9792,_0x36e3ea,_0x13b180,_0x4b4358){const _0x16aae6=_0x4c9792['markerName']['split'](':')[0x2],_0x4a326c=_0x13b180['getUserBySessionId'](_0x16aae6);if(!_0x4a326c||_0x16aae6===_0x13b180['mySessionId'])return;if(!_0x4b4358['model']['schema']['checkChild'](_0x4c9792['markerRange']['start'],'$text'))return;const _0x5bb08f={'class':'ck-user__marker\x20'+_0x4a326c['color']['getMarkerClass'](),'style':Q(_0x4a326c),'data-name':_0x4a326c['name'],'data-session-id':_0x16aae6},_0x4d5517=_0x4b4358['model']['markers']['get'](_0x4c9792['markerName'])['getStart'](),_0x484202=_0x4d5517['nodeAfter'],_0x142f71=_0x4b4358['model']['schema'];if(_0x484202&&_0x142f71['isObject'](_0x484202)&&_0x142f71['isInline'](_0x484202)&&!_0x4b4358['model']['markers']['get']('user:range:'+_0x16aae6)['getRange']()['isCollapsed'])return;const _0x1961df=_0x4d5517['parent'];return _0x4b4358['model']['schema']['isLimit'](_0x1961df)&&!_0x4b4358['model']['hasContent'](_0x1961df)&&(_0x5bb08f['contenteditable']=!0x1),function(_0x4c985a,_0x5b1926,_0x4343ec){const _0x4a9321=_0x4c985a['createUIElement']('span',_0x5b1926);return _0x4c985a['setCustomProperty']('userPositionMarker',!0x0,_0x4a9321),_0x4a9321['render']=function(_0x495b99){const _0x101a79=this['toDomElement'](_0x495b99),_0x10cd36=document['createElement']('span');return _0x10cd36['classList']['add']('ck-user__marker-tooltip'),_0x10cd36['setAttribute']('contenteditable','false'),_0x10cd36['setAttribute']('spellcheck','false'),_0x10cd36['textContent']=_0x4343ec['name'],_0x101a79['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10cd36['outerHTML']+'⁠',_0x101a79['addEventListener']('mouseenter',()=>{_0x101a79['classList']['add']('ck-user__marker_hovered');}),_0x101a79['addEventListener']('mouseleave',()=>{_0x101a79['classList']['remove']('ck-user__marker_hovered');}),_0x101a79;},_0x4a9321['isSimilar']=function(_0x9dd706){return!(!this['getCustomProperty']('userPositionMarker')||!_0x9dd706['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x9dd706['getAttribute']('data-session-id'));},_0x4a9321;}(_0x36e3ea,_0x5bb08f,_0x4a326c);}(_0x38e18a,_0x47f268,_0x5b3069,_0x1123dd)}),_0x1123dd['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x56842f=>function(_0x3b639a,_0x2ca63b){const _0x113d27=_0x3b639a['markerName']['split'](':')[0x2];if(_0x113d27===_0x2ca63b['mySessionId'])return null;const _0x15394a=_0x2ca63b['getUserBySessionId'](_0x113d27);return _0x15394a?{'id':_0x113d27,'classes':['ck-user__selection',_0x15394a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x15394a),'data-session-id':_0x113d27},'priority':0x7d0+_0x15394a['orderNumber']}:{'id':_0x113d27,'classes':[]};}(_0x56842f,_0x5b3069)}),function(_0x1fbc9c){const _0x1424b4=_0x1fbc9c['model'],_0x375cfb=new Map(),_0x1ff3e1=_0x1fbc9c['plugins']['get'](Y);_0x1424b4['markers']['on']('update:user:range',(_0x20848b,_0xbfc53d,_0x325882,_0x35fc42)=>{if(!_0x35fc42&&_0x375cfb['get'](_0xbfc53d['name']))return _0x375cfb['get'](_0xbfc53d['name'])['detach'](),void _0x375cfb['delete'](_0xbfc53d['name']);const _0x499fe4=_0xbfc53d['name']['split'](':')[0x2];if(_0x499fe4===_0x1ff3e1['mySessionId'])return;const _0x27e709='user:position:'+_0x499fe4;_0x1424b4['markers']['has'](_0x27e709)&&_0x1fbc9c['editing']['reconvertMarker'](_0x27e709),_0xbfc53d['on']('change:range',(_0xd913ae,_0x2f0ef9,_0x260dba)=>{if('$graveyard'!=_0x2f0ef9['root']['rootName']&&'$graveyard'==_0xbfc53d['getRange']()['root']['rootName']&&!_0x375cfb['has'](_0xbfc53d['name'])){const _0x260af2=_0x1424b4['schema']['getNearestSelectionRange'](_0x260dba['deletionPosition']);if(_0x260af2){const _0x29bfe5=_0x57f87f['fromRange'](_0x260af2);_0x375cfb['set'](_0xbfc53d['name'],_0x29bfe5),_0x29bfe5['on']('change:range',(_0x2b71db,_0x311c92,_0x130b7a)=>{if('$graveyard'==_0x29bfe5['root']['rootName']){const _0x1bdd92=_0x1424b4['schema']['getNearestSelectionRange'](_0x130b7a['deletionPosition']);_0x1bdd92?(_0x29bfe5['start']=_0x1bdd92['start'],_0x29bfe5['end']=_0x1bdd92['end']):(_0x375cfb['delete'](_0xbfc53d['name']),_0x29bfe5['detach']());}});}}});}),_0x1424b4['document']['on']('change',()=>{_0x375cfb['size']>0x0&&_0x1424b4['enqueueChange']({'isUndoable':!0x1},_0x1025d1=>{for(const [_0x2090e2,_0xafbe52]of _0x375cfb)'$graveyard'==_0x1424b4['markers']['get'](_0x2090e2)['getRange']()['root']['rootName']&&(J(_0x2090e2['split'](':')[0x2],_0xafbe52['toRange'](),_0x1424b4,_0x1025d1),_0xafbe52['detach']());_0x375cfb['clear']();});});}(_0x1123dd),this['_domEmitter']['listenTo'](_0x81b33['document'],'keydown',(_0x247dd6,{key:_0x4217c3})=>{'Escape'===_0x4217c3&&function(_0x1157a5){_0x1157a5['editing']['view']['change'](_0x9092c0=>{for(const _0x167227 of _0x1157a5['model']['markers']){if(!_0x167227['name']['startsWith']('user:position'))continue;const _0x3e4779=_0x1157a5['editing']['mapper']['markerNameToElements'](_0x167227['name']);if(_0x3e4779){for(const _0x1c87d4 of _0x3e4779)_0x9092c0['removeClass']('ck-user__marker_hovered',_0x1c87d4);}}});}(_0x1123dd);},{'useCapture':!0x0});}afterInit(){const _0x492e4f=this['editor'],_0x2e64bf=_0x492e4f['commands']['get']('undo');_0x2e64bf&&_0x492e4f['model']['on']('applyOperation',(_0x5ba115,_0x10ea1a)=>{const _0x3edc93=_0x10ea1a[0x0];if(!_0x3edc93['isDocumentOperation'])return;if('marker'!=_0x3edc93['type']||!_0x3edc93['name']['startsWith']('user:'))return;const _0x2330a4=_0x3edc93['batch'];_0x2e64bf['_createdBatches']['has'](_0x2330a4)&&(_0x3edc93['newRange']=_0x3edc93['oldRange']?_0x492e4f['model']['createRange'](_0x3edc93['oldRange']['start'],_0x3edc93['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x5c784e=this['editor'],_0xe6714e=_0x5c784e['model']['document'],_0x282ed9=_0x5c784e['plugins']['get'](Y);_0x5c784e['model']['enqueueChange']({'isUndoable':!0x1},_0x5348f6=>{const _0x448064='user:range:'+_0x282ed9['mySessionId'],_0x11490d='user:position:'+_0x282ed9['mySessionId'],_0x141a24=_0x5c784e['model']['markers']['has'](_0x448064);_0x5c784e['editing']['view']['hasDomSelection']?J(_0x282ed9['mySessionId'],_0xe6714e['selection']['getFirstRange'](),_0x5c784e['model'],_0x5348f6):_0x141a24&&(_0x5348f6['removeMarker'](_0x448064),_0x5348f6['removeMarker'](_0x11490d));});}};function J(_0x4f6086,_0x4e634a,_0x5e252a,_0x502262){const _0x444572='user:range:'+_0x4f6086,_0x140bd5='user:position:'+_0x4f6086,_0x3832e8=_0x4e634a['getContainedElement']();let _0x48f23d=_0x4e634a['start'];if(_0x3832e8&&_0x3832e8['is']('element','tableCell')){const _0x29b1b9=function(_0x2d1639,_0x1dc312){for(const _0x3b2e4e of _0x2d1639['getPositions']())if(_0x1dc312['schema']['checkChild'](_0x3b2e4e,'$text'))return _0x3b2e4e;}(_0x4e634a,_0x5e252a);_0x29b1b9&&(_0x48f23d=_0x29b1b9,_0x4e634a=_0x502262['createRange'](_0x48f23d));}const _0x565d27=_0x502262['createRange'](_0x48f23d);_0x5e252a['markers']['has'](_0x444572)?(_0x502262['updateMarker'](_0x444572,{'range':_0x4e634a}),_0x502262['updateMarker'](_0x140bd5,{'range':_0x565d27})):(_0x502262['addMarker'](_0x444572,{'range':_0x4e634a,'usingOperation':!0x0}),_0x502262['addMarker'](_0x140bd5,{'range':_0x565d27,'usingOperation':!0x0}));}function Q(_0x5aeeac){return'--ck-user-color:'+_0x5aeeac['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x5aeeac['color']['getColorAlphaVariable']()+';';}function X(_0x20d245,_0x4d4773,_0x251dd3){const _0x2aec13=_0x20d245['t'],t=_0x20d245['t'];switch(_0x4d4773){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 _0x2aec13({'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'},_0x251dd3);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x36abf4{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
- ((()=>_0x2dbe7d)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x36d6a1,_0x4a1da9,_0x35fa26];}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 _0x1e71aa=this['serverHistory']['getOperations']();for(let _0x59ab52=_0x1e71aa['length']-0x1;_0x59ab52>=0x0;_0x59ab52--){const _0x161605=_0x1e71aa[_0x59ab52];if(!this['_disconnectionOperations']['has'](_0x161605))return _0x161605['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x13668f){if(super(_0x13668f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2acc88(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2e8d1b('collaboration-missing-channelid',this);const _0x20750c=_0x13668f['config']['get']('cloudServices.bundleVersion')||_0x40ea60;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x20750c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x157e03(),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 it(this['_disconnectionOperations']);}init(){const _0x265787=this['editor'],_0x12ef7c=_0x265787['plugins']['get'](_0x4a1da9),_0x2966a2=_0x265787['plugins']['get'](z);this['listenTo'](_0x12ef7c,'getOperationAuthor',(_0x51fe8a,_0x3d989f)=>{const _0x45f2b5=_0x3d989f[0x0];_0x45f2b5['_authorId']&&(_0x51fe8a['return']=_0x12ef7c['getUser'](_0x45f2b5['_authorId']),_0x51fe8a['stop']()),null===_0x45f2b5['_authorId']&&(_0x51fe8a['return']=null,_0x51fe8a['stop']());},{'priority':'high'}),this['listenTo'](_0x265787['model']['document']['selection'],'change:range',(_0x3ea474,_0x1a18f)=>{_0x1a18f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x265787['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x265787['model']['on']('applyOperation',(_0x15f32a,_0x60e13e)=>{const _0x5277ee=_0x60e13e[0x0];_0x5277ee['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5277ee),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2966a2,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f019b,_0x17b1db,_0x5ead16)=>'connected'===_0x3f019b&&!_0x17b1db&&!_0x5ead16),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1bef33=this['editor']['plugins']['get'](Y),_0x3a9b11=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1bef33['unregister'](this['_channelId']);const _0x45b1b5=await this['_service']['reconnect'](_0x3a9b11['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x45b1b5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x552e92=await this['_service']['getConnectedSessions']();_0x1bef33['register'](this['_channelId'],_0x552e92),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10bf23){if(function(_0x5f25da){return'404'===_0x5f25da['code'];}(_0x10bf23)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x442043){return'409'===_0x442043['code'];}(_0x10bf23)){const _0x4f53b5=X(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'](_0x4f53b5);}else{if(!(_0x10bf23 instanceof et))throw _0x10bf23;this['_handleReconnectionError']();}}}}destroy(){const _0x331c35=this['editor']['plugins']['get'](z),_0x2a2df6=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2a2df6['channelSessions']['has'](this['_channelId'])&&_0x2a2df6['unregister'](this['_channelId']),_0x331c35['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x3ef749){if(this['sessionId']!==_0x3ef749['sessionId']&&this['_lastSyncedOperationId']!==_0x3ef749['lastOperationId'])throw new et();return this['sessionId']=_0x3ef749['sessionId'],this['_handleServerResponse']([],{..._0x3ef749,'wereChangesApplied':!0x1,'data':_0x3ef749['data']},'reconnect');}async _connectService(_0x469b77,_0x44c422=!0x1){const {connection:_0x161f04}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x161f04,this['_channelId'])['then'](_0x5cb598=>this['_initSessionsHandling'](_0x5cb598))['catch'](_0x5aafc8=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aafc8);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x54d2f8,_0x48940a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x48940a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x40a13d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x469b77);this['_isPendingUpdate']=!0x0;const _0x394ec6=await this['_service']['connect'](_0x161f04,this['_compressOperations'](_0x469b77),_0x40a13d);if(this['sessionId']=_0x394ec6['sessionId'],_0x44c422){if(!_0x394ec6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x394ec6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x469b77,_0x394ec6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x394ec6,_0x469b77);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2491db=this['editor']['plugins']['get'](Y),_0x331f8b=this['editor']['plugins']['get'](K),_0x325c29=_0x2491db['channelSessions']['get'](this['_channelId']);_0x325c29&&_0x325c29['length']>0x1?_0x331f8b['createUserMarkerOperations']():this['listenTo'](_0x2491db,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2491db['channelSessions']['get'](this['_channelId'])['length']&&_0x331f8b['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3f5c7b,_0x1dcb10,_0x209898,_0x432de2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dcb10){const _0x5171f1=this['_decompressOperations'](_0x209898,_0x432de2);await this['_fetchMissingUsers'](_0x5171f1),this['_handleExternalOperations'](_0x5171f1,_0x1dcb10,_0x209898['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x2a64be}=this['editor'];let _0x4379b2;try{_0x4379b2=await this['_service']['getDocumentDetails']();}catch{const _0x5b86dc=X(_0x2a64be,'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'](_0x5b86dc);}const _0x1679d8=_0x4379b2['currentDocumentSession']||_0x4379b2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1679d8['lastOperationId']){const _0x56ab99=X(_0x2a64be,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x56ab99);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1086f4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x1086f4['connection']||'connected'!==_0x1086f4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x281457=this['editor']['plugins']['get'](Y);_0x281457['channelSessions']['has'](this['_channelId'])&&_0x281457['unregister'](this['_channelId']),_0x1086f4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x57f1df){const _0x1be2ef=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1be2ef,'sessionAdd:'+this['_channelId'],(_0x1de840,{session:_0x3b247b})=>{if(_0x3b247b['id']===_0x1be2ef['mySessionId']){_0x1de840['off']();const _0x46eeb9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x549ed2=_0x3b247b['permissions'];_0x46eeb9&&_0x46eeb9['isEnabled']&&(_0x549ed2=_0x549ed2['filter'](_0x4f297c=>'document:write'!==_0x4f297c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x549ed2,this['_channelId']);}}),_0x1be2ef['register'](this['_channelId'],_0x57f1df);}_initThrowingOnDataSet(){const _0x5c2e35=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x101756)=>{if(!_0x101756[_0x101756['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2e8d1b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5c2e35['apply'](this['editor']['data'],_0x101756);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x172bdd,[_0x10ae96])=>{if(this['_document']['version'])throw new _0x2e8d1b('realtimecollaborationclient-init-document-already-initialized',this);_0x172bdd['stop'](),this['_setPendingAction']();const _0x5a882c=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x59ae8c])=>!_0x59ae8c['lazyLoad'])['map'](([_0x3fd39f,_0x45371f])=>[_0x3fd39f,_0x45371f['modelAttributes']||{}])),_0x4f5f27=this['_getOperationsFromInitData'](_0x10ae96,_0x5a882c);0x0==_0x4f5f27['length']&&_0x4f5f27['push'](new _0x469700(0x0)),_0x172bdd['return']=this['_connectService'](_0x4f5f27)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1346a6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1346a6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x58b402,[_0x1e65a4,_0x37f789])=>{_0x58b402['stop']();const _0x130d19=this['editor']['model']['document']['getRoot'](_0x1e65a4);if(!this['_knownRootNames']['has'](_0x1e65a4)){const _0x2cb128=_0x37f789&&_0x37f789['data']?_0x37f789['data']:'',_0x47d76c=_0x37f789&&_0x37f789['attributes']?_0x37f789['attributes']:{};await this['_loadRoot'](_0x1e65a4,_0x2cb128,_0x47d76c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x130d19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x130d19);});},{'priority':'high'});}async _fetchMissingUsers(_0x53fdad){const _0x3c13b7=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56f991}=this['editor']['plugins']['get'](z),_0x51b1be=new Set();for(const _0x4470fa of _0x53fdad){const _0x36e5e2=_0x4470fa['_authorId'];_0x36e5e2&&!_0x3c13b7['getUser'](_0x36e5e2)&&_0x51b1be['add'](_0x36e5e2);}if(0x0===_0x51b1be['size'])return;const _0x231661=await _0xad2f00['getMany'](_0x56f991,Array['from'](_0x51b1be));for(const _0x45deb1 of _0x231661)_0x3c13b7['getUser'](_0x45deb1['id'])||_0x3c13b7['addUser'](_0x45deb1);}_getOperationsFromInitData(_0x534916,_0x31022f={}){const _0x2cb4fd=this['editor']['model'],_0x347c61=[];let _0x4c2ca4=0x0;const _0x39b61d='string'==typeof _0x534916?{'main':_0x534916}:_0x534916;for(const _0x1f98cd of Object['keys'](_0x39b61d)){if(!this['_document']['roots']['has'](_0x1f98cd))throw new _0x2e8d1b('realtimecollaborationclient-init-non-existent-root',this);const _0x320e6a=this['_document']['getRoot'](_0x1f98cd),_0x3878dc=this['editor']['data']['parse'](_0x39b61d[_0x1f98cd],_0x320e6a),_0x1a999c=new _0xa72021(_0x2cb4fd['createPositionAt'](_0x320e6a,0x0),_0x3878dc,_0x4c2ca4++);_0x347c61['push'](_0x1a999c);for(const [_0x5975c9,_0x3c1527]of _0x3878dc['markers']){const _0x5a8b9a=_0x2cb4fd['createRange'](_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['start']['path']['slice']()),_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['end']['path']['slice']())),_0x57796f=new _0x53a5d6(_0x5975c9,null,_0x5a8b9a,_0x2cb4fd['markers'],!0x0,_0x4c2ca4++);_0x347c61['push'](_0x57796f);}}if(_0x31022f)for(const [_0x6112d4,_0x1ca91f]of Object['entries'](_0x31022f)){const _0x11bbf0=_0x2cb4fd['document']['getRoot'](_0x6112d4);if(!_0x11bbf0)throw new _0x2e8d1b('multi-root-editor-root-attributes-no-root',null);for(const [_0x4a5062,_0x2aba88]of Object['entries'](_0x1ca91f))if(null!==_0x2aba88){const _0x5c4358=new _0x1d12c1(_0x11bbf0,_0x4a5062,null,_0x2aba88,_0x4c2ca4++);_0x347c61['push'](_0x5c4358);}}return _0x347c61;}async _loadRoot(_0x21399f,_0x4fc50e,_0x4af755){this['_getOperationsFromInitData']({[_0x21399f]:_0x4fc50e},{[_0x21399f]:_0x4af755})['forEach']((_0x37cb3a,_0x5e2c30)=>{_0x37cb3a['baseVersion']=this['_document']['version']+_0x5e2c30,_0x37cb3a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x37cb3a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x2f81d4,_0xdc3fbf){let _0x261f1f;this['_offset']=_0x2f81d4['offset'];const _0x560920=_0x2f81d4['wereChangesApplied']&&!_0x2f81d4['initData'],_0x5eac5a=_0x560920?0x0:_0x2f81d4['data']['baseVersion'];if(_0xdc3fbf['forEach'](_0x102e3c=>{_0x102e3c['_isInit']=!0x0,_0x102e3c['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x102e3c['_authorId']=null;}),_0x560920)_0x261f1f=_0xdc3fbf,this['_applyOperationsSet'](_0x261f1f,_0x560920);else{if(_0x2f81d4['initData']){const _0x4f9951=this['_getOperationsFromInitData'](_0x2f81d4['initData']);this['_document']['history']['version']=-_0x4f9951['length'],_0x4f9951['forEach'](_0x4a9a9b=>{_0x4a9a9b['baseVersion']-=_0x4f9951['length'],_0x4a9a9b['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x4a9a9b['_isInit']=!0x0,_0x4a9a9b['_authorId']=null;}),this['_applyOperationsSet'](_0x4f9951,!0x0),this['serverHistory']['version']=-_0x4f9951['length']+this['_offset'],this['_updateServerHistory'](_0x4f9951);}this['_document']['history']['version']=_0x5eac5a,_0x261f1f=this['_decompressOperations'](_0x2f81d4['data'],_0x2f81d4['metadata']),await this['_fetchMissingUsers'](_0x261f1f),this['_applyOperationsSet'](_0x261f1f,_0x560920);}_0x2f81d4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x261f1f,_0x2f81d4['lastOperationId']),this['_lastSyncedOperationId']=_0x2f81d4['lastOperationId']),this['serverHistory']['version']=_0x5eac5a+this['_offset'],this['_updateServerHistory'](_0x261f1f),_0xdc3fbf['filter'](_0x2e1d07=>{const _0xd1b0e1=this['_getAffectedRoot'](_0x2e1d07);return _0xd1b0e1&&!this['_knownRootNames']['has'](_0xd1b0e1);})['forEach']((_0x38e525,_0x22bb3b)=>{_0x38e525['baseVersion']=this['_document']['version']+_0x22bb3b,this['_saveOperationInBuffer'](_0x38e525);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x96e08d,_0x111f57){const _0x1682f2=_0x111f57&&_0x111f57['message'];if(_0x1682f2&&_0x1682f2['startsWith']('realtimecollaborationclient'))throw _0x111f57;const _0x2b3e32=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2b3e32['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2e8d1b(_0x96e08d,this['editor'],_0x1682f2?{'originalError':_0x1682f2}:void 0x0);}_saveOperationInBuffer(_0x31ca54){this['_knownOperations']['has'](_0x31ca54)||(this['_knownOperations']['add'](_0x31ca54),this['_bufferedOperations']['push'](_0x31ca54),this['_pendingAction']||'marker'==_0x31ca54['type']&&!_0x31ca54['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x30b02b=!0x1){!_0x30b02b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4aa4bb=>{_0x4aa4bb&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x56911c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2f9097){return _0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x56911c)||this['_crash'](_0x56911c['message'],_0x56911c);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x2c9234=>{this['on']('change:_isPendingUpdate',()=>{_0x2c9234();});});}async _sendBufferedOperations(){const _0x4dd8ff=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dd8ff['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4ed897=[...this['_bufferedOperations']];for(const _0x432497 of _0x4ed897)_0x432497['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432497);const _0x2ddb90=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4ed897),_0x3c0114=Z++,_0x421732=this['_compressOperations'](_0x4ed897),_0x23684c=await this['_service']['sendOperations'](_0x421732,_0x421732['baseVersion'],_0x2ddb90);try{return await this['_handleServerResponse'](_0x4ed897,_0x23684c,_0x3c0114);}catch(_0x504c03){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504c03);}}async['_handleServerResponse'](_0x25c43c,_0x5efb72,_0x9dc150){if('error'in _0x5efb72)throw _0x5efb72['error'];let _0x5484c3;if(_0x5efb72['wereChangesApplied']){_0x5efb72['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5efb72['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2d0d11=>!_0x25c43c['includes'](_0x2d0d11));for(const _0x3628a4 of _0x25c43c)_0x3628a4['createdAt']='lastOperationAcceptedAt'in _0x5efb72&&_0x5efb72['lastOperationAcceptedAt']||void 0x0;st(_0x25c43c,_0x5efb72['version']-_0x25c43c['length']),this['_updateServerHistory'](_0x25c43c);const _0x2a78c4=_0x25c43c['filter'](_0x360be8=>{if(!_0x360be8['_isInit'])return!0x1;const _0x12d02d=this['_getAffectedRoot'](_0x360be8);return _0x12d02d&&!this['_knownRootNames']['has'](_0x12d02d);});st(_0x2a78c4,this['_document']['version']),this['_applyOperationsSet'](_0x2a78c4),_0x5484c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4dee3e=this['_decompressOperations'](_0x5efb72['data'],_0x5efb72['metadata'])['filter'](_0x252a88=>_0x252a88['baseVersion']>=this['_lastServerVersion']);_0x4dee3e['forEach'](_0x5cad86=>this['_addKnownRoot'](_0x5cad86)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1d42e3=>!_0x1d42e3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1d42e3))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4dee3e),_0x5484c3=this['_handleExternalOperations'](_0x4dee3e,_0x5efb72['version'],_0x5efb72['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5484c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xf402b8,_0x2fed73,_0x2727da){try{const _0x463b7a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4a3b8b,operationsB:_0x5bd1f8,originalOperations:_0x5f5cfa}=_0x1ef915(_0xf402b8,this['_bufferedOperations'],_0x463b7a);st(_0x4a3b8b,this['_document']['version']),st(_0x5bd1f8,_0x2fed73);for(const _0x1c9d08 of _0x4a3b8b){const _0x2f7253=_0x5f5cfa['get'](_0x1c9d08);_0x2f7253?(_0x1c9d08['_authorId']=_0x2f7253['_authorId'],'noop'!==_0x1c9d08['type']&&(_0x1c9d08['_aiSource']=_0x2f7253['_aiSource'])):_0x1c9d08['_authorId']=null;}for(const _0xbe9fa4 of _0x5bd1f8)'noop'!==_0xbe9fa4['type']&&(_0xbe9fa4['_aiSource']=_0x5f5cfa['get'](_0xbe9fa4)?.['_aiSource']);_0x2727da&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf402b8,_0x2727da),this['_lastSyncedOperationId']=_0x2727da),this['_bufferedOperations']=[..._0x5bd1f8],this['_applyOperationsSet'](_0x4a3b8b),this['_updateServerHistory'](_0xf402b8);}catch(_0xb7bbc4){return console['error'](_0xb7bbc4),!0x1;}return!0x0;}_applyOperationsSet(_0x37d459,_0x310810=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a5486=>{for(const _0x2bb2f8 of _0x37d459)this['_knownOperations']['add'](_0x2bb2f8),this['_addKnownRoot'](_0x2bb2f8),_0x3a5486['batch']['addOperation'](_0x2bb2f8),this['editor']['model']['applyOperation'](_0x2bb2f8);});}_addKnownRoot(_0x3d304a){const _0x3677df=this['_getAffectedRoot'](_0x3d304a);_0x3677df&&this['_knownRootNames']['add'](_0x3677df);}_getAffectedRoot(_0x411ba1){let _0x2d7ee9,_0x498d01;switch(_0x411ba1['type']){case'insert':_0x2d7ee9=_0x411ba1['position']['root'];break;case'marker':if(_0x498d01=_0x411ba1['newRange'],!_0x498d01)return null;_0x2d7ee9=_0x498d01['root'];break;case'addRootAttribute':_0x2d7ee9=_0x411ba1['root'];break;case'addRoot':_0x2d7ee9=_0x411ba1['affectedSelectable'];break;case'move':_0x2d7ee9=_0x411ba1['targetPosition']['root'];break;default:return null;}return _0x2d7ee9['rootName'];}_updateServerHistory(_0x528211){_0x528211['forEach'](_0x5c43ec=>{const _0x445f4f=_0x5c43ec['clone']();_0x445f4f['_authorId']=_0x5c43ec['_authorId'],_0x445f4f['_isInit']=!!_0x5c43ec['_isInit'],_0x445f4f['_aiSource']=_0x5c43ec['_aiSource'],_0x445f4f['createdAt']=_0x5c43ec['createdAt'],_0x445f4f['baseVersion']+=this['_offset'],_0x5c43ec['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x445f4f),this['serverHistory']['addOperation'](_0x445f4f);});}_handleReconnectionError(_0x2e20d7){const _0x41b1fd=this['editor']['plugins']['get']('Notification'),_0x5855d8=this['editor']['locale'];_0x2e20d7||(_0x2e20d7=X(_0x5855d8,'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.')),_0x41b1fd['showWarning'](_0x2e20d7,{'title':X(_0x5855d8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x36d6a1)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d6a1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1cb706){const _0x1f536b=_0x1cb706['map'](_0x499b71=>_0x499b71['toJSON']());return this['_compressor']['compress'](_0x1f536b);}_decompressOperations(_0x95f80e,_0x47be78){return this['_compressor']['decompress'](_0x95f80e)['map']((_0xb60ef7,_0x538de0)=>{const _0x3758d8='init'==_0x47be78[_0x538de0]['type'];if('InsertOperation'==_0xb60ef7['__className']){const _0x48f60f=_0xb60ef7['position']['root'];!this['_document']['getRoot'](_0x48f60f)&&(this['_document']['createRoot']('$unknown',_0x48f60f)['_isAttached']=!0x1);}else{if('RootOperation'==_0xb60ef7['__className']){const _0x5b54af=this['_document']['getRoot'](_0xb60ef7['rootName']);_0x5b54af&&'$unknown'==_0x5b54af['name']&&_0xb60ef7['elementName']!=_0x5b54af['name']&&(_0x5b54af['name']=_0xb60ef7['elementName']);}}const _0xb995bd=_0x50c70e['fromJSON'](_0xb60ef7,this['_document']);return _0xb995bd['wasUndone']=_0xb60ef7['wasUndone'],_0xb995bd['_isInit']=_0x3758d8,_0xb995bd['_authorId']=_0x3758d8?null:_0x47be78[_0x538de0]['userId'],_0xb995bd['_isDisconnection']='cs:removeUser'===_0x47be78[_0x538de0]['type'],_0xb995bd['_aiSource']=_0xb60ef7['_aiSource']||void 0x0,_0xb995bd['createdAt']=_0x47be78[_0x538de0]['createdAt'],_0xb995bd;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3b8b24=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3b8b24&&_0x3b8b24['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x554c61,_0x50a83e){for(const _0x1dde46 of _0x554c61)_0x1dde46['baseVersion']=_0x50a83e++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x56c59b){this['_ignoredOperations']=_0x56c59b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x572cbe){let _0x3f5241=_0x572cbe['length'];for(;_0x3f5241--;){const _0x537ae5=_0x572cbe[_0x3f5241];if(!this['_ignoredOperations']['has'](_0x537ae5)){if(!this['_operationToId']['has'](_0x537ae5)){const _0x169e24=_0x3e36f4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x537ae5,_0x169e24);}return this['_operationToId']['get'](_0x537ae5);}}}setIdForTheLastOperation(_0x233be2,_0x1d1ddd){if(!_0x1d1ddd)return;let _0x202d23=_0x233be2['length'];for(;_0x202d23--;){const _0x22c308=_0x233be2[_0x202d23];this['_ignoredOperations']['has'](_0x22c308)||this['_operationToId']['set'](_0x22c308,_0x1d1ddd);}}},nt=class extends _0x36abf4{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xc4d6aa{static CommentsService=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5e88d2)());['_services'];static get requires(){return[z,_0x6bab61,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x418951){super(_0x418951),this['_services']=new Map();}async init(){const _0x40dbeb=this['context'],_0x55d4b1=_0x40dbeb['plugins']['get'](_0x6bab61);if(_0x40dbeb['plugins']['get'](z)['addToReconnectionStack'](this),_0x55d4b1['adapter']={'addCommentThread':async({channelId:_0x5339fa,threadId:_0x1874ca,comments:_0x2296fe,resolvedAt:_0x364108,resolvedBy:_0x5877ec,context:_0x3f18d9,attributes:_0x2f75e6})=>{const _0xb27e0c=await this['_getService'](_0x5339fa)['addCommentThread']({'commentThreadId':_0x1874ca,'comments':_0x2296fe['map'](_0x9e18f1=>function(_0x5c887f,_0x2dba8e,_0xfa414e){return{'commentThreadId':_0xfa414e,'commentId':_0x5c887f['commentId'],'userId':_0x5c887f['authorId'],'content':_0x5c887f['content'],'documentId':_0x2dba8e,'createdAt':_0x5c887f['createdAt'],'attributes':_0x5c887f['attributes']||{}};}(_0x9e18f1,_0x5339fa,_0x1874ca)),'resolvedAt':_0x364108,'resolvedBy':_0x5877ec,'context':_0x3f18d9,'attributes':_0x2f75e6})['catch'](ct);return{'threadId':_0xb27e0c['commentThreadId'],'comments':_0xb27e0c['comments']};},'getCommentThread':async({channelId:_0xf56ad3,threadId:_0x340454})=>{const _0x46a5c9=await this['_getService'](_0xf56ad3)['getCommentThread'](_0x340454)['catch'](rt)['catch'](ct);return _0x46a5c9?_0x46a5c9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x46a5c9]),{'threadId':_0x46a5c9['commentThreadId'],'comments':_0x46a5c9['comments']['map'](at),'context':_0x46a5c9['context'],'resolvedAt':_0x46a5c9['resolvedAt'],'resolvedBy':_0x46a5c9['resolvedBy'],'attributes':_0x46a5c9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1bdb88,threadId:_0x49870f,context:_0x57db21,unlinkedAt:_0x4578e2,attributes:_0x209527})=>this['_getService'](_0x1bdb88)['updateCommentThread']({'commentThreadId':_0x49870f,'context':_0x57db21,'attributes':_0x209527,'unlinkedAt':_0x4578e2})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x3ce4a0,threadId:_0x5fd68e})=>{const _0x4c2a82=await this['_getService'](_0x3ce4a0)['resolveCommentThread'](_0x5fd68e)['catch'](rt)['catch'](ct);return{'threadId':_0x4c2a82['commentThreadId'],'resolvedAt':_0x4c2a82['resolvedAt'],'resolvedBy':_0x4c2a82['resolvedBy']};},'reopenCommentThread':async({channelId:_0x459037,threadId:_0x4c23f8})=>this['_getService'](_0x459037)['reopenCommentThread'](_0x4c23f8)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x4d52f6,threadId:_0x31fe78})=>this['_getService'](_0x4d52f6)['removeCommentThread'](_0x31fe78)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4b3a54,threadId:_0x1c2828,commentId:_0x306a91,content:_0x270297,attributes:_0x69f5f9})=>this['_getService'](_0x4b3a54)['addComment'](_0x1c2828,_0x306a91,_0x270297,_0x69f5f9)['catch'](ct),'updateComment':({channelId:_0xa860ae,threadId:_0x33a2c2,commentId:_0x51c008,content:_0x1cda63,attributes:_0x19ed32})=>this['_getService'](_0xa860ae)['updateComment'](_0x33a2c2,_0x51c008,_0x1cda63,_0x19ed32)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x15a9bb,threadId:_0xaba2aa,commentId:_0x1f2a44})=>this['_getService'](_0x15a9bb)['removeComment'](_0xaba2aa,_0x1f2a44)['catch'](rt)['catch'](ct)},_0x40dbeb instanceof _0x2d68c5){const _0x20c33c=_0x40dbeb['config']['get']('collaboration.channelId'),_0x577063=_0x40dbeb['plugins']['get'](Y);await this['_setUpService'](_0x20c33c);const _0x52b233=await this['_services']['get'](_0x20c33c)['getConnectedSessions']();this['listenTo'](_0x577063,'sessionAdd:'+_0x20c33c,(_0x476b71,{session:_0x584e71})=>{_0x584e71['id']===_0x577063['mySessionId']&&(_0x476b71['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x584e71['permissions'],_0x20c33c));}),_0x577063['register'](_0x20c33c,_0x52b233);}}async _setUpService(_0x4ea89e){if(this['_services']['has'](_0x4ea89e))throw new _0x2e8d1b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4ea89e});const _0x2fc50a=this['context']['plugins']['get'](_0x6bab61),_0x477db2=new CloudServicesCommentsAdapter['CommentsService'](_0x4ea89e);this['_services']['set'](_0x4ea89e,_0x477db2),this['listenTo'](_0x477db2,'commentThreadAdded',(_0x224c3d,_0x8b45d9)=>{const {commentThreadId:_0x88b497,documentId:_0x1a77e7,context:_0x53f77d,attributes:_0x1bf07a,resolvedAt:_0x1b7e3c,resolvedBy:_0x3154d0,comments:_0x25670c}=_0x8b45d9;_0x2fc50a['getCommentThread'](_0x88b497)||_0x2fc50a['addCommentThread']({'threadId':_0x88b497,'channelId':_0x1a77e7,'comments':_0x25670c?_0x25670c['map'](at):[],'context':_0x53f77d,'attributes':_0x1bf07a,'resolvedAt':_0x1b7e3c,'resolvedBy':_0x3154d0,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadUpdated',(_0x4b9a9c,{commentThreadId:_0x45e052,documentId:_0x3d480c,context:_0x188e81,unlinkedAt:_0x25b775,attributes:_0x2aaf4f})=>{_0x2fc50a['getCommentThread'](_0x45e052)&&_0x2fc50a['updateCommentThread']({'threadId':_0x45e052,'channelId':_0x3d480c,'context':_0x188e81,'unlinkedAt':_0x25b775,'attributes':_0x2aaf4f,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadResolved',(_0x283a38,{commentThreadId:_0x5f5899,resolvedBy:_0x3afffc,resolvedAt:_0x265264})=>{const _0x5ade48=_0x2fc50a['getCommentThread'](_0x5f5899);_0x5ade48&&_0x5ade48['resolve']({'resolvedBy':_0x3afffc,'resolvedAt':_0x265264,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadReopened',(_0x116f9f,{commentThreadId:_0x597d7c})=>{const _0x10f674=_0x2fc50a['getCommentThread'](_0x597d7c);_0x10f674&&_0x10f674['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadRemoved',(_0x41720c,{commentThreadId:_0x5b83ed})=>{const _0x45180d=_0x2fc50a['getCommentThread'](_0x5b83ed);_0x45180d&&_0x45180d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentAdded',(_0x55a6da,_0x2bd8c4)=>{const _0x298717=_0x2bd8c4['commentThreadId'],_0x20d8a6=_0x2fc50a['getCommentThread'](_0x298717);_0x20d8a6&&_0x20d8a6['addComment']({...at(_0x2bd8c4),'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentUpdated',(_0x402ae1,{commentThreadId:_0x1dbf57,commentId:_0x5eec08,content:_0x32858a,attributes:_0x359799})=>{const _0x3b1905=_0x2fc50a['getCommentThread'](_0x1dbf57);if(_0x3b1905){const _0x120e80=_0x3b1905['getComment'](_0x5eec08);_0x120e80&&_0x120e80['update']({'content':_0x32858a,'attributes':_0x359799,'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'commentRemoved',(_0x1b28d4,{commentThreadId:_0x259a63,commentId:_0x4a36cc})=>{const _0x6ad753=_0x2fc50a['getCommentThread'](_0x259a63);if(_0x6ad753){const _0x1cec61=_0x6ad753['getComment'](_0x4a36cc);_0x1cec61&&_0x1cec61['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x4ea89e),this['stopListening'](_0x477db2));}),await this['_connectService'](_0x4ea89e);}destroy(){if(this['context']instanceof _0x2d68c5){const _0x4537a4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4537a4)&&this['_terminateService'](_0x4537a4);}}_terminateService(_0x3db8dd){if(!this['_services']['has'](_0x3db8dd))throw new _0x2e8d1b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3db8dd});this['_getService'](_0x3db8dd)['disconnect'](),this['_services']['delete'](_0x3db8dd);}async reconnect(){for(const _0x5e2f1d of this['_services']['keys']())await this['_connectService'](_0x5e2f1d);if(this['context']instanceof _0x2d68c5){const _0xa997ec=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xa997ec)){const _0x17b667=this['context']['plugins']['get'](Y);_0x17b667['unregister'](_0xa997ec);const _0x25dfad=await this['_services']['get'](_0xa997ec)['getConnectedSessions']();_0x17b667['register'](_0xa997ec,_0x25dfad);}}}async _connectService(_0x416c23){const {connection:_0x15c786}=this['context']['plugins']['get'](z),_0x5bf302=this['context']['plugins']['get'](_0x6bab61),_0x343c71=await this['_services']['get'](_0x416c23)['connect'](_0x15c786);await this['_fetchMissingUsersForThreads'](_0x343c71);const _0xda6178=new Set(Array['from'](_0x5bf302['getCommentThreads']({'channelId':_0x416c23}),_0x10502c=>_0x10502c['id']));for(const _0x3f7437 of _0x343c71)_0x3f7437['deletedAt']||_0xda6178['delete'](_0x3f7437['commentThreadId']);for(const _0x2d843f of _0xda6178)_0x5bf302['getCommentThread'](_0x2d843f)['remove']({'isFromAdapter':!0x0});for(const _0x3fa210 of _0x343c71){let _0x2d3c4a=_0x5bf302['getCommentThread'](_0x3fa210['commentThreadId']);const {commentThreadId:_0x422bbe,context:_0x333e4c,attributes:_0x2b6ec8,resolvedBy:_0x49ee36,resolvedAt:_0x5c54a0,unlinkedAt:_0x3a2561,deletedAt:_0x39f375}=_0x3fa210;if(_0x39f375)continue;_0x2d3c4a||(_0x2d3c4a=_0x5bf302['addCommentThread']({'channelId':_0x416c23,'threadId':_0x422bbe,'context':_0x333e4c,'attributes':_0x2b6ec8||{},'resolvedBy':_0x49ee36,'resolvedAt':_0x5c54a0,'unlinkedAt':_0x3a2561,'isFromAdapter':!0x0}));const _0x3e5f4c=new Set(Array['from'](_0x2d3c4a['comments'],_0x4f7469=>_0x4f7469['id']));for(const _0x12355c of _0x3fa210['comments'])_0x3e5f4c['delete'](_0x12355c['commentId']);for(const _0x425788 of _0x3e5f4c)_0x2d3c4a['getComment'](_0x425788)['remove']({'isFromAdapter':!0x0});for(const _0x146683 of _0x3fa210['comments']){const _0x13bd77=_0x2d3c4a['getComment'](_0x146683['commentId']);_0x13bd77?_0x13bd77['content']!==_0x146683['content']&&_0x13bd77['update']({'content':_0x146683['content'],'isFromAdapter':!0x0}):_0x2d3c4a['addComment'](Object['assign'](at(_0x146683),{'isFromAdapter':!0x0}));}}}_getService(_0x5551d8){if(!this['_services']['has'](_0x5551d8))throw new _0x2e8d1b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5551d8});return this['_services']['get'](_0x5551d8);}async _fetchMissingUsersForThreads(_0x552edd){const _0x23ea12=this['context']['plugins']['get'](_0x4a1da9),{connection:_0x404b96}=this['context']['plugins']['get'](z),_0x17d127=new Set();for(const {resolvedBy:_0xa649b4,comments:_0xe002cb}of _0x552edd){_0xa649b4&&!_0x23ea12['getUser'](_0xa649b4)&&_0x17d127['add'](_0xa649b4);for(const {userId:_0x2411f4}of _0xe002cb)_0x23ea12['getUser'](_0x2411f4)||_0x17d127['add'](_0x2411f4);}if(0x0===_0x17d127['size'])return;const _0x18e43c=await _0xad2f00['getMany'](_0x404b96,Array['from'](_0x17d127));for(const _0x2a76f1 of _0x18e43c)_0x23ea12['getUser'](_0x2a76f1['id'])||_0x23ea12['addUser'](_0x2a76f1);}};async function rt(_0x55fe93){if('404'!==_0x55fe93['code'])throw _0x55fe93;}function ct(_0x43b696){if((_0x32892f=_0x43b696)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x32892f;throw _0x43b696;}function at(_0x1adb13){return{'threadId':_0x1adb13['commentThreadId'],'commentId':_0x1adb13['commentId'],'content':_0x1adb13['content'],'createdAt':_0x1adb13['createdAt'],'authorId':_0x1adb13['userId'],'attributes':_0x1adb13['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x36abf4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x43b8a5)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x59abfe,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ea5fe){super(_0x5ea5fe);const _0x5a87f5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5a87f5);}init(){const _0x3539b8=this['editor']['plugins']['get'](z),_0x2562dd=this['editor']['plugins']['get'](_0x59abfe);return _0x2562dd['adapter']={'getSuggestion':async _0xf8ea2=>{await this['_waitForServiceReady']();const _0x4ea98b=await this['_trackChangesService']['get'](_0xf8ea2)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4ea98b]),_0x4ea98b;},'addSuggestion':async({id:_0x2a004c,type:_0xe271d6,data:_0x569dff,originalSuggestionId:_0x23f679,attributes:_0xe4f6e6})=>{await this['_waitForServiceReady']();const _0x35dddc={'id':_0x2a004c,'type':_0xe271d6,'data':_0x569dff,'originalSuggestionId':_0x23f679,'attributes':_0xe4f6e6},_0x4b1e4b=await this['_trackChangesService']['add'](_0x2a004c,_0xe271d6,_0x569dff,_0x23f679,_0xe4f6e6)['catch'](_0x77a3c2=>{if(dt(_0x77a3c2))return new Promise(_0x30d699=>{this['_bufferedRequests']['set'](_0x2a004c,{'resolve':_0x30d699,'suggestionData':_0x35dddc});});throw _0x77a3c2;});return this['_bufferedRequests']['delete'](_0x2a004c),_0x4b1e4b;},'updateSuggestion':async(_0x21bd8d,_0x24bea7)=>{if(await this['_waitForServiceReady'](),'open'!==_0x24bea7['state'])return this['_trackChangesService']['update'](_0x21bd8d,_0x24bea7)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ef492,_0x49a94d)=>{_0x2562dd['hasSuggestion'](_0x49a94d['id'])&&(_0x2562dd['getSuggestion'](_0x49a94d['id'])['attributes']=_0x49a94d['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3539b8['connection']?.['state']&&(_0x3539b8['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3539b8['connection'])['then'](_0x3752d5=>(_0x3539b8['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3752d5)['then'](()=>{for(const _0xce8ab4 of _0x3752d5){_0x2562dd['addSuggestionData'](_0xce8ab4)['_saved']=!0x0;}})));}async reconnect(){const _0x4a655d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x152552}=this['editor']['plugins']['get'](z),_0x18f4a3=await this['_trackChangesService']['connect'](_0x152552);await this['_fetchMissingUsersForThreads'](_0x18f4a3);for(const {suggestionData:_0x1f83f5,resolve:_0xa8d4b2}of this['_bufferedRequests']['values']()){let _0x39fcf7=_0x18f4a3['find'](_0x39fd7b=>_0x39fd7b['id']===_0x1f83f5['id']);_0x39fcf7||(_0x39fcf7=await this['_trackChangesService']['add'](_0x1f83f5['id'],_0x1f83f5['type'],_0x1f83f5['data'],_0x1f83f5['originalSuggestionId'])),_0xa8d4b2(_0x39fcf7);}for(const _0x488f85 of _0x18f4a3)_0x4a655d['hasSuggestion'](_0x488f85['id'])||_0x4a655d['addSuggestionData'](_0x488f85);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x233332=>{this['listenTo'](this['_trackChangesService'],'connected',_0x22c17c=>{_0x22c17c['off'](),_0x233332();});});}async _fetchMissingUsersForThreads(_0x2e5d74){const _0x4ed948=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x4d1c13}=this['editor']['plugins']['get'](z),_0x397f95=new Set();for(const {authorId:_0x47503d}of _0x2e5d74)_0x4ed948['getUser'](_0x47503d)||_0x397f95['add'](_0x47503d);if(0x0===_0x397f95['size'])return;const _0x392a1f=await _0xad2f00['getMany'](_0x4d1c13,Array['from'](_0x397f95));for(const _0x2ce7e0 of _0x392a1f)_0x4ed948['getUser'](_0x2ce7e0['id'])||_0x4ed948['addUser'](_0x2ce7e0);}};function lt(_0x46fce8){if(dt(_0x46fce8))return new Promise(()=>{});throw _0x46fce8;}function dt(_0x3ab926){return _0x3ab926['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3ab926['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x36abf4{static get requires(){return[_0x4663d3,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1572bc=this['editor']['plugins']['get'](z),_0x5ac4ea=this['editor']['plugins']['get'](_0x116785),_0x29c6fc=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1572bc,'change:state',(_0x144a21,_0x308715,_0x8374c4)=>{_0x5ac4ea['isThreadsLoadingPaused']='connected'!==_0x8374c4;});}),this['listenTo'](_0x1572bc,'change:state',(_0x2c9e36,_0x39ab8f,_0x5aeb93)=>{this['editor']['plugins']['get'](_0x6bab61)['switchReadOnly']('connected'!==_0x5aeb93);}),_0x29c6fc['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x482e6=this['editor']['plugins']['get'](ot),_0x261e5a=this['editor']['config']['get']('collaboration.channelId');_0x482e6['_services']['has'](_0x261e5a)&&_0x482e6['_terminateService'](_0x261e5a),super['destroy']();}},ft=class extends _0x36abf4{static get requires(){return[ut,ht,_0x112efb];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x36abf4{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
- ((()=>_0x361b61)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x230608,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x293570){super(_0x293570);const _0x225cbe=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x225cbe);}async init(){const _0x173fed=this['editor']['plugins']['get'](tt),_0x5161ce=_0x173fed['serverHistory'],_0x10582b=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5161ce,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x173fed['sessionId']});const _0x4cbe00=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x40ea60,_0x4d8971=await _0x2742b2['isBundleUploaded'](_0x10582b['connection'],_0x4cbe00);this['editor']['plugins']['get'](_0x230608)['adapter']={'getRevision':async({revisionId:_0x55f589})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x55f589)),'updateRevisions':async _0x5a5436=>{await this['_waitForServiceReady']();const _0x2d58b9=this['_revisionTracker']['currentRevision'];if(_0x4d8971&&0x1===_0x5a5436['length']&&_0x5a5436[0x0]['id']===_0x2d58b9['id'])return _0x5a5436;for(const _0x351a59 of _0x5a5436)_0x351a59['id']===_0x2d58b9['id']&&(_0x351a59['isEmptyCurrent']=_0x351a59['fromVersion']===_0x351a59['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a5436,this['_lastRequestId'])['then'](_0x34e4b8=>(this['_lastRequestId']=_0x34e4b8,_0x5a5436))['catch'](_0x15f91a=>{if(pt(_0x15f91a)||'400'===_0x15f91a['code']&&void 0x0!==_0x15f91a['data']['wrongRequestId']){for(const _0x466e9e of _0x5a5436)this['_revisionTracker']['repository']['getRevision'](_0x466e9e['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x466e9e['id'],_0x466e9e,!0x1);if(pt(_0x15f91a)&&'destroyed'!==this['editor']['state'])throw _0x15f91a;return _0x5a5436;}throw _0x15f91a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x48df05,{revisionsData:_0x58e6ec,requestId:_0x2e65ac})=>{Math['max'](..._0x58e6ec['map'](_0x493e03=>_0x493e03['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}):this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x10582b['connection']?.['state']&&(_0x10582b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x520abc,requestId:_0x2375cc}=await this['_revisionHistoryService']['connect'](_0x10582b['connection']);_0x10582b['addToReconnectionStack'](this),this['_lastRequestId']=_0x2375cc,await this['_fetchMissingUsers'](_0x520abc);for(const _0x2a9a73 of _0x520abc)this['_revisionTracker']['addRevisionData'](_0x2a9a73);this['listenTo'](_0x173fed,'change:_isConnected',(_0xf99ce0,_0x192e1a,_0x481d09)=>{_0x481d09&&(this['_oldOffset']=_0x173fed['_offset'],_0xf99ce0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x486481=this['editor']['plugins']['get'](z),_0x1bb513=this['editor']['plugins']['get'](tt),_0x1f27e0=async()=>{const _0x809dc0=this['_revisionTracker']['currentRevision'],_0x488d06=_0x809dc0['id'],_0x16fec3=_0x488d06!==_0x1bb513['sessionId'];if(_0x16fec3){const _0x2373e4=_0x1bb513['_offset']-this['_oldOffset'],_0x38b4fc=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x809dc0['toVersion']+_0x2373e4!==_0x38b4fc){const _0x1122fd=_0x809dc0['fromVersion']+_0x2373e4,_0x205524=this['editor']['plugins']['get'](_0x4a1da9),_0x28798d=this['_revisionTracker']['buildRevisionData']({'revision':_0x809dc0,'from':_0x1122fd,'to':_0x38b4fc});_0x28798d['id']=_0x809dc0['id'];const _0x4ec026=_0x28798d['authorsIds']['map'](_0x41aafc=>_0x205524['getUser'](_0x41aafc));_0x809dc0['_update']({..._0x28798d,'authors':_0x4ec026},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x809dc0['id'],_0x28798d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x38b4fc,_0x809dc0['toVersion']!==_0x809dc0['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x488d06)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x488d06),this['_revisionTracker']['_createCurrentRevision'](_0x38b4fc);}const {revisions:_0x2a3d3e,requestId:_0xe22a7d}=await this['_revisionHistoryService']['reconnect'](_0x486481['connection'],this['_lastRequestId']);_0x16fec3&&_0x2a3d3e['length']>0x0?_0x1bb513['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2a3d3e),this['_handleRevisionsUpdate'](_0x2a3d3e,_0xe22a7d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x1bb513['_isConnected']?_0x1f27e0():new Promise((_0x150ec5,_0x337831)=>{_0x1bb513['once']('change:_isConnected',()=>{_0x1f27e0()['then'](_0x150ec5)['catch'](_0x337831);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x37581d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d1113=>{_0x4d1113['off'](),_0x37581d();});});}_getLatestVersionFromServerOperations(){const _0x15428e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2a69b2 of _0x15428e)if('marker'!==_0x2a69b2['type']||_0x2a69b2['affectsData'])return _0x2a69b2['baseVersion']+0x1;}_getLatestVersion(){const _0x2ee9d7=this['editor']['plugins']['get'](tt);return new Promise(_0x5efc31=>{_0x2ee9d7['_isPendingUpdate']?_0x2ee9d7['once']('change:_isPendingUpdate',()=>{_0x5efc31(this['_getLatestVersionFromServerOperations']());}):_0x5efc31(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x127ddd,_0x2fec25){const _0x1a9f8a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2fec25;for(const _0x2842df of _0x127ddd){const _0xcfd3cb=_0x1a9f8a['getRevision'](_0x2842df['id']);if(_0xcfd3cb){if((_0x2842df['fromVersion']||_0x2842df['toVersion'])&&(_0x2842df['diffData']=null),_0xcfd3cb===this['_revisionTracker']['currentRevision']){const _0x1ccea0=Math['max'](_0xcfd3cb['toVersion'],_0x2842df['toVersion']),_0x2ae936=Math['max'](_0xcfd3cb['fromVersion'],_0x2842df['fromVersion']);let _0x16fa68;_0xcfd3cb['toVersion']===_0x2842df['toVersion']&&_0xcfd3cb['fromVersion']===_0x2842df['fromVersion']?(_0x16fa68=!0x0,this['_preventResendingRevisionData'](_0x2842df)):_0x2842df['toVersion']===_0x1ccea0&&_0x2842df['fromVersion']===_0x2ae936?_0x16fa68=!0x1:(_0xcfd3cb['toVersion']===_0x1ccea0&&_0xcfd3cb['fromVersion']===_0x2ae936||this['_fixRevision']({'revision':_0xcfd3cb,'from':_0x2ae936,'to':_0x1ccea0}),_0x16fa68=!0x0),_0x16fa68&&(delete _0x2842df['fromVersion'],delete _0x2842df['toVersion'],delete _0x2842df['diffData'],delete _0x2842df['createdAt'],delete _0x2842df['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2842df),this['_preventResendingRevisionData'](_0x2842df);}else this['_revisionTracker']['addRevisionData'](_0x2842df);}const _0x253256=_0x1a9f8a['getRevisions']();_0x253256['reverse']();for(let _0x5a2d4c=0x0;_0x5a2d4c<_0x253256['length']-0x1;_0x5a2d4c++){const _0x583209=_0x253256[_0x5a2d4c],_0x2026e1=_0x253256[_0x5a2d4c+0x1];if(_0x583209['fromVersion']<_0x2026e1['toVersion']){const _0x51f1e5=_0x2026e1['toVersion'],_0x3a28c8=Math['max'](_0x51f1e5,_0x583209['toVersion']);this['_fixRevision']({'revision':_0x583209,'from':_0x51f1e5,'to':_0x3a28c8});}}}['_fixRevision']({revision:_0x3ba6b2,from:_0x40a84b,to:_0x438b8e}={}){const _0x143118=this['editor']['plugins']['get'](_0x4a1da9),_0x21d44e=this['_revisionTracker']['buildRevisionData']({'revision':_0x3ba6b2,'from':_0x40a84b,'to':_0x438b8e});_0x21d44e['authors']=_0x21d44e['authorsIds']['map'](_0x3ef2f0=>_0x143118['getUser'](_0x3ef2f0)),_0x3ba6b2['_update'](_0x21d44e);}_preventResendingRevisionData(_0x1e6b26){const _0x19bf53={};_0x19bf53['id']=_0x1e6b26['id'];for(const _0x42bad9 of Object['keys'](_0x1e6b26))'id'!==_0x42bad9&&(_0x19bf53[_0x42bad9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x19bf53['id'],_0x19bf53,!0x0);}async _fetchMissingUsers(_0x114d0e){const _0x50fbcc=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56fd1a}=this['editor']['plugins']['get'](z),_0x246192=new Set();for(const _0x434666 of _0x114d0e){for(const _0x170bfb of _0x434666['authorsIds'])_0x3e5aa3(_0x170bfb);_0x434666['creatorId']&&_0x3e5aa3(_0x434666['creatorId']);}if(0x0===_0x246192['size'])return;const _0x1b7187=await _0xad2f00['getMany'](_0x56fd1a,Array['from'](_0x246192));for(const _0x5d7760 of _0x1b7187)_0x50fbcc['getUser'](_0x5d7760['id'])||_0x50fbcc['addUser'](_0x5d7760);function _0x3e5aa3(_0x453db7){_0x50fbcc['getUser'](_0x453db7)||_0x246192['add'](_0x453db7);}}};function pt(_0xa45738){return _0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x36abf4{static get requires(){return[_0x230608,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x56b2c8{_collapseAt;constructor(_0x2d06a2,_0x3bc539=0x6){super(_0x2d06a2);const _0x166139=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3bc539,this['bind']('isHidden')['to'](this,'usersCount',_0x3a8f6c=>_0x3a8f6c<_0x3bc539),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x166139['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x166139['to']('usersCount',_0x5b1529=>'+'+(_0x5b1529-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x56b2c8{items;keystrokes;constructor(_0xc69f12){super(_0xc69f12);const _0x5860ea=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2a8a0f(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5860ea['if']('hasPopup'),'aria-expanded':_0x5860ea['to']('isExpanded',_0x2286fa=>this['hasPopup']&&String(_0x2286fa)),'aria-label':_0x5860ea['to']('hasPopup',_0x179589=>X(_0xc69f12,_0x179589?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5860ea['to']('hasPopup',_0x9f8850=>!!_0x9f8850&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5860ea['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5860ea['to'](_0x495501=>{const _0xc7c9ab=_0x495501,_0x17733c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4b98d2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17733c?.['contains'](_0xc7c9ab['relatedTarget'])||_0x4b98d2?.['contains'](_0xc7c9ab['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x214b4f,_0x260d4e,_0x5c142f)=>{this['element']&&(_0x5c142f?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']);}},_t=class extends _0x56b2c8{counterView;inlineListView;constructor(_0x2f10f8,_0x31ea1d=0x6){super(_0x2f10f8);const _0x15699a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x31ea1d),this['inlineListView']=new vt(_0x2f10f8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5c05d4 of this['inlineListView']['items'])_0x5c05d4['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',_0x15699a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x56b2c8{listWrapperView;constructor(_0x24456b,_0x2cf6cb){super(_0x24456b);const _0x53c801=this['bindTemplate'];this['listWrapperView']=new bt(_0x24456b,_0x2cf6cb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x24456b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x53c801['to'](_0x3f7c90=>{const _0x3b0319=_0x3f7c90,_0x10ead0=document['querySelector']('.ck-presence-list__list'),_0x5d7c07=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ead0?.['contains'](_0x3b0319['relatedTarget'])||_0x5d7c07?.['contains'](_0x3b0319['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x584c4e{constructor(_0x5645bc,_0x53d9ad){super(_0x5645bc);const _0x9df8ff=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53d9ad?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x9df8ff['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x9df8ff['to']('role'),'aria-label':_0x9df8ff['to']('ariaLabel'),'aria-labelledby':_0x9df8ff['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x81b33['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x209944=this['element'];_0x209944&&(this['_isScrollable']=Math['max'](_0x209944['scrollHeight'],_0x209944['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x5d7bc4{['userView'];constructor(_0x2dace1,_0x5c4b19,_0x7c54f0){super(_0x2dace1);const _0x420ede=this['bindTemplate'];this['userView']=new _0x3b6bb4(_0x2dace1,_0x5c4b19);const _0x2905fa={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c4b19['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c4b19['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c4b19['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5c4b19['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5c4b19['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7c54f0&&(_0x2905fa['tag']='button',_0x2905fa['on']={'click':_0x420ede['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2905fa);}['focus'](){this['element']['focus']();}},It=class extends _0x56b2c8{['userView'];['markerView'];constructor(_0x4825bd,_0x2c2bee,_0x2fb832){super(_0x4825bd);const _0x4bf32e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3b6bb4(_0x4825bd,_0x2c2bee),this['markerView']=new St(_0x4825bd,_0x2c2bee);const _0x3cd587=new _0xd0dd83(_0x4825bd);_0x3cd587['template']['tag']='span',_0x3cd587['text']=_0x2c2bee['name'];const _0x266c8f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4bf32e['to']('isFocusable',_0x532cf3=>!!_0x532cf3&&0x0),'aria-labelledby':_0x3cd587['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4bf32e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4bf32e['to']('hasTooltip',_0x112471=>!_0x112471),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3cd587]};_0x2fb832&&(_0x266c8f['tag']='button',_0x266c8f['on']={'click':_0x4bf32e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x266c8f);}},St=class extends _0x56b2c8{constructor(_0x2b67eb,_0x1b5031){super(_0x2b67eb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b5031['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b5031['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b5031['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xc4d6aa{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c4289){super(_0x1c4289),this['context']['config']['define']('presenceList',Tt);const _0x2e67e9=_0x1c4289['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2e67e9)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);if(_0x2e67e9<0x1)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xed46ed(),this['balloonPanelView']=new _0x532b6f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x2c2ac0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2c2ac0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b432f,_0x2c813a)=>{this['_handleUserAdd'](_0x2c813a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1b68f3,_0xb5a436)=>{this['_handleUserRemove'](_0xb5a436);});}_createView(){const _0xf832ea=this['context'],_0xad3045=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x25388d=this['balloonPanelView'];if(!_0x359a2e(_0xf832ea['config']['get']('presenceList.container')))throw new _0x2e8d1b('presencelist-missing-container',this);return _0xad3045['counterView']['bind']('usersCount')['to'](this),_0xad3045['bind']('isCollapsed')['to'](this,'usersCount',_0xc64c16=>{const {collapseAt:_0x2aeb90}=_0xf832ea['config']['get']('presenceList'),_0x10eb5a=_0xc64c16>=_0x2aeb90;if(_0x10eb5a&&!_0xad3045['inlineListView']['items']['find'](_0x219857=>_0x219857 instanceof wt)){const _0x2d2d27=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2d2d27&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xad3045['inlineListView']['items']['add'](_0xad3045['counterView']);}return _0x10eb5a||this['hideDropdown'](),_0x10eb5a;}),_0xad3045['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1309db=>{const _0x26b23c=_0xf832ea['config']['get']('presenceList'),_0xc1a9a=new It(_0xf832ea['locale'],_0x1309db,!!_0x26b23c['onClick']);return _0xc1a9a['bind']('hasTooltip')['to'](_0xad3045,'isCollapsed',_0x453ba3=>!_0x453ba3),_0xc1a9a['bind']('isFocusable')['to'](_0xad3045,'isCollapsed',_0x514af7=>!_0x514af7),_0x26b23c['onClick']&&this['listenTo'](_0xc1a9a,'execute',()=>{this['view']['isCollapsed']||_0x26b23c['onClick'](_0x1309db,_0xc1a9a['element']);}),_0xc1a9a;}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xad3045['inlineListView']['keystrokes']['set']('Enter',(_0x5d0e9a,_0x4e00ed)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4e00ed());}),_0xad3045['render'](),_0x25388d['render'](),_0x53dee({'emitter':_0xad3045,'activator':()=>_0x25388d['isVisible'],'contextElements':[_0x25388d['element'],_0xad3045['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xf832ea['config']['get']('presenceList.container')['appendChild'](_0xad3045['element']),this['_bodyCollection']=new _0x367670(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xad3045;}['_handleUserAdd'](_0x454c62){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x454c62['isMe'])return;const _0x3f783c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3f783c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1aba11=_0x454c62['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x454c62,_0x1aba11);}['_handleUserRemove'](_0xaf23f){this['usersCount']--;const {collapseAt:_0x5f4a93}=this['context']['config']['get']('presenceList'),_0x580594=this['usersCount']>=_0x5f4a93;if(this['currentDisplayedUsers']['get'](_0xaf23f['id']))this['currentDisplayedUsers']['remove'](_0xaf23f['id']);else{if(_0x580594&&this['currentDisplayedUsers']['length']+0x1===_0x5f4a93-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)<this['usersCount']){for(const _0x33c8da of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x33c8da['id'])&&(this['currentDisplayedUsers']['add'](_0x33c8da,Math['min'](this['currentDisplayedUsers']['length']-(_0x580594?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)===_0x5f4a93-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4527b0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4527b0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x207dfa}=this['presenceDropdownView'];_0x207dfa['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5bf4c9=>{if(!_0x4527b0['displayMe']&&_0x5bf4c9['isMe'])return null;const _0x24a340=new kt(this['context']['locale'],_0x5bf4c9,!!_0x4527b0['onClick']);return _0x4527b0['onClick']&&this['listenTo'](_0x24a340,'execute',()=>{_0x4527b0['onClick'](_0x5bf4c9,_0x24a340['element']);}),_0x24a340;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x207dfa['focus'](),_0x207dfa['checkIfScrollable']();const _0x3a0114=(_0x2c3343,_0x542147)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x542147();};_0x207dfa['keystrokes']['set']('Esc',_0x3a0114),_0x207dfa['keystrokes']['set']('Shift+Tab',_0x3a0114),_0x207dfa['keystrokes']['set']('Tab',(_0x30c4cd,_0x66909d)=>{!function(_0x2b6291){const _0x3f57e3=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5c419d=>_0x5c419d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x100a24=[...document['body']['querySelectorAll'](_0x3f57e3)]['filter'](_0x1b0fdc=>_0x1b0fdc===document['activeElement']||_0x1b0fdc['offsetWidth']+_0x1b0fdc['offsetHeight']>0x0)['sort']((_0x19ecdc,_0xaaee79)=>(_0x19ecdc['tabIndex']||0x0)-(_0xaaee79['tabIndex']||0x0)),_0x55a074=_0x100a24[(_0x100a24['indexOf'](_0x2b6291)+0x1)%_0x100a24['length']];_0x55a074&&_0x55a074['focus']();}(this['view']['element']),this['hideDropdown'](),_0x66909d();}),_0x207dfa['focusTracker']['add'](this['view']['element']),_0x207dfa['focusTracker']['on']('change:isFocused',(_0x521003,_0x41c324,_0x4b76db)=>{_0x4b76db||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);}},At=class extends _0xc4d6aa{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x4b9058,ContextPlugin as _0x181a27,PendingActions as _0x36d7c3,Plugin as _0x55ae44}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0xa752d3,Collection as _0x309d10,DomEmitterMixin as _0x1e70a0,KeystrokeHandler as _0x2b4fca,global as _0x59c443,uid as _0x4ad382,version as _0x559256}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x241d1f,BodyCollection as _0x44ac99,LabelView as _0x522fbe,ListItemView as _0x130180,ListView as _0xd7af65,Notification as _0x12e214,View as _0x5e1e61,clickOutsideHandler as _0xc6739}from'@ckeditor/ckeditor5-ui';import{History as _0x3c190d,InsertOperation as _0x5c1955,MarkerOperation as _0x393ac7,ModelLiveRange as _0x446d30,NoOperation as _0xd0c2db,OperationFactory as _0x3f7ebd,RootAttributeOperation as _0x543856,transformOperationSets as _0x3c1840}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x63032a}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xbf1a21,CommentsService as _0x2d8629,EditorService as _0x214476,RevisionHistoryService as _0x195a98,TrackChangesService as _0x556600,User as _0x326c07,WEB_SOCKET_GATEWAY_STATES as _0x16de04,WebSocketGateway as _0x248db8}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x4b32bb,Users as _0x2e4b5d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x196fc5}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2955eb,TrackChangesEditing as _0x18cb04}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x282b1b,CommentsEditing as _0x6108de,CommentsRepository as _0x299e96}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2d2cfb}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x1eb77c}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x181a27{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x248db8)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x63032a,_0x12e214];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x358704){super(_0x358704),this['set']('state',_0x16de04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1e70a0())();}init(){const _0x1b626e=this['context'],_0x4642c0=_0x1b626e['plugins']['get'](_0x63032a),_0x18f95f=_0x1b626e['plugins']['get'](_0x12e214);if(!_0x4642c0['token'])throw new _0xa752d3('websocketgateway-missing-token',this);if(!_0x4642c0['webSocketUrl'])throw new _0xa752d3('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),WebSocketGateway['WebSocketGateway']['connect'](_0x4642c0['token'],_0x4642c0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x37fbda=>{if(this['connection']=_0x37fbda,this['bind']('state')['to'](_0x37fbda,'state',this,'_isBrowserOffline',(_0x1b5af8,_0x1b6ac6)=>('connected'!==_0x1b5af8&&(this['_shouldPluginsReconnect']=!0x0),_0x1b6ac6||_0x1b5af8!==_0x16de04['CONNECTED']?_0x16de04['DISCONNECTED']:this['state']==_0x16de04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x16de04['CONNECTING']):_0x16de04['CONNECTED'])),this['connection']['on']('error',(_0x5636ce,_0xfc77fc)=>{if('limitExceeded'!==_0xfc77fc['code'])throw console['error'](_0xfc77fc),new _0xa752d3('cloudservices-init',null,{'originalError':_0xfc77fc});_0x18f95f['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'});}),!_0x37fbda['me'])return new Promise(_0x2c012a=>_0x37fbda['on']('change:me',_0x2c012a));})['catch'](_0x599442=>{throw console['error'](_0x599442),new _0xa752d3('cloudservices-init',null,{'originalError':_0x599442});});}addToReconnectionStack(_0x4d1485){if('function'!=typeof _0x4d1485['reconnect'])throw new _0xa752d3('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4d1485))throw new _0xa752d3('websocketgateway-plugin-already-registered',this,{'name':_0x4d1485['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4d1485);}removeFromReconnectionStack(_0x50bf64){this['_reconnectionStack']['delete'](_0x50bf64);}isInReconnectionStack(_0x3973ab){return this['_reconnectionStack']['has'](_0x3973ab);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x24f061=>_0x24f061['reconnect']())))['then'](()=>this['state']=_0x16de04['CONNECTED'])['catch'](_0x273ba9=>{throw console['error'](_0x273ba9),new _0xa752d3('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x16de04['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x181a27{['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[z,_0x2e4b5d];}constructor(_0x52792a){super(_0x52792a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x309d10(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2e4b5d);}init(){const _0x1d3a7c=this['context']['plugins']['get'](z);this['listenTo'](_0x1d3a7c,'change:state',(_0x28b797,_0x34e5ef,_0x47e588)=>{if('connected'!==_0x47e588)this['channelSessions']['forEach'](_0x5691dc=>_0x5691dc['clear']()),this['channelConnectedUsers']['forEach'](_0x123f6b=>_0x123f6b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x52ab85,_0x50a881]of this['_registeredSessions'])for(const _0x26d5ce of _0x50a881)this['_handleSessionAdd'](_0x52ab85,_0x26d5ce);}}),this['_createUser'](_0x1d3a7c['connection']['me'],!0x0);}register(_0x49c194,_0x471725){if(this['_registeredSessions']['has'](_0x49c194))throw new _0xa752d3('sessions-register-already-registered',null,{'channelId':_0x49c194});this['_registeredSessions']['set'](_0x49c194,_0x471725),this['channelSessions']['set'](_0x49c194,new _0x309d10()),this['channelConnectedUsers']['set'](_0x49c194,new _0x309d10()),this['listenTo'](_0x471725,'add',(_0xe1a698,_0x51c064)=>this['_handleSessionAdd'](_0x49c194,_0x51c064)),this['listenTo'](_0x471725,'remove',(_0xb007bd,_0x480795)=>this['_handleSessionRemove'](_0x49c194,_0x480795));for(const _0x21c215 of _0x471725)this['_handleSessionAdd'](_0x49c194,_0x21c215);}unregister(_0x2e09b3){if(!this['_registeredSessions']['has'](_0x2e09b3))throw new _0xa752d3('sessions-unregister-not-exist',null,{'channelId':_0x2e09b3});const _0x2e8625=this['_registeredSessions']['get'](_0x2e09b3);this['stopListening'](_0x2e8625);for(const _0x9a98e4 of _0x2e8625)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x2e09b3,_0x9a98e4);this['_registeredSessions']['delete'](_0x2e09b3),this['channelSessions']['delete'](_0x2e09b3),this['channelConnectedUsers']['delete'](_0x2e09b3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x15c4a3){for(const _0x2140fd of this['channelSessions']['values']())for(const _0x2ef538 of _0x2140fd)if(_0x2ef538['id']===_0x15c4a3)return _0x2ef538['user'];}getUserSessions(_0x4460c6,_0x2c8bb5){const _0x245760=_0x2c8bb5?[this['channelSessions']['get'](_0x2c8bb5)]:this['channelSessions']['values'](),_0x17f730=new Set();for(const _0x237067 of _0x245760)for(const _0x24e323 of _0x237067)_0x24e323['user']['id']===_0x4460c6['id']&&_0x17f730['add'](_0x24e323['id']);return _0x17f730;}getUserRole(_0x3316d3){for(const _0x523ac3 of this['channelSessions']['values']())for(const _0x191d15 of _0x523ac3)if(_0x191d15['user']===_0x3316d3)return _0x191d15['role'];}['_handleSessionAdd'](_0x953d2f,_0x17518c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x458dae=_0x17518c['user'],_0x42fb27=this['_users']['getUser'](_0x458dae['id'])||this['_createUser'](_0x458dae),_0x20af80=Object['assign']({},_0x17518c,{'user':_0x42fb27});if(this['channelSessions']['get'](_0x953d2f)['add'](_0x20af80),!_0x458dae['hiddenInPresenceList']){const _0x56e9b4=this['channelConnectedUsers']['get'](_0x953d2f);_0x56e9b4['has'](_0x42fb27['id'])||_0x56e9b4['add'](_0x42fb27),this['allConnectedUsers']['has'](_0x42fb27['id'])||_0x458dae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x42fb27,_0x42fb27['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x953d2f,{'channelId':_0x953d2f,'session':_0x20af80});}['_handleSessionRemove'](_0x59f9bc,_0x2b9002){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ff207=this['channelConnectedUsers']['get'](_0x59f9bc),_0xcdf87e=_0x2b9002['user'];_0xcdf87e['id']&&(this['channelSessions']['get'](_0x59f9bc)['remove'](_0x2b9002['id']),_0x1ff207['has'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e,_0x59f9bc)['size']&&_0x1ff207['remove'](_0xcdf87e['id']),this['allConnectedUsers']['get'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e)['size']&&this['allConnectedUsers']['remove'](_0xcdf87e['id']));}_createUser(_0x19beb5,_0x1d3efa){const _0x1ddb2f=this['_users']['addUser'](_0x19beb5);return _0x1d3efa&&this['_users']['defineMe'](_0x19beb5['id']),_0x1ddb2f['orderNumber']=this['_uniqueUsersCount']++,_0x1ddb2f;}},K=class extends _0x55ae44{_domEmitter=new(_0x1e70a0())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x20589d=this['editor'],_0x25ad11=_0x20589d['plugins']['get'](Y);_0x20589d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x2fd9b3,{writer:_0x2c98d0})=>function(_0x316396,_0xc2ba0a,_0xb6d3ff,_0x451c1b){const _0x24276f=_0x316396['markerName']['split'](':')[0x2],_0x2d8e53=_0xb6d3ff['getUserBySessionId'](_0x24276f);if(!_0x2d8e53||_0x24276f===_0xb6d3ff['mySessionId'])return;if(!_0x451c1b['model']['schema']['checkChild'](_0x316396['markerRange']['start'],'$text'))return;const _0x4f9dbf={'class':'ck-user__marker\x20'+_0x2d8e53['color']['getMarkerClass'](),'style':Q(_0x2d8e53),'data-name':_0x2d8e53['name'],'data-session-id':_0x24276f},_0x1f978b=_0x451c1b['model']['markers']['get'](_0x316396['markerName'])['getStart'](),_0x500e9d=_0x1f978b['nodeAfter'],_0x5947aa=_0x451c1b['model']['schema'];if(_0x500e9d&&_0x5947aa['isObject'](_0x500e9d)&&_0x5947aa['isInline'](_0x500e9d)&&!_0x451c1b['model']['markers']['get']('user:range:'+_0x24276f)['getRange']()['isCollapsed'])return;const _0x370cf1=_0x1f978b['parent'];return _0x451c1b['model']['schema']['isLimit'](_0x370cf1)&&!_0x451c1b['model']['hasContent'](_0x370cf1)&&(_0x4f9dbf['contenteditable']=!0x1),function(_0xb5a8bc,_0x4dd587,_0x3cfa90){const _0xcf208f=_0xb5a8bc['createUIElement']('span',_0x4dd587);return _0xb5a8bc['setCustomProperty']('userPositionMarker',!0x0,_0xcf208f),_0xcf208f['render']=function(_0x14c73e){const _0x351288=this['toDomElement'](_0x14c73e),_0x485e4c=document['createElement']('span');return _0x485e4c['classList']['add']('ck-user__marker-tooltip'),_0x485e4c['setAttribute']('contenteditable','false'),_0x485e4c['setAttribute']('spellcheck','false'),_0x485e4c['textContent']=_0x3cfa90['name'],_0x351288['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x485e4c['outerHTML']+'⁠',_0x351288['addEventListener']('mouseenter',()=>{_0x351288['classList']['add']('ck-user__marker_hovered');}),_0x351288['addEventListener']('mouseleave',()=>{_0x351288['classList']['remove']('ck-user__marker_hovered');}),_0x351288;},_0xcf208f['isSimilar']=function(_0x4a2c7d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4a2c7d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4a2c7d['getAttribute']('data-session-id'));},_0xcf208f;}(_0xc2ba0a,_0x4f9dbf,_0x2d8e53);}(_0x2fd9b3,_0x2c98d0,_0x25ad11,_0x20589d)}),_0x20589d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x545b2d=>function(_0x58c404,_0x2e6d74){const _0x212a81=_0x58c404['markerName']['split'](':')[0x2];if(_0x212a81===_0x2e6d74['mySessionId'])return null;const _0x2baa73=_0x2e6d74['getUserBySessionId'](_0x212a81);return _0x2baa73?{'id':_0x212a81,'classes':['ck-user__selection',_0x2baa73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2baa73),'data-session-id':_0x212a81},'priority':0x7d0+_0x2baa73['orderNumber']}:{'id':_0x212a81,'classes':[]};}(_0x545b2d,_0x25ad11)}),function(_0x2a5ee6){const _0x40c2d1=_0x2a5ee6['model'],_0x2c688f=new Map(),_0x1c0a4e=_0x2a5ee6['plugins']['get'](Y);_0x40c2d1['markers']['on']('update:user:range',(_0x4946b9,_0x1b00ed,_0x2f1a08,_0xb6d2be)=>{if(!_0xb6d2be&&_0x2c688f['get'](_0x1b00ed['name']))return _0x2c688f['get'](_0x1b00ed['name'])['detach'](),void _0x2c688f['delete'](_0x1b00ed['name']);const _0x2a761b=_0x1b00ed['name']['split'](':')[0x2];if(_0x2a761b===_0x1c0a4e['mySessionId'])return;const _0x489edb='user:position:'+_0x2a761b;_0x40c2d1['markers']['has'](_0x489edb)&&_0x2a5ee6['editing']['reconvertMarker'](_0x489edb),_0x1b00ed['on']('change:range',(_0x2fed9f,_0x5230f8,_0x217174)=>{if('$graveyard'!=_0x5230f8['root']['rootName']&&'$graveyard'==_0x1b00ed['getRange']()['root']['rootName']&&!_0x2c688f['has'](_0x1b00ed['name'])){const _0x23750d=_0x40c2d1['schema']['getNearestSelectionRange'](_0x217174['deletionPosition']);if(_0x23750d){const _0x321207=_0x446d30['fromRange'](_0x23750d);_0x2c688f['set'](_0x1b00ed['name'],_0x321207),_0x321207['on']('change:range',(_0x575856,_0x34eb55,_0x404b37)=>{if('$graveyard'==_0x321207['root']['rootName']){const _0x394e56=_0x40c2d1['schema']['getNearestSelectionRange'](_0x404b37['deletionPosition']);_0x394e56?(_0x321207['start']=_0x394e56['start'],_0x321207['end']=_0x394e56['end']):(_0x2c688f['delete'](_0x1b00ed['name']),_0x321207['detach']());}});}}});}),_0x40c2d1['document']['on']('change',()=>{_0x2c688f['size']>0x0&&_0x40c2d1['enqueueChange']({'isUndoable':!0x1},_0x7eb71e=>{for(const [_0x3c0915,_0x25cdee]of _0x2c688f)'$graveyard'==_0x40c2d1['markers']['get'](_0x3c0915)['getRange']()['root']['rootName']&&(J(_0x3c0915['split'](':')[0x2],_0x25cdee['toRange'](),_0x40c2d1,_0x7eb71e),_0x25cdee['detach']());_0x2c688f['clear']();});});}(_0x20589d),this['_domEmitter']['listenTo'](_0x59c443['document'],'keydown',(_0x5c34ab,{key:_0x1b1844})=>{'Escape'===_0x1b1844&&function(_0x785c6f){_0x785c6f['editing']['view']['change'](_0x316325=>{for(const _0x5b9d7c of _0x785c6f['model']['markers']){if(!_0x5b9d7c['name']['startsWith']('user:position'))continue;const _0x4f74b9=_0x785c6f['editing']['mapper']['markerNameToElements'](_0x5b9d7c['name']);if(_0x4f74b9){for(const _0x1d123e of _0x4f74b9)_0x316325['removeClass']('ck-user__marker_hovered',_0x1d123e);}}});}(_0x20589d);},{'useCapture':!0x0});}afterInit(){const _0x53c77b=this['editor'],_0x400991=_0x53c77b['commands']['get']('undo');_0x400991&&_0x53c77b['model']['on']('applyOperation',(_0xa6a87,_0x5af7e5)=>{const _0x45fe5c=_0x5af7e5[0x0];if(!_0x45fe5c['isDocumentOperation'])return;if('marker'!=_0x45fe5c['type']||!_0x45fe5c['name']['startsWith']('user:'))return;const _0x50bcd7=_0x45fe5c['batch'];_0x400991['_createdBatches']['has'](_0x50bcd7)&&(_0x45fe5c['newRange']=_0x45fe5c['oldRange']?_0x53c77b['model']['createRange'](_0x45fe5c['oldRange']['start'],_0x45fe5c['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x406a68=this['editor'],_0x590ce0=_0x406a68['model']['document'],_0x14e47a=_0x406a68['plugins']['get'](Y);_0x406a68['model']['enqueueChange']({'isUndoable':!0x1},_0x32b234=>{const _0x161f5e='user:range:'+_0x14e47a['mySessionId'],_0x1e9df8='user:position:'+_0x14e47a['mySessionId'],_0x98e946=_0x406a68['model']['markers']['has'](_0x161f5e);_0x406a68['editing']['view']['hasDomSelection']?J(_0x14e47a['mySessionId'],_0x590ce0['selection']['getFirstRange'](),_0x406a68['model'],_0x32b234):_0x98e946&&(_0x32b234['removeMarker'](_0x161f5e),_0x32b234['removeMarker'](_0x1e9df8));});}};function J(_0x4c0ebe,_0x431f53,_0x678152,_0x2cc7a8){const _0x92f34a='user:range:'+_0x4c0ebe,_0xfef42c='user:position:'+_0x4c0ebe,_0x4107cc=_0x431f53['getContainedElement']();let _0x520e3f=_0x431f53['start'];if(_0x4107cc&&_0x4107cc['is']('element','tableCell')){const _0x4fea97=function(_0x3d1765,_0x2a1ee6){for(const _0x1c78b7 of _0x3d1765['getPositions']())if(_0x2a1ee6['schema']['checkChild'](_0x1c78b7,'$text'))return _0x1c78b7;}(_0x431f53,_0x678152);_0x4fea97&&(_0x520e3f=_0x4fea97,_0x431f53=_0x2cc7a8['createRange'](_0x520e3f));}const _0x457619=_0x2cc7a8['createRange'](_0x520e3f);_0x678152['markers']['has'](_0x92f34a)?(_0x2cc7a8['updateMarker'](_0x92f34a,{'range':_0x431f53}),_0x2cc7a8['updateMarker'](_0xfef42c,{'range':_0x457619})):(_0x2cc7a8['addMarker'](_0x92f34a,{'range':_0x431f53,'usingOperation':!0x0}),_0x2cc7a8['addMarker'](_0xfef42c,{'range':_0x457619,'usingOperation':!0x0}));}function Q(_0x339d52){return'--ck-user-color:'+_0x339d52['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x339d52['color']['getColorAlphaVariable']()+';';}function X(_0xbd66c0,_0x335676,_0x253792){const _0x5cd180=_0xbd66c0['t'],t=_0xbd66c0['t'];switch(_0x335676){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 _0x5cd180({'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'},_0x253792);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55ae44{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xbf1a21)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x36d7c3,_0x2e4b5d,_0x12e214];}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 _0x3d9dd4=this['serverHistory']['getOperations']();for(let _0x32a847=_0x3d9dd4['length']-0x1;_0x32a847>=0x0;_0x32a847--){const _0x25f5cd=_0x3d9dd4[_0x32a847];if(!this['_disconnectionOperations']['has'](_0x25f5cd))return _0x25f5cd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2beb){if(super(_0x1d2beb),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3c190d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa752d3('collaboration-missing-channelid',this);const _0x4cc958=_0x1d2beb['config']['get']('cloudServices.bundleVersion')||_0x559256;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x4cc958,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x196fc5(),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 it(this['_disconnectionOperations']);}init(){const _0x4cbaf2=this['editor'],_0xad91d9=_0x4cbaf2['plugins']['get'](_0x2e4b5d),_0x8e929a=_0x4cbaf2['plugins']['get'](z);this['listenTo'](_0xad91d9,'getOperationAuthor',(_0x36a1b7,_0xd1edd5)=>{const _0x2e88a3=_0xd1edd5[0x0];_0x2e88a3['_authorId']&&(_0x36a1b7['return']=_0xad91d9['getUser'](_0x2e88a3['_authorId']),_0x36a1b7['stop']()),null===_0x2e88a3['_authorId']&&(_0x36a1b7['return']=null,_0x36a1b7['stop']());},{'priority':'high'}),this['listenTo'](_0x4cbaf2['model']['document']['selection'],'change:range',(_0x2b825,_0x5e635f)=>{_0x5e635f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4cbaf2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4cbaf2['model']['on']('applyOperation',(_0x5a97dc,_0x2861d4)=>{const _0xd872ed=_0x2861d4[0x0];_0xd872ed['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xd872ed),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x8e929a,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x201574,_0x3b028a,_0x1749b3)=>'connected'===_0x201574&&!_0x3b028a&&!_0x1749b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x542311=this['editor']['plugins']['get'](Y),_0x15d8b2=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x542311['unregister'](this['_channelId']);const _0x4a49a8=await this['_service']['reconnect'](_0x15d8b2['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4a49a8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x26ade7=await this['_service']['getConnectedSessions']();_0x542311['register'](this['_channelId'],_0x26ade7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4f09af){if(function(_0xf9c767){return'404'===_0xf9c767['code'];}(_0x4f09af)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x222a92){return'409'===_0x222a92['code'];}(_0x4f09af)){const _0x48ff4f=X(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'](_0x48ff4f);}else{if(!(_0x4f09af instanceof et))throw _0x4f09af;this['_handleReconnectionError']();}}}}destroy(){const _0x43b8b0=this['editor']['plugins']['get'](z),_0x1e0ada=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1e0ada['channelSessions']['has'](this['_channelId'])&&_0x1e0ada['unregister'](this['_channelId']),_0x43b8b0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1da7c8){if(this['sessionId']!==_0x1da7c8['sessionId']&&this['_lastSyncedOperationId']!==_0x1da7c8['lastOperationId'])throw new et();return this['sessionId']=_0x1da7c8['sessionId'],this['_handleServerResponse']([],{..._0x1da7c8,'wereChangesApplied':!0x1,'data':_0x1da7c8['data']},'reconnect');}async _connectService(_0xbe8d39,_0x5cad08=!0x1){const {connection:_0x1daeb5}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1daeb5,this['_channelId'])['then'](_0x446993=>this['_initSessionsHandling'](_0x446993))['catch'](_0x5a8cc6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a8cc6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5dfb93,_0x28d7ed)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x28d7ed);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5a515d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xbe8d39);this['_isPendingUpdate']=!0x0;const _0x213478=await this['_service']['connect'](_0x1daeb5,this['_compressOperations'](_0xbe8d39),_0x5a515d);if(this['sessionId']=_0x213478['sessionId'],_0x5cad08){if(!_0x213478['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x213478['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xbe8d39,_0x213478,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x213478,_0xbe8d39);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x357854=this['editor']['plugins']['get'](Y),_0x3c9f0e=this['editor']['plugins']['get'](K),_0x498fe6=_0x357854['channelSessions']['get'](this['_channelId']);_0x498fe6&&_0x498fe6['length']>0x1?_0x3c9f0e['createUserMarkerOperations']():this['listenTo'](_0x357854,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x357854['channelSessions']['get'](this['_channelId'])['length']&&_0x3c9f0e['createUserMarkerOperations']();});}async _handleReceivedOperations(_0xb5c690,_0x5681f2,_0x4efa7c,_0x3703aa){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5681f2){const _0x32f8be=this['_decompressOperations'](_0x4efa7c,_0x3703aa);await this['_fetchMissingUsers'](_0x32f8be),this['_handleExternalOperations'](_0x32f8be,_0x5681f2,_0x4efa7c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x51b0e6}=this['editor'];let _0x31aa86;try{_0x31aa86=await this['_service']['getDocumentDetails']();}catch{const _0x2742c7=X(_0x51b0e6,'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'](_0x2742c7);}const _0x18f30d=_0x31aa86['currentDocumentSession']||_0x31aa86['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x18f30d['lastOperationId']){const _0x3421c3=X(_0x51b0e6,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3421c3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x2040c4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2040c4['connection']||'connected'!==_0x2040c4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x4bbdb4=this['editor']['plugins']['get'](Y);_0x4bbdb4['channelSessions']['has'](this['_channelId'])&&_0x4bbdb4['unregister'](this['_channelId']),_0x2040c4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x77ef3){const _0x5b30f6=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5b30f6,'sessionAdd:'+this['_channelId'],(_0x180adf,{session:_0x2d9452})=>{if(_0x2d9452['id']===_0x5b30f6['mySessionId']){_0x180adf['off']();const _0x1e25b9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x10829a=_0x2d9452['permissions'];_0x1e25b9&&_0x1e25b9['isEnabled']&&(_0x10829a=_0x10829a['filter'](_0x47888e=>'document:write'!==_0x47888e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x10829a,this['_channelId']);}}),_0x5b30f6['register'](this['_channelId'],_0x77ef3);}_initThrowingOnDataSet(){const _0x539af8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xf409f)=>{if(!_0xf409f[_0xf409f['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa752d3('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x539af8['apply'](this['editor']['data'],_0xf409f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x53aa07,[_0xd46b9a])=>{if(this['_document']['version'])throw new _0xa752d3('realtimecollaborationclient-init-document-already-initialized',this);_0x53aa07['stop'](),this['_setPendingAction']();const _0x4391e4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x5123fa])=>!_0x5123fa['lazyLoad'])['map'](([_0x438cd9,_0x1111b2])=>[_0x438cd9,_0x1111b2['modelAttributes']||{}])),_0x22cfb7=this['_getOperationsFromInitData'](_0xd46b9a,_0x4391e4);0x0==_0x22cfb7['length']&&_0x22cfb7['push'](new _0xd0c2db(0x0)),_0x53aa07['return']=this['_connectService'](_0x22cfb7)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5cf485=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5cf485))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x666850,[_0x31c572,_0x276e47])=>{_0x666850['stop']();const _0x5d4c55=this['editor']['model']['document']['getRoot'](_0x31c572);if(!this['_knownRootNames']['has'](_0x31c572)){const _0x54bc3f=_0x276e47&&_0x276e47['data']?_0x276e47['data']:'',_0x22bb33=_0x276e47&&_0x276e47['attributes']?_0x276e47['attributes']:{};await this['_loadRoot'](_0x31c572,_0x54bc3f,_0x22bb33);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d4c55['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d4c55);});},{'priority':'high'});}async _fetchMissingUsers(_0x509193){const _0xefabd6=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x4ad26f}=this['editor']['plugins']['get'](z),_0x44764c=new Set();for(const _0x5c54ed of _0x509193){const _0x258f34=_0x5c54ed['_authorId'];_0x258f34&&!_0xefabd6['getUser'](_0x258f34)&&_0x44764c['add'](_0x258f34);}if(0x0===_0x44764c['size'])return;const _0x7b41e1=await _0x326c07['getMany'](_0x4ad26f,Array['from'](_0x44764c));for(const _0x162b52 of _0x7b41e1)_0xefabd6['getUser'](_0x162b52['id'])||_0xefabd6['addUser'](_0x162b52);}_getOperationsFromInitData(_0x27abdd,_0x117856={}){const _0x35c791=this['editor']['model'],_0x1c844e=[];let _0x3e76bb=0x0;const _0x321b38='string'==typeof _0x27abdd?{'main':_0x27abdd}:_0x27abdd;for(const _0x317cff of Object['keys'](_0x321b38)){if(!this['_document']['roots']['has'](_0x317cff))throw new _0xa752d3('realtimecollaborationclient-init-non-existent-root',this);const _0x378a41=this['_document']['getRoot'](_0x317cff),_0x39b1d4=this['editor']['data']['parse'](_0x321b38[_0x317cff],_0x378a41),_0xb88d37=new _0x5c1955(_0x35c791['createPositionAt'](_0x378a41,0x0),_0x39b1d4,_0x3e76bb++);_0x1c844e['push'](_0xb88d37);for(const [_0x303090,_0x5a5cb1]of _0x39b1d4['markers']){const _0x3f1104=_0x35c791['createRange'](_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['start']['path']['slice']()),_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['end']['path']['slice']())),_0x2ea845=new _0x393ac7(_0x303090,null,_0x3f1104,_0x35c791['markers'],!0x0,_0x3e76bb++);_0x1c844e['push'](_0x2ea845);}}if(_0x117856)for(const [_0x361f01,_0x50dd59]of Object['entries'](_0x117856)){const _0x28e6ef=_0x35c791['document']['getRoot'](_0x361f01);if(!_0x28e6ef)throw new _0xa752d3('multi-root-editor-root-attributes-no-root',null);for(const [_0x2858bb,_0x30fb21]of Object['entries'](_0x50dd59))if(null!==_0x30fb21){const _0x1d5e8d=new _0x543856(_0x28e6ef,_0x2858bb,null,_0x30fb21,_0x3e76bb++);_0x1c844e['push'](_0x1d5e8d);}}return _0x1c844e;}async _loadRoot(_0x4403b2,_0x1d0c08,_0x2bd040){this['_getOperationsFromInitData']({[_0x4403b2]:_0x1d0c08},{[_0x4403b2]:_0x2bd040})['forEach']((_0x45a3da,_0x4aabf6)=>{_0x45a3da['baseVersion']=this['_document']['version']+_0x4aabf6,_0x45a3da['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x45a3da);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x5682e6,_0x5759a0){let _0x3093d1;this['_offset']=_0x5682e6['offset'];const _0x7bc706=_0x5682e6['wereChangesApplied']&&!_0x5682e6['initData'],_0x9f09b=_0x7bc706?0x0:_0x5682e6['data']['baseVersion'];if(_0x5759a0['forEach'](_0x256652=>{_0x256652['_isInit']=!0x0,_0x256652['createdAt']=_0x5682e6['sessionCreatedAt'],_0x256652['_authorId']=null;}),_0x7bc706)_0x3093d1=_0x5759a0,this['_applyOperationsSet'](_0x3093d1,_0x7bc706);else{if(_0x5682e6['initData']){const _0x46e0eb=this['_getOperationsFromInitData'](_0x5682e6['initData']);this['_document']['history']['version']=-_0x46e0eb['length'],_0x46e0eb['forEach'](_0x190e8f=>{_0x190e8f['baseVersion']-=_0x46e0eb['length'],_0x190e8f['createdAt']=_0x5682e6['sessionCreatedAt'],_0x190e8f['_isInit']=!0x0,_0x190e8f['_authorId']=null;}),this['_applyOperationsSet'](_0x46e0eb,!0x0),this['serverHistory']['version']=-_0x46e0eb['length']+this['_offset'],this['_updateServerHistory'](_0x46e0eb);}this['_document']['history']['version']=_0x9f09b,_0x3093d1=this['_decompressOperations'](_0x5682e6['data'],_0x5682e6['metadata']),await this['_fetchMissingUsers'](_0x3093d1),this['_applyOperationsSet'](_0x3093d1,_0x7bc706);}_0x5682e6['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3093d1,_0x5682e6['lastOperationId']),this['_lastSyncedOperationId']=_0x5682e6['lastOperationId']),this['serverHistory']['version']=_0x9f09b+this['_offset'],this['_updateServerHistory'](_0x3093d1),_0x5759a0['filter'](_0x2fdf5a=>{const _0x3f488d=this['_getAffectedRoot'](_0x2fdf5a);return _0x3f488d&&!this['_knownRootNames']['has'](_0x3f488d);})['forEach']((_0x511c85,_0x3c02fb)=>{_0x511c85['baseVersion']=this['_document']['version']+_0x3c02fb,this['_saveOperationInBuffer'](_0x511c85);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3965c5,_0x1914aa){const _0x1af802=_0x1914aa&&_0x1914aa['message'];if(_0x1af802&&_0x1af802['startsWith']('realtimecollaborationclient'))throw _0x1914aa;const _0x233a9e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x233a9e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa752d3(_0x3965c5,this['editor'],_0x1af802?{'originalError':_0x1af802}:void 0x0);}_saveOperationInBuffer(_0x32a97b){this['_knownOperations']['has'](_0x32a97b)||(this['_knownOperations']['add'](_0x32a97b),this['_bufferedOperations']['push'](_0x32a97b),this['_pendingAction']||'marker'==_0x32a97b['type']&&!_0x32a97b['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x2890cc=!0x1){!_0x2890cc&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x34e26e=>{_0x34e26e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5ba660=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3c7151){return _0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5ba660)||this['_crash'](_0x5ba660['message'],_0x5ba660);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x3c4c24=>{this['on']('change:_isPendingUpdate',()=>{_0x3c4c24();});});}async _sendBufferedOperations(){const _0xe89bdb=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xe89bdb['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x27f835=[...this['_bufferedOperations']];for(const _0x5edc61 of _0x27f835)_0x5edc61['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5edc61);const _0xc0d161=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x27f835),_0x25d285=Z++,_0x57e752=this['_compressOperations'](_0x27f835),_0x5d2dfd=await this['_service']['sendOperations'](_0x57e752,_0x57e752['baseVersion'],_0xc0d161);try{return await this['_handleServerResponse'](_0x27f835,_0x5d2dfd,_0x25d285);}catch(_0x265051){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x265051);}}async['_handleServerResponse'](_0x5f463e,_0x5d99dd,_0x26d0a7){if('error'in _0x5d99dd)throw _0x5d99dd['error'];let _0x3a7b3a;if(_0x5d99dd['wereChangesApplied']){_0x5d99dd['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d99dd['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfd5884=>!_0x5f463e['includes'](_0xfd5884));for(const _0x1efa1c of _0x5f463e)_0x1efa1c['createdAt']='lastOperationAcceptedAt'in _0x5d99dd&&_0x5d99dd['lastOperationAcceptedAt']||void 0x0;st(_0x5f463e,_0x5d99dd['version']-_0x5f463e['length']),this['_updateServerHistory'](_0x5f463e);const _0x1bebb4=_0x5f463e['filter'](_0x107504=>{if(!_0x107504['_isInit'])return!0x1;const _0x1e4d6d=this['_getAffectedRoot'](_0x107504);return _0x1e4d6d&&!this['_knownRootNames']['has'](_0x1e4d6d);});st(_0x1bebb4,this['_document']['version']),this['_applyOperationsSet'](_0x1bebb4),_0x3a7b3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x527fcc=this['_decompressOperations'](_0x5d99dd['data'],_0x5d99dd['metadata'])['filter'](_0x3e53f4=>_0x3e53f4['baseVersion']>=this['_lastServerVersion']);_0x527fcc['forEach'](_0x4e2f8a=>this['_addKnownRoot'](_0x4e2f8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ae444=>!_0x5ae444['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ae444))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x527fcc),_0x3a7b3a=this['_handleExternalOperations'](_0x527fcc,_0x5d99dd['version'],_0x5d99dd['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3a7b3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x18b3ff,_0x39b5eb,_0x2a9765){try{const _0x3a8ed7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5edb29,operationsB:_0x3759b6,originalOperations:_0x1bbb3c}=_0x3c1840(_0x18b3ff,this['_bufferedOperations'],_0x3a8ed7);st(_0x5edb29,this['_document']['version']),st(_0x3759b6,_0x39b5eb);for(const _0x2603f9 of _0x5edb29){const _0x1393b7=_0x1bbb3c['get'](_0x2603f9);_0x1393b7?(_0x2603f9['_authorId']=_0x1393b7['_authorId'],'noop'!==_0x2603f9['type']&&(_0x2603f9['_aiSource']=_0x1393b7['_aiSource'])):_0x2603f9['_authorId']=null;}for(const _0x2a46a8 of _0x3759b6)'noop'!==_0x2a46a8['type']&&(_0x2a46a8['_aiSource']=_0x1bbb3c['get'](_0x2a46a8)?.['_aiSource']);_0x2a9765&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x18b3ff,_0x2a9765),this['_lastSyncedOperationId']=_0x2a9765),this['_bufferedOperations']=[..._0x3759b6],this['_applyOperationsSet'](_0x5edb29),this['_updateServerHistory'](_0x18b3ff);}catch(_0x58cf77){return console['error'](_0x58cf77),!0x1;}return!0x0;}_applyOperationsSet(_0x39de5b,_0x5afebf=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d7604=>{for(const _0x409184 of _0x39de5b)this['_knownOperations']['add'](_0x409184),this['_addKnownRoot'](_0x409184),_0x1d7604['batch']['addOperation'](_0x409184),this['editor']['model']['applyOperation'](_0x409184);});}_addKnownRoot(_0x4e2e5d){const _0x334810=this['_getAffectedRoot'](_0x4e2e5d);_0x334810&&this['_knownRootNames']['add'](_0x334810);}_getAffectedRoot(_0x42ffa6){let _0x21620a,_0x4dd83f;switch(_0x42ffa6['type']){case'insert':_0x21620a=_0x42ffa6['position']['root'];break;case'marker':if(_0x4dd83f=_0x42ffa6['newRange'],!_0x4dd83f)return null;_0x21620a=_0x4dd83f['root'];break;case'addRootAttribute':_0x21620a=_0x42ffa6['root'];break;case'addRoot':_0x21620a=_0x42ffa6['affectedSelectable'];break;case'move':_0x21620a=_0x42ffa6['targetPosition']['root'];break;default:return null;}return _0x21620a['rootName'];}_updateServerHistory(_0x254b44){_0x254b44['forEach'](_0x323ced=>{const _0x57509f=_0x323ced['clone']();_0x57509f['_authorId']=_0x323ced['_authorId'],_0x57509f['_isInit']=!!_0x323ced['_isInit'],_0x57509f['_aiSource']=_0x323ced['_aiSource'],_0x57509f['createdAt']=_0x323ced['createdAt'],_0x57509f['baseVersion']+=this['_offset'],_0x323ced['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x57509f),this['serverHistory']['addOperation'](_0x57509f);});}_handleReconnectionError(_0x7f787b){const _0x5f0403=this['editor']['plugins']['get']('Notification'),_0x47f4c8=this['editor']['locale'];_0x7f787b||(_0x7f787b=X(_0x47f4c8,'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.')),_0x5f0403['showWarning'](_0x7f787b,{'title':X(_0x47f4c8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x36d7c3)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d7c3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x22b83c){const _0x425c6f=_0x22b83c['map'](_0x4d84b2=>_0x4d84b2['toJSON']());return this['_compressor']['compress'](_0x425c6f);}_decompressOperations(_0x164e8c,_0x27dc6f){return this['_compressor']['decompress'](_0x164e8c)['map']((_0x2e781a,_0x1835dc)=>{const _0x14983d='init'==_0x27dc6f[_0x1835dc]['type'];if('InsertOperation'==_0x2e781a['__className']){const _0x3b698d=_0x2e781a['position']['root'];!this['_document']['getRoot'](_0x3b698d)&&(this['_document']['createRoot']('$unknown',_0x3b698d)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2e781a['__className']){const _0x87fb17=this['_document']['getRoot'](_0x2e781a['rootName']);_0x87fb17&&'$unknown'==_0x87fb17['name']&&_0x2e781a['elementName']!=_0x87fb17['name']&&(_0x87fb17['name']=_0x2e781a['elementName']);}}const _0x26f8b6=_0x3f7ebd['fromJSON'](_0x2e781a,this['_document']);return _0x26f8b6['wasUndone']=_0x2e781a['wasUndone'],_0x26f8b6['_isInit']=_0x14983d,_0x26f8b6['_authorId']=_0x14983d?null:_0x27dc6f[_0x1835dc]['userId'],_0x26f8b6['_isDisconnection']='cs:removeUser'===_0x27dc6f[_0x1835dc]['type'],_0x26f8b6['_aiSource']=_0x2e781a['_aiSource']||void 0x0,_0x26f8b6['createdAt']=_0x27dc6f[_0x1835dc]['createdAt'],_0x26f8b6;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1f90fb=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1f90fb&&_0x1f90fb['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x19b5dd,_0x1b2d7d){for(const _0x4edf63 of _0x19b5dd)_0x4edf63['baseVersion']=_0x1b2d7d++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x47cd9d){this['_ignoredOperations']=_0x47cd9d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x437815){let _0x3086b2=_0x437815['length'];for(;_0x3086b2--;){const _0x2b62f2=_0x437815[_0x3086b2];if(!this['_ignoredOperations']['has'](_0x2b62f2)){if(!this['_operationToId']['has'](_0x2b62f2)){const _0x1c7ecd=_0x4ad382()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2b62f2,_0x1c7ecd);}return this['_operationToId']['get'](_0x2b62f2);}}}setIdForTheLastOperation(_0x2b50b0,_0x1b8907){if(!_0x1b8907)return;let _0x3a681d=_0x2b50b0['length'];for(;_0x3a681d--;){const _0x3d9974=_0x2b50b0[_0x3a681d];this['_ignoredOperations']['has'](_0x3d9974)||this['_operationToId']['set'](_0x3d9974,_0x1b8907);}}},nt=class extends _0x55ae44{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x181a27{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x2d8629)());['_services'];static get requires(){return[z,_0x299e96,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50149f){super(_0x50149f),this['_services']=new Map();}async init(){const _0x1a119b=this['context'],_0x569142=_0x1a119b['plugins']['get'](_0x299e96);if(_0x1a119b['plugins']['get'](z)['addToReconnectionStack'](this),_0x569142['adapter']={'addCommentThread':async({channelId:_0x402eee,threadId:_0x210728,comments:_0x32f185,resolvedAt:_0x318b28,resolvedBy:_0x491fd1,context:_0x178447,attributes:_0x7afa46})=>{const _0x2a7019=await this['_getService'](_0x402eee)['addCommentThread']({'commentThreadId':_0x210728,'comments':_0x32f185['map'](_0x224524=>function(_0x447515,_0x2103ae,_0x5f0066){return{'commentThreadId':_0x5f0066,'commentId':_0x447515['commentId'],'userId':_0x447515['authorId'],'content':_0x447515['content'],'documentId':_0x2103ae,'createdAt':_0x447515['createdAt'],'attributes':_0x447515['attributes']||{}};}(_0x224524,_0x402eee,_0x210728)),'resolvedAt':_0x318b28,'resolvedBy':_0x491fd1,'context':_0x178447,'attributes':_0x7afa46})['catch'](ct);return{'threadId':_0x2a7019['commentThreadId'],'comments':_0x2a7019['comments']};},'getCommentThread':async({channelId:_0x5bb6bd,threadId:_0x33fd5b})=>{const _0x1961de=await this['_getService'](_0x5bb6bd)['getCommentThread'](_0x33fd5b)['catch'](rt)['catch'](ct);return _0x1961de?_0x1961de['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1961de]),{'threadId':_0x1961de['commentThreadId'],'comments':_0x1961de['comments']['map'](at),'context':_0x1961de['context'],'resolvedAt':_0x1961de['resolvedAt'],'resolvedBy':_0x1961de['resolvedBy'],'attributes':_0x1961de['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2fd83d,threadId:_0x18a5a8,context:_0x2a3526,unlinkedAt:_0x1daed7,attributes:_0x54a4f2})=>this['_getService'](_0x2fd83d)['updateCommentThread']({'commentThreadId':_0x18a5a8,'context':_0x2a3526,'attributes':_0x54a4f2,'unlinkedAt':_0x1daed7})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x29c765,threadId:_0x31257f})=>{const _0x53239b=await this['_getService'](_0x29c765)['resolveCommentThread'](_0x31257f)['catch'](rt)['catch'](ct);return{'threadId':_0x53239b['commentThreadId'],'resolvedAt':_0x53239b['resolvedAt'],'resolvedBy':_0x53239b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ba25,threadId:_0x110981})=>this['_getService'](_0x38ba25)['reopenCommentThread'](_0x110981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x255848,threadId:_0x45d26a})=>this['_getService'](_0x255848)['removeCommentThread'](_0x45d26a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x395d7e,threadId:_0x2a1ee3,commentId:_0x42044d,content:_0x46bbb2,attributes:_0x1059bb})=>this['_getService'](_0x395d7e)['addComment'](_0x2a1ee3,_0x42044d,_0x46bbb2,_0x1059bb)['catch'](ct),'updateComment':({channelId:_0x4170c3,threadId:_0x1092b4,commentId:_0x5c8eba,content:_0xcad155,attributes:_0x35d6b0})=>this['_getService'](_0x4170c3)['updateComment'](_0x1092b4,_0x5c8eba,_0xcad155,_0x35d6b0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x275355,threadId:_0x484401,commentId:_0x572457})=>this['_getService'](_0x275355)['removeComment'](_0x484401,_0x572457)['catch'](rt)['catch'](ct)},_0x1a119b instanceof _0x4b9058){const _0x5550bb=_0x1a119b['config']['get']('collaboration.channelId'),_0x539a38=_0x1a119b['plugins']['get'](Y);await this['_setUpService'](_0x5550bb);const _0x5c2673=await this['_services']['get'](_0x5550bb)['getConnectedSessions']();this['listenTo'](_0x539a38,'sessionAdd:'+_0x5550bb,(_0x133baf,{session:_0x353760})=>{_0x353760['id']===_0x539a38['mySessionId']&&(_0x133baf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x353760['permissions'],_0x5550bb));}),_0x539a38['register'](_0x5550bb,_0x5c2673);}}async _setUpService(_0x140921){if(this['_services']['has'](_0x140921))throw new _0xa752d3('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x140921});const _0x5e2fe8=this['context']['plugins']['get'](_0x299e96),_0x59aca5=new CloudServicesCommentsAdapter['CommentsService'](_0x140921);this['_services']['set'](_0x140921,_0x59aca5),this['listenTo'](_0x59aca5,'commentThreadAdded',(_0x1599f9,_0x51ec1f)=>{const {commentThreadId:_0x4d0890,documentId:_0x50b465,context:_0x12e072,attributes:_0x569920,resolvedAt:_0x71fc59,resolvedBy:_0x248197,comments:_0x768e46}=_0x51ec1f;_0x5e2fe8['getCommentThread'](_0x4d0890)||_0x5e2fe8['addCommentThread']({'threadId':_0x4d0890,'channelId':_0x50b465,'comments':_0x768e46?_0x768e46['map'](at):[],'context':_0x12e072,'attributes':_0x569920,'resolvedAt':_0x71fc59,'resolvedBy':_0x248197,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadUpdated',(_0x16a661,{commentThreadId:_0x5ede16,documentId:_0x1698d4,context:_0x16f3b2,unlinkedAt:_0x3ed646,attributes:_0x254eaa})=>{_0x5e2fe8['getCommentThread'](_0x5ede16)&&_0x5e2fe8['updateCommentThread']({'threadId':_0x5ede16,'channelId':_0x1698d4,'context':_0x16f3b2,'unlinkedAt':_0x3ed646,'attributes':_0x254eaa,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadResolved',(_0x368bb0,{commentThreadId:_0x41afef,resolvedBy:_0x2bfd6b,resolvedAt:_0x3eeab2})=>{const _0x2c0c1e=_0x5e2fe8['getCommentThread'](_0x41afef);_0x2c0c1e&&_0x2c0c1e['resolve']({'resolvedBy':_0x2bfd6b,'resolvedAt':_0x3eeab2,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadReopened',(_0xcc3f6d,{commentThreadId:_0x572239})=>{const _0x5f1db0=_0x5e2fe8['getCommentThread'](_0x572239);_0x5f1db0&&_0x5f1db0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadRemoved',(_0x4a27f3,{commentThreadId:_0x2fbb5d})=>{const _0x1dc2cf=_0x5e2fe8['getCommentThread'](_0x2fbb5d);_0x1dc2cf&&_0x1dc2cf['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentAdded',(_0x327d20,_0x258cc3)=>{const _0x6b18d2=_0x258cc3['commentThreadId'],_0x26df1e=_0x5e2fe8['getCommentThread'](_0x6b18d2);_0x26df1e&&_0x26df1e['addComment']({...at(_0x258cc3),'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentUpdated',(_0x4ad0d5,{commentThreadId:_0xf946a0,commentId:_0x1ed519,content:_0x47a7c6,attributes:_0x45b18f})=>{const _0x520ce0=_0x5e2fe8['getCommentThread'](_0xf946a0);if(_0x520ce0){const _0x5624f1=_0x520ce0['getComment'](_0x1ed519);_0x5624f1&&_0x5624f1['update']({'content':_0x47a7c6,'attributes':_0x45b18f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'commentRemoved',(_0x4aebc0,{commentThreadId:_0x2d8bba,commentId:_0x38aeca})=>{const _0x4efa3a=_0x5e2fe8['getCommentThread'](_0x2d8bba);if(_0x4efa3a){const _0x911b00=_0x4efa3a['getComment'](_0x38aeca);_0x911b00&&_0x911b00['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x140921),this['stopListening'](_0x59aca5));}),await this['_connectService'](_0x140921);}destroy(){if(this['context']instanceof _0x4b9058){const _0x612cb4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x612cb4)&&this['_terminateService'](_0x612cb4);}}_terminateService(_0x40d75a){if(!this['_services']['has'](_0x40d75a))throw new _0xa752d3('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x40d75a});this['_getService'](_0x40d75a)['disconnect'](),this['_services']['delete'](_0x40d75a);}async reconnect(){for(const _0x3bb637 of this['_services']['keys']())await this['_connectService'](_0x3bb637);if(this['context']instanceof _0x4b9058){const _0x4d133e=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x4d133e)){const _0x20089a=this['context']['plugins']['get'](Y);_0x20089a['unregister'](_0x4d133e);const _0x462659=await this['_services']['get'](_0x4d133e)['getConnectedSessions']();_0x20089a['register'](_0x4d133e,_0x462659);}}}async _connectService(_0x4d7fab){const {connection:_0x40b788}=this['context']['plugins']['get'](z),_0x5177f1=this['context']['plugins']['get'](_0x299e96),_0x2ee9fa=await this['_services']['get'](_0x4d7fab)['connect'](_0x40b788);await this['_fetchMissingUsersForThreads'](_0x2ee9fa);const _0x52069b=new Set(Array['from'](_0x5177f1['getCommentThreads']({'channelId':_0x4d7fab}),_0x412e29=>_0x412e29['id']));for(const _0x137021 of _0x2ee9fa)_0x137021['deletedAt']||_0x52069b['delete'](_0x137021['commentThreadId']);for(const _0xe5999b of _0x52069b)_0x5177f1['getCommentThread'](_0xe5999b)['remove']({'isFromAdapter':!0x0});for(const _0x40d108 of _0x2ee9fa){let _0x5c1fdd=_0x5177f1['getCommentThread'](_0x40d108['commentThreadId']);const {commentThreadId:_0x43416e,context:_0x1cd80a,attributes:_0x453e5c,resolvedBy:_0x378911,resolvedAt:_0x3f9b1a,unlinkedAt:_0x408377,deletedAt:_0x48b05a}=_0x40d108;if(_0x48b05a)continue;_0x5c1fdd||(_0x5c1fdd=_0x5177f1['addCommentThread']({'channelId':_0x4d7fab,'threadId':_0x43416e,'context':_0x1cd80a,'attributes':_0x453e5c||{},'resolvedBy':_0x378911,'resolvedAt':_0x3f9b1a,'unlinkedAt':_0x408377,'isFromAdapter':!0x0}));const _0x2f8fd9=new Set(Array['from'](_0x5c1fdd['comments'],_0x2e8ecb=>_0x2e8ecb['id']));for(const _0x3b7db3 of _0x40d108['comments'])_0x2f8fd9['delete'](_0x3b7db3['commentId']);for(const _0x1e9c6a of _0x2f8fd9)_0x5c1fdd['getComment'](_0x1e9c6a)['remove']({'isFromAdapter':!0x0});for(const _0x27fc15 of _0x40d108['comments']){const _0x35c16e=_0x5c1fdd['getComment'](_0x27fc15['commentId']);_0x35c16e?_0x35c16e['content']!==_0x27fc15['content']&&_0x35c16e['update']({'content':_0x27fc15['content'],'isFromAdapter':!0x0}):_0x5c1fdd['addComment'](Object['assign'](at(_0x27fc15),{'isFromAdapter':!0x0}));}}}_getService(_0xa2d483){if(!this['_services']['has'](_0xa2d483))throw new _0xa752d3('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa2d483});return this['_services']['get'](_0xa2d483);}async _fetchMissingUsersForThreads(_0x573326){const _0x12d094=this['context']['plugins']['get'](_0x2e4b5d),{connection:_0x265b82}=this['context']['plugins']['get'](z),_0xa63bb4=new Set();for(const {resolvedBy:_0x3502a8,comments:_0x3d0d8e}of _0x573326){_0x3502a8&&!_0x12d094['getUser'](_0x3502a8)&&_0xa63bb4['add'](_0x3502a8);for(const {userId:_0x100f95}of _0x3d0d8e)_0x12d094['getUser'](_0x100f95)||_0xa63bb4['add'](_0x100f95);}if(0x0===_0xa63bb4['size'])return;const _0x34de3c=await _0x326c07['getMany'](_0x265b82,Array['from'](_0xa63bb4));for(const _0x580d54 of _0x34de3c)_0x12d094['getUser'](_0x580d54['id'])||_0x12d094['addUser'](_0x580d54);}};async function rt(_0x371526){if('404'!==_0x371526['code'])throw _0x371526;}function ct(_0x255a5a){if((_0x19e980=_0x255a5a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x19e980;throw _0x255a5a;}function at(_0x3f003a){return{'threadId':_0x3f003a['commentThreadId'],'commentId':_0x3f003a['commentId'],'content':_0x3f003a['content'],'createdAt':_0x3f003a['createdAt'],'authorId':_0x3f003a['userId'],'attributes':_0x3f003a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55ae44{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x556600)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x18cb04,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4deb72){super(_0x4deb72);const _0x2a924e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x2a924e);}init(){const _0x178400=this['editor']['plugins']['get'](z),_0xccc286=this['editor']['plugins']['get'](_0x18cb04);return _0xccc286['adapter']={'getSuggestion':async _0x5cdc6c=>{await this['_waitForServiceReady']();const _0x3a7f83=await this['_trackChangesService']['get'](_0x5cdc6c)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a7f83]),_0x3a7f83;},'addSuggestion':async({id:_0x2d232c,type:_0x18806c,data:_0x41ee75,originalSuggestionId:_0x42fbb1,attributes:_0x12eeca})=>{await this['_waitForServiceReady']();const _0x1e696a={'id':_0x2d232c,'type':_0x18806c,'data':_0x41ee75,'originalSuggestionId':_0x42fbb1,'attributes':_0x12eeca},_0x20ca66=await this['_trackChangesService']['add'](_0x2d232c,_0x18806c,_0x41ee75,_0x42fbb1,_0x12eeca)['catch'](_0x269f89=>{if(dt(_0x269f89))return new Promise(_0x57de85=>{this['_bufferedRequests']['set'](_0x2d232c,{'resolve':_0x57de85,'suggestionData':_0x1e696a});});throw _0x269f89;});return this['_bufferedRequests']['delete'](_0x2d232c),_0x20ca66;},'updateSuggestion':async(_0x384df1,_0xaf007b)=>{if(await this['_waitForServiceReady'](),'open'!==_0xaf007b['state'])return this['_trackChangesService']['update'](_0x384df1,_0xaf007b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x16f6e0,_0x56acf4)=>{_0xccc286['hasSuggestion'](_0x56acf4['id'])&&(_0xccc286['getSuggestion'](_0x56acf4['id'])['attributes']=_0x56acf4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x178400['connection']?.['state']&&(_0x178400['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x178400['connection'])['then'](_0x3ffc44=>(_0x178400['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3ffc44)['then'](()=>{for(const _0x1eeb06 of _0x3ffc44){_0xccc286['addSuggestionData'](_0x1eeb06)['_saved']=!0x0;}})));}async reconnect(){const _0x572d82=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xff8024}=this['editor']['plugins']['get'](z),_0x4b9e70=await this['_trackChangesService']['connect'](_0xff8024);await this['_fetchMissingUsersForThreads'](_0x4b9e70);for(const {suggestionData:_0x4a3a41,resolve:_0x1df044}of this['_bufferedRequests']['values']()){let _0x1c15af=_0x4b9e70['find'](_0x1cbd59=>_0x1cbd59['id']===_0x4a3a41['id']);_0x1c15af||(_0x1c15af=await this['_trackChangesService']['add'](_0x4a3a41['id'],_0x4a3a41['type'],_0x4a3a41['data'],_0x4a3a41['originalSuggestionId'])),_0x1df044(_0x1c15af);}for(const _0x24a66f of _0x4b9e70)_0x572d82['hasSuggestion'](_0x24a66f['id'])||_0x572d82['addSuggestionData'](_0x24a66f);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0xaf4037=>{this['listenTo'](this['_trackChangesService'],'connected',_0x397f17=>{_0x397f17['off'](),_0xaf4037();});});}async _fetchMissingUsersForThreads(_0x4ed935){const _0x10c599=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x1d766b}=this['editor']['plugins']['get'](z),_0x1a7746=new Set();for(const {authorId:_0x2a8954}of _0x4ed935)_0x10c599['getUser'](_0x2a8954)||_0x1a7746['add'](_0x2a8954);if(0x0===_0x1a7746['size'])return;const _0xbdbedb=await _0x326c07['getMany'](_0x1d766b,Array['from'](_0x1a7746));for(const _0x2a5d51 of _0xbdbedb)_0x10c599['getUser'](_0x2a5d51['id'])||_0x10c599['addUser'](_0x2a5d51);}};function lt(_0x52fda5){if(dt(_0x52fda5))return new Promise(()=>{});throw _0x52fda5;}function dt(_0x2a8724){return _0x2a8724['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2a8724['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55ae44{static get requires(){return[_0x282b1b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x756e91=this['editor']['plugins']['get'](z),_0x55f5fa=this['editor']['plugins']['get'](_0x6108de),_0x3cc403=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x756e91,'change:state',(_0x326674,_0x3fe890,_0x534856)=>{_0x55f5fa['isThreadsLoadingPaused']='connected'!==_0x534856;});}),this['listenTo'](_0x756e91,'change:state',(_0x38bc81,_0x5552fb,_0x25253d)=>{this['editor']['plugins']['get'](_0x299e96)['switchReadOnly']('connected'!==_0x25253d);}),_0x3cc403['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x452bc0=this['editor']['plugins']['get'](ot),_0x2a0b81=this['editor']['config']['get']('collaboration.channelId');_0x452bc0['_services']['has'](_0x2a0b81)&&_0x452bc0['_terminateService'](_0x2a0b81),super['destroy']();}},ft=class extends _0x55ae44{static get requires(){return[ut,ht,_0x2955eb];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55ae44{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x195a98)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x2d2cfb,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x43f96a){super(_0x43f96a);const _0x17f00f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x17f00f);}async init(){const _0x1046a3=this['editor']['plugins']['get'](tt),_0x1d4c32=_0x1046a3['serverHistory'],_0x220237=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x1d4c32,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1046a3['sessionId']});const _0x5ce659=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x559256,_0x18fad3=await _0x214476['isBundleUploaded'](_0x220237['connection'],_0x5ce659);this['editor']['plugins']['get'](_0x2d2cfb)['adapter']={'getRevision':async({revisionId:_0x435b9a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x435b9a)),'updateRevisions':async _0x91194e=>{await this['_waitForServiceReady']();const _0x42f21e=this['_revisionTracker']['currentRevision'];if(_0x18fad3&&0x1===_0x91194e['length']&&_0x91194e[0x0]['id']===_0x42f21e['id'])return _0x91194e;for(const _0x236585 of _0x91194e)_0x236585['id']===_0x42f21e['id']&&(_0x236585['isEmptyCurrent']=_0x236585['fromVersion']===_0x236585['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x91194e,this['_lastRequestId'])['then'](_0xec1564=>(this['_lastRequestId']=_0xec1564,_0x91194e))['catch'](_0x24b655=>{if(pt(_0x24b655)||'400'===_0x24b655['code']&&void 0x0!==_0x24b655['data']['wrongRequestId']){for(const _0xda8528 of _0x91194e)this['_revisionTracker']['repository']['getRevision'](_0xda8528['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xda8528['id'],_0xda8528,!0x1);if(pt(_0x24b655)&&'destroyed'!==this['editor']['state'])throw _0x24b655;return _0x91194e;}throw _0x24b655;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x101aa2,{revisionsData:_0x4af1b4,requestId:_0x58e759})=>{Math['max'](..._0x4af1b4['map'](_0x3e9f5e=>_0x3e9f5e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}):this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x220237['connection']?.['state']&&(_0x220237['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x78e15d,requestId:_0x27afcb}=await this['_revisionHistoryService']['connect'](_0x220237['connection']);_0x220237['addToReconnectionStack'](this),this['_lastRequestId']=_0x27afcb,await this['_fetchMissingUsers'](_0x78e15d);for(const _0x2e0155 of _0x78e15d)this['_revisionTracker']['addRevisionData'](_0x2e0155);this['listenTo'](_0x1046a3,'change:_isConnected',(_0x196455,_0x82d996,_0x13fbb5)=>{_0x13fbb5&&(this['_oldOffset']=_0x1046a3['_offset'],_0x196455['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x2d5b62=this['editor']['plugins']['get'](z),_0x34b524=this['editor']['plugins']['get'](tt),_0x311412=async()=>{const _0x5483de=this['_revisionTracker']['currentRevision'],_0x55d419=_0x5483de['id'],_0x2f8427=_0x55d419!==_0x34b524['sessionId'];if(_0x2f8427){const _0x501053=_0x34b524['_offset']-this['_oldOffset'],_0x42c0be=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x5483de['toVersion']+_0x501053!==_0x42c0be){const _0x5c689c=_0x5483de['fromVersion']+_0x501053,_0x16ac93=this['editor']['plugins']['get'](_0x2e4b5d),_0x2c2017=this['_revisionTracker']['buildRevisionData']({'revision':_0x5483de,'from':_0x5c689c,'to':_0x42c0be});_0x2c2017['id']=_0x5483de['id'];const _0x38e2c2=_0x2c2017['authorsIds']['map'](_0x3b7956=>_0x16ac93['getUser'](_0x3b7956));_0x5483de['_update']({..._0x2c2017,'authors':_0x38e2c2},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5483de['id'],_0x2c2017,!0x0);}this['_revisionTracker']['_startingVersion']=_0x42c0be,_0x5483de['toVersion']!==_0x5483de['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x55d419)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x55d419),this['_revisionTracker']['_createCurrentRevision'](_0x42c0be);}const {revisions:_0x367f81,requestId:_0x287bf1}=await this['_revisionHistoryService']['reconnect'](_0x2d5b62['connection'],this['_lastRequestId']);_0x2f8427&&_0x367f81['length']>0x0?_0x34b524['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x367f81),this['_handleRevisionsUpdate'](_0x367f81,_0x287bf1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x34b524['_isConnected']?_0x311412():new Promise((_0x3d58f8,_0x25e291)=>{_0x34b524['once']('change:_isConnected',()=>{_0x311412()['then'](_0x3d58f8)['catch'](_0x25e291);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x47ecec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5aaf84=>{_0x5aaf84['off'](),_0x47ecec();});});}_getLatestVersionFromServerOperations(){const _0x4731e8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x42cde9 of _0x4731e8)if('marker'!==_0x42cde9['type']||_0x42cde9['affectsData'])return _0x42cde9['baseVersion']+0x1;}_getLatestVersion(){const _0x31723a=this['editor']['plugins']['get'](tt);return new Promise(_0x31aa11=>{_0x31723a['_isPendingUpdate']?_0x31723a['once']('change:_isPendingUpdate',()=>{_0x31aa11(this['_getLatestVersionFromServerOperations']());}):_0x31aa11(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x38a4d6,_0x41a050){const _0x50d18d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x41a050;for(const _0x88c385 of _0x38a4d6){const _0x2e82e=_0x50d18d['getRevision'](_0x88c385['id']);if(_0x2e82e){if((_0x88c385['fromVersion']||_0x88c385['toVersion'])&&(_0x88c385['diffData']=null),_0x2e82e===this['_revisionTracker']['currentRevision']){const _0x269bc9=Math['max'](_0x2e82e['toVersion'],_0x88c385['toVersion']),_0x2afbd0=Math['max'](_0x2e82e['fromVersion'],_0x88c385['fromVersion']);let _0x28ab95;_0x2e82e['toVersion']===_0x88c385['toVersion']&&_0x2e82e['fromVersion']===_0x88c385['fromVersion']?(_0x28ab95=!0x0,this['_preventResendingRevisionData'](_0x88c385)):_0x88c385['toVersion']===_0x269bc9&&_0x88c385['fromVersion']===_0x2afbd0?_0x28ab95=!0x1:(_0x2e82e['toVersion']===_0x269bc9&&_0x2e82e['fromVersion']===_0x2afbd0||this['_fixRevision']({'revision':_0x2e82e,'from':_0x2afbd0,'to':_0x269bc9}),_0x28ab95=!0x0),_0x28ab95&&(delete _0x88c385['fromVersion'],delete _0x88c385['toVersion'],delete _0x88c385['diffData'],delete _0x88c385['createdAt'],delete _0x88c385['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x88c385),this['_preventResendingRevisionData'](_0x88c385);}else this['_revisionTracker']['addRevisionData'](_0x88c385);}const _0x172c83=_0x50d18d['getRevisions']();_0x172c83['reverse']();for(let _0x4595d9=0x0;_0x4595d9<_0x172c83['length']-0x1;_0x4595d9++){const _0x1da82f=_0x172c83[_0x4595d9],_0x13b862=_0x172c83[_0x4595d9+0x1];if(_0x1da82f['fromVersion']<_0x13b862['toVersion']){const _0x46d2e1=_0x13b862['toVersion'],_0x31a711=Math['max'](_0x46d2e1,_0x1da82f['toVersion']);this['_fixRevision']({'revision':_0x1da82f,'from':_0x46d2e1,'to':_0x31a711});}}}['_fixRevision']({revision:_0xa90801,from:_0x1b93bf,to:_0x40b230}={}){const _0x3244b2=this['editor']['plugins']['get'](_0x2e4b5d),_0x514580=this['_revisionTracker']['buildRevisionData']({'revision':_0xa90801,'from':_0x1b93bf,'to':_0x40b230});_0x514580['authors']=_0x514580['authorsIds']['map'](_0x2a0ef0=>_0x3244b2['getUser'](_0x2a0ef0)),_0xa90801['_update'](_0x514580);}_preventResendingRevisionData(_0x52b705){const _0x582692={};_0x582692['id']=_0x52b705['id'];for(const _0x1e435a of Object['keys'](_0x52b705))'id'!==_0x1e435a&&(_0x582692[_0x1e435a]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x582692['id'],_0x582692,!0x0);}async _fetchMissingUsers(_0xea1430){const _0x29028b=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x3a7e70}=this['editor']['plugins']['get'](z),_0x1032d6=new Set();for(const _0x4a65c6 of _0xea1430){for(const _0x5adb4b of _0x4a65c6['authorsIds'])_0x4d0e7e(_0x5adb4b);_0x4a65c6['creatorId']&&_0x4d0e7e(_0x4a65c6['creatorId']);}if(0x0===_0x1032d6['size'])return;const _0x412d30=await _0x326c07['getMany'](_0x3a7e70,Array['from'](_0x1032d6));for(const _0x572209 of _0x412d30)_0x29028b['getUser'](_0x572209['id'])||_0x29028b['addUser'](_0x572209);function _0x4d0e7e(_0x33c98d){_0x29028b['getUser'](_0x33c98d)||_0x1032d6['add'](_0x33c98d);}}};function pt(_0x4f43ed){return _0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55ae44{static get requires(){return[_0x2d2cfb,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x5e1e61{_collapseAt;constructor(_0x4384c4,_0x117ad4=0x6){super(_0x4384c4);const _0x39a315=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x117ad4,this['bind']('isHidden')['to'](this,'usersCount',_0x3e74bd=>_0x3e74bd<_0x117ad4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x39a315['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x39a315['to']('usersCount',_0x23550b=>'+'+(_0x23550b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x5e1e61{items;keystrokes;constructor(_0x474ab1){super(_0x474ab1);const _0x3694dc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2b4fca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3694dc['if']('hasPopup'),'aria-expanded':_0x3694dc['to']('isExpanded',_0x4130d6=>this['hasPopup']&&String(_0x4130d6)),'aria-label':_0x3694dc['to']('hasPopup',_0x5bbccb=>X(_0x474ab1,_0x5bbccb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3694dc['to']('hasPopup',_0x4a8016=>!!_0x4a8016&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3694dc['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3694dc['to'](_0x117507=>{const _0x25bacb=_0x117507,_0x3010d3=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1902e6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3010d3?.['contains'](_0x25bacb['relatedTarget'])||_0x1902e6?.['contains'](_0x25bacb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26df09,_0x5186be,_0x381f1f)=>{this['element']&&(_0x381f1f?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']);}},_t=class extends _0x5e1e61{counterView;inlineListView;constructor(_0x5517c9,_0x2edae1=0x6){super(_0x5517c9);const _0x410ad1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x2edae1),this['inlineListView']=new vt(_0x5517c9),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1948f1 of this['inlineListView']['items'])_0x1948f1['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',_0x410ad1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x5e1e61{listWrapperView;constructor(_0x2ee717,_0x4994e1){super(_0x2ee717);const _0x34d06b=this['bindTemplate'];this['listWrapperView']=new bt(_0x2ee717,_0x4994e1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2ee717,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x34d06b['to'](_0x1558f2=>{const _0x32d013=_0x1558f2,_0x593f1d=document['querySelector']('.ck-presence-list__list'),_0x334bc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x593f1d?.['contains'](_0x32d013['relatedTarget'])||_0x334bc2?.['contains'](_0x32d013['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0xd7af65{constructor(_0x382465,_0x2c9ae2){super(_0x382465);const _0x230b7a=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2c9ae2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x230b7a['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x230b7a['to']('role'),'aria-label':_0x230b7a['to']('ariaLabel'),'aria-labelledby':_0x230b7a['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x59c443['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4fb8c3=this['element'];_0x4fb8c3&&(this['_isScrollable']=Math['max'](_0x4fb8c3['scrollHeight'],_0x4fb8c3['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x130180{['userView'];constructor(_0x329032,_0x4bddb8,_0x4cb329){super(_0x329032);const _0x19126b=this['bindTemplate'];this['userView']=new _0x4b32bb(_0x329032,_0x4bddb8);const _0x38d1e3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4bddb8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4bddb8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4bddb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4bddb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4bddb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4cb329&&(_0x38d1e3['tag']='button',_0x38d1e3['on']={'click':_0x19126b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x38d1e3);}['focus'](){this['element']['focus']();}},It=class extends _0x5e1e61{['userView'];['markerView'];constructor(_0x381489,_0x5758a2,_0x3e4bf2){super(_0x381489);const _0x365dde=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4b32bb(_0x381489,_0x5758a2),this['markerView']=new St(_0x381489,_0x5758a2);const _0x5f24a2=new _0x522fbe(_0x381489);_0x5f24a2['template']['tag']='span',_0x5f24a2['text']=_0x5758a2['name'];const _0x5ef242={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x365dde['to']('isFocusable',_0x1c7629=>!!_0x1c7629&&0x0),'aria-labelledby':_0x5f24a2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x365dde['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x365dde['to']('hasTooltip',_0x87c0cc=>!_0x87c0cc),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5f24a2]};_0x3e4bf2&&(_0x5ef242['tag']='button',_0x5ef242['on']={'click':_0x365dde['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ef242);}},St=class extends _0x5e1e61{constructor(_0x2ac7d9,_0x2db649){super(_0x2ac7d9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2db649['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2db649['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2db649['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x181a27{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4266c8){super(_0x4266c8),this['context']['config']['define']('presenceList',Tt);const _0x3b4612=_0x4266c8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3b4612)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);if(_0x3b4612<0x1)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x309d10(),this['balloonPanelView']=new _0x241d1f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x242a9f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x242a9f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x235dd5,_0x5e2308)=>{this['_handleUserAdd'](_0x5e2308);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ec41c,_0x49c4c1)=>{this['_handleUserRemove'](_0x49c4c1);});}_createView(){const _0x26879d=this['context'],_0x41491f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3af0de=this['balloonPanelView'];if(!_0x1eb77c(_0x26879d['config']['get']('presenceList.container')))throw new _0xa752d3('presencelist-missing-container',this);return _0x41491f['counterView']['bind']('usersCount')['to'](this),_0x41491f['bind']('isCollapsed')['to'](this,'usersCount',_0x1ca3c2=>{const {collapseAt:_0x172d2e}=_0x26879d['config']['get']('presenceList'),_0x189bdb=_0x1ca3c2>=_0x172d2e;if(_0x189bdb&&!_0x41491f['inlineListView']['items']['find'](_0x274e1c=>_0x274e1c instanceof wt)){const _0x411c36=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x411c36&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x41491f['inlineListView']['items']['add'](_0x41491f['counterView']);}return _0x189bdb||this['hideDropdown'](),_0x189bdb;}),_0x41491f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x367931=>{const _0x34ac97=_0x26879d['config']['get']('presenceList'),_0x2741c5=new It(_0x26879d['locale'],_0x367931,!!_0x34ac97['onClick']);return _0x2741c5['bind']('hasTooltip')['to'](_0x41491f,'isCollapsed',_0x10c479=>!_0x10c479),_0x2741c5['bind']('isFocusable')['to'](_0x41491f,'isCollapsed',_0x4f7db1=>!_0x4f7db1),_0x34ac97['onClick']&&this['listenTo'](_0x2741c5,'execute',()=>{this['view']['isCollapsed']||_0x34ac97['onClick'](_0x367931,_0x2741c5['element']);}),_0x2741c5;}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x41491f['inlineListView']['keystrokes']['set']('Enter',(_0x37fb50,_0x4a333c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4a333c());}),_0x41491f['render'](),_0x3af0de['render'](),_0xc6739({'emitter':_0x41491f,'activator':()=>_0x3af0de['isVisible'],'contextElements':[_0x3af0de['element'],_0x41491f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x26879d['config']['get']('presenceList.container')['appendChild'](_0x41491f['element']),this['_bodyCollection']=new _0x44ac99(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x41491f;}['_handleUserAdd'](_0x1c8c06){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1c8c06['isMe'])return;const _0x118e56=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x118e56-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5cf54b=_0x1c8c06['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1c8c06,_0x5cf54b);}['_handleUserRemove'](_0x1c3171){this['usersCount']--;const {collapseAt:_0x1c71b8}=this['context']['config']['get']('presenceList'),_0x4e29d0=this['usersCount']>=_0x1c71b8;if(this['currentDisplayedUsers']['get'](_0x1c3171['id']))this['currentDisplayedUsers']['remove'](_0x1c3171['id']);else{if(_0x4e29d0&&this['currentDisplayedUsers']['length']+0x1===_0x1c71b8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)<this['usersCount']){for(const _0x2485e6 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2485e6['id'])&&(this['currentDisplayedUsers']['add'](_0x2485e6,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e29d0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)===_0x1c71b8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4d42ab=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4d42ab['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x31267c}=this['presenceDropdownView'];_0x31267c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x15a1d1=>{if(!_0x4d42ab['displayMe']&&_0x15a1d1['isMe'])return null;const _0x47d489=new kt(this['context']['locale'],_0x15a1d1,!!_0x4d42ab['onClick']);return _0x4d42ab['onClick']&&this['listenTo'](_0x47d489,'execute',()=>{_0x4d42ab['onClick'](_0x15a1d1,_0x47d489['element']);}),_0x47d489;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x31267c['focus'](),_0x31267c['checkIfScrollable']();const _0x1fe849=(_0x1cae0c,_0x54a0b4)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x54a0b4();};_0x31267c['keystrokes']['set']('Esc',_0x1fe849),_0x31267c['keystrokes']['set']('Shift+Tab',_0x1fe849),_0x31267c['keystrokes']['set']('Tab',(_0x3900f3,_0x163181)=>{!function(_0x4cce26){const _0x1d8a5e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5348c1=>_0x5348c1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4d1cf1=[...document['body']['querySelectorAll'](_0x1d8a5e)]['filter'](_0x4675f2=>_0x4675f2===document['activeElement']||_0x4675f2['offsetWidth']+_0x4675f2['offsetHeight']>0x0)['sort']((_0x11a5ff,_0x6d1a0a)=>(_0x11a5ff['tabIndex']||0x0)-(_0x6d1a0a['tabIndex']||0x0)),_0x3f6fba=_0x4d1cf1[(_0x4d1cf1['indexOf'](_0x4cce26)+0x1)%_0x4d1cf1['length']];_0x3f6fba&&_0x3f6fba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x163181();}),_0x31267c['focusTracker']['add'](this['view']['element']),_0x31267c['focusTracker']['on']('change:isFocused',(_0x3a8fab,_0x4974a6,_0x37d5b5)=>{_0x37d5b5||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);}},At=class extends _0x181a27{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};