@ckeditor/ckeditor5-real-time-collaboration 49.0.0-alpha.8 → 49.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 _0x46ea9b,ContextPlugin as _0x2470ea,PendingActions as _0x1bbdfc,Plugin as _0x2b96e7}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x1cba4d,Collection as _0x30b45c,DomEmitterMixin as _0x54b94a,KeystrokeHandler as _0x4cd84c,getOverlayMountRoot as _0x445939,global as _0x327fcb,trustedHtml as _0x74deec,uid as _0x467ff8,version as _0x3a3f2b}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x92771e,LabelView as _0x2576ff,ListItemView as _0x3fc642,ListView as _0x461b02,Notification as _0x3bbe7d,OverlayHost as _0x52da97,View as _0x1bdd03,clickOutsideHandler as _0x4d491f}from'@ckeditor/ckeditor5-ui';import{History as _0x31e537,InsertOperation as _0x215f26,MarkerOperation as _0x524ea7,ModelLiveRange as _0x294958,NoOperation as _0x3884c7,OperationFactory as _0x5bcd72,RootAttributeOperation as _0xdd6fed,transformOperationSets as _0x94c6ca}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x395891}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x1c22d4,CommentsService as _0x1f5016,EditorService as _0x4f77ac,RevisionHistoryService as _0x15f775,TrackChangesService as _0x58ce33,User as _0x11acf3,WEB_SOCKET_GATEWAY_STATES as _0x5377a0,WebSocketGateway as _0x261987}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x30b579,Users as _0x4857ba,isPointerStillOver as _0x149d83}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x3559a5}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x318f0b,TrackChangesEditing as _0x5d8e67}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x1ea26e,CommentsEditing as _0x360017,CommentsRepository as _0x5ee2c7}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x422c21}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x3663b3}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x2470ea{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
- ((()=>_0x261987)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x395891,_0x3bbe7d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x182969){super(_0x182969),this['set']('state',_0x5377a0['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x54b94a())();}init(){const _0x2ae94b=this['context'],_0x516a7e=_0x2ae94b['plugins']['get'](_0x395891),_0x5ad676=_0x2ae94b['plugins']['get'](_0x3bbe7d);if(!_0x516a7e['token'])throw new _0x1cba4d('websocketgateway-missing-token',this);if(!_0x516a7e['webSocketUrl'])throw new _0x1cba4d('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'](_0x516a7e['token'],_0x516a7e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xb09b33=>{if(this['connection']=_0xb09b33,this['bind']('state')['to'](_0xb09b33,'state',this,'_isBrowserOffline',(_0x33dd00,_0x1fbd3a)=>('connected'!==_0x33dd00&&(this['_shouldPluginsReconnect']=!0x0),_0x1fbd3a||_0x33dd00!==_0x5377a0['CONNECTED']?_0x5377a0['DISCONNECTED']:this['state']==_0x5377a0['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5377a0['CONNECTING']):_0x5377a0['CONNECTED'])),this['connection']['on']('error',(_0x2db714,_0x209d14)=>{if('limitExceeded'!==_0x209d14['code'])throw console['error'](_0x209d14),new _0x1cba4d('cloudservices-init',null,{'originalError':_0x209d14});_0x5ad676['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'});}),!_0xb09b33['me'])return new Promise(_0x2af85c=>_0xb09b33['on']('change:me',_0x2af85c));})['catch'](_0xe743e=>{throw console['error'](_0xe743e),new _0x1cba4d('cloudservices-init',null,{'originalError':_0xe743e});});}addToReconnectionStack(_0x5e731a){if('function'!=typeof _0x5e731a['reconnect'])throw new _0x1cba4d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5e731a))throw new _0x1cba4d('websocketgateway-plugin-already-registered',this,{'name':_0x5e731a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5e731a);}removeFromReconnectionStack(_0x35f1a9){this['_reconnectionStack']['delete'](_0x35f1a9);}isInReconnectionStack(_0x493c8b){return this['_reconnectionStack']['has'](_0x493c8b);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4f0e13=>_0x4f0e13['reconnect']())))['then'](()=>this['state']=_0x5377a0['CONNECTED'])['catch'](_0x4fa554=>{throw console['error'](_0x4fa554),new _0x1cba4d('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5377a0['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x2470ea{['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[J,_0x4857ba];}constructor(_0x57e4fb){super(_0x57e4fb),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x30b45c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4857ba);}init(){const _0x4fbad8=this['context']['plugins']['get'](J);this['listenTo'](_0x4fbad8,'change:state',(_0x568dc8,_0x52bf15,_0x5c38bb)=>{if('connected'!==_0x5c38bb)this['channelSessions']['forEach'](_0x4d422f=>_0x4d422f['clear']()),this['channelConnectedUsers']['forEach'](_0x435150=>_0x435150['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3395b4,_0x2e10bd]of this['_registeredSessions'])for(const _0x5f3685 of _0x2e10bd)this['_handleSessionAdd'](_0x3395b4,_0x5f3685);}}),this['_createUser'](_0x4fbad8['connection']['me'],!0x0);}register(_0x106e6a,_0x2a6a6b){if(this['_registeredSessions']['has'](_0x106e6a))throw new _0x1cba4d('sessions-register-already-registered',null,{'channelId':_0x106e6a});this['_registeredSessions']['set'](_0x106e6a,_0x2a6a6b),this['channelSessions']['set'](_0x106e6a,new _0x30b45c()),this['channelConnectedUsers']['set'](_0x106e6a,new _0x30b45c()),this['listenTo'](_0x2a6a6b,'add',(_0x4d7a8e,_0x1d61d6)=>this['_handleSessionAdd'](_0x106e6a,_0x1d61d6)),this['listenTo'](_0x2a6a6b,'remove',(_0xd8b718,_0x151af6)=>this['_handleSessionRemove'](_0x106e6a,_0x151af6));for(const _0x2e9583 of _0x2a6a6b)this['_handleSessionAdd'](_0x106e6a,_0x2e9583);}unregister(_0x3fbdfa){if(!this['_registeredSessions']['has'](_0x3fbdfa))throw new _0x1cba4d('sessions-unregister-not-exist',null,{'channelId':_0x3fbdfa});const _0x42fbac=this['_registeredSessions']['get'](_0x3fbdfa);this['stopListening'](_0x42fbac);for(const _0x3b4368 of _0x42fbac)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x3fbdfa,_0x3b4368);this['_registeredSessions']['delete'](_0x3fbdfa),this['channelSessions']['delete'](_0x3fbdfa),this['channelConnectedUsers']['delete'](_0x3fbdfa);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x5d9a08){for(const _0xfa848b of this['channelSessions']['values']())for(const _0x12b49f of _0xfa848b)if(_0x12b49f['id']===_0x5d9a08)return _0x12b49f['user'];}getUserSessions(_0x4e6cfb,_0x1430d2){const _0x5a9579=_0x1430d2?[this['channelSessions']['get'](_0x1430d2)]:this['channelSessions']['values'](),_0x19b95a=new Set();for(const _0x3ceba8 of _0x5a9579)for(const _0x108fe7 of _0x3ceba8)_0x108fe7['user']['id']===_0x4e6cfb['id']&&_0x19b95a['add'](_0x108fe7['id']);return _0x19b95a;}getUserRole(_0x249e51){for(const _0x5ebcbe of this['channelSessions']['values']())for(const _0x2adf27 of _0x5ebcbe)if(_0x2adf27['user']===_0x249e51)return _0x2adf27['role'];}['_handleSessionAdd'](_0x4cc9c7,_0x569434){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x113243=_0x569434['user'],_0x3c892f=this['_users']['getUser'](_0x113243['id'])||this['_createUser'](_0x113243),_0x2ad924=Object['assign']({},_0x569434,{'user':_0x3c892f});if(this['channelSessions']['get'](_0x4cc9c7)['add'](_0x2ad924),!_0x113243['hiddenInPresenceList']){const _0x3ddc15=this['channelConnectedUsers']['get'](_0x4cc9c7);_0x3ddc15['has'](_0x3c892f['id'])||_0x3ddc15['add'](_0x3c892f),this['allConnectedUsers']['has'](_0x3c892f['id'])||_0x113243['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3c892f,_0x3c892f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4cc9c7,{'channelId':_0x4cc9c7,'session':_0x2ad924});}['_handleSessionRemove'](_0x51862d,_0x15f636){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x51f197=this['channelConnectedUsers']['get'](_0x51862d),_0x177ad=_0x15f636['user'];_0x177ad['id']&&(this['channelSessions']['get'](_0x51862d)['remove'](_0x15f636['id']),_0x51f197['has'](_0x177ad['id'])&&!this['getUserSessions'](_0x177ad,_0x51862d)['size']&&_0x51f197['remove'](_0x177ad['id']),this['allConnectedUsers']['get'](_0x177ad['id'])&&!this['getUserSessions'](_0x177ad)['size']&&this['allConnectedUsers']['remove'](_0x177ad['id']));}_createUser(_0x4d9ead,_0x5a9e4f){const _0x109ec5=this['_users']['addUser'](_0x4d9ead);return _0x5a9e4f&&this['_users']['defineMe'](_0x4d9ead['id']),_0x109ec5['orderNumber']=this['_uniqueUsersCount']++,_0x109ec5;}},X=class extends _0x2b96e7{_domEmitter=new(_0x54b94a())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1f2a25=this['editor'],_0x146a26=_0x1f2a25['plugins']['get'](Q);_0x1f2a25['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x194cc5,{writer:_0x58917d})=>function(_0x155671,_0x309a2f,_0x598766,_0x546bbf){const _0x110dd1=_0x155671['markerName']['split'](':')[0x2],_0x19e7b4=_0x598766['getUserBySessionId'](_0x110dd1);if(!_0x19e7b4||_0x110dd1===_0x598766['mySessionId'])return;if(!_0x546bbf['model']['schema']['checkChild'](_0x155671['markerRange']['start'],'$text'))return;const _0x39ad66={'class':'ck-user__marker\x20'+_0x19e7b4['color']['getMarkerClass'](),'style':tt(_0x19e7b4),'data-name':_0x19e7b4['name'],'data-session-id':_0x110dd1},_0x1781dd=_0x546bbf['model']['markers']['get'](_0x155671['markerName'])['getStart'](),_0x190c1c=_0x1781dd['nodeAfter'],_0x4c624f=_0x546bbf['model']['schema'];if(_0x190c1c&&_0x4c624f['isObject'](_0x190c1c)&&_0x4c624f['isInline'](_0x190c1c)&&!_0x546bbf['model']['markers']['get']('user:range:'+_0x110dd1)['getRange']()['isCollapsed'])return;const _0x45f301=_0x1781dd['parent'];return _0x546bbf['model']['schema']['isLimit'](_0x45f301)&&!_0x546bbf['model']['hasContent'](_0x45f301)&&(_0x39ad66['contenteditable']=!0x1),function(_0x462f52,_0x2fa887,_0x269e15){const _0x57fc22=_0x462f52['createUIElement']('span',_0x2fa887);return _0x462f52['setCustomProperty']('userPositionMarker',!0x0,_0x57fc22),_0x57fc22['render']=function(_0x1ee579){const _0x3ac6d7=this['toDomElement'](_0x1ee579),_0x34a5a0=document['createElement']('span');return _0x34a5a0['classList']['add']('ck-user__marker-tooltip'),_0x34a5a0['setAttribute']('contenteditable','false'),_0x34a5a0['setAttribute']('spellcheck','false'),_0x34a5a0['textContent']=_0x269e15['name'],_0x3ac6d7['innerHTML']=_0x74deec('⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x34a5a0['outerHTML']+'⁠'),_0x3ac6d7['addEventListener']('mouseenter',()=>{_0x3ac6d7['classList']['add']('ck-user__marker_hovered');}),_0x3ac6d7['addEventListener']('mouseleave',()=>{_0x3ac6d7['classList']['remove']('ck-user__marker_hovered');}),_0x3ac6d7;},_0x57fc22['isSimilar']=function(_0x220943){return!(!this['getCustomProperty']('userPositionMarker')||!_0x220943['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x220943['getAttribute']('data-session-id'));},_0x57fc22;}(_0x309a2f,_0x39ad66,_0x19e7b4);}(_0x194cc5,_0x58917d,_0x146a26,_0x1f2a25)}),_0x1f2a25['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x54997c=>function(_0x320e8a,_0x6e38a0){const _0x27eb24=_0x320e8a['markerName']['split'](':')[0x2];if(_0x27eb24===_0x6e38a0['mySessionId'])return null;const _0x25f60c=_0x6e38a0['getUserBySessionId'](_0x27eb24);return _0x25f60c?{'id':_0x27eb24,'classes':['ck-user__selection',_0x25f60c['color']['getSelectionClass']()],'attributes':{'style':tt(_0x25f60c),'data-session-id':_0x27eb24},'priority':0x7d0+_0x25f60c['orderNumber']}:{'id':_0x27eb24,'classes':[]};}(_0x54997c,_0x146a26)}),function(_0x52a7d0){const _0xe893f5=_0x52a7d0['model'],_0x4577a5=new Map(),_0x38953f=_0x52a7d0['plugins']['get'](Q);_0xe893f5['markers']['on']('update:user:range',(_0x3cba9c,_0x5111c3,_0x352bf8,_0x47fbc7)=>{if(!_0x47fbc7&&_0x4577a5['get'](_0x5111c3['name']))return _0x4577a5['get'](_0x5111c3['name'])['detach'](),void _0x4577a5['delete'](_0x5111c3['name']);const _0x2ce23e=_0x5111c3['name']['split'](':')[0x2];if(_0x2ce23e===_0x38953f['mySessionId'])return;const _0x3f0ea3='user:position:'+_0x2ce23e;_0xe893f5['markers']['has'](_0x3f0ea3)&&_0x52a7d0['editing']['reconvertMarker'](_0x3f0ea3),_0x5111c3['on']('change:range',(_0x4dd89d,_0x5c2c14,_0x18e5b8)=>{if('$graveyard'!=_0x5c2c14['root']['rootName']&&'$graveyard'==_0x5111c3['getRange']()['root']['rootName']&&!_0x4577a5['has'](_0x5111c3['name'])){const _0x4e022d=_0xe893f5['schema']['getNearestSelectionRange'](_0x18e5b8['deletionPosition']);if(_0x4e022d){const _0x4192d9=_0x294958['fromRange'](_0x4e022d);_0x4577a5['set'](_0x5111c3['name'],_0x4192d9),_0x4192d9['on']('change:range',(_0xe6b2d0,_0x3285aa,_0x2d46b8)=>{if('$graveyard'==_0x4192d9['root']['rootName']){const _0xecfbf5=_0xe893f5['schema']['getNearestSelectionRange'](_0x2d46b8['deletionPosition']);_0xecfbf5?(_0x4192d9['start']=_0xecfbf5['start'],_0x4192d9['end']=_0xecfbf5['end']):(_0x4577a5['delete'](_0x5111c3['name']),_0x4192d9['detach']());}});}}});}),_0xe893f5['document']['on']('change',()=>{_0x4577a5['size']>0x0&&_0xe893f5['enqueueChange']({'isUndoable':!0x1},_0x19cbd7=>{for(const [_0x1b44eb,_0x34cfdc]of _0x4577a5)'$graveyard'==_0xe893f5['markers']['get'](_0x1b44eb)['getRange']()['root']['rootName']&&(Z(_0x1b44eb['split'](':')[0x2],_0x34cfdc['toRange'](),_0xe893f5,_0x19cbd7),_0x34cfdc['detach']());_0x4577a5['clear']();});});}(_0x1f2a25),this['_domEmitter']['listenTo'](_0x327fcb['document'],'keydown',(_0x4c7349,{key:_0x5a9249})=>{'Escape'===_0x5a9249&&function(_0x2dfca9){_0x2dfca9['editing']['view']['change'](_0xdb818=>{for(const _0x4ea777 of _0x2dfca9['model']['markers']){if(!_0x4ea777['name']['startsWith']('user:position'))continue;const _0x4dbbf9=_0x2dfca9['editing']['mapper']['markerNameToElements'](_0x4ea777['name']);if(_0x4dbbf9){for(const _0x417d4d of _0x4dbbf9)_0xdb818['removeClass']('ck-user__marker_hovered',_0x417d4d);}}});}(_0x1f2a25);},{'useCapture':!0x0});}afterInit(){const _0x2bc6c8=this['editor'],_0x13c1d8=_0x2bc6c8['commands']['get']('undo');_0x13c1d8&&_0x2bc6c8['model']['on']('applyOperation',(_0x409e53,_0x5b8d31)=>{const _0x3f9f7d=_0x5b8d31[0x0];if(!_0x3f9f7d['isDocumentOperation'])return;if('marker'!=_0x3f9f7d['type']||!_0x3f9f7d['name']['startsWith']('user:'))return;const _0x414d3d=_0x3f9f7d['batch'];_0x13c1d8['_createdBatches']['has'](_0x414d3d)&&(_0x3f9f7d['newRange']=_0x3f9f7d['oldRange']?_0x2bc6c8['model']['createRange'](_0x3f9f7d['oldRange']['start'],_0x3f9f7d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x53f523=this['editor'],_0x42c516=_0x53f523['model']['document'],_0x4a2f7a=_0x53f523['plugins']['get'](Q);_0x53f523['model']['enqueueChange']({'isUndoable':!0x1},_0x10eec7=>{const _0x4503f0='user:range:'+_0x4a2f7a['mySessionId'],_0x5ab6f9='user:position:'+_0x4a2f7a['mySessionId'],_0x2b76de=_0x53f523['model']['markers']['has'](_0x4503f0);_0x53f523['editing']['view']['hasDomSelection']?Z(_0x4a2f7a['mySessionId'],_0x42c516['selection']['getFirstRange'](),_0x53f523['model'],_0x10eec7):_0x2b76de&&(_0x10eec7['removeMarker'](_0x4503f0),_0x10eec7['removeMarker'](_0x5ab6f9));});}};function Z(_0x2d2478,_0xc75fd7,_0x4153bf,_0x4d480e){const _0x2fe118='user:range:'+_0x2d2478,_0x1d0243='user:position:'+_0x2d2478,_0x38520d=_0xc75fd7['getContainedElement']();let _0x5bf7da=_0xc75fd7['start'];if(_0x38520d&&_0x38520d['is']('element','tableCell')){const _0x4063c9=function(_0x3e0141,_0x59dfe6){for(const _0x2b0bd1 of _0x3e0141['getPositions']())if(_0x59dfe6['schema']['checkChild'](_0x2b0bd1,'$text'))return _0x2b0bd1;}(_0xc75fd7,_0x4153bf);_0x4063c9&&(_0x5bf7da=_0x4063c9,_0xc75fd7=_0x4d480e['createRange'](_0x5bf7da));}const _0xc692df=_0x4d480e['createRange'](_0x5bf7da);_0x4153bf['markers']['has'](_0x2fe118)?(_0x4d480e['updateMarker'](_0x2fe118,{'range':_0xc75fd7}),_0x4d480e['updateMarker'](_0x1d0243,{'range':_0xc692df})):(_0x4d480e['addMarker'](_0x2fe118,{'range':_0xc75fd7,'usingOperation':!0x0}),_0x4d480e['addMarker'](_0x1d0243,{'range':_0xc692df,'usingOperation':!0x0}));}function tt(_0x32a0b6){return'--ck-user-color:'+_0x32a0b6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x32a0b6['color']['getColorAlphaVariable']()+';';}function et(_0x1a4a1c,_0x486945,_0x2b5ac9){const _0x45e1e5=_0x1a4a1c['t'],t=_0x1a4a1c['t'];switch(_0x486945){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 _0x45e1e5({'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'},_0x2b5ac9);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x2b96e7{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1c22d4)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x1bbdfc,_0x4857ba,_0x3bbe7d];}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 _0x587a56=this['serverHistory']['getOperations']();for(let _0x3f93c0=_0x587a56['length']-0x1;_0x3f93c0>=0x0;_0x3f93c0--){const _0xd0e3cd=_0x587a56[_0x3f93c0];if(!this['_disconnectionOperations']['has'](_0xd0e3cd))return _0xd0e3cd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1eb691){if(super(_0x1eb691),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x31e537(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1cba4d('collaboration-missing-channelid',this);const _0x62e0fb=_0x1eb691['config']['get']('cloudServices.bundleVersion')||_0x3a3f2b;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x62e0fb,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3559a5(),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 rt(this['_disconnectionOperations']);}init(){const _0x113caf=this['editor'],_0x10efa8=_0x113caf['plugins']['get'](_0x4857ba),_0x3c2ee4=_0x113caf['plugins']['get'](J);this['listenTo'](_0x10efa8,'getOperationAuthor',(_0x29b5f7,_0x7e56be)=>{const _0x5e1645=_0x7e56be[0x0];_0x5e1645['_authorId']&&(_0x29b5f7['return']=_0x10efa8['getUser'](_0x5e1645['_authorId']),_0x29b5f7['stop']()),null===_0x5e1645['_authorId']&&(_0x29b5f7['return']=null,_0x29b5f7['stop']());},{'priority':'high'}),this['listenTo'](_0x113caf['model']['document']['selection'],'change:range',(_0x40b134,_0x19ff98)=>{_0x19ff98['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x113caf['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x113caf['model']['on']('applyOperation',(_0x418991,_0x160673)=>{const _0x1f1b2c=_0x160673[0x0];_0x1f1b2c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1f1b2c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x3c2ee4,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0xd1e5cd,_0x451249,_0x9bca16)=>'connected'===_0xd1e5cd&&!_0x451249&&!_0x9bca16),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x113caf['disableReadOnlyMode']('rtc-offline'):_0x113caf['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x113caf['disableReadOnlyMode']('rtc-offline'):_0x113caf['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x408179=this['editor']['plugins']['get'](Q),_0x1034fe=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x408179['unregister'](this['_channelId']);const _0x142bf7=await this['_service']['reconnect'](_0x1034fe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x142bf7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4a832f=await this['_service']['getConnectedSessions']();_0x408179['register'](this['_channelId'],_0x4a832f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x292e2a){if(function(_0x2da8fe){return'404'===_0x2da8fe['code'];}(_0x292e2a)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5ef61f){return'409'===_0x5ef61f['code'];}(_0x292e2a)){const _0x35f2fc=et(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'](_0x35f2fc);}else{if(!(_0x292e2a instanceof nt))throw _0x292e2a;this['_handleReconnectionError']();}}}}destroy(){const _0x493432=this['editor']['plugins']['get'](J),_0x5bcd54=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bcd54['channelSessions']['has'](this['_channelId'])&&_0x5bcd54['unregister'](this['_channelId']),_0x493432['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x28c1c3){if(this['sessionId']!==_0x28c1c3['sessionId']&&this['_lastSyncedOperationId']!==_0x28c1c3['lastOperationId'])throw new nt();return this['sessionId']=_0x28c1c3['sessionId'],this['_handleServerResponse']([],{..._0x28c1c3,'wereChangesApplied':!0x1,'data':_0x28c1c3['data']},'reconnect');}async _connectService(_0x24a14a,_0x27bcb6=!0x1){const {connection:_0x555c4c}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x555c4c,this['_channelId'])['then'](_0x3eb2fa=>this['_initSessionsHandling'](_0x3eb2fa))['catch'](_0x22d122=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x22d122);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1132a0,_0x4d5a1c)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4d5a1c);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x1a6c35=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24a14a);this['_isPendingUpdate']=!0x0;const _0x3c12f5=await this['_service']['connect'](_0x555c4c,this['_compressOperations'](_0x24a14a),_0x1a6c35);if(this['sessionId']=_0x3c12f5['sessionId'],_0x27bcb6){if(!_0x3c12f5['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3c12f5['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x24a14a,_0x3c12f5,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3c12f5,_0x24a14a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x3f0981=this['editor']['plugins']['get'](Q),_0x12b822=this['editor']['plugins']['get'](X),_0x556ab1=_0x3f0981['channelSessions']['get'](this['_channelId']);_0x556ab1&&_0x556ab1['length']>0x1?_0x12b822['createUserMarkerOperations']():this['listenTo'](_0x3f0981,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3f0981['channelSessions']['get'](this['_channelId'])['length']&&_0x12b822['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3b0354,_0x2a256a,_0x1675d4,_0x4b4b64){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2a256a){const _0x16b33e=this['_decompressOperations'](_0x1675d4,_0x4b4b64);await this['_fetchMissingUsers'](_0x16b33e),this['_handleExternalOperations'](_0x16b33e,_0x2a256a,_0x1675d4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x56e421}=this['editor'];let _0x153180;try{_0x153180=await this['_service']['getDocumentDetails']();}catch{const _0x2fae61=et(_0x56e421,'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'](_0x2fae61);}const _0x2392e5=_0x153180['currentDocumentSession']||_0x153180['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2392e5['lastOperationId']){const _0x11820a=et(_0x56e421,'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'](_0x11820a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x467bb6=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x467bb6['connection']||'connected'!==_0x467bb6['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x18edf1=this['editor']['plugins']['get'](Q);_0x18edf1['channelSessions']['has'](this['_channelId'])&&_0x18edf1['unregister'](this['_channelId']),_0x467bb6['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0xb93949){const _0x37f805=this['editor']['plugins']['get'](Q);this['listenTo'](_0x37f805,'sessionAdd:'+this['_channelId'],(_0x199cf7,{session:_0x1f6e85})=>{if(_0x1f6e85['id']===_0x37f805['mySessionId']){_0x199cf7['off']();const _0x2ac4ea=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x144823=_0x1f6e85['permissions'];_0x2ac4ea&&_0x2ac4ea['isEnabled']&&(_0x144823=_0x144823['filter'](_0xa1f040=>'document:write'!==_0xa1f040)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x144823,this['_channelId']);}}),_0x37f805['register'](this['_channelId'],_0xb93949);}_initThrowingOnDataSet(){const _0x2e0c92=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x146860)=>{if(!_0x146860[_0x146860['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1cba4d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e0c92['apply'](this['editor']['data'],_0x146860);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x3aff83,[_0x49ed80])=>{if(this['_document']['version'])throw new _0x1cba4d('realtimecollaborationclient-init-document-already-initialized',this);_0x3aff83['stop'](),this['_setPendingAction']();const _0x50f38e=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x11c12a])=>!_0x11c12a['lazyLoad'])['map'](([_0xf032d2,_0x5f4584])=>[_0xf032d2,_0x5f4584['modelAttributes']||{}])),_0x586c24=this['_getOperationsFromInitData'](_0x49ed80,_0x50f38e);0x0==_0x586c24['length']&&_0x586c24['push'](new _0x3884c7(0x0)),_0x3aff83['return']=this['_connectService'](_0x586c24)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x482828=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x482828))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x159885,[_0x5aeb41,_0x3ddb7f])=>{_0x159885['stop']();const _0x6a65c6=this['editor']['model']['document']['getRoot'](_0x5aeb41);if(!this['_knownRootNames']['has'](_0x5aeb41)){const _0x54e52b=_0x3ddb7f&&_0x3ddb7f['data']?_0x3ddb7f['data']:'',_0x1bbb92=_0x3ddb7f&&_0x3ddb7f['attributes']?_0x3ddb7f['attributes']:{};await this['_loadRoot'](_0x5aeb41,_0x54e52b,_0x1bbb92);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x6a65c6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x6a65c6);});},{'priority':'high'});}async _fetchMissingUsers(_0x3b91a8){const _0x1fda01=this['editor']['plugins']['get'](_0x4857ba),{connection:_0x30ecec}=this['editor']['plugins']['get'](J),_0x107b21=new Set();for(const _0x1db2b4 of _0x3b91a8){const _0x112db8=_0x1db2b4['_authorId'];_0x112db8&&!_0x1fda01['getUser'](_0x112db8)&&_0x107b21['add'](_0x112db8);}if(0x0===_0x107b21['size'])return;const _0x205927=await _0x11acf3['getMany'](_0x30ecec,Array['from'](_0x107b21));for(const _0x5718b8 of _0x205927)_0x1fda01['getUser'](_0x5718b8['id'])||_0x1fda01['addUser'](_0x5718b8);}_getOperationsFromInitData(_0x3b5b75,_0x581ef1={}){const _0x2129f1=this['editor']['model'],_0x156b26=[];let _0xd2fef2=0x0;const _0x21ac30='string'==typeof _0x3b5b75?{'main':_0x3b5b75}:_0x3b5b75;for(const _0x458c89 of Object['keys'](_0x21ac30)){if(!this['_document']['roots']['has'](_0x458c89))throw new _0x1cba4d('realtimecollaborationclient-init-non-existent-root',this);const _0x24cc2f=this['_document']['getRoot'](_0x458c89),_0x5f4b3b=this['editor']['data']['parse'](_0x21ac30[_0x458c89],_0x24cc2f),_0x1d6e02=new _0x215f26(_0x2129f1['createPositionAt'](_0x24cc2f,0x0),_0x5f4b3b,_0xd2fef2++);_0x156b26['push'](_0x1d6e02);for(const [_0x46faa5,_0x2ebb76]of _0x5f4b3b['markers']){const _0x3c483d=_0x2129f1['createRange'](_0x2129f1['createPositionFromPath'](_0x24cc2f,_0x2ebb76['start']['path']['slice']()),_0x2129f1['createPositionFromPath'](_0x24cc2f,_0x2ebb76['end']['path']['slice']())),_0x56a61f=new _0x524ea7(_0x46faa5,null,_0x3c483d,_0x2129f1['markers'],!0x0,_0xd2fef2++);_0x156b26['push'](_0x56a61f);}}if(_0x581ef1)for(const [_0xe9d46c,_0x13a8f4]of Object['entries'](_0x581ef1)){const _0x3e1761=_0x2129f1['document']['getRoot'](_0xe9d46c);if(!_0x3e1761)throw new _0x1cba4d('multi-root-editor-root-attributes-no-root',null);for(const [_0x5de652,_0x49b02c]of Object['entries'](_0x13a8f4))if(null!==_0x49b02c){const _0x1d3200=new _0xdd6fed(_0x3e1761,_0x5de652,null,_0x49b02c,_0xd2fef2++);_0x156b26['push'](_0x1d3200);}}return _0x156b26;}async _loadRoot(_0x40485f,_0x5120f0,_0x4f1888){this['_getOperationsFromInitData']({[_0x40485f]:_0x5120f0},{[_0x40485f]:_0x4f1888})['forEach']((_0x2684c7,_0x56d6d2)=>{_0x2684c7['baseVersion']=this['_document']['version']+_0x56d6d2,_0x2684c7['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2684c7);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x3b3fed,_0x4c5fd2){let _0x2a2098;this['_offset']=_0x3b3fed['offset'];const _0x1b1701=_0x3b3fed['wereChangesApplied']&&!_0x3b3fed['initData'],_0x393dd8=_0x1b1701?0x0:_0x3b3fed['data']['baseVersion'];if(_0x4c5fd2['forEach'](_0x352ce5=>{_0x352ce5['_isInit']=!0x0,_0x352ce5['createdAt']=_0x3b3fed['sessionCreatedAt'],_0x352ce5['_authorId']=null;}),_0x1b1701)_0x2a2098=_0x4c5fd2,this['_applyOperationsSet'](_0x2a2098,_0x1b1701);else{if(_0x3b3fed['initData']){const _0x3d9e6f=this['_getOperationsFromInitData'](_0x3b3fed['initData']);this['_document']['history']['version']=-_0x3d9e6f['length'],_0x3d9e6f['forEach'](_0x5d4dcd=>{_0x5d4dcd['baseVersion']-=_0x3d9e6f['length'],_0x5d4dcd['createdAt']=_0x3b3fed['sessionCreatedAt'],_0x5d4dcd['_isInit']=!0x0,_0x5d4dcd['_authorId']=null;}),this['_applyOperationsSet'](_0x3d9e6f,!0x0),this['serverHistory']['version']=-_0x3d9e6f['length']+this['_offset'],this['_updateServerHistory'](_0x3d9e6f);}this['_document']['history']['version']=_0x393dd8,_0x2a2098=this['_decompressOperations'](_0x3b3fed['data'],_0x3b3fed['metadata']),await this['_fetchMissingUsers'](_0x2a2098),this['_applyOperationsSet'](_0x2a2098,_0x1b1701);}_0x3b3fed['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2a2098,_0x3b3fed['lastOperationId']),this['_lastSyncedOperationId']=_0x3b3fed['lastOperationId']),this['serverHistory']['version']=_0x393dd8+this['_offset'],this['_updateServerHistory'](_0x2a2098),_0x4c5fd2['filter'](_0x5b0f56=>{const _0x25eb18=this['_getAffectedRoot'](_0x5b0f56);return _0x25eb18&&!this['_knownRootNames']['has'](_0x25eb18);})['forEach']((_0x4ee752,_0x330946)=>{_0x4ee752['baseVersion']=this['_document']['version']+_0x330946,this['_saveOperationInBuffer'](_0x4ee752);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2ef435,_0x5ebe70){const _0x3a9b5a=_0x5ebe70&&_0x5ebe70['message'];if(_0x3a9b5a&&_0x3a9b5a['startsWith']('realtimecollaborationclient'))throw _0x5ebe70;const _0x128ec9=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x128ec9['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1cba4d(_0x2ef435,this['editor'],_0x3a9b5a?{'originalError':_0x3a9b5a}:void 0x0);}_saveOperationInBuffer(_0x332a2b){this['_knownOperations']['has'](_0x332a2b)||(this['_knownOperations']['add'](_0x332a2b),this['_bufferedOperations']['push'](_0x332a2b),this['_pendingAction']||'marker'==_0x332a2b['type']&&!_0x332a2b['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x5481c1=!0x1){!_0x5481c1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xcc4d95=>{_0xcc4d95&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb5c27e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2fa172){return _0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb5c27e)||this['_crash'](_0xb5c27e['message'],_0xb5c27e);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x26c031=>{this['on']('change:_isPendingUpdate',()=>{_0x26c031();});});}async _sendBufferedOperations(){const _0x275be4=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x275be4['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1d80f3=[...this['_bufferedOperations']];for(const _0x25207b of _0x1d80f3)_0x25207b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25207b);const _0x31e202=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1d80f3),_0x53a232=st++,_0x2421d3=this['_compressOperations'](_0x1d80f3),_0x46e209=await this['_service']['sendOperations'](_0x2421d3,_0x2421d3['baseVersion'],_0x31e202);try{return await this['_handleServerResponse'](_0x1d80f3,_0x46e209,_0x53a232);}catch(_0xb54601){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xb54601);}}async['_handleServerResponse'](_0xe832cb,_0xe027fe,_0x44b504){if('error'in _0xe027fe)throw _0xe027fe['error'];let _0x3d875c;if(_0xe027fe['wereChangesApplied']){_0xe027fe['lastOperationId']&&(this['_lastSyncedOperationId']=_0xe027fe['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x46587d=>!_0xe832cb['includes'](_0x46587d));for(const _0x585158 of _0xe832cb)_0x585158['createdAt']='lastOperationAcceptedAt'in _0xe027fe&&_0xe027fe['lastOperationAcceptedAt']||void 0x0;ot(_0xe832cb,_0xe027fe['version']-_0xe832cb['length']),this['_updateServerHistory'](_0xe832cb);const _0x6a258c=_0xe832cb['filter'](_0x1144ed=>{if(!_0x1144ed['_isInit'])return!0x1;const _0x436ff3=this['_getAffectedRoot'](_0x1144ed);return _0x436ff3&&!this['_knownRootNames']['has'](_0x436ff3);});ot(_0x6a258c,this['_document']['version']),this['_applyOperationsSet'](_0x6a258c),_0x3d875c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a80b4=this['_decompressOperations'](_0xe027fe['data'],_0xe027fe['metadata'])['filter'](_0xbf30c6=>_0xbf30c6['baseVersion']>=this['_lastServerVersion']);_0x3a80b4['forEach'](_0x4a85ca=>this['_addKnownRoot'](_0x4a85ca)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x370cea=>!_0x370cea['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x370cea))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a80b4),_0x3d875c=this['_handleExternalOperations'](_0x3a80b4,_0xe027fe['version'],_0xe027fe['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3d875c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x3d3f87,_0x31b514,_0x487c79){try{const _0x4a55a0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x288df3,operationsB:_0x19a241,originalOperations:_0xd7c972}=_0x94c6ca(_0x3d3f87,this['_bufferedOperations'],_0x4a55a0);ot(_0x288df3,this['_document']['version']),ot(_0x19a241,_0x31b514);for(const _0x385820 of _0x288df3){const _0x5e2c89=_0xd7c972['get'](_0x385820);_0x5e2c89?(_0x385820['_authorId']=_0x5e2c89['_authorId'],'noop'!==_0x385820['type']&&(_0x385820['_aiSource']=_0x5e2c89['_aiSource'])):_0x385820['_authorId']=null;}for(const _0x8aac99 of _0x19a241)'noop'!==_0x8aac99['type']&&(_0x8aac99['_aiSource']=_0xd7c972['get'](_0x8aac99)?.['_aiSource']);_0x487c79&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d3f87,_0x487c79),this['_lastSyncedOperationId']=_0x487c79),this['_bufferedOperations']=[..._0x19a241],this['_applyOperationsSet'](_0x288df3),this['_updateServerHistory'](_0x3d3f87);}catch(_0x3d6c48){return console['error'](_0x3d6c48),!0x1;}return!0x0;}_applyOperationsSet(_0x4f01c0,_0x3f78a7=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x693090=>{for(const _0xaa2a40 of _0x4f01c0)this['_knownOperations']['add'](_0xaa2a40),this['_addKnownRoot'](_0xaa2a40),_0x693090['batch']['addOperation'](_0xaa2a40),this['editor']['model']['applyOperation'](_0xaa2a40);});}_addKnownRoot(_0x1d773b){const _0x3c4ab5=this['_getAffectedRoot'](_0x1d773b);_0x3c4ab5&&this['_knownRootNames']['add'](_0x3c4ab5);}_getAffectedRoot(_0x48c3d8){let _0x12375f,_0x2907ee;switch(_0x48c3d8['type']){case'insert':_0x12375f=_0x48c3d8['position']['root'];break;case'marker':if(_0x2907ee=_0x48c3d8['newRange'],!_0x2907ee)return null;_0x12375f=_0x2907ee['root'];break;case'addRootAttribute':_0x12375f=_0x48c3d8['root'];break;case'addRoot':_0x12375f=_0x48c3d8['affectedSelectable'];break;case'move':_0x12375f=_0x48c3d8['targetPosition']['root'];break;default:return null;}return _0x12375f['rootName'];}_updateServerHistory(_0x15922a){_0x15922a['forEach'](_0x34c1a4=>{const _0x5a6217=_0x34c1a4['clone']();_0x5a6217['_authorId']=_0x34c1a4['_authorId'],_0x5a6217['_isInit']=!!_0x34c1a4['_isInit'],_0x5a6217['_aiSource']=_0x34c1a4['_aiSource'],_0x5a6217['createdAt']=_0x34c1a4['createdAt'],_0x5a6217['baseVersion']+=this['_offset'],_0x34c1a4['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5a6217),this['serverHistory']['addOperation'](_0x5a6217);});}_handleReconnectionError(_0x3353bb){const _0x45209b=this['editor']['plugins']['get']('Notification'),_0x366872=this['editor']['locale'];_0x3353bb||(_0x3353bb=et(_0x366872,'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.')),_0x45209b['showWarning'](_0x3353bb,{'title':et(_0x366872,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1bbdfc)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1bbdfc)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x2b5187){const _0x178797=_0x2b5187['map'](_0x12c1c0=>_0x12c1c0['toJSON']());return this['_compressor']['compress'](_0x178797);}_decompressOperations(_0x148e45,_0x4edd98){return this['_compressor']['decompress'](_0x148e45)['map']((_0x347c83,_0x344b96)=>{const _0x4a8e7a='init'==_0x4edd98[_0x344b96]['type'];if('InsertOperation'==_0x347c83['__className']){const _0x3c12ad=_0x347c83['position']['root'];!this['_document']['getRoot'](_0x3c12ad)&&(this['_document']['createRoot']('$unknown',_0x3c12ad)['_isAttached']=!0x1);}else{if('RootOperation'==_0x347c83['__className']){const _0x563c77=this['_document']['getRoot'](_0x347c83['rootName']);_0x563c77&&'$unknown'==_0x563c77['name']&&_0x347c83['elementName']!=_0x563c77['name']&&(_0x563c77['name']=_0x347c83['elementName']);}}const _0xa6e8a0=_0x5bcd72['fromJSON'](_0x347c83,this['_document']);return _0xa6e8a0['wasUndone']=_0x347c83['wasUndone'],_0xa6e8a0['_isInit']=_0x4a8e7a,_0xa6e8a0['_authorId']=_0x4a8e7a?null:_0x4edd98[_0x344b96]['userId'],_0xa6e8a0['_isDisconnection']='cs:removeUser'===_0x4edd98[_0x344b96]['type'],_0xa6e8a0['_aiSource']=_0x347c83['_aiSource']||void 0x0,_0xa6e8a0['createdAt']=_0x4edd98[_0x344b96]['createdAt'],_0xa6e8a0;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1a4ef5=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1a4ef5&&_0x1a4ef5['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x29a2a9,_0x3945cf){for(const _0x439aa6 of _0x29a2a9)_0x439aa6['baseVersion']=_0x3945cf++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x2ac582){this['_ignoredOperations']=_0x2ac582,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x19ff3b){let _0x42b3a0=_0x19ff3b['length'];for(;_0x42b3a0--;){const _0x13ffd2=_0x19ff3b[_0x42b3a0];if(!this['_ignoredOperations']['has'](_0x13ffd2)){if(!this['_operationToId']['has'](_0x13ffd2)){const _0x5ea22e=_0x467ff8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x13ffd2,_0x5ea22e);}return this['_operationToId']['get'](_0x13ffd2);}}}setIdForTheLastOperation(_0x21ae6e,_0x1997e6){if(!_0x1997e6)return;let _0x1c29f3=_0x21ae6e['length'];for(;_0x1c29f3--;){const _0x28b801=_0x21ae6e[_0x1c29f3];this['_ignoredOperations']['has'](_0x28b801)||this['_operationToId']['set'](_0x28b801,_0x1997e6);}}},ct=class extends _0x2b96e7{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x2470ea{static CommentsService=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1f5016)());['_services'];static get requires(){return[J,_0x5ee2c7,Q,_0x4857ba];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15ccc1){super(_0x15ccc1),this['_services']=new Map();}async init(){const _0x1bf167=this['context'],_0x3f13ac=_0x1bf167['plugins']['get'](_0x5ee2c7);if(_0x1bf167['plugins']['get'](J)['addToReconnectionStack'](this),_0x3f13ac['adapter']={'addCommentThread':async({channelId:_0x4beff3,threadId:_0x18caa7,comments:_0x5c2792,resolvedAt:_0x2927ba,resolvedBy:_0x156437,context:_0x4bc959,attributes:_0x3ddcf4})=>{const _0x3e63e3=await this['_getService'](_0x4beff3)['addCommentThread']({'commentThreadId':_0x18caa7,'comments':_0x5c2792['map'](_0x3a15a0=>function(_0x27cfcf,_0x20447f,_0x32b559){return{'commentThreadId':_0x32b559,'commentId':_0x27cfcf['commentId'],'userId':_0x27cfcf['authorId'],'content':_0x27cfcf['content'],'documentId':_0x20447f,'createdAt':_0x27cfcf['createdAt'],'attributes':_0x27cfcf['attributes']||{}};}(_0x3a15a0,_0x4beff3,_0x18caa7)),'resolvedAt':_0x2927ba,'resolvedBy':_0x156437,'context':_0x4bc959,'attributes':_0x3ddcf4})['catch'](lt);return{'threadId':_0x3e63e3['commentThreadId'],'comments':_0x3e63e3['comments']};},'getCommentThread':async({channelId:_0x254049,threadId:_0x51245d})=>{const _0x19e859=await this['_getService'](_0x254049)['getCommentThread'](_0x51245d)['catch'](ht)['catch'](lt);return _0x19e859?_0x19e859['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x19e859]),{'threadId':_0x19e859['commentThreadId'],'comments':_0x19e859['comments']['map'](dt),'context':_0x19e859['context'],'resolvedAt':_0x19e859['resolvedAt'],'resolvedBy':_0x19e859['resolvedBy'],'attributes':_0x19e859['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3f4bfa,threadId:_0x6480b2,context:_0x2db593,unlinkedAt:_0x55ada6,attributes:_0x2f69d0})=>this['_getService'](_0x3f4bfa)['updateCommentThread']({'commentThreadId':_0x6480b2,'context':_0x2db593,'attributes':_0x2f69d0,'unlinkedAt':_0x55ada6})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x315351,threadId:_0x22e629})=>{const _0x286b11=await this['_getService'](_0x315351)['resolveCommentThread'](_0x22e629)['catch'](ht)['catch'](lt);return{'threadId':_0x286b11['commentThreadId'],'resolvedAt':_0x286b11['resolvedAt'],'resolvedBy':_0x286b11['resolvedBy']};},'reopenCommentThread':async({channelId:_0xca9231,threadId:_0x10873d})=>this['_getService'](_0xca9231)['reopenCommentThread'](_0x10873d)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x55d11e,threadId:_0x4452d3})=>this['_getService'](_0x55d11e)['removeCommentThread'](_0x4452d3)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x11a3e1,threadId:_0x44212a,commentId:_0x15b44e,content:_0x5766cb,attributes:_0x3a3608})=>this['_getService'](_0x11a3e1)['addComment'](_0x44212a,_0x15b44e,_0x5766cb,_0x3a3608)['catch'](lt),'updateComment':({channelId:_0x41a17f,threadId:_0x279e96,commentId:_0x38ca7d,content:_0x37eb78,attributes:_0x4797ca})=>this['_getService'](_0x41a17f)['updateComment'](_0x279e96,_0x38ca7d,_0x37eb78,_0x4797ca)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x1b140e,threadId:_0x59883f,commentId:_0x73061})=>this['_getService'](_0x1b140e)['removeComment'](_0x59883f,_0x73061)['catch'](ht)['catch'](lt)},_0x1bf167 instanceof _0x46ea9b){const _0x40bcc7=_0x1bf167['config']['get']('collaboration.channelId'),_0x1a718e=_0x1bf167['plugins']['get'](Q);await this['_setUpService'](_0x40bcc7);const _0x1286ce=await this['_services']['get'](_0x40bcc7)['getConnectedSessions']();this['listenTo'](_0x1a718e,'sessionAdd:'+_0x40bcc7,(_0x1b64c7,{session:_0x184cb3})=>{_0x184cb3['id']===_0x1a718e['mySessionId']&&(_0x1b64c7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x184cb3['permissions'],_0x40bcc7));}),_0x1a718e['register'](_0x40bcc7,_0x1286ce);}}async _setUpService(_0x32c545){if(this['_services']['has'](_0x32c545))throw new _0x1cba4d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x32c545});const _0x496bac=this['context']['plugins']['get'](_0x5ee2c7),_0x9fd76c=new CloudServicesCommentsAdapter['CommentsService'](_0x32c545);this['_services']['set'](_0x32c545,_0x9fd76c),this['listenTo'](_0x9fd76c,'commentThreadAdded',(_0x1bc7fa,_0x533ef5)=>{const {commentThreadId:_0x21cd86,documentId:_0x33d231,context:_0x1a6eb0,attributes:_0x1c8b2c,resolvedAt:_0x156dde,resolvedBy:_0x26f26a,comments:_0x493754}=_0x533ef5;_0x496bac['getCommentThread'](_0x21cd86)||_0x496bac['addCommentThread']({'threadId':_0x21cd86,'channelId':_0x33d231,'comments':_0x493754?_0x493754['map'](dt):[],'context':_0x1a6eb0,'attributes':_0x1c8b2c,'resolvedAt':_0x156dde,'resolvedBy':_0x26f26a,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadUpdated',(_0x6f0754,{commentThreadId:_0x4ceb24,documentId:_0x3a6eab,context:_0x486287,unlinkedAt:_0x5b8aa8,attributes:_0x1ae8e1})=>{_0x496bac['getCommentThread'](_0x4ceb24)&&_0x496bac['updateCommentThread']({'threadId':_0x4ceb24,'channelId':_0x3a6eab,'context':_0x486287,'unlinkedAt':_0x5b8aa8,'attributes':_0x1ae8e1,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadResolved',(_0x25aa1b,{commentThreadId:_0xd36ddb,resolvedBy:_0x52748f,resolvedAt:_0x41b099})=>{const _0x28ec49=_0x496bac['getCommentThread'](_0xd36ddb);_0x28ec49&&_0x28ec49['resolve']({'resolvedBy':_0x52748f,'resolvedAt':_0x41b099,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadReopened',(_0x32285d,{commentThreadId:_0x2028e2})=>{const _0x33b09e=_0x496bac['getCommentThread'](_0x2028e2);_0x33b09e&&_0x33b09e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadRemoved',(_0x473158,{commentThreadId:_0xaddebf})=>{const _0x5b760d=_0x496bac['getCommentThread'](_0xaddebf);_0x5b760d&&_0x5b760d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentAdded',(_0x3e2b65,_0x3986c3)=>{const _0x3fa505=_0x3986c3['commentThreadId'],_0x494a7a=_0x496bac['getCommentThread'](_0x3fa505);_0x494a7a&&_0x494a7a['addComment']({...dt(_0x3986c3),'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentUpdated',(_0x5ec0ce,{commentThreadId:_0x5295bd,commentId:_0x31aefd,content:_0xda58d5,attributes:_0x2a7641})=>{const _0xdc5667=_0x496bac['getCommentThread'](_0x5295bd);if(_0xdc5667){const _0xda8afb=_0xdc5667['getComment'](_0x31aefd);_0xda8afb&&_0xda8afb['update']({'content':_0xda58d5,'attributes':_0x2a7641,'isFromAdapter':!0x0});}}),this['listenTo'](_0x9fd76c,'commentRemoved',(_0x5029b3,{commentThreadId:_0x146876,commentId:_0xd1b908})=>{const _0x194905=_0x496bac['getCommentThread'](_0x146876);if(_0x194905){const _0xde32cb=_0x194905['getComment'](_0xd1b908);_0xde32cb&&_0xde32cb['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x9fd76c,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x32c545),this['stopListening'](_0x9fd76c));}),await this['_connectService'](_0x32c545);}destroy(){if(this['context']instanceof _0x46ea9b){const _0x4e6047=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4e6047)&&this['_terminateService'](_0x4e6047);}}_terminateService(_0x2c3a0f){if(!this['_services']['has'](_0x2c3a0f))throw new _0x1cba4d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2c3a0f});this['_getService'](_0x2c3a0f)['disconnect'](),this['_services']['delete'](_0x2c3a0f);}async reconnect(){for(const _0x41c5e0 of this['_services']['keys']())await this['_connectService'](_0x41c5e0);if(this['context']instanceof _0x46ea9b){const _0x3345c9=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3345c9)){const _0x526938=this['context']['plugins']['get'](Q);_0x526938['unregister'](_0x3345c9);const _0x3dd858=await this['_services']['get'](_0x3345c9)['getConnectedSessions']();_0x526938['register'](_0x3345c9,_0x3dd858);}}}async _connectService(_0x4f156c){const {connection:_0x2347a4}=this['context']['plugins']['get'](J),_0x1b4738=this['context']['plugins']['get'](_0x5ee2c7),_0x2fc9d0=await this['_services']['get'](_0x4f156c)['connect'](_0x2347a4);await this['_fetchMissingUsersForThreads'](_0x2fc9d0);const _0x5abbea=new Set(Array['from'](_0x1b4738['getCommentThreads']({'channelId':_0x4f156c}),_0x286024=>_0x286024['id']));for(const _0x5e1dd7 of _0x2fc9d0)_0x5e1dd7['deletedAt']||_0x5abbea['delete'](_0x5e1dd7['commentThreadId']);for(const _0x499242 of _0x5abbea)_0x1b4738['getCommentThread'](_0x499242)['remove']({'isFromAdapter':!0x0});for(const _0x28275d of _0x2fc9d0){let _0x5d9d93=_0x1b4738['getCommentThread'](_0x28275d['commentThreadId']);const {commentThreadId:_0x323574,context:_0x30cb2c,attributes:_0x100d56,resolvedBy:_0x3e9e3c,resolvedAt:_0x5b1648,unlinkedAt:_0x4a7908,deletedAt:_0x5a4fa7}=_0x28275d;if(_0x5a4fa7)continue;_0x5d9d93||(_0x5d9d93=_0x1b4738['addCommentThread']({'channelId':_0x4f156c,'threadId':_0x323574,'context':_0x30cb2c,'attributes':_0x100d56||{},'resolvedBy':_0x3e9e3c,'resolvedAt':_0x5b1648,'unlinkedAt':_0x4a7908,'isFromAdapter':!0x0}));const _0x37e888=new Set(Array['from'](_0x5d9d93['comments'],_0x15e5b2=>_0x15e5b2['id']));for(const _0x534b90 of _0x28275d['comments'])_0x37e888['delete'](_0x534b90['commentId']);for(const _0x15077b of _0x37e888)_0x5d9d93['getComment'](_0x15077b)['remove']({'isFromAdapter':!0x0});for(const _0x4615ad of _0x28275d['comments']){const _0x44285a=_0x5d9d93['getComment'](_0x4615ad['commentId']);_0x44285a?_0x44285a['content']!==_0x4615ad['content']&&_0x44285a['update']({'content':_0x4615ad['content'],'isFromAdapter':!0x0}):_0x5d9d93['addComment'](Object['assign'](dt(_0x4615ad),{'isFromAdapter':!0x0}));}}}_getService(_0x3197c7){if(!this['_services']['has'](_0x3197c7))throw new _0x1cba4d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3197c7});return this['_services']['get'](_0x3197c7);}async _fetchMissingUsersForThreads(_0x5e89dc){const _0x597a9d=this['context']['plugins']['get'](_0x4857ba),{connection:_0x19379e}=this['context']['plugins']['get'](J),_0x316747=new Set();for(const {resolvedBy:_0x25de98,comments:_0x538666}of _0x5e89dc){_0x25de98&&!_0x597a9d['getUser'](_0x25de98)&&_0x316747['add'](_0x25de98);for(const {userId:_0x229c15}of _0x538666)_0x597a9d['getUser'](_0x229c15)||_0x316747['add'](_0x229c15);}if(0x0===_0x316747['size'])return;const _0x5e924b=await _0x11acf3['getMany'](_0x19379e,Array['from'](_0x316747));for(const _0x3d9d5f of _0x5e924b)_0x597a9d['getUser'](_0x3d9d5f['id'])||_0x597a9d['addUser'](_0x3d9d5f);}};async function ht(_0x19d3c0){if('404'!==_0x19d3c0['code'])throw _0x19d3c0;}function lt(_0x492a71){if((_0x181ef1=_0x492a71)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x181ef1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x181ef1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x181ef1;throw _0x492a71;}function dt(_0x5e448b){return{'threadId':_0x5e448b['commentThreadId'],'commentId':_0x5e448b['commentId'],'content':_0x5e448b['content'],'createdAt':_0x5e448b['createdAt'],'authorId':_0x5e448b['userId'],'attributes':_0x5e448b['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x2b96e7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x58ce33)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x5d8e67,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5cdeae){super(_0x5cdeae);const _0x1b0fde=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x1b0fde);}init(){const _0x4be64b=this['editor']['plugins']['get'](J),_0x49a395=this['editor']['plugins']['get'](_0x5d8e67);return _0x49a395['adapter']={'getSuggestion':async _0x57e8a1=>{await this['_waitForServiceReady']();const _0x283778=await this['_trackChangesService']['get'](_0x57e8a1)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x283778]),_0x283778;},'addSuggestion':async({id:_0x1eb1ab,type:_0x49666e,data:_0x1a7830,originalSuggestionId:_0x3badba,attributes:_0x4d0ab4})=>{await this['_waitForServiceReady']();const _0x2def0c={'id':_0x1eb1ab,'type':_0x49666e,'data':_0x1a7830,'originalSuggestionId':_0x3badba,'attributes':_0x4d0ab4},_0x5d9810=await this['_trackChangesService']['add'](_0x1eb1ab,_0x49666e,_0x1a7830,_0x3badba,_0x4d0ab4)['catch'](_0x53ab14=>{if(mt(_0x53ab14))return new Promise(_0x448e43=>{this['_bufferedRequests']['set'](_0x1eb1ab,{'resolve':_0x448e43,'suggestionData':_0x2def0c});});throw _0x53ab14;});return this['_bufferedRequests']['delete'](_0x1eb1ab),_0x5d9810;},'updateSuggestion':async(_0x300f24,_0x5cad25)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5cad25['state'])return this['_trackChangesService']['update'](_0x300f24,_0x5cad25)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x20711d,_0x505230)=>{_0x49a395['hasSuggestion'](_0x505230['id'])&&(_0x49a395['getSuggestion'](_0x505230['id'])['attributes']=_0x505230['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x4be64b['connection']?.['state']&&(_0x4be64b['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x4be64b['connection'])['then'](_0x399187=>(_0x4be64b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x399187)['then'](()=>{for(const _0x1da3b3 of _0x399187){_0x49a395['addSuggestionData'](_0x1da3b3)['_saved']=!0x0;}})));}async reconnect(){const _0x18d2f5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a9637}=this['editor']['plugins']['get'](J),_0x45d00b=await this['_trackChangesService']['connect'](_0x3a9637);await this['_fetchMissingUsersForThreads'](_0x45d00b);for(const {suggestionData:_0xd6b477,resolve:_0x2650a3}of this['_bufferedRequests']['values']()){let _0x196edc=_0x45d00b['find'](_0x2c9753=>_0x2c9753['id']===_0xd6b477['id']);_0x196edc||(_0x196edc=await this['_trackChangesService']['add'](_0xd6b477['id'],_0xd6b477['type'],_0xd6b477['data'],_0xd6b477['originalSuggestionId'])),_0x2650a3(_0x196edc);}for(const _0x499133 of _0x45d00b)_0x18d2f5['hasSuggestion'](_0x499133['id'])||_0x18d2f5['addSuggestionData'](_0x499133);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x23d121=>{this['listenTo'](this['_trackChangesService'],'connected',_0x19a850=>{_0x19a850['off'](),_0x23d121();});});}async _fetchMissingUsersForThreads(_0x5d9d28){const _0x3d2f7f=this['editor']['plugins']['get'](_0x4857ba),{connection:_0x22fd6b}=this['editor']['plugins']['get'](J),_0x1ee263=new Set();for(const {authorId:_0x2127a5}of _0x5d9d28)_0x3d2f7f['getUser'](_0x2127a5)||_0x1ee263['add'](_0x2127a5);if(0x0===_0x1ee263['size'])return;const _0xfa296e=await _0x11acf3['getMany'](_0x22fd6b,Array['from'](_0x1ee263));for(const _0x34f132 of _0xfa296e)_0x3d2f7f['getUser'](_0x34f132['id'])||_0x3d2f7f['addUser'](_0x34f132);}};function ft(_0x142031){if(mt(_0x142031))return new Promise(()=>{});throw _0x142031;}function mt(_0x2655ba){return _0x2655ba['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2655ba['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x2b96e7{static get requires(){return[_0x1ea26e,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x446873=this['editor']['plugins']['get'](J),_0x546eff=this['editor']['plugins']['get'](_0x360017),_0x3781ee=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x446873,'change:state',(_0x13fa0e,_0x3749a2,_0x24589f)=>{_0x546eff['isThreadsLoadingPaused']='connected'!==_0x24589f;});}),this['listenTo'](_0x446873,'change:state',(_0x3460bd,_0x349359,_0x3ad233)=>{this['editor']['plugins']['get'](_0x5ee2c7)['switchReadOnly']('connected'!==_0x3ad233);}),_0x3781ee['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x47fc53=this['editor']['plugins']['get'](at),_0x20cb6d=this['editor']['config']['get']('collaboration.channelId');_0x47fc53['_services']['has'](_0x20cb6d)&&_0x47fc53['_terminateService'](_0x20cb6d),super['destroy']();}},gt=class extends _0x2b96e7{static get requires(){return[pt,ut,_0x318f0b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x2b96e7{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
- ((()=>_0x15f775)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x422c21,Q,_0x4857ba];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12190a){super(_0x12190a);const _0x45b128=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x45b128);}async init(){const _0x9682e6=this['editor']['plugins']['get'](it),_0x4c398e=_0x9682e6['serverHistory'],_0x588f25=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x4c398e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x9682e6['sessionId']});const _0x549b04=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3a3f2b,_0x1bb4c5=await _0x4f77ac['isBundleUploaded'](_0x588f25['connection'],_0x549b04);this['editor']['plugins']['get'](_0x422c21)['adapter']={'getRevision':async({revisionId:_0x2c5953})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2c5953)),'updateRevisions':async _0x25aecd=>{await this['_waitForServiceReady']();const _0x4f512b=this['_revisionTracker']['currentRevision'];if(_0x1bb4c5&&0x1===_0x25aecd['length']&&_0x25aecd[0x0]['id']===_0x4f512b['id'])return _0x25aecd;for(const _0x29a23e of _0x25aecd)_0x29a23e['id']===_0x4f512b['id']&&(_0x29a23e['isEmptyCurrent']=_0x29a23e['fromVersion']===_0x29a23e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25aecd,this['_lastRequestId'])['then'](_0x1cfb9=>(this['_lastRequestId']=_0x1cfb9,_0x25aecd))['catch'](_0x31afe2=>{if(vt(_0x31afe2)||'400'===_0x31afe2['code']&&void 0x0!==_0x31afe2['data']['wrongRequestId']){for(const _0x473188 of _0x25aecd)this['_revisionTracker']['repository']['getRevision'](_0x473188['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x473188['id'],_0x473188,!0x1);if(vt(_0x31afe2)&&'destroyed'!==this['editor']['state'])throw _0x31afe2;return _0x25aecd;}throw _0x31afe2;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4d9e41,{revisionsData:_0x31d010,requestId:_0x53258c})=>{Math['max'](..._0x31d010['map'](_0x388b26=>_0x388b26['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x31d010,_0x53258c);}):this['_handleRevisionsUpdate'](_0x31d010,_0x53258c);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x588f25['connection']?.['state']&&(_0x588f25['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47f72c,requestId:_0x5492b6}=await this['_revisionHistoryService']['connect'](_0x588f25['connection']);_0x588f25['addToReconnectionStack'](this),this['_lastRequestId']=_0x5492b6,await this['_fetchMissingUsers'](_0x47f72c);for(const _0x2c5f98 of _0x47f72c)this['_revisionTracker']['addRevisionData'](_0x2c5f98);this['listenTo'](_0x9682e6,'change:_isConnected',(_0x270eb3,_0x45ef92,_0x3023c1)=>{_0x3023c1&&(this['_oldOffset']=_0x9682e6['_offset'],_0x270eb3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0xa42c4a=this['editor']['plugins']['get'](J),_0x5f53ff=this['editor']['plugins']['get'](it),_0x2ab015=async()=>{const _0x290328=this['_revisionTracker']['currentRevision'],_0x4600a2=_0x290328['id'],_0x582ff0=_0x4600a2!==_0x5f53ff['sessionId'];if(_0x582ff0){const _0x48b4fe=_0x5f53ff['_offset']-this['_oldOffset'],_0x37eef3=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x290328['toVersion']+_0x48b4fe!==_0x37eef3){const _0x33f02c=_0x290328['fromVersion']+_0x48b4fe,_0x244613=this['editor']['plugins']['get'](_0x4857ba),_0x43cdaf=this['_revisionTracker']['buildRevisionData']({'revision':_0x290328,'from':_0x33f02c,'to':_0x37eef3});_0x43cdaf['id']=_0x290328['id'];const _0x17697f=_0x43cdaf['authorsIds']['map'](_0x3083f9=>_0x244613['getUser'](_0x3083f9));_0x290328['_update']({..._0x43cdaf,'authors':_0x17697f},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x290328['id'],_0x43cdaf,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37eef3,_0x290328['toVersion']!==_0x290328['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4600a2)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4600a2),this['_revisionTracker']['_createCurrentRevision'](_0x37eef3);}const {revisions:_0x42ab51,requestId:_0x156b3a}=await this['_revisionHistoryService']['reconnect'](_0xa42c4a['connection'],this['_lastRequestId']);_0x582ff0&&_0x42ab51['length']>0x0?_0x5f53ff['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42ab51),this['_handleRevisionsUpdate'](_0x42ab51,_0x156b3a),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5f53ff['_isConnected']?_0x2ab015():new Promise((_0x4b8ab8,_0x8417de)=>{_0x5f53ff['once']('change:_isConnected',()=>{_0x2ab015()['then'](_0x4b8ab8)['catch'](_0x8417de);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x335017=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5cb928=>{_0x5cb928['off'](),_0x335017();});});}_getLatestVersionFromServerOperations(){const _0x3193a4=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x414c16 of _0x3193a4)if('marker'!==_0x414c16['type']||_0x414c16['affectsData'])return _0x414c16['baseVersion']+0x1;}_getLatestVersion(){const _0x5a80e5=this['editor']['plugins']['get'](it);return new Promise(_0xd0e871=>{_0x5a80e5['_isPendingUpdate']?_0x5a80e5['once']('change:_isPendingUpdate',()=>{_0xd0e871(this['_getLatestVersionFromServerOperations']());}):_0xd0e871(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x558426,_0x3133){const _0x489b76=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3133;for(const _0x354312 of _0x558426){const _0x339aba=_0x489b76['getRevision'](_0x354312['id']);if(_0x339aba){if((_0x354312['fromVersion']||_0x354312['toVersion'])&&(_0x354312['diffData']=null),_0x339aba===this['_revisionTracker']['currentRevision']){const _0x5b266d=Math['max'](_0x339aba['toVersion'],_0x354312['toVersion']),_0x28cba4=Math['max'](_0x339aba['fromVersion'],_0x354312['fromVersion']);let _0x2c58a4;_0x339aba['toVersion']===_0x354312['toVersion']&&_0x339aba['fromVersion']===_0x354312['fromVersion']?(_0x2c58a4=!0x0,this['_preventResendingRevisionData'](_0x354312)):_0x354312['toVersion']===_0x5b266d&&_0x354312['fromVersion']===_0x28cba4?_0x2c58a4=!0x1:(_0x339aba['toVersion']===_0x5b266d&&_0x339aba['fromVersion']===_0x28cba4||this['_fixRevision']({'revision':_0x339aba,'from':_0x28cba4,'to':_0x5b266d}),_0x2c58a4=!0x0),_0x2c58a4&&(delete _0x354312['fromVersion'],delete _0x354312['toVersion'],delete _0x354312['diffData'],delete _0x354312['createdAt'],delete _0x354312['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x354312),this['_preventResendingRevisionData'](_0x354312);}else this['_revisionTracker']['addRevisionData'](_0x354312);}const _0x5252f3=_0x489b76['getRevisions']();_0x5252f3['reverse']();for(let _0x5a9c91=0x0;_0x5a9c91<_0x5252f3['length']-0x1;_0x5a9c91++){const _0x2adb0f=_0x5252f3[_0x5a9c91],_0x25980a=_0x5252f3[_0x5a9c91+0x1];if(_0x2adb0f['fromVersion']<_0x25980a['toVersion']){const _0x4b19b=_0x25980a['toVersion'],_0x37d95a=Math['max'](_0x4b19b,_0x2adb0f['toVersion']);this['_fixRevision']({'revision':_0x2adb0f,'from':_0x4b19b,'to':_0x37d95a});}}}['_fixRevision']({revision:_0x3620ae,from:_0x5acd4e,to:_0x3bb4b4}={}){const _0x112a06=this['editor']['plugins']['get'](_0x4857ba),_0x5201fd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3620ae,'from':_0x5acd4e,'to':_0x3bb4b4});_0x5201fd['authors']=_0x5201fd['authorsIds']['map'](_0x34b99b=>_0x112a06['getUser'](_0x34b99b)),_0x3620ae['_update'](_0x5201fd);}_preventResendingRevisionData(_0x37f5ae){const _0x12067a={};_0x12067a['id']=_0x37f5ae['id'];for(const _0x1f2417 of Object['keys'](_0x37f5ae))'id'!==_0x1f2417&&(_0x12067a[_0x1f2417]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x12067a['id'],_0x12067a,!0x0);}async _fetchMissingUsers(_0x157750){const _0x5bac06=this['editor']['plugins']['get'](_0x4857ba),{connection:_0x8f8e3}=this['editor']['plugins']['get'](J),_0xb22b5f=new Set();for(const _0x558d03 of _0x157750){for(const _0x14f162 of _0x558d03['authorsIds'])_0x1223fd(_0x14f162);_0x558d03['creatorId']&&_0x1223fd(_0x558d03['creatorId']);}if(0x0===_0xb22b5f['size'])return;const _0x4ef119=await _0x11acf3['getMany'](_0x8f8e3,Array['from'](_0xb22b5f));for(const _0x167644 of _0x4ef119)_0x5bac06['getUser'](_0x167644['id'])||_0x5bac06['addUser'](_0x167644);function _0x1223fd(_0x5d05ac){_0x5bac06['getUser'](_0x5d05ac)||_0xb22b5f['add'](_0x5d05ac);}}};function vt(_0xe7dc9a){return _0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x2b96e7{static get requires(){return[_0x422c21,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x1bdd03{_collapseAt;constructor(_0x397476,_0x575d84=0x6){super(_0x397476);const _0x1404fa=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x575d84,this['bind']('isHidden')['to'](this,'usersCount',_0x3788c3=>_0x3788c3<_0x575d84),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1404fa['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':_0x1404fa['to']('usersCount',_0x34723c=>'+'+(_0x34723c-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x1bdd03{items;keystrokes;constructor(_0xb1f413){super(_0xb1f413);const _0xc8ce28=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4cd84c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc8ce28['if']('hasPopup'),'aria-expanded':_0xc8ce28['to']('isExpanded',_0xc53284=>this['hasPopup']&&String(_0xc53284)),'aria-label':_0xc8ce28['to']('hasPopup',_0x367e96=>et(_0xb1f413,_0x367e96?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc8ce28['to']('hasPopup',_0x5f1b42=>!!_0x5f1b42&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x2e5ac5,_0x16db95,_0x5ad3cd)=>{this['element']&&(_0x5ad3cd?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']);}},kt=class extends _0x1bdd03{counterView;inlineListView;constructor(_0x10e938,_0x27f9ab=0x6){super(_0x10e938);const _0x32a7e8=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x27f9ab),this['inlineListView']=new bt(_0x10e938),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x205f4c of this['inlineListView']['items'])_0x205f4c['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',_0x32a7e8['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x1bdd03{listWrapperView;constructor(_0x288956,_0x45c6af){super(_0x288956),this['listWrapperView']=new St(_0x288956,_0x45c6af),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x288956,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x461b02{constructor(_0x22211f,_0x21a6a4){super(_0x22211f);const _0xef543e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x21a6a4?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xef543e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xef543e['to']('role'),'aria-label':_0xef543e['to']('ariaLabel'),'aria-labelledby':_0xef543e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x327fcb['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1a895e=this['element'];_0x1a895e&&(this['_isScrollable']=Math['max'](_0x1a895e['scrollHeight'],_0x1a895e['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x3fc642{['userView'];constructor(_0x130637,_0xe0d589,_0x124563){super(_0x130637);const _0x2a1598=this['bindTemplate'];this['userView']=new _0x30b579(_0x130637,_0xe0d589);const _0x1fd676={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xe0d589['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xe0d589['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe0d589['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xe0d589['color']['getColorVariable'](),'--ck-user-color-alpha':_0xe0d589['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x124563&&(_0x1fd676['tag']='button',_0x1fd676['on']={'click':_0x2a1598['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1fd676);}['focus'](){this['element']['focus']();}},Ct=class extends _0x1bdd03{['userView'];['markerView'];constructor(_0x36bb9b,_0x18be7d,_0x4a3b85){super(_0x36bb9b);const _0x577e43=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x30b579(_0x36bb9b,_0x18be7d),this['markerView']=new At(_0x36bb9b,_0x18be7d);const _0x559385=new _0x2576ff(_0x36bb9b);_0x559385['template']['tag']='span',_0x559385['text']=_0x18be7d['name'];const _0x5dd60d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x577e43['to']('isFocusable',_0xa08e26=>_0xa08e26?0x0:-0x1),'aria-labelledby':_0x559385['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x577e43['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x577e43['to']('hasTooltip',_0x1950d5=>!_0x1950d5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x559385]};_0x4a3b85&&(_0x5dd60d['tag']='button',_0x5dd60d['on']={'click':_0x577e43['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5dd60d);}},At=class extends _0x1bdd03{constructor(_0x55702c,_0x26254d){super(_0x55702c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x26254d['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x26254d['color']['getColorVariable'](),'--ck-user-color-alpha':_0x26254d['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x2470ea{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b3fe5){super(_0x3b3fe5),this['context']['config']['define']('presenceList',Pt);const _0x3a71b3=_0x3b3fe5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3a71b3)throw new _0x1cba4d('presencelist-collapseat-invalid-format',this);if(_0x3a71b3<0x1)throw new _0x1cba4d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x30b45c(),this['balloonPanelView']=new _0x92771e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x55de38 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x55de38);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5aac83,_0x4f0772)=>{this['_handleUserAdd'](_0x4f0772);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x9a56e7,_0x4cff28)=>{this['_handleUserRemove'](_0x4cff28);});}_createView(){const _0xfb0b34=this['context'],_0x2ff383=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x110a68=this['balloonPanelView'];if(!_0x3663b3(_0xfb0b34['config']['get']('presenceList.container')))throw new _0x1cba4d('presencelist-missing-container',this);_0x2ff383['counterView']['bind']('usersCount')['to'](this),_0x2ff383['bind']('isCollapsed')['to'](this,'usersCount',_0x5a05e1=>{const {collapseAt:_0x9bde70}=_0xfb0b34['config']['get']('presenceList'),_0x53583b=_0x5a05e1>=_0x9bde70;if(_0x53583b&&!_0x2ff383['inlineListView']['items']['find'](_0x53dbb2=>_0x53dbb2 instanceof yt)){const _0x48d0f9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x48d0f9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2ff383['inlineListView']['items']['add'](_0x2ff383['counterView']);}return _0x53583b||this['hideDropdown'](),_0x53583b;}),_0x2ff383['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x13ac4c=>{const _0x19b2f1=_0xfb0b34['config']['get']('presenceList'),_0x45ae07=new Ct(_0xfb0b34['locale'],_0x13ac4c,!!_0x19b2f1['onClick']);return _0x45ae07['bind']('hasTooltip')['to'](_0x2ff383,'isCollapsed',_0x2b1c6e=>!_0x2b1c6e),_0x45ae07['bind']('isFocusable')['to'](_0x2ff383,'isCollapsed',_0x47f810=>!_0x47f810),_0x19b2f1['onClick']&&this['listenTo'](_0x45ae07,'execute',()=>{this['view']['isCollapsed']||_0x19b2f1['onClick'](_0x13ac4c,_0x45ae07['element']);}),_0x45ae07;}),_0x2ff383['inlineListView']['keystrokes']['set']('Enter',(_0x392460,_0x49bf9d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x49bf9d());}),_0x2ff383['render'](),_0x110a68['render'](),_0x2ff383['listenTo'](_0x2ff383['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x4e2e4f=(_0xbbf262,_0x3fd55a)=>{this['_hideDropdownUnlessPointerInside'](_0x3fd55a);};return _0x2ff383['listenTo'](_0x2ff383['inlineListView']['element'],'mouseleave',_0x4e2e4f),_0x2ff383['listenTo'](_0x110a68['element'],'mouseleave',_0x4e2e4f),_0x4d491f({'emitter':_0x2ff383,'activator':()=>_0x110a68['isVisible'],'contextElements':[_0x110a68['element'],_0x2ff383['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xfb0b34['config']['get']('presenceList.container')['appendChild'](_0x2ff383['element']),this['_overlayHost']=new _0x52da97(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x2ff383;}_resolveOverlayTarget(){const _0x5d3218=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x5d3218)return _0x5d3218;const _0x55d362=this['context']['config']['get']('presenceList.container');return _0x55d362?_0x445939(_0x55d362):null;}['_handleUserAdd'](_0x233a04){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x233a04['isMe'])return;const _0x26fd14=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x26fd14-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3faa74=_0x233a04['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x233a04,_0x3faa74);}['_handleUserRemove'](_0x342fdd){this['usersCount']--;const {collapseAt:_0x36332b}=this['context']['config']['get']('presenceList'),_0x3cdf11=this['usersCount']>=_0x36332b;if(this['currentDisplayedUsers']['get'](_0x342fdd['id']))this['currentDisplayedUsers']['remove'](_0x342fdd['id']);else{if(_0x3cdf11&&this['currentDisplayedUsers']['length']+0x1===_0x36332b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3cdf11?0x1:0x0)<this['usersCount']){for(const _0x129af0 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x129af0['id'])&&(this['currentDisplayedUsers']['add'](_0x129af0,Math['min'](this['currentDisplayedUsers']['length']-(_0x3cdf11?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3cdf11?0x1:0x0)===_0x36332b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3606be=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x3606be['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x4cac2a}=this['presenceDropdownView'];_0x4cac2a['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x288a3b=>{if(!_0x3606be['displayMe']&&_0x288a3b['isMe'])return null;const _0xe2fe14=new Tt(this['context']['locale'],_0x288a3b,!!_0x3606be['onClick']);return _0x3606be['onClick']&&this['listenTo'](_0xe2fe14,'execute',()=>{_0x3606be['onClick'](_0x288a3b,_0xe2fe14['element']);}),_0xe2fe14;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x560a53=_0x92771e['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x560a53['southArrowNorth'],_0x560a53['southArrowNorthMiddleWest'],_0x560a53['southArrowNorthMiddleEast'],_0x560a53['southArrowNorthWest'],_0x560a53['southArrowNorthEast'],_0x560a53['northArrowSouth'],_0x560a53['northArrowSouthMiddleWest'],_0x560a53['northArrowSouthMiddleEast'],_0x560a53['northArrowSouthWest'],_0x560a53['northArrowSouthEast'],_0x560a53['viewportStickyNorth']]}),_0x4cac2a['focus'](),_0x4cac2a['checkIfScrollable']();const _0x4ce5b8=(_0x4f2035,_0xf6353)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xf6353();};_0x4cac2a['keystrokes']['set']('Esc',_0x4ce5b8),_0x4cac2a['keystrokes']['set']('Shift+Tab',_0x4ce5b8),_0x4cac2a['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x4cac2a['focusTracker']['add'](this['view']['element']),_0x4cac2a['focusTracker']['on']('change:isFocused',(_0x45550e,_0x352a18,_0x817355)=>{_0x817355||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);}_hideDropdownUnlessPointerInside(_0x483e9e){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x156215=>_0x149d83(_0x156215,_0x483e9e))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x2470ea{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
23
+ import{Context as _0x528c5a,ContextPlugin as _0x573424,PendingActions as _0x3427cf,Plugin as _0x3b0285}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x1f4bac,Collection as _0xe27579,DomEmitterMixin as _0x16ac06,KeystrokeHandler as _0xf89fc5,getOverlayMountRoot as _0x1a0178,global as _0x2de15f,trustedHtml as _0x35ebe6,uid as _0x5a3f6c,version as _0x3ee978}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x364ce9,LabelView as _0x3c3eed,ListItemView as _0xf2227d,ListView as _0x4e0adb,Notification as _0x2e8fab,OverlayHost as _0x4ce28e,View as _0x2aa6e7,clickOutsideHandler as _0x18eeb2}from'@ckeditor/ckeditor5-ui';import{History as _0x1be3af,InsertOperation as _0x4c8305,MarkerOperation as _0x43552f,ModelLiveRange as _0x7a0909,NoOperation as _0x12872d,OperationFactory as _0x1ea669,RootAttributeOperation as _0x439da5,transformOperationSets as _0x218fdf}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5ec7db}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x1539b1,CommentsService as _0x5bb917,EditorService as _0x48db14,RevisionHistoryService as _0x4d5139,TrackChangesService as _0x53868b,User as _0x3317f4,WEB_SOCKET_GATEWAY_STATES as _0x3f3bfc,WebSocketGateway as _0x51ae80}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3ee386,Users as _0x5a638a,isPointerStillOver as _0x22725e}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x25fc3d}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2ac1a8,TrackChangesEditing as _0x1570ae}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x47a9b6,CommentsEditing as _0x288390,CommentsRepository as _0x195514}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x210853}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x5b48c6}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x573424{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x51ae80)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x5ec7db,_0x2e8fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13c71d){super(_0x13c71d),this['set']('state',_0x3f3bfc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x16ac06())();}init(){const _0x553a39=this['context'],_0x14e7e5=_0x553a39['plugins']['get'](_0x5ec7db),_0x4ad2ff=_0x553a39['plugins']['get'](_0x2e8fab);if(!_0x14e7e5['token'])throw new _0x1f4bac('websocketgateway-missing-token',this);if(!_0x14e7e5['webSocketUrl'])throw new _0x1f4bac('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'](_0x14e7e5['token'],_0x14e7e5['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2bde95=>{if(this['connection']=_0x2bde95,this['bind']('state')['to'](_0x2bde95,'state',this,'_isBrowserOffline',(_0x464163,_0x24f414)=>('connected'!==_0x464163&&(this['_shouldPluginsReconnect']=!0x0),_0x24f414||_0x464163!==_0x3f3bfc['CONNECTED']?_0x3f3bfc['DISCONNECTED']:this['state']==_0x3f3bfc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3f3bfc['CONNECTING']):_0x3f3bfc['CONNECTED'])),this['connection']['on']('error',(_0x9cd024,_0x12ff5d)=>{if('limitExceeded'!==_0x12ff5d['code'])throw console['error'](_0x12ff5d),new _0x1f4bac('cloudservices-init',null,{'originalError':_0x12ff5d});_0x4ad2ff['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'});}),!_0x2bde95['me'])return new Promise(_0x1b6186=>_0x2bde95['on']('change:me',_0x1b6186));})['catch'](_0xd6d5b0=>{throw console['error'](_0xd6d5b0),new _0x1f4bac('cloudservices-init',null,{'originalError':_0xd6d5b0});});}addToReconnectionStack(_0x3fe995){if('function'!=typeof _0x3fe995['reconnect'])throw new _0x1f4bac('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3fe995))throw new _0x1f4bac('websocketgateway-plugin-already-registered',this,{'name':_0x3fe995['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3fe995);}removeFromReconnectionStack(_0x38e846){this['_reconnectionStack']['delete'](_0x38e846);}isInReconnectionStack(_0x2e5eb2){return this['_reconnectionStack']['has'](_0x2e5eb2);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x46304d=>_0x46304d['reconnect']())))['then'](()=>this['state']=_0x3f3bfc['CONNECTED'])['catch'](_0x380cee=>{throw console['error'](_0x380cee),new _0x1f4bac('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3f3bfc['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x573424{['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[J,_0x5a638a];}constructor(_0x1af4de){super(_0x1af4de),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe27579(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5a638a);}init(){const _0x3665a1=this['context']['plugins']['get'](J);this['listenTo'](_0x3665a1,'change:state',(_0x2d5858,_0x9ed038,_0x4bc775)=>{if('connected'!==_0x4bc775)this['channelSessions']['forEach'](_0x3e188c=>_0x3e188c['clear']()),this['channelConnectedUsers']['forEach'](_0x5ce4e7=>_0x5ce4e7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x43f377,_0x165144]of this['_registeredSessions'])for(const _0x415eb6 of _0x165144)this['_handleSessionAdd'](_0x43f377,_0x415eb6);}}),this['_createUser'](_0x3665a1['connection']['me'],!0x0);}register(_0x8fa838,_0x204871){if(this['_registeredSessions']['has'](_0x8fa838))throw new _0x1f4bac('sessions-register-already-registered',null,{'channelId':_0x8fa838});this['_registeredSessions']['set'](_0x8fa838,_0x204871),this['channelSessions']['set'](_0x8fa838,new _0xe27579()),this['channelConnectedUsers']['set'](_0x8fa838,new _0xe27579()),this['listenTo'](_0x204871,'add',(_0x3dac15,_0xe92170)=>this['_handleSessionAdd'](_0x8fa838,_0xe92170)),this['listenTo'](_0x204871,'remove',(_0x466bfd,_0x22b77e)=>this['_handleSessionRemove'](_0x8fa838,_0x22b77e));for(const _0x406e7c of _0x204871)this['_handleSessionAdd'](_0x8fa838,_0x406e7c);}unregister(_0x32ff80){if(!this['_registeredSessions']['has'](_0x32ff80))throw new _0x1f4bac('sessions-unregister-not-exist',null,{'channelId':_0x32ff80});const _0x4ece0c=this['_registeredSessions']['get'](_0x32ff80);this['stopListening'](_0x4ece0c);for(const _0x222488 of _0x4ece0c)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x32ff80,_0x222488);this['_registeredSessions']['delete'](_0x32ff80),this['channelSessions']['delete'](_0x32ff80),this['channelConnectedUsers']['delete'](_0x32ff80);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x40e215){for(const _0x5910e6 of this['channelSessions']['values']())for(const _0x2969b4 of _0x5910e6)if(_0x2969b4['id']===_0x40e215)return _0x2969b4['user'];}getUserSessions(_0xe5cb8e,_0x31929a){const _0x31d39e=_0x31929a?[this['channelSessions']['get'](_0x31929a)]:this['channelSessions']['values'](),_0x554bdb=new Set();for(const _0x169376 of _0x31d39e)for(const _0x5ee14b of _0x169376)_0x5ee14b['user']['id']===_0xe5cb8e['id']&&_0x554bdb['add'](_0x5ee14b['id']);return _0x554bdb;}getUserRole(_0x8e9d9){for(const _0x1a1b4d of this['channelSessions']['values']())for(const _0x38a8b8 of _0x1a1b4d)if(_0x38a8b8['user']===_0x8e9d9)return _0x38a8b8['role'];}['_handleSessionAdd'](_0x3568a2,_0x1fe055){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x275cc3=_0x1fe055['user'],_0x144ff9=this['_users']['getUser'](_0x275cc3['id'])||this['_createUser'](_0x275cc3),_0x343bad=Object['assign']({},_0x1fe055,{'user':_0x144ff9});if(this['channelSessions']['get'](_0x3568a2)['add'](_0x343bad),!_0x275cc3['hiddenInPresenceList']){const _0x38521d=this['channelConnectedUsers']['get'](_0x3568a2);_0x38521d['has'](_0x144ff9['id'])||_0x38521d['add'](_0x144ff9),this['allConnectedUsers']['has'](_0x144ff9['id'])||_0x275cc3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x144ff9,_0x144ff9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3568a2,{'channelId':_0x3568a2,'session':_0x343bad});}['_handleSessionRemove'](_0x22694e,_0x2bd076){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x66eceb=this['channelConnectedUsers']['get'](_0x22694e),_0x25bd54=_0x2bd076['user'];_0x25bd54['id']&&(this['channelSessions']['get'](_0x22694e)['remove'](_0x2bd076['id']),_0x66eceb['has'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54,_0x22694e)['size']&&_0x66eceb['remove'](_0x25bd54['id']),this['allConnectedUsers']['get'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54)['size']&&this['allConnectedUsers']['remove'](_0x25bd54['id']));}_createUser(_0x11b527,_0x1479bd){const _0x1f3ca4=this['_users']['addUser'](_0x11b527);return _0x1479bd&&this['_users']['defineMe'](_0x11b527['id']),_0x1f3ca4['orderNumber']=this['_uniqueUsersCount']++,_0x1f3ca4;}},X=class extends _0x3b0285{_domEmitter=new(_0x16ac06())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x320dec=this['editor'],_0x31e10b=_0x320dec['plugins']['get'](Q);_0x320dec['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x37c871,{writer:_0x4e2857})=>function(_0x4c16b6,_0x25d7c9,_0x2a2f2f,_0x4e2c66){const _0x53b803=_0x4c16b6['markerName']['split'](':')[0x2],_0x465fd5=_0x2a2f2f['getUserBySessionId'](_0x53b803);if(!_0x465fd5||_0x53b803===_0x2a2f2f['mySessionId'])return;if(!_0x4e2c66['model']['schema']['checkChild'](_0x4c16b6['markerRange']['start'],'$text'))return;const _0x3ded2e={'class':'ck-user__marker\x20'+_0x465fd5['color']['getMarkerClass'](),'style':tt(_0x465fd5),'data-name':_0x465fd5['name'],'data-session-id':_0x53b803},_0x32c511=_0x4e2c66['model']['markers']['get'](_0x4c16b6['markerName'])['getStart'](),_0x5447bf=_0x32c511['nodeAfter'],_0x30a1fc=_0x4e2c66['model']['schema'];if(_0x5447bf&&_0x30a1fc['isObject'](_0x5447bf)&&_0x30a1fc['isInline'](_0x5447bf)&&!_0x4e2c66['model']['markers']['get']('user:range:'+_0x53b803)['getRange']()['isCollapsed'])return;const _0x36a8be=_0x32c511['parent'];return _0x4e2c66['model']['schema']['isLimit'](_0x36a8be)&&!_0x4e2c66['model']['hasContent'](_0x36a8be)&&(_0x3ded2e['contenteditable']=!0x1),function(_0x435404,_0x52f8b2,_0x4d459e){const _0x3066c8=_0x435404['createUIElement']('span',_0x52f8b2);return _0x435404['setCustomProperty']('userPositionMarker',!0x0,_0x3066c8),_0x3066c8['render']=function(_0x151441){const _0x4511ce=this['toDomElement'](_0x151441),_0x1ce532=document['createElement']('span');return _0x1ce532['classList']['add']('ck-user__marker-tooltip'),_0x1ce532['setAttribute']('contenteditable','false'),_0x1ce532['setAttribute']('spellcheck','false'),_0x1ce532['textContent']=_0x4d459e['name'],_0x4511ce['innerHTML']=_0x35ebe6('⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1ce532['outerHTML']+'⁠'),_0x4511ce['addEventListener']('mouseenter',()=>{_0x4511ce['classList']['add']('ck-user__marker_hovered');}),_0x4511ce['addEventListener']('mouseleave',()=>{_0x4511ce['classList']['remove']('ck-user__marker_hovered');}),_0x4511ce;},_0x3066c8['isSimilar']=function(_0x2d6921){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2d6921['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2d6921['getAttribute']('data-session-id'));},_0x3066c8;}(_0x25d7c9,_0x3ded2e,_0x465fd5);}(_0x37c871,_0x4e2857,_0x31e10b,_0x320dec)}),_0x320dec['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x480563=>function(_0x10b3fb,_0x238c7c){const _0x146459=_0x10b3fb['markerName']['split'](':')[0x2];if(_0x146459===_0x238c7c['mySessionId'])return null;const _0x4cb184=_0x238c7c['getUserBySessionId'](_0x146459);return _0x4cb184?{'id':_0x146459,'classes':['ck-user__selection',_0x4cb184['color']['getSelectionClass']()],'attributes':{'style':tt(_0x4cb184),'data-session-id':_0x146459},'priority':0x7d0+_0x4cb184['orderNumber']}:{'id':_0x146459,'classes':[]};}(_0x480563,_0x31e10b)}),function(_0x491c91){const _0x2e736b=_0x491c91['model'],_0x2a1225=new Map(),_0x57c29c=_0x491c91['plugins']['get'](Q);_0x2e736b['markers']['on']('update:user:range',(_0x1d3634,_0x5e3340,_0x230979,_0x196243)=>{if(!_0x196243&&_0x2a1225['get'](_0x5e3340['name']))return _0x2a1225['get'](_0x5e3340['name'])['detach'](),void _0x2a1225['delete'](_0x5e3340['name']);const _0x57e478=_0x5e3340['name']['split'](':')[0x2];if(_0x57e478===_0x57c29c['mySessionId'])return;const _0x2b1938='user:position:'+_0x57e478;_0x2e736b['markers']['has'](_0x2b1938)&&_0x491c91['editing']['reconvertMarker'](_0x2b1938),_0x5e3340['on']('change:range',(_0x658b52,_0x15f9bf,_0xa81246)=>{if('$graveyard'!=_0x15f9bf['root']['rootName']&&'$graveyard'==_0x5e3340['getRange']()['root']['rootName']&&!_0x2a1225['has'](_0x5e3340['name'])){const _0x4e5525=_0x2e736b['schema']['getNearestSelectionRange'](_0xa81246['deletionPosition']);if(_0x4e5525){const _0x1a30ff=_0x7a0909['fromRange'](_0x4e5525);_0x2a1225['set'](_0x5e3340['name'],_0x1a30ff),_0x1a30ff['on']('change:range',(_0x304720,_0x1ba529,_0x2f84c2)=>{if('$graveyard'==_0x1a30ff['root']['rootName']){const _0x268ffb=_0x2e736b['schema']['getNearestSelectionRange'](_0x2f84c2['deletionPosition']);_0x268ffb?(_0x1a30ff['start']=_0x268ffb['start'],_0x1a30ff['end']=_0x268ffb['end']):(_0x2a1225['delete'](_0x5e3340['name']),_0x1a30ff['detach']());}});}}});}),_0x2e736b['document']['on']('change',()=>{_0x2a1225['size']>0x0&&_0x2e736b['enqueueChange']({'isUndoable':!0x1},_0x4f35a1=>{for(const [_0x497b4d,_0x2d0bc0]of _0x2a1225)'$graveyard'==_0x2e736b['markers']['get'](_0x497b4d)['getRange']()['root']['rootName']&&(Z(_0x497b4d['split'](':')[0x2],_0x2d0bc0['toRange'](),_0x2e736b,_0x4f35a1),_0x2d0bc0['detach']());_0x2a1225['clear']();});});}(_0x320dec),this['_domEmitter']['listenTo'](_0x2de15f['document'],'keydown',(_0x474880,{key:_0x171210})=>{'Escape'===_0x171210&&function(_0x1b1b5d){_0x1b1b5d['editing']['view']['change'](_0x39899e=>{for(const _0x2fd38f of _0x1b1b5d['model']['markers']){if(!_0x2fd38f['name']['startsWith']('user:position'))continue;const _0x49758b=_0x1b1b5d['editing']['mapper']['markerNameToElements'](_0x2fd38f['name']);if(_0x49758b){for(const _0x1656d7 of _0x49758b)_0x39899e['removeClass']('ck-user__marker_hovered',_0x1656d7);}}});}(_0x320dec);},{'useCapture':!0x0});}afterInit(){const _0x1f80ad=this['editor'],_0x4e312e=_0x1f80ad['commands']['get']('undo');_0x4e312e&&_0x1f80ad['model']['on']('applyOperation',(_0x23d790,_0x13172c)=>{const _0x193c2d=_0x13172c[0x0];if(!_0x193c2d['isDocumentOperation'])return;if('marker'!=_0x193c2d['type']||!_0x193c2d['name']['startsWith']('user:'))return;const _0x8c6642=_0x193c2d['batch'];_0x4e312e['_createdBatches']['has'](_0x8c6642)&&(_0x193c2d['newRange']=_0x193c2d['oldRange']?_0x1f80ad['model']['createRange'](_0x193c2d['oldRange']['start'],_0x193c2d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3a0ff5=this['editor'],_0x3736b2=_0x3a0ff5['model']['document'],_0x152706=_0x3a0ff5['plugins']['get'](Q);_0x3a0ff5['model']['enqueueChange']({'isUndoable':!0x1},_0xb42a7e=>{const _0x3e8d18='user:range:'+_0x152706['mySessionId'],_0x5754cc='user:position:'+_0x152706['mySessionId'],_0x360a76=_0x3a0ff5['model']['markers']['has'](_0x3e8d18);_0x3a0ff5['editing']['view']['hasDomSelection']?Z(_0x152706['mySessionId'],_0x3736b2['selection']['getFirstRange'](),_0x3a0ff5['model'],_0xb42a7e):_0x360a76&&(_0xb42a7e['removeMarker'](_0x3e8d18),_0xb42a7e['removeMarker'](_0x5754cc));});}};function Z(_0x158f03,_0x5906f3,_0x1bc85c,_0x118a13){const _0x5280b2='user:range:'+_0x158f03,_0x2e90c0='user:position:'+_0x158f03,_0x383e37=_0x5906f3['getContainedElement']();let _0x5b4cbf=_0x5906f3['start'];if(_0x383e37&&_0x383e37['is']('element','tableCell')){const _0x558944=function(_0x5ddd7e,_0x12e74c){for(const _0xd7f29f of _0x5ddd7e['getPositions']())if(_0x12e74c['schema']['checkChild'](_0xd7f29f,'$text'))return _0xd7f29f;}(_0x5906f3,_0x1bc85c);_0x558944&&(_0x5b4cbf=_0x558944,_0x5906f3=_0x118a13['createRange'](_0x5b4cbf));}const _0x4c288f=_0x118a13['createRange'](_0x5b4cbf);_0x1bc85c['markers']['has'](_0x5280b2)?(_0x118a13['updateMarker'](_0x5280b2,{'range':_0x5906f3}),_0x118a13['updateMarker'](_0x2e90c0,{'range':_0x4c288f})):(_0x118a13['addMarker'](_0x5280b2,{'range':_0x5906f3,'usingOperation':!0x0}),_0x118a13['addMarker'](_0x2e90c0,{'range':_0x4c288f,'usingOperation':!0x0}));}function tt(_0x43cd73){return'--ck-user-color:'+_0x43cd73['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x43cd73['color']['getColorAlphaVariable']()+';';}function et(_0x490b70,_0x463fd4,_0x328f4f){const _0x52bdec=_0x490b70['t'],t=_0x490b70['t'];switch(_0x463fd4){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 _0x52bdec({'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'},_0x328f4f);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x3b0285{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x1539b1)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x3427cf,_0x5a638a,_0x2e8fab];}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 _0x41174c=this['serverHistory']['getOperations']();for(let _0x71ea30=_0x41174c['length']-0x1;_0x71ea30>=0x0;_0x71ea30--){const _0x5397aa=_0x41174c[_0x71ea30];if(!this['_disconnectionOperations']['has'](_0x5397aa))return _0x5397aa['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50909a){if(super(_0x50909a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1be3af(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1f4bac('collaboration-missing-channelid',this);const _0x2c7957=_0x50909a['config']['get']('cloudServices.bundleVersion')||_0x3ee978;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x2c7957,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x25fc3d(),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 rt(this['_disconnectionOperations']);}init(){const _0x130666=this['editor'],_0x160db5=_0x130666['plugins']['get'](_0x5a638a),_0x5b971c=_0x130666['plugins']['get'](J);this['listenTo'](_0x160db5,'getOperationAuthor',(_0x409f93,_0x578aa0)=>{const _0x666b0b=_0x578aa0[0x0];_0x666b0b['_authorId']&&(_0x409f93['return']=_0x160db5['getUser'](_0x666b0b['_authorId']),_0x409f93['stop']()),null===_0x666b0b['_authorId']&&(_0x409f93['return']=null,_0x409f93['stop']());},{'priority':'high'}),this['listenTo'](_0x130666['model']['document']['selection'],'change:range',(_0x386cb7,_0x370d75)=>{_0x370d75['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x130666['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x130666['model']['on']('applyOperation',(_0x12491b,_0x264f2a)=>{const _0xf9ddb2=_0x264f2a[0x0];_0xf9ddb2['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xf9ddb2),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5b971c,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x677c88,_0x18e8e3,_0x53755e)=>'connected'===_0x677c88&&!_0x18e8e3&&!_0x53755e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x5579e3=this['editor']['plugins']['get'](Q),_0xcc20c9=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x5579e3['unregister'](this['_channelId']);const _0x309d25=await this['_service']['reconnect'](_0xcc20c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x309d25)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x39ed31=await this['_service']['getConnectedSessions']();_0x5579e3['register'](this['_channelId'],_0x39ed31),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x505fb0){if(function(_0x58b789){return'404'===_0x58b789['code'];}(_0x505fb0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4f5d7a){return'409'===_0x4f5d7a['code'];}(_0x505fb0)){const _0x52bc54=et(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'](_0x52bc54);}else{if(!(_0x505fb0 instanceof nt))throw _0x505fb0;this['_handleReconnectionError']();}}}}destroy(){const _0x3b2313=this['editor']['plugins']['get'](J),_0x132a39=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x132a39['channelSessions']['has'](this['_channelId'])&&_0x132a39['unregister'](this['_channelId']),_0x3b2313['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x43cb46){if(this['sessionId']!==_0x43cb46['sessionId']&&this['_lastSyncedOperationId']!==_0x43cb46['lastOperationId'])throw new nt();return this['sessionId']=_0x43cb46['sessionId'],this['_handleServerResponse']([],{..._0x43cb46,'wereChangesApplied':!0x1,'data':_0x43cb46['data']},'reconnect');}async _connectService(_0x538e50,_0x1565ea=!0x1){const {connection:_0x4c5595}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x4c5595,this['_channelId'])['then'](_0x129032=>this['_initSessionsHandling'](_0x129032))['catch'](_0x1c58ba=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1c58ba);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d6465,_0x537fcb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x537fcb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x266514=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x538e50);this['_isPendingUpdate']=!0x0;const _0x2ee0fb=await this['_service']['connect'](_0x4c5595,this['_compressOperations'](_0x538e50),_0x266514);if(this['sessionId']=_0x2ee0fb['sessionId'],_0x1565ea){if(!_0x2ee0fb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2ee0fb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x538e50,_0x2ee0fb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2ee0fb,_0x538e50);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4a575a=this['editor']['plugins']['get'](Q),_0x5cf382=this['editor']['plugins']['get'](X),_0x3e41d6=_0x4a575a['channelSessions']['get'](this['_channelId']);_0x3e41d6&&_0x3e41d6['length']>0x1?_0x5cf382['createUserMarkerOperations']():this['listenTo'](_0x4a575a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4a575a['channelSessions']['get'](this['_channelId'])['length']&&_0x5cf382['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x330efa,_0x354474,_0x19060c,_0x3e8387){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x354474){const _0x561e64=this['_decompressOperations'](_0x19060c,_0x3e8387);await this['_fetchMissingUsers'](_0x561e64),this['_handleExternalOperations'](_0x561e64,_0x354474,_0x19060c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x1cd7b0}=this['editor'];let _0x45c1c6;try{_0x45c1c6=await this['_service']['getDocumentDetails']();}catch{const _0x3580ba=et(_0x1cd7b0,'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'](_0x3580ba);}const _0x243032=_0x45c1c6['currentDocumentSession']||_0x45c1c6['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x243032['lastOperationId']){const _0x10b516=et(_0x1cd7b0,'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'](_0x10b516);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x267b98=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x267b98['connection']||'connected'!==_0x267b98['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x506150=this['editor']['plugins']['get'](Q);_0x506150['channelSessions']['has'](this['_channelId'])&&_0x506150['unregister'](this['_channelId']),_0x267b98['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x4e696d){const _0x40f982=this['editor']['plugins']['get'](Q);this['listenTo'](_0x40f982,'sessionAdd:'+this['_channelId'],(_0x10f7ff,{session:_0xdc8b2b})=>{if(_0xdc8b2b['id']===_0x40f982['mySessionId']){_0x10f7ff['off']();const _0x5b0765=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x274597=_0xdc8b2b['permissions'];_0x5b0765&&_0x5b0765['isEnabled']&&(_0x274597=_0x274597['filter'](_0x4f0b80=>'document:write'!==_0x4f0b80)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x274597,this['_channelId']);}}),_0x40f982['register'](this['_channelId'],_0x4e696d);}_initThrowingOnDataSet(){const _0x1a7e8d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x29c12f)=>{if(!_0x29c12f[_0x29c12f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1f4bac('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1a7e8d['apply'](this['editor']['data'],_0x29c12f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x3202d4,[_0x3a4ef3])=>{if(this['_document']['version'])throw new _0x1f4bac('realtimecollaborationclient-init-document-already-initialized',this);_0x3202d4['stop'](),this['_setPendingAction']();const _0x98d8a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x196fdb])=>!_0x196fdb['lazyLoad'])['map'](([_0x502930,_0x465be8])=>[_0x502930,_0x465be8['modelAttributes']||{}])),_0x53a8c2=this['_getOperationsFromInitData'](_0x3a4ef3,_0x98d8a);0x0==_0x53a8c2['length']&&_0x53a8c2['push'](new _0x12872d(0x0)),_0x3202d4['return']=this['_connectService'](_0x53a8c2)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x38410e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x38410e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2cc499,[_0x53adfa,_0x302d01])=>{_0x2cc499['stop']();const _0x3421e6=this['editor']['model']['document']['getRoot'](_0x53adfa);if(!this['_knownRootNames']['has'](_0x53adfa)){const _0x2d5bd0=_0x302d01&&_0x302d01['data']?_0x302d01['data']:'',_0x1903fa=_0x302d01&&_0x302d01['attributes']?_0x302d01['attributes']:{};await this['_loadRoot'](_0x53adfa,_0x2d5bd0,_0x1903fa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3421e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3421e6);});},{'priority':'high'});}async _fetchMissingUsers(_0x2ae506){const _0x53f5f1=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x269291}=this['editor']['plugins']['get'](J),_0x5d076f=new Set();for(const _0x29067d of _0x2ae506){const _0x3152f5=_0x29067d['_authorId'];_0x3152f5&&!_0x53f5f1['getUser'](_0x3152f5)&&_0x5d076f['add'](_0x3152f5);}if(0x0===_0x5d076f['size'])return;const _0x5ce682=await _0x3317f4['getMany'](_0x269291,Array['from'](_0x5d076f));for(const _0xcee6e of _0x5ce682)_0x53f5f1['getUser'](_0xcee6e['id'])||_0x53f5f1['addUser'](_0xcee6e);}_getOperationsFromInitData(_0x4a9e81,_0x1e4367={}){const _0x3f7d3a=this['editor']['model'],_0x382f17=[];let _0x2a6e58=0x0;const _0x2d56d2='string'==typeof _0x4a9e81?{'main':_0x4a9e81}:_0x4a9e81;for(const _0x3b945e of Object['keys'](_0x2d56d2)){if(!this['_document']['roots']['has'](_0x3b945e))throw new _0x1f4bac('realtimecollaborationclient-init-non-existent-root',this);const _0x2925be=this['_document']['getRoot'](_0x3b945e),_0x148e73=this['editor']['data']['parse'](_0x2d56d2[_0x3b945e],_0x2925be),_0x38a703=new _0x4c8305(_0x3f7d3a['createPositionAt'](_0x2925be,0x0),_0x148e73,_0x2a6e58++);_0x382f17['push'](_0x38a703);for(const [_0x5af181,_0x5edde3]of _0x148e73['markers']){const _0x244036=_0x3f7d3a['createRange'](_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['start']['path']['slice']()),_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['end']['path']['slice']())),_0x5e8038=new _0x43552f(_0x5af181,null,_0x244036,_0x3f7d3a['markers'],!0x0,_0x2a6e58++);_0x382f17['push'](_0x5e8038);}}if(_0x1e4367)for(const [_0x3edb6f,_0x269781]of Object['entries'](_0x1e4367)){const _0xed7867=_0x3f7d3a['document']['getRoot'](_0x3edb6f);if(!_0xed7867)throw new _0x1f4bac('multi-root-editor-root-attributes-no-root',null);for(const [_0x42f440,_0x21e9e9]of Object['entries'](_0x269781))if(null!==_0x21e9e9){const _0x34d714=new _0x439da5(_0xed7867,_0x42f440,null,_0x21e9e9,_0x2a6e58++);_0x382f17['push'](_0x34d714);}}return _0x382f17;}async _loadRoot(_0x4e73ac,_0x23300c,_0x5b3115){this['_getOperationsFromInitData']({[_0x4e73ac]:_0x23300c},{[_0x4e73ac]:_0x5b3115})['forEach']((_0x2b6349,_0x5c0f51)=>{_0x2b6349['baseVersion']=this['_document']['version']+_0x5c0f51,_0x2b6349['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2b6349);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x443959,_0x2a1b35){let _0x31b8a4;this['_offset']=_0x443959['offset'];const _0xd135ee=_0x443959['wereChangesApplied']&&!_0x443959['initData'],_0x2d32b7=_0xd135ee?0x0:_0x443959['data']['baseVersion'];if(_0x2a1b35['forEach'](_0x2d48d5=>{_0x2d48d5['_isInit']=!0x0,_0x2d48d5['createdAt']=_0x443959['sessionCreatedAt'],_0x2d48d5['_authorId']=null;}),_0xd135ee)_0x31b8a4=_0x2a1b35,this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);else{if(_0x443959['initData']){const _0x33a719=this['_getOperationsFromInitData'](_0x443959['initData']);this['_document']['history']['version']=-_0x33a719['length'],_0x33a719['forEach'](_0x1d72ba=>{_0x1d72ba['baseVersion']-=_0x33a719['length'],_0x1d72ba['createdAt']=_0x443959['sessionCreatedAt'],_0x1d72ba['_isInit']=!0x0,_0x1d72ba['_authorId']=null;}),this['_applyOperationsSet'](_0x33a719,!0x0),this['serverHistory']['version']=-_0x33a719['length']+this['_offset'],this['_updateServerHistory'](_0x33a719);}this['_document']['history']['version']=_0x2d32b7,_0x31b8a4=this['_decompressOperations'](_0x443959['data'],_0x443959['metadata']),await this['_fetchMissingUsers'](_0x31b8a4),this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);}_0x443959['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x31b8a4,_0x443959['lastOperationId']),this['_lastSyncedOperationId']=_0x443959['lastOperationId']),this['serverHistory']['version']=_0x2d32b7+this['_offset'],this['_updateServerHistory'](_0x31b8a4),_0x2a1b35['filter'](_0x228d7a=>{const _0x2f4ab9=this['_getAffectedRoot'](_0x228d7a);return _0x2f4ab9&&!this['_knownRootNames']['has'](_0x2f4ab9);})['forEach']((_0x48277b,_0x36fcc2)=>{_0x48277b['baseVersion']=this['_document']['version']+_0x36fcc2,this['_saveOperationInBuffer'](_0x48277b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x42290b,_0x57af25){const _0x516e08=_0x57af25&&_0x57af25['message'];if(_0x516e08&&_0x516e08['startsWith']('realtimecollaborationclient'))throw _0x57af25;const _0x1247c8=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x1247c8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1f4bac(_0x42290b,this['editor'],_0x516e08?{'originalError':_0x516e08}:void 0x0);}_saveOperationInBuffer(_0x2b20f8){this['_knownOperations']['has'](_0x2b20f8)||(this['_knownOperations']['add'](_0x2b20f8),this['_bufferedOperations']['push'](_0x2b20f8),this['_pendingAction']||'marker'==_0x2b20f8['type']&&!_0x2b20f8['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x46171b=!0x1){!_0x46171b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x341d3e=>{_0x341d3e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x27f9fe=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x59f52b){return _0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x27f9fe)||this['_crash'](_0x27f9fe['message'],_0x27f9fe);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x36e222=>{this['on']('change:_isPendingUpdate',()=>{_0x36e222();});});}async _sendBufferedOperations(){const _0x34c4e1=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x34c4e1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x39ecb0=[...this['_bufferedOperations']];for(const _0x544493 of _0x39ecb0)_0x544493['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x544493);const _0x5675bf=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ecb0),_0x23a5ea=st++,_0x3d4537=this['_compressOperations'](_0x39ecb0),_0x4fbb82=await this['_service']['sendOperations'](_0x3d4537,_0x3d4537['baseVersion'],_0x5675bf);try{return await this['_handleServerResponse'](_0x39ecb0,_0x4fbb82,_0x23a5ea);}catch(_0x4a04a7){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4a04a7);}}async['_handleServerResponse'](_0x222af0,_0x32dad2,_0x547ecc){if('error'in _0x32dad2)throw _0x32dad2['error'];let _0x31194f;if(_0x32dad2['wereChangesApplied']){_0x32dad2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x32dad2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x42bc71=>!_0x222af0['includes'](_0x42bc71));for(const _0x1719c5 of _0x222af0)_0x1719c5['createdAt']='lastOperationAcceptedAt'in _0x32dad2&&_0x32dad2['lastOperationAcceptedAt']||void 0x0;ot(_0x222af0,_0x32dad2['version']-_0x222af0['length']),this['_updateServerHistory'](_0x222af0);const _0x527efd=_0x222af0['filter'](_0x2f88d9=>{if(!_0x2f88d9['_isInit'])return!0x1;const _0x475f28=this['_getAffectedRoot'](_0x2f88d9);return _0x475f28&&!this['_knownRootNames']['has'](_0x475f28);});ot(_0x527efd,this['_document']['version']),this['_applyOperationsSet'](_0x527efd),_0x31194f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb150ba=this['_decompressOperations'](_0x32dad2['data'],_0x32dad2['metadata'])['filter'](_0x394a53=>_0x394a53['baseVersion']>=this['_lastServerVersion']);_0xb150ba['forEach'](_0x58f16a=>this['_addKnownRoot'](_0x58f16a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x552f43=>!_0x552f43['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x552f43))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb150ba),_0x31194f=this['_handleExternalOperations'](_0xb150ba,_0x32dad2['version'],_0x32dad2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x31194f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x14f314,_0x1901f3,_0x588c5b){try{const _0x25b6e7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x766b6f,operationsB:_0xc1fdf8,originalOperations:_0x3bef0b}=_0x218fdf(_0x14f314,this['_bufferedOperations'],_0x25b6e7);ot(_0x766b6f,this['_document']['version']),ot(_0xc1fdf8,_0x1901f3);for(const _0x413a01 of _0x766b6f){const _0xae0ea1=_0x3bef0b['get'](_0x413a01);_0xae0ea1?(_0x413a01['_authorId']=_0xae0ea1['_authorId'],'noop'!==_0x413a01['type']&&(_0x413a01['_aiSource']=_0xae0ea1['_aiSource'])):_0x413a01['_authorId']=null;}for(const _0x4bed76 of _0xc1fdf8)'noop'!==_0x4bed76['type']&&(_0x4bed76['_aiSource']=_0x3bef0b['get'](_0x4bed76)?.['_aiSource']);_0x588c5b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x14f314,_0x588c5b),this['_lastSyncedOperationId']=_0x588c5b),this['_bufferedOperations']=[..._0xc1fdf8],this['_applyOperationsSet'](_0x766b6f),this['_updateServerHistory'](_0x14f314);}catch(_0x1c3fa9){return console['error'](_0x1c3fa9),!0x1;}return!0x0;}_applyOperationsSet(_0xd3b659,_0x10a270=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3fce5c=>{for(const _0x37474d of _0xd3b659)this['_knownOperations']['add'](_0x37474d),this['_addKnownRoot'](_0x37474d),_0x3fce5c['batch']['addOperation'](_0x37474d),this['editor']['model']['applyOperation'](_0x37474d);});}_addKnownRoot(_0x358088){const _0x100660=this['_getAffectedRoot'](_0x358088);_0x100660&&this['_knownRootNames']['add'](_0x100660);}_getAffectedRoot(_0x13e5bf){let _0x41a088,_0x4b3a92;switch(_0x13e5bf['type']){case'insert':_0x41a088=_0x13e5bf['position']['root'];break;case'marker':if(_0x4b3a92=_0x13e5bf['newRange'],!_0x4b3a92)return null;_0x41a088=_0x4b3a92['root'];break;case'addRootAttribute':_0x41a088=_0x13e5bf['root'];break;case'addRoot':_0x41a088=_0x13e5bf['affectedSelectable'];break;case'move':_0x41a088=_0x13e5bf['targetPosition']['root'];break;default:return null;}return _0x41a088['rootName'];}_updateServerHistory(_0xd34142){_0xd34142['forEach'](_0x559c7c=>{const _0x3fd205=_0x559c7c['clone']();_0x3fd205['_authorId']=_0x559c7c['_authorId'],_0x3fd205['_isInit']=!!_0x559c7c['_isInit'],_0x3fd205['_aiSource']=_0x559c7c['_aiSource'],_0x3fd205['createdAt']=_0x559c7c['createdAt'],_0x3fd205['baseVersion']+=this['_offset'],_0x559c7c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3fd205),this['serverHistory']['addOperation'](_0x3fd205);});}_handleReconnectionError(_0x563154){const _0x1bb867=this['editor']['plugins']['get']('Notification'),_0x3e7a66=this['editor']['locale'];_0x563154||(_0x563154=et(_0x3e7a66,'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.')),_0x1bb867['showWarning'](_0x563154,{'title':et(_0x3e7a66,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3427cf)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3427cf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x55fdc6){const _0x3bb199=_0x55fdc6['map'](_0x6b0f6a=>_0x6b0f6a['toJSON']());return this['_compressor']['compress'](_0x3bb199);}_decompressOperations(_0x51d545,_0x3b84ab){return this['_compressor']['decompress'](_0x51d545)['map']((_0x3553e4,_0x49ea1c)=>{const _0x4cb264='init'==_0x3b84ab[_0x49ea1c]['type'];if('InsertOperation'==_0x3553e4['__className']){const _0x3371af=_0x3553e4['position']['root'];!this['_document']['getRoot'](_0x3371af)&&(this['_document']['createRoot']('$unknown',_0x3371af)['_isAttached']=!0x1);}else{if('RootOperation'==_0x3553e4['__className']){const _0x914502=this['_document']['getRoot'](_0x3553e4['rootName']);_0x914502&&'$unknown'==_0x914502['name']&&_0x3553e4['elementName']!=_0x914502['name']&&(_0x914502['name']=_0x3553e4['elementName']);}}const _0x250151=_0x1ea669['fromJSON'](_0x3553e4,this['_document']);return _0x250151['wasUndone']=_0x3553e4['wasUndone'],_0x250151['_isInit']=_0x4cb264,_0x250151['_authorId']=_0x4cb264?null:_0x3b84ab[_0x49ea1c]['userId'],_0x250151['_isDisconnection']='cs:removeUser'===_0x3b84ab[_0x49ea1c]['type'],_0x250151['_aiSource']=_0x3553e4['_aiSource']||void 0x0,_0x250151['createdAt']=_0x3b84ab[_0x49ea1c]['createdAt'],_0x250151;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x4e90ad=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4e90ad&&_0x4e90ad['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x4c7b96,_0x861301){for(const _0xc60e71 of _0x4c7b96)_0xc60e71['baseVersion']=_0x861301++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x3f4fe8){this['_ignoredOperations']=_0x3f4fe8,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x5d3114){let _0x256cbd=_0x5d3114['length'];for(;_0x256cbd--;){const _0x5c2177=_0x5d3114[_0x256cbd];if(!this['_ignoredOperations']['has'](_0x5c2177)){if(!this['_operationToId']['has'](_0x5c2177)){const _0x5813d8=_0x5a3f6c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5c2177,_0x5813d8);}return this['_operationToId']['get'](_0x5c2177);}}}setIdForTheLastOperation(_0x37a0d3,_0x5286d7){if(!_0x5286d7)return;let _0x418cd4=_0x37a0d3['length'];for(;_0x418cd4--;){const _0x2603dc=_0x37a0d3[_0x418cd4];this['_ignoredOperations']['has'](_0x2603dc)||this['_operationToId']['set'](_0x2603dc,_0x5286d7);}}},ct=class extends _0x3b0285{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x573424{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5bb917)());['_services'];static get requires(){return[J,_0x195514,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35d6b7){super(_0x35d6b7),this['_services']=new Map();}async init(){const _0x3609e9=this['context'],_0x11decc=_0x3609e9['plugins']['get'](_0x195514);if(_0x3609e9['plugins']['get'](J)['addToReconnectionStack'](this),_0x11decc['adapter']={'addCommentThread':async({channelId:_0x50db73,threadId:_0x6d450d,comments:_0x785706,resolvedAt:_0x41da4d,resolvedBy:_0x5e919d,context:_0x5b71fb,attributes:_0x30f36d})=>{const _0x57406c=await this['_getService'](_0x50db73)['addCommentThread']({'commentThreadId':_0x6d450d,'comments':_0x785706['map'](_0x55f6fa=>function(_0x7360a9,_0x3ecd72,_0x501b4f){return{'commentThreadId':_0x501b4f,'commentId':_0x7360a9['commentId'],'userId':_0x7360a9['authorId'],'content':_0x7360a9['content'],'documentId':_0x3ecd72,'createdAt':_0x7360a9['createdAt'],'attributes':_0x7360a9['attributes']||{}};}(_0x55f6fa,_0x50db73,_0x6d450d)),'resolvedAt':_0x41da4d,'resolvedBy':_0x5e919d,'context':_0x5b71fb,'attributes':_0x30f36d})['catch'](lt);return{'threadId':_0x57406c['commentThreadId'],'comments':_0x57406c['comments']};},'getCommentThread':async({channelId:_0x9499d9,threadId:_0x5d233a})=>{const _0xdd3953=await this['_getService'](_0x9499d9)['getCommentThread'](_0x5d233a)['catch'](ht)['catch'](lt);return _0xdd3953?_0xdd3953['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xdd3953]),{'threadId':_0xdd3953['commentThreadId'],'comments':_0xdd3953['comments']['map'](dt),'context':_0xdd3953['context'],'resolvedAt':_0xdd3953['resolvedAt'],'resolvedBy':_0xdd3953['resolvedBy'],'attributes':_0xdd3953['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xb3e2c0,threadId:_0xd5dfe7,context:_0x245aa8,unlinkedAt:_0x5297fe,attributes:_0x1b040d})=>this['_getService'](_0xb3e2c0)['updateCommentThread']({'commentThreadId':_0xd5dfe7,'context':_0x245aa8,'attributes':_0x1b040d,'unlinkedAt':_0x5297fe})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x3560e4,threadId:_0x4d421f})=>{const _0x811a8=await this['_getService'](_0x3560e4)['resolveCommentThread'](_0x4d421f)['catch'](ht)['catch'](lt);return{'threadId':_0x811a8['commentThreadId'],'resolvedAt':_0x811a8['resolvedAt'],'resolvedBy':_0x811a8['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5172af,threadId:_0x476478})=>this['_getService'](_0x5172af)['reopenCommentThread'](_0x476478)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x3f668f,threadId:_0x2e9632})=>this['_getService'](_0x3f668f)['removeCommentThread'](_0x2e9632)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x52a671,threadId:_0x12e918,commentId:_0x245754,content:_0x206da4,attributes:_0xb8d638})=>this['_getService'](_0x52a671)['addComment'](_0x12e918,_0x245754,_0x206da4,_0xb8d638)['catch'](lt),'updateComment':({channelId:_0x596f0b,threadId:_0x29e2d2,commentId:_0x507745,content:_0x40f2bb,attributes:_0x315e33})=>this['_getService'](_0x596f0b)['updateComment'](_0x29e2d2,_0x507745,_0x40f2bb,_0x315e33)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x54708f,threadId:_0x1daed2,commentId:_0x352530})=>this['_getService'](_0x54708f)['removeComment'](_0x1daed2,_0x352530)['catch'](ht)['catch'](lt)},_0x3609e9 instanceof _0x528c5a){const _0x315974=_0x3609e9['config']['get']('collaboration.channelId'),_0x3bfee5=_0x3609e9['plugins']['get'](Q);await this['_setUpService'](_0x315974);const _0x3d23f9=await this['_services']['get'](_0x315974)['getConnectedSessions']();this['listenTo'](_0x3bfee5,'sessionAdd:'+_0x315974,(_0x8d1a49,{session:_0xacae69})=>{_0xacae69['id']===_0x3bfee5['mySessionId']&&(_0x8d1a49['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xacae69['permissions'],_0x315974));}),_0x3bfee5['register'](_0x315974,_0x3d23f9);}}async _setUpService(_0x19ba93){if(this['_services']['has'](_0x19ba93))throw new _0x1f4bac('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19ba93});const _0x59a99b=this['context']['plugins']['get'](_0x195514),_0x2bd156=new CloudServicesCommentsAdapter['CommentsService'](_0x19ba93);this['_services']['set'](_0x19ba93,_0x2bd156),this['listenTo'](_0x2bd156,'commentThreadAdded',(_0x4437d0,_0x15a348)=>{const {commentThreadId:_0x1a58ec,documentId:_0x8bb782,context:_0x52c605,attributes:_0x588964,resolvedAt:_0x513c52,resolvedBy:_0x2fe2fb,comments:_0x3e68b4}=_0x15a348;_0x59a99b['getCommentThread'](_0x1a58ec)||_0x59a99b['addCommentThread']({'threadId':_0x1a58ec,'channelId':_0x8bb782,'comments':_0x3e68b4?_0x3e68b4['map'](dt):[],'context':_0x52c605,'attributes':_0x588964,'resolvedAt':_0x513c52,'resolvedBy':_0x2fe2fb,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadUpdated',(_0x59176e,{commentThreadId:_0x5a5639,documentId:_0x25b6bf,context:_0x1b42df,unlinkedAt:_0x1b986c,attributes:_0x4a5d13})=>{_0x59a99b['getCommentThread'](_0x5a5639)&&_0x59a99b['updateCommentThread']({'threadId':_0x5a5639,'channelId':_0x25b6bf,'context':_0x1b42df,'unlinkedAt':_0x1b986c,'attributes':_0x4a5d13,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadResolved',(_0x2dcad4,{commentThreadId:_0x13a607,resolvedBy:_0x7f5931,resolvedAt:_0x1444de})=>{const _0x1ff5d3=_0x59a99b['getCommentThread'](_0x13a607);_0x1ff5d3&&_0x1ff5d3['resolve']({'resolvedBy':_0x7f5931,'resolvedAt':_0x1444de,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadReopened',(_0x45d6bb,{commentThreadId:_0x32c9c2})=>{const _0x3e45ad=_0x59a99b['getCommentThread'](_0x32c9c2);_0x3e45ad&&_0x3e45ad['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadRemoved',(_0x2034df,{commentThreadId:_0xc721e0})=>{const _0x49e9cc=_0x59a99b['getCommentThread'](_0xc721e0);_0x49e9cc&&_0x49e9cc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentAdded',(_0x2eff94,_0x4b5adb)=>{const _0x4fbcd0=_0x4b5adb['commentThreadId'],_0x326b9a=_0x59a99b['getCommentThread'](_0x4fbcd0);_0x326b9a&&_0x326b9a['addComment']({...dt(_0x4b5adb),'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentUpdated',(_0x25483b,{commentThreadId:_0x1ea718,commentId:_0xd0c7f0,content:_0x18bb0a,attributes:_0x496688})=>{const _0x257731=_0x59a99b['getCommentThread'](_0x1ea718);if(_0x257731){const _0x1ef0b2=_0x257731['getComment'](_0xd0c7f0);_0x1ef0b2&&_0x1ef0b2['update']({'content':_0x18bb0a,'attributes':_0x496688,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'commentRemoved',(_0x21f01b,{commentThreadId:_0x55f3b6,commentId:_0x865794})=>{const _0x355f71=_0x59a99b['getCommentThread'](_0x55f3b6);if(_0x355f71){const _0x195f5d=_0x355f71['getComment'](_0x865794);_0x195f5d&&_0x195f5d['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x19ba93),this['stopListening'](_0x2bd156));}),await this['_connectService'](_0x19ba93);}destroy(){if(this['context']instanceof _0x528c5a){const _0x4c42b5=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4c42b5)&&this['_terminateService'](_0x4c42b5);}}_terminateService(_0x294f1d){if(!this['_services']['has'](_0x294f1d))throw new _0x1f4bac('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x294f1d});this['_getService'](_0x294f1d)['disconnect'](),this['_services']['delete'](_0x294f1d);}async reconnect(){for(const _0x35f46d of this['_services']['keys']())await this['_connectService'](_0x35f46d);if(this['context']instanceof _0x528c5a){const _0xab5d3b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xab5d3b)){const _0x25e22e=this['context']['plugins']['get'](Q);_0x25e22e['unregister'](_0xab5d3b);const _0x37b8d5=await this['_services']['get'](_0xab5d3b)['getConnectedSessions']();_0x25e22e['register'](_0xab5d3b,_0x37b8d5);}}}async _connectService(_0x54e00c){const {connection:_0x122a57}=this['context']['plugins']['get'](J),_0x47dd81=this['context']['plugins']['get'](_0x195514),_0x4f650b=await this['_services']['get'](_0x54e00c)['connect'](_0x122a57);await this['_fetchMissingUsersForThreads'](_0x4f650b);const _0x3eb547=new Set(Array['from'](_0x47dd81['getCommentThreads']({'channelId':_0x54e00c}),_0x2defe4=>_0x2defe4['id']));for(const _0x2fe8f9 of _0x4f650b)_0x2fe8f9['deletedAt']||_0x3eb547['delete'](_0x2fe8f9['commentThreadId']);for(const _0x26a921 of _0x3eb547)_0x47dd81['getCommentThread'](_0x26a921)['remove']({'isFromAdapter':!0x0});for(const _0x1fbea2 of _0x4f650b){let _0x589c77=_0x47dd81['getCommentThread'](_0x1fbea2['commentThreadId']);const {commentThreadId:_0xfc32c2,context:_0x4651ae,attributes:_0x41bb67,resolvedBy:_0x32ebfb,resolvedAt:_0x318c30,unlinkedAt:_0x1ee039,deletedAt:_0x1c6230}=_0x1fbea2;if(_0x1c6230)continue;_0x589c77||(_0x589c77=_0x47dd81['addCommentThread']({'channelId':_0x54e00c,'threadId':_0xfc32c2,'context':_0x4651ae,'attributes':_0x41bb67||{},'resolvedBy':_0x32ebfb,'resolvedAt':_0x318c30,'unlinkedAt':_0x1ee039,'isFromAdapter':!0x0}));const _0x53b291=new Set(Array['from'](_0x589c77['comments'],_0xa548bc=>_0xa548bc['id']));for(const _0x2875c6 of _0x1fbea2['comments'])_0x53b291['delete'](_0x2875c6['commentId']);for(const _0x3d86a3 of _0x53b291)_0x589c77['getComment'](_0x3d86a3)['remove']({'isFromAdapter':!0x0});for(const _0x37c009 of _0x1fbea2['comments']){const _0x2dc4a1=_0x589c77['getComment'](_0x37c009['commentId']);_0x2dc4a1?_0x2dc4a1['content']!==_0x37c009['content']&&_0x2dc4a1['update']({'content':_0x37c009['content'],'isFromAdapter':!0x0}):_0x589c77['addComment'](Object['assign'](dt(_0x37c009),{'isFromAdapter':!0x0}));}}}_getService(_0x51d129){if(!this['_services']['has'](_0x51d129))throw new _0x1f4bac('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x51d129});return this['_services']['get'](_0x51d129);}async _fetchMissingUsersForThreads(_0xf367cb){const _0x3b333f=this['context']['plugins']['get'](_0x5a638a),{connection:_0x2136c0}=this['context']['plugins']['get'](J),_0x2eea29=new Set();for(const {resolvedBy:_0x1640e6,comments:_0x48c935}of _0xf367cb){_0x1640e6&&!_0x3b333f['getUser'](_0x1640e6)&&_0x2eea29['add'](_0x1640e6);for(const {userId:_0x5b97e9}of _0x48c935)_0x3b333f['getUser'](_0x5b97e9)||_0x2eea29['add'](_0x5b97e9);}if(0x0===_0x2eea29['size'])return;const _0x25f794=await _0x3317f4['getMany'](_0x2136c0,Array['from'](_0x2eea29));for(const _0x543efb of _0x25f794)_0x3b333f['getUser'](_0x543efb['id'])||_0x3b333f['addUser'](_0x543efb);}};async function ht(_0x57981a){if('404'!==_0x57981a['code'])throw _0x57981a;}function lt(_0x23dfe9){if((_0xee275f=_0x23dfe9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xee275f;throw _0x23dfe9;}function dt(_0x26137a){return{'threadId':_0x26137a['commentThreadId'],'commentId':_0x26137a['commentId'],'content':_0x26137a['content'],'createdAt':_0x26137a['createdAt'],'authorId':_0x26137a['userId'],'attributes':_0x26137a['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x3b0285{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x53868b)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x1570ae,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c913f){super(_0x5c913f);const _0xe5c163=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xe5c163);}init(){const _0x107576=this['editor']['plugins']['get'](J),_0x3f3868=this['editor']['plugins']['get'](_0x1570ae);return _0x3f3868['adapter']={'getSuggestion':async _0x24c59e=>{await this['_waitForServiceReady']();const _0x535296=await this['_trackChangesService']['get'](_0x24c59e)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x535296]),_0x535296;},'addSuggestion':async({id:_0x58e31c,type:_0x51a259,data:_0x5320c3,originalSuggestionId:_0x39efbc,attributes:_0x1dcf35})=>{await this['_waitForServiceReady']();const _0x268af8={'id':_0x58e31c,'type':_0x51a259,'data':_0x5320c3,'originalSuggestionId':_0x39efbc,'attributes':_0x1dcf35},_0x562873=await this['_trackChangesService']['add'](_0x58e31c,_0x51a259,_0x5320c3,_0x39efbc,_0x1dcf35)['catch'](_0x540dfa=>{if(mt(_0x540dfa))return new Promise(_0x551fca=>{this['_bufferedRequests']['set'](_0x58e31c,{'resolve':_0x551fca,'suggestionData':_0x268af8});});throw _0x540dfa;});return this['_bufferedRequests']['delete'](_0x58e31c),_0x562873;},'updateSuggestion':async(_0x41637b,_0x1f8d7f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1f8d7f['state'])return this['_trackChangesService']['update'](_0x41637b,_0x1f8d7f)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x13720b,_0x2d7490)=>{_0x3f3868['hasSuggestion'](_0x2d7490['id'])&&(_0x3f3868['getSuggestion'](_0x2d7490['id'])['attributes']=_0x2d7490['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x107576['connection']?.['state']&&(_0x107576['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x107576['connection'])['then'](_0x474c8f=>(_0x107576['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x474c8f)['then'](()=>{for(const _0x1a9de1 of _0x474c8f){_0x3f3868['addSuggestionData'](_0x1a9de1)['_saved']=!0x0;}})));}async reconnect(){const _0x453fde=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a22d5}=this['editor']['plugins']['get'](J),_0x3fa853=await this['_trackChangesService']['connect'](_0x3a22d5);await this['_fetchMissingUsersForThreads'](_0x3fa853);for(const {suggestionData:_0x39dc91,resolve:_0x4ed372}of this['_bufferedRequests']['values']()){let _0x5d5424=_0x3fa853['find'](_0x5d94af=>_0x5d94af['id']===_0x39dc91['id']);_0x5d5424||(_0x5d5424=await this['_trackChangesService']['add'](_0x39dc91['id'],_0x39dc91['type'],_0x39dc91['data'],_0x39dc91['originalSuggestionId'])),_0x4ed372(_0x5d5424);}for(const _0x5df17c of _0x3fa853)_0x453fde['hasSuggestion'](_0x5df17c['id'])||_0x453fde['addSuggestionData'](_0x5df17c);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x46e693=>{this['listenTo'](this['_trackChangesService'],'connected',_0x349815=>{_0x349815['off'](),_0x46e693();});});}async _fetchMissingUsersForThreads(_0x3ae361){const _0x1f6cc7=this['editor']['plugins']['get'](_0x5a638a),{connection:_0xb36bde}=this['editor']['plugins']['get'](J),_0x1137d0=new Set();for(const {authorId:_0x5a9497}of _0x3ae361)_0x1f6cc7['getUser'](_0x5a9497)||_0x1137d0['add'](_0x5a9497);if(0x0===_0x1137d0['size'])return;const _0x40dd63=await _0x3317f4['getMany'](_0xb36bde,Array['from'](_0x1137d0));for(const _0x45964e of _0x40dd63)_0x1f6cc7['getUser'](_0x45964e['id'])||_0x1f6cc7['addUser'](_0x45964e);}};function ft(_0xb14841){if(mt(_0xb14841))return new Promise(()=>{});throw _0xb14841;}function mt(_0x94c04a){return _0x94c04a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x94c04a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x3b0285{static get requires(){return[_0x47a9b6,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x566ff8=this['editor']['plugins']['get'](J),_0x374136=this['editor']['plugins']['get'](_0x288390),_0x544c64=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x566ff8,'change:state',(_0x49def6,_0x12e7bc,_0x3be0dc)=>{_0x374136['isThreadsLoadingPaused']='connected'!==_0x3be0dc;});}),this['listenTo'](_0x566ff8,'change:state',(_0x3398cb,_0x3c4060,_0x53c651)=>{this['editor']['plugins']['get'](_0x195514)['switchReadOnly']('connected'!==_0x53c651);}),_0x544c64['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x5427db=this['editor']['plugins']['get'](at),_0x346870=this['editor']['config']['get']('collaboration.channelId');_0x5427db['_services']['has'](_0x346870)&&_0x5427db['_terminateService'](_0x346870),super['destroy']();}},gt=class extends _0x3b0285{static get requires(){return[pt,ut,_0x2ac1a8];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x3b0285{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x4d5139)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x210853,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xcd5adc){super(_0xcd5adc);const _0x4716cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4716cf);}async init(){const _0x1f98af=this['editor']['plugins']['get'](it),_0x26fa85=_0x1f98af['serverHistory'],_0x138109=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x26fa85,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1f98af['sessionId']});const _0xa8426e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3ee978,_0xa59eb5=await _0x48db14['isBundleUploaded'](_0x138109['connection'],_0xa8426e);this['editor']['plugins']['get'](_0x210853)['adapter']={'getRevision':async({revisionId:_0x372a02})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x372a02)),'updateRevisions':async _0x4a9d0e=>{await this['_waitForServiceReady']();const _0x420c65=this['_revisionTracker']['currentRevision'];if(_0xa59eb5&&0x1===_0x4a9d0e['length']&&_0x4a9d0e[0x0]['id']===_0x420c65['id'])return _0x4a9d0e;for(const _0x2560ac of _0x4a9d0e)_0x2560ac['id']===_0x420c65['id']&&(_0x2560ac['isEmptyCurrent']=_0x2560ac['fromVersion']===_0x2560ac['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a9d0e,this['_lastRequestId'])['then'](_0xe6d5e1=>(this['_lastRequestId']=_0xe6d5e1,_0x4a9d0e))['catch'](_0x5ad475=>{if(vt(_0x5ad475)||'400'===_0x5ad475['code']&&void 0x0!==_0x5ad475['data']['wrongRequestId']){for(const _0x4dd4a9 of _0x4a9d0e)this['_revisionTracker']['repository']['getRevision'](_0x4dd4a9['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x4dd4a9['id'],_0x4dd4a9,!0x1);if(vt(_0x5ad475)&&'destroyed'!==this['editor']['state'])throw _0x5ad475;return _0x4a9d0e;}throw _0x5ad475;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d410c,{revisionsData:_0x2dbe04,requestId:_0x2c957a})=>{Math['max'](..._0x2dbe04['map'](_0x3d64a5=>_0x3d64a5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}):this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x138109['connection']?.['state']&&(_0x138109['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2f14c1,requestId:_0x358519}=await this['_revisionHistoryService']['connect'](_0x138109['connection']);_0x138109['addToReconnectionStack'](this),this['_lastRequestId']=_0x358519,await this['_fetchMissingUsers'](_0x2f14c1);for(const _0x449ca6 of _0x2f14c1)this['_revisionTracker']['addRevisionData'](_0x449ca6);this['listenTo'](_0x1f98af,'change:_isConnected',(_0x4721cd,_0x38ae69,_0x46913c)=>{_0x46913c&&(this['_oldOffset']=_0x1f98af['_offset'],_0x4721cd['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x3ba3f8=this['editor']['plugins']['get'](J),_0x3db575=this['editor']['plugins']['get'](it),_0x228b18=async()=>{const _0x1f2e6d=this['_revisionTracker']['currentRevision'],_0x6cf235=_0x1f2e6d['id'],_0x5a41cd=_0x6cf235!==_0x3db575['sessionId'];if(_0x5a41cd){const _0x40cea5=_0x3db575['_offset']-this['_oldOffset'],_0x16c3cf=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1f2e6d['toVersion']+_0x40cea5!==_0x16c3cf){const _0x5a5abf=_0x1f2e6d['fromVersion']+_0x40cea5,_0x48e1d0=this['editor']['plugins']['get'](_0x5a638a),_0x29ba83=this['_revisionTracker']['buildRevisionData']({'revision':_0x1f2e6d,'from':_0x5a5abf,'to':_0x16c3cf});_0x29ba83['id']=_0x1f2e6d['id'];const _0x55c804=_0x29ba83['authorsIds']['map'](_0x510a61=>_0x48e1d0['getUser'](_0x510a61));_0x1f2e6d['_update']({..._0x29ba83,'authors':_0x55c804},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1f2e6d['id'],_0x29ba83,!0x0);}this['_revisionTracker']['_startingVersion']=_0x16c3cf,_0x1f2e6d['toVersion']!==_0x1f2e6d['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x6cf235)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x6cf235),this['_revisionTracker']['_createCurrentRevision'](_0x16c3cf);}const {revisions:_0x35a250,requestId:_0x38e7e1}=await this['_revisionHistoryService']['reconnect'](_0x3ba3f8['connection'],this['_lastRequestId']);_0x5a41cd&&_0x35a250['length']>0x0?_0x3db575['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x35a250),this['_handleRevisionsUpdate'](_0x35a250,_0x38e7e1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3db575['_isConnected']?_0x228b18():new Promise((_0x288f8d,_0x579326)=>{_0x3db575['once']('change:_isConnected',()=>{_0x228b18()['then'](_0x288f8d)['catch'](_0x579326);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5d2ae6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1cef19=>{_0x1cef19['off'](),_0x5d2ae6();});});}_getLatestVersionFromServerOperations(){const _0x3869af=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x2500ba of _0x3869af)if('marker'!==_0x2500ba['type']||_0x2500ba['affectsData'])return _0x2500ba['baseVersion']+0x1;}_getLatestVersion(){const _0x3091ea=this['editor']['plugins']['get'](it);return new Promise(_0x340595=>{_0x3091ea['_isPendingUpdate']?_0x3091ea['once']('change:_isPendingUpdate',()=>{_0x340595(this['_getLatestVersionFromServerOperations']());}):_0x340595(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3b55b6,_0x3c948a){const _0x441596=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3c948a;for(const _0x4cb76d of _0x3b55b6){const _0x2f5c6a=_0x441596['getRevision'](_0x4cb76d['id']);if(_0x2f5c6a){if((_0x4cb76d['fromVersion']||_0x4cb76d['toVersion'])&&(_0x4cb76d['diffData']=null),_0x2f5c6a===this['_revisionTracker']['currentRevision']){const _0x10e3e6=Math['max'](_0x2f5c6a['toVersion'],_0x4cb76d['toVersion']),_0x1b75da=Math['max'](_0x2f5c6a['fromVersion'],_0x4cb76d['fromVersion']);let _0x29b01d;_0x2f5c6a['toVersion']===_0x4cb76d['toVersion']&&_0x2f5c6a['fromVersion']===_0x4cb76d['fromVersion']?(_0x29b01d=!0x0,this['_preventResendingRevisionData'](_0x4cb76d)):_0x4cb76d['toVersion']===_0x10e3e6&&_0x4cb76d['fromVersion']===_0x1b75da?_0x29b01d=!0x1:(_0x2f5c6a['toVersion']===_0x10e3e6&&_0x2f5c6a['fromVersion']===_0x1b75da||this['_fixRevision']({'revision':_0x2f5c6a,'from':_0x1b75da,'to':_0x10e3e6}),_0x29b01d=!0x0),_0x29b01d&&(delete _0x4cb76d['fromVersion'],delete _0x4cb76d['toVersion'],delete _0x4cb76d['diffData'],delete _0x4cb76d['createdAt'],delete _0x4cb76d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4cb76d),this['_preventResendingRevisionData'](_0x4cb76d);}else this['_revisionTracker']['addRevisionData'](_0x4cb76d);}const _0x44aa04=_0x441596['getRevisions']();_0x44aa04['reverse']();for(let _0x492c64=0x0;_0x492c64<_0x44aa04['length']-0x1;_0x492c64++){const _0x166223=_0x44aa04[_0x492c64],_0xef5f94=_0x44aa04[_0x492c64+0x1];if(_0x166223['fromVersion']<_0xef5f94['toVersion']){const _0x3b436a=_0xef5f94['toVersion'],_0x5bdb8d=Math['max'](_0x3b436a,_0x166223['toVersion']);this['_fixRevision']({'revision':_0x166223,'from':_0x3b436a,'to':_0x5bdb8d});}}}['_fixRevision']({revision:_0x2e5ed4,from:_0x38e141,to:_0x39f57a}={}){const _0x449913=this['editor']['plugins']['get'](_0x5a638a),_0x14208a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2e5ed4,'from':_0x38e141,'to':_0x39f57a});_0x14208a['authors']=_0x14208a['authorsIds']['map'](_0x1001de=>_0x449913['getUser'](_0x1001de)),_0x2e5ed4['_update'](_0x14208a);}_preventResendingRevisionData(_0x889531){const _0x2d2fb2={};_0x2d2fb2['id']=_0x889531['id'];for(const _0x43e93e of Object['keys'](_0x889531))'id'!==_0x43e93e&&(_0x2d2fb2[_0x43e93e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2d2fb2['id'],_0x2d2fb2,!0x0);}async _fetchMissingUsers(_0x76a965){const _0x54a347=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x23ad7b}=this['editor']['plugins']['get'](J),_0x1e0a0e=new Set();for(const _0x556ef8 of _0x76a965){for(const _0x3c0207 of _0x556ef8['authorsIds'])_0x29d579(_0x3c0207);_0x556ef8['creatorId']&&_0x29d579(_0x556ef8['creatorId']);}if(0x0===_0x1e0a0e['size'])return;const _0x43b7c2=await _0x3317f4['getMany'](_0x23ad7b,Array['from'](_0x1e0a0e));for(const _0x3d8a2d of _0x43b7c2)_0x54a347['getUser'](_0x3d8a2d['id'])||_0x54a347['addUser'](_0x3d8a2d);function _0x29d579(_0x1d4031){_0x54a347['getUser'](_0x1d4031)||_0x1e0a0e['add'](_0x1d4031);}}};function vt(_0x5adbb7){return _0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x3b0285{static get requires(){return[_0x210853,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x2aa6e7{_collapseAt;constructor(_0x4a535c,_0x189f6d=0x6){super(_0x4a535c);const _0x311025=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x189f6d,this['bind']('isHidden')['to'](this,'usersCount',_0x595c58=>_0x595c58<_0x189f6d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x311025['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':_0x311025['to']('usersCount',_0x424010=>'+'+(_0x424010-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x2aa6e7{items;keystrokes;constructor(_0x2576fa){super(_0x2576fa);const _0x199c72=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xf89fc5(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x199c72['if']('hasPopup'),'aria-expanded':_0x199c72['to']('isExpanded',_0x4ff0ca=>this['hasPopup']&&String(_0x4ff0ca)),'aria-label':_0x199c72['to']('hasPopup',_0x38fc65=>et(_0x2576fa,_0x38fc65?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x199c72['to']('hasPopup',_0x4148da=>!!_0x4148da&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x179393,_0x3d991e,_0x2d15f2)=>{this['element']&&(_0x2d15f2?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']);}},kt=class extends _0x2aa6e7{counterView;inlineListView;constructor(_0x5264b7,_0x2181f8=0x6){super(_0x5264b7);const _0x558103=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x2181f8),this['inlineListView']=new bt(_0x5264b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x42a027 of this['inlineListView']['items'])_0x42a027['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',_0x558103['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x2aa6e7{listWrapperView;constructor(_0x205e19,_0x1f1ec8){super(_0x205e19),this['listWrapperView']=new St(_0x205e19,_0x1f1ec8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x205e19,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x4e0adb{constructor(_0x5f85b2,_0x4c64ca){super(_0x5f85b2);const _0x2e221b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c64ca?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2e221b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2e221b['to']('role'),'aria-label':_0x2e221b['to']('ariaLabel'),'aria-labelledby':_0x2e221b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2de15f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x691e28=this['element'];_0x691e28&&(this['_isScrollable']=Math['max'](_0x691e28['scrollHeight'],_0x691e28['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0xf2227d{['userView'];constructor(_0x463645,_0x165910,_0x43aaf2){super(_0x463645);const _0x228638=this['bindTemplate'];this['userView']=new _0x3ee386(_0x463645,_0x165910);const _0x5a8a51={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165910['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165910['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165910['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x165910['color']['getColorVariable'](),'--ck-user-color-alpha':_0x165910['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x43aaf2&&(_0x5a8a51['tag']='button',_0x5a8a51['on']={'click':_0x228638['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5a8a51);}['focus'](){this['element']['focus']();}},Ct=class extends _0x2aa6e7{['userView'];['markerView'];constructor(_0x479554,_0x1dc658,_0x547b09){super(_0x479554);const _0x4b9522=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3ee386(_0x479554,_0x1dc658),this['markerView']=new At(_0x479554,_0x1dc658);const _0x10754a=new _0x3c3eed(_0x479554);_0x10754a['template']['tag']='span',_0x10754a['text']=_0x1dc658['name'];const _0x4d707e={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b9522['to']('isFocusable',_0x2a3195=>_0x2a3195?0x0:-0x1),'aria-labelledby':_0x10754a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b9522['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b9522['to']('hasTooltip',_0x15bbb1=>!_0x15bbb1),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x10754a]};_0x547b09&&(_0x4d707e['tag']='button',_0x4d707e['on']={'click':_0x4b9522['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4d707e);}},At=class extends _0x2aa6e7{constructor(_0x3edb07,_0x1bc0e1){super(_0x3edb07),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1bc0e1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1bc0e1['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1bc0e1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x573424{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe335ba){super(_0xe335ba),this['context']['config']['define']('presenceList',Pt);const _0x1fb691=_0xe335ba['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1fb691)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);if(_0x1fb691<0x1)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe27579(),this['balloonPanelView']=new _0x364ce9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x4f3dfe of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4f3dfe);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e16b6,_0x50cf25)=>{this['_handleUserAdd'](_0x50cf25);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x3fd616,_0x7a1873)=>{this['_handleUserRemove'](_0x7a1873);});}_createView(){const _0x56d5e7=this['context'],_0x139edd=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x150f21=this['balloonPanelView'];if(!_0x5b48c6(_0x56d5e7['config']['get']('presenceList.container')))throw new _0x1f4bac('presencelist-missing-container',this);_0x139edd['counterView']['bind']('usersCount')['to'](this),_0x139edd['bind']('isCollapsed')['to'](this,'usersCount',_0x1a7d26=>{const {collapseAt:_0x3d55c4}=_0x56d5e7['config']['get']('presenceList'),_0x783302=_0x1a7d26>=_0x3d55c4;if(_0x783302&&!_0x139edd['inlineListView']['items']['find'](_0x19a6de=>_0x19a6de instanceof yt)){const _0x509072=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x509072&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x139edd['inlineListView']['items']['add'](_0x139edd['counterView']);}return _0x783302||this['hideDropdown'](),_0x783302;}),_0x139edd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5287fd=>{const _0x339d4f=_0x56d5e7['config']['get']('presenceList'),_0x543b6d=new Ct(_0x56d5e7['locale'],_0x5287fd,!!_0x339d4f['onClick']);return _0x543b6d['bind']('hasTooltip')['to'](_0x139edd,'isCollapsed',_0x3b3cd=>!_0x3b3cd),_0x543b6d['bind']('isFocusable')['to'](_0x139edd,'isCollapsed',_0xe8e90f=>!_0xe8e90f),_0x339d4f['onClick']&&this['listenTo'](_0x543b6d,'execute',()=>{this['view']['isCollapsed']||_0x339d4f['onClick'](_0x5287fd,_0x543b6d['element']);}),_0x543b6d;}),_0x139edd['inlineListView']['keystrokes']['set']('Enter',(_0x24c48a,_0x12b15e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x12b15e());}),_0x139edd['render'](),_0x150f21['render'](),_0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x10f212=(_0xe9ceea,_0x55957b)=>{this['_hideDropdownUnlessPointerInside'](_0x55957b);};return _0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseleave',_0x10f212),_0x139edd['listenTo'](_0x150f21['element'],'mouseleave',_0x10f212),_0x18eeb2({'emitter':_0x139edd,'activator':()=>_0x150f21['isVisible'],'contextElements':[_0x150f21['element'],_0x139edd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x56d5e7['config']['get']('presenceList.container')['appendChild'](_0x139edd['element']),this['_overlayHost']=new _0x4ce28e(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x139edd;}_resolveOverlayTarget(){const _0x5527c5=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x5527c5)return _0x5527c5;const _0x437d8c=this['context']['config']['get']('presenceList.container');return _0x437d8c?_0x1a0178(_0x437d8c):null;}['_handleUserAdd'](_0x16d6fc){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x16d6fc['isMe'])return;const _0x3a325e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3a325e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3e6c46=_0x16d6fc['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x16d6fc,_0x3e6c46);}['_handleUserRemove'](_0x4dc7e1){this['usersCount']--;const {collapseAt:_0xdbd4fd}=this['context']['config']['get']('presenceList'),_0x4fab42=this['usersCount']>=_0xdbd4fd;if(this['currentDisplayedUsers']['get'](_0x4dc7e1['id']))this['currentDisplayedUsers']['remove'](_0x4dc7e1['id']);else{if(_0x4fab42&&this['currentDisplayedUsers']['length']+0x1===_0xdbd4fd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)<this['usersCount']){for(const _0xa4b93f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa4b93f['id'])&&(this['currentDisplayedUsers']['add'](_0xa4b93f,Math['min'](this['currentDisplayedUsers']['length']-(_0x4fab42?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)===_0xdbd4fd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x44314f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x44314f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3eb8b2}=this['presenceDropdownView'];_0x3eb8b2['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2b4c46=>{if(!_0x44314f['displayMe']&&_0x2b4c46['isMe'])return null;const _0x53314e=new Tt(this['context']['locale'],_0x2b4c46,!!_0x44314f['onClick']);return _0x44314f['onClick']&&this['listenTo'](_0x53314e,'execute',()=>{_0x44314f['onClick'](_0x2b4c46,_0x53314e['element']);}),_0x53314e;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x21caae=_0x364ce9['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x21caae['southArrowNorth'],_0x21caae['southArrowNorthMiddleWest'],_0x21caae['southArrowNorthMiddleEast'],_0x21caae['southArrowNorthWest'],_0x21caae['southArrowNorthEast'],_0x21caae['northArrowSouth'],_0x21caae['northArrowSouthMiddleWest'],_0x21caae['northArrowSouthMiddleEast'],_0x21caae['northArrowSouthWest'],_0x21caae['northArrowSouthEast'],_0x21caae['viewportStickyNorth']]}),_0x3eb8b2['focus'](),_0x3eb8b2['checkIfScrollable']();const _0x535006=(_0x4813b9,_0x2eea0c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2eea0c();};_0x3eb8b2['keystrokes']['set']('Esc',_0x535006),_0x3eb8b2['keystrokes']['set']('Shift+Tab',_0x535006),_0x3eb8b2['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x3eb8b2['focusTracker']['add'](this['view']['element']),_0x3eb8b2['focusTracker']['on']('change:isFocused',(_0x518a08,_0x4d85f2,_0x3d0783)=>{_0x3d0783||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);}_hideDropdownUnlessPointerInside(_0x179b49){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x512835=>_0x22725e(_0x512835,_0x179b49))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x573424{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};