@ckeditor/ckeditor5-real-time-collaboration 48.3.1 → 48.4.0-alpha.1

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 (152) hide show
  1. package/dist/index-editor.css +230 -230
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +6 -6
  4. package/dist/presencelist/view/presencelistview.d.ts +0 -5
  5. package/dist/realtimecollaborativeediting/usermarkers.d.ts +0 -1
  6. package/dist/translations/af.js +1 -1
  7. package/dist/translations/af.umd.js +1 -1
  8. package/dist/translations/ar.js +1 -1
  9. package/dist/translations/ar.umd.js +1 -1
  10. package/dist/translations/ast.js +1 -1
  11. package/dist/translations/ast.umd.js +1 -1
  12. package/dist/translations/az.js +1 -1
  13. package/dist/translations/az.umd.js +1 -1
  14. package/dist/translations/be.js +1 -1
  15. package/dist/translations/be.umd.js +1 -1
  16. package/dist/translations/bg.js +1 -1
  17. package/dist/translations/bg.umd.js +1 -1
  18. package/dist/translations/bn.js +1 -1
  19. package/dist/translations/bn.umd.js +1 -1
  20. package/dist/translations/bs.js +1 -1
  21. package/dist/translations/bs.umd.js +1 -1
  22. package/dist/translations/ca.js +1 -1
  23. package/dist/translations/ca.umd.js +1 -1
  24. package/dist/translations/cs.js +1 -1
  25. package/dist/translations/cs.umd.js +1 -1
  26. package/dist/translations/da.js +1 -1
  27. package/dist/translations/da.umd.js +1 -1
  28. package/dist/translations/de-ch.js +1 -1
  29. package/dist/translations/de-ch.umd.js +1 -1
  30. package/dist/translations/de.js +1 -1
  31. package/dist/translations/de.umd.js +1 -1
  32. package/dist/translations/el.js +1 -1
  33. package/dist/translations/el.umd.js +1 -1
  34. package/dist/translations/en-au.js +1 -1
  35. package/dist/translations/en-au.umd.js +1 -1
  36. package/dist/translations/en-gb.js +1 -1
  37. package/dist/translations/en-gb.umd.js +1 -1
  38. package/dist/translations/en.js +1 -1
  39. package/dist/translations/en.umd.js +1 -1
  40. package/dist/translations/eo.js +1 -1
  41. package/dist/translations/eo.umd.js +1 -1
  42. package/dist/translations/es-co.js +1 -1
  43. package/dist/translations/es-co.umd.js +1 -1
  44. package/dist/translations/es.js +1 -1
  45. package/dist/translations/es.umd.js +1 -1
  46. package/dist/translations/et.js +1 -1
  47. package/dist/translations/et.umd.js +1 -1
  48. package/dist/translations/eu.js +1 -1
  49. package/dist/translations/eu.umd.js +1 -1
  50. package/dist/translations/fa.js +1 -1
  51. package/dist/translations/fa.umd.js +1 -1
  52. package/dist/translations/fi.js +1 -1
  53. package/dist/translations/fi.umd.js +1 -1
  54. package/dist/translations/fr.js +1 -1
  55. package/dist/translations/fr.umd.js +1 -1
  56. package/dist/translations/gl.js +1 -1
  57. package/dist/translations/gl.umd.js +1 -1
  58. package/dist/translations/gu.js +1 -1
  59. package/dist/translations/gu.umd.js +1 -1
  60. package/dist/translations/he.js +1 -1
  61. package/dist/translations/he.umd.js +1 -1
  62. package/dist/translations/hi.js +1 -1
  63. package/dist/translations/hi.umd.js +1 -1
  64. package/dist/translations/hr.js +1 -1
  65. package/dist/translations/hr.umd.js +1 -1
  66. package/dist/translations/hu.js +1 -1
  67. package/dist/translations/hu.umd.js +1 -1
  68. package/dist/translations/hy.js +1 -1
  69. package/dist/translations/hy.umd.js +1 -1
  70. package/dist/translations/id.js +1 -1
  71. package/dist/translations/id.umd.js +1 -1
  72. package/dist/translations/it.js +1 -1
  73. package/dist/translations/it.umd.js +1 -1
  74. package/dist/translations/ja.js +1 -1
  75. package/dist/translations/ja.umd.js +1 -1
  76. package/dist/translations/jv.js +1 -1
  77. package/dist/translations/jv.umd.js +1 -1
  78. package/dist/translations/kk.js +1 -1
  79. package/dist/translations/kk.umd.js +1 -1
  80. package/dist/translations/km.js +1 -1
  81. package/dist/translations/km.umd.js +1 -1
  82. package/dist/translations/kn.js +1 -1
  83. package/dist/translations/kn.umd.js +1 -1
  84. package/dist/translations/ko.js +1 -1
  85. package/dist/translations/ko.umd.js +1 -1
  86. package/dist/translations/ku.js +1 -1
  87. package/dist/translations/ku.umd.js +1 -1
  88. package/dist/translations/lt.js +1 -1
  89. package/dist/translations/lt.umd.js +1 -1
  90. package/dist/translations/lv.js +1 -1
  91. package/dist/translations/lv.umd.js +1 -1
  92. package/dist/translations/ms.js +1 -1
  93. package/dist/translations/ms.umd.js +1 -1
  94. package/dist/translations/nb.js +1 -1
  95. package/dist/translations/nb.umd.js +1 -1
  96. package/dist/translations/ne.js +1 -1
  97. package/dist/translations/ne.umd.js +1 -1
  98. package/dist/translations/nl.js +1 -1
  99. package/dist/translations/nl.umd.js +1 -1
  100. package/dist/translations/no.js +1 -1
  101. package/dist/translations/no.umd.js +1 -1
  102. package/dist/translations/oc.js +1 -1
  103. package/dist/translations/oc.umd.js +1 -1
  104. package/dist/translations/pl.js +1 -1
  105. package/dist/translations/pl.umd.js +1 -1
  106. package/dist/translations/pt-br.js +1 -1
  107. package/dist/translations/pt-br.umd.js +1 -1
  108. package/dist/translations/pt.js +1 -1
  109. package/dist/translations/pt.umd.js +1 -1
  110. package/dist/translations/ro.js +1 -1
  111. package/dist/translations/ro.umd.js +1 -1
  112. package/dist/translations/ru.js +1 -1
  113. package/dist/translations/ru.umd.js +1 -1
  114. package/dist/translations/si.js +1 -1
  115. package/dist/translations/si.umd.js +1 -1
  116. package/dist/translations/sk.js +1 -1
  117. package/dist/translations/sk.umd.js +1 -1
  118. package/dist/translations/sl.js +1 -1
  119. package/dist/translations/sl.umd.js +1 -1
  120. package/dist/translations/sq.js +1 -1
  121. package/dist/translations/sq.umd.js +1 -1
  122. package/dist/translations/sr-latn.js +1 -1
  123. package/dist/translations/sr-latn.umd.js +1 -1
  124. package/dist/translations/sr.js +1 -1
  125. package/dist/translations/sr.umd.js +1 -1
  126. package/dist/translations/sv.js +1 -1
  127. package/dist/translations/sv.umd.js +1 -1
  128. package/dist/translations/th.js +1 -1
  129. package/dist/translations/th.umd.js +1 -1
  130. package/dist/translations/ti.js +1 -1
  131. package/dist/translations/ti.umd.js +1 -1
  132. package/dist/translations/tk.js +1 -1
  133. package/dist/translations/tk.umd.js +1 -1
  134. package/dist/translations/tr.js +1 -1
  135. package/dist/translations/tr.umd.js +1 -1
  136. package/dist/translations/tt.js +1 -1
  137. package/dist/translations/tt.umd.js +1 -1
  138. package/dist/translations/ug.js +1 -1
  139. package/dist/translations/ug.umd.js +1 -1
  140. package/dist/translations/uk.js +1 -1
  141. package/dist/translations/uk.umd.js +1 -1
  142. package/dist/translations/ur.js +1 -1
  143. package/dist/translations/ur.umd.js +1 -1
  144. package/dist/translations/uz.js +1 -1
  145. package/dist/translations/uz.umd.js +1 -1
  146. package/dist/translations/vi.js +1 -1
  147. package/dist/translations/vi.umd.js +1 -1
  148. package/dist/translations/zh-cn.js +1 -1
  149. package/dist/translations/zh-cn.umd.js +1 -1
  150. package/dist/translations/zh.js +1 -1
  151. package/dist/translations/zh.umd.js +1 -1
  152. package/package.json +14 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x15b218,ContextPlugin as _0x49ae67,PendingActions as _0x1b1cb9,Plugin as _0xc1f62}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x126d14,Collection as _0x1a035a,DomEmitterMixin as _0x4e9957,KeystrokeHandler as _0x6ca5cf,global as _0x3d533,uid as _0x402abe,version as _0x2b5982}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x5cb958,BodyCollection as _0xafa5b4,LabelView as _0x47278a,ListItemView as _0x155146,ListView as _0x11c7db,Notification as _0x1f6b8b,View as _0x48174d,clickOutsideHandler as _0xcd0fcf}from'@ckeditor/ckeditor5-ui';import{History as _0x5c78cf,InsertOperation as _0x335bb3,MarkerOperation as _0x4739ee,ModelLiveRange as _0x4d9635,NoOperation as _0x3106f3,OperationFactory as _0x2de99b,RootAttributeOperation as _0x1209b3,transformOperationSets as _0x437cec}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0xb8a5f}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x35305c,CommentsService as _0x104468,EditorService as _0x3d091d,RevisionHistoryService as _0x4da89c,TrackChangesService as _0x4a709b,User as _0x2a3ac9,WEB_SOCKET_GATEWAY_STATES as _0xe75117,WebSocketGateway as _0x4e20e3}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x1465af,Users as _0x480172}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x251a0b}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x417533,TrackChangesEditing as _0x2a216b}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x14a994,CommentsEditing as _0x3afc4e,CommentsRepository as _0x52ddef}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x1e3875}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x12ce62}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x49ae67{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x4e20e3)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xb8a5f,_0x1f6b8b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4eea1b){super(_0x4eea1b),this['set']('state',_0xe75117['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4e9957())();}['init'](){const _0x1f89b8=this['context'],_0x2f528f=_0x1f89b8['plugins']['get'](_0xb8a5f),_0x3ee0e1=_0x1f89b8['plugins']['get'](_0x1f6b8b);if(!_0x2f528f['token'])throw new _0x126d14('websocketgateway-missing-token',this);if(!_0x2f528f['webSocketUrl'])throw new _0x126d14('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'](_0x2f528f['token'],_0x2f528f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1639d8=>{if(this['connection']=_0x1639d8,this['bind']('state')['to'](_0x1639d8,'state',this,'_isBrowserOffline',(_0x369d19,_0x38c9f4)=>('connected'!==_0x369d19&&(this['_shouldPluginsReconnect']=!0x0),_0x38c9f4||_0x369d19!==_0xe75117['CONNECTED']?_0xe75117['DISCONNECTED']:this['state']==_0xe75117['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe75117['CONNECTING']):_0xe75117['CONNECTED'])),this['connection']['on']('error',(_0x118a9a,_0x40d6ae)=>{if('limitExceeded'!==_0x40d6ae['code'])throw console['error'](_0x40d6ae),new _0x126d14('cloudservices-init',null,{'originalError':_0x40d6ae});_0x3ee0e1['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'});}),!_0x1639d8['me'])return new Promise(_0x4bf094=>_0x1639d8['on']('change:me',_0x4bf094));})['catch'](_0x2cb017=>{throw console['error'](_0x2cb017),new _0x126d14('cloudservices-init',null,{'originalError':_0x2cb017});});}['addToReconnectionStack'](_0x580465){if('function'!=typeof _0x580465['reconnect'])throw new _0x126d14('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x580465))throw new _0x126d14('websocketgateway-plugin-already-registered',this,{'name':_0x580465['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x580465);}['removeFromReconnectionStack'](_0x34998a){this['_reconnectionStack']['delete'](_0x34998a);}['isInReconnectionStack'](_0x270ca4){return this['_reconnectionStack']['has'](_0x270ca4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x615fa7=>_0x615fa7['reconnect']())))['then'](()=>this['state']=_0xe75117['CONNECTED'])['catch'](_0x2ddb93=>{throw console['error'](_0x2ddb93),new _0x126d14('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe75117['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x49ae67{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x480172];}constructor(_0x429dac){super(_0x429dac),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1a035a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x480172);}['init'](){const _0x500e1a=this['context']['plugins']['get'](z);this['listenTo'](_0x500e1a,'change:state',(_0x8703f1,_0x2171f8,_0x2c2358)=>{if('connected'!==_0x2c2358)this['channelSessions']['forEach'](_0x1c6332=>_0x1c6332['clear']()),this['channelConnectedUsers']['forEach'](_0xe06725=>_0xe06725['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xeebedc,_0x76e998]of this['_registeredSessions'])for(const _0x5370ad of _0x76e998)this['_handleSessionAdd'](_0xeebedc,_0x5370ad);}}),this['_createUser'](_0x500e1a['connection']['me'],!0x0);}['register'](_0x59cf3d,_0x5eeb6a){if(this['_registeredSessions']['has'](_0x59cf3d))throw new _0x126d14('sessions-register-already-registered',null,{'channelId':_0x59cf3d});this['_registeredSessions']['set'](_0x59cf3d,_0x5eeb6a),this['channelSessions']['set'](_0x59cf3d,new _0x1a035a()),this['channelConnectedUsers']['set'](_0x59cf3d,new _0x1a035a()),this['listenTo'](_0x5eeb6a,'add',(_0x4f0f1f,_0x46429c)=>this['_handleSessionAdd'](_0x59cf3d,_0x46429c)),this['listenTo'](_0x5eeb6a,'remove',(_0xa292bd,_0x5c879c)=>this['_handleSessionRemove'](_0x59cf3d,_0x5c879c));for(const _0x126e2b of _0x5eeb6a)this['_handleSessionAdd'](_0x59cf3d,_0x126e2b);}['unregister'](_0xfb0aa1){if(!this['_registeredSessions']['has'](_0xfb0aa1))throw new _0x126d14('sessions-unregister-not-exist',null,{'channelId':_0xfb0aa1});const _0x38e37f=this['_registeredSessions']['get'](_0xfb0aa1);this['stopListening'](_0x38e37f);for(const _0x4caadd of _0x38e37f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xfb0aa1,_0x4caadd);this['_registeredSessions']['delete'](_0xfb0aa1),this['channelSessions']['delete'](_0xfb0aa1),this['channelConnectedUsers']['delete'](_0xfb0aa1);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xd94adc){for(const _0x1b0de2 of this['channelSessions']['values']())for(const _0x4eeb82 of _0x1b0de2)if(_0x4eeb82['id']===_0xd94adc)return _0x4eeb82['user'];}['getUserSessions'](_0x34780b,_0x3a90f4){const _0x5007f1=_0x3a90f4?[this['channelSessions']['get'](_0x3a90f4)]:this['channelSessions']['values'](),_0x3a1744=new Set();for(const _0x432e70 of _0x5007f1)for(const _0x1ce6d5 of _0x432e70)_0x1ce6d5['user']['id']===_0x34780b['id']&&_0x3a1744['add'](_0x1ce6d5['id']);return _0x3a1744;}['getUserRole'](_0x1450a4){for(const _0x58b48e of this['channelSessions']['values']())for(const _0x106bbe of _0x58b48e)if(_0x106bbe['user']===_0x1450a4)return _0x106bbe['role'];}['_handleSessionAdd'](_0x445086,_0x3a0c0b){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e3ff2=_0x3a0c0b['user'],_0x383ab1=this['_users']['getUser'](_0x5e3ff2['id'])||this['_createUser'](_0x5e3ff2),_0x3f9b8d=Object['assign']({},_0x3a0c0b,{'user':_0x383ab1});if(this['channelSessions']['get'](_0x445086)['add'](_0x3f9b8d),!_0x5e3ff2['hiddenInPresenceList']){const _0x4d358d=this['channelConnectedUsers']['get'](_0x445086);_0x4d358d['has'](_0x383ab1['id'])||_0x4d358d['add'](_0x383ab1),this['allConnectedUsers']['has'](_0x383ab1['id'])||_0x5e3ff2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x383ab1,_0x383ab1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x445086,{'channelId':_0x445086,'session':_0x3f9b8d});}['_handleSessionRemove'](_0x2d7db9,_0x1ce9c9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x19ba3d=this['channelConnectedUsers']['get'](_0x2d7db9),_0x1f5645=_0x1ce9c9['user'];_0x1f5645['id']&&(this['channelSessions']['get'](_0x2d7db9)['remove'](_0x1ce9c9['id']),_0x19ba3d['has'](_0x1f5645['id'])&&!this['getUserSessions'](_0x1f5645,_0x2d7db9)['size']&&_0x19ba3d['remove'](_0x1f5645['id']),this['allConnectedUsers']['get'](_0x1f5645['id'])&&!this['getUserSessions'](_0x1f5645)['size']&&this['allConnectedUsers']['remove'](_0x1f5645['id']));}['_createUser'](_0x15b2c1,_0x3d45bd){const _0x393ed2=this['_users']['addUser'](_0x15b2c1);return _0x3d45bd&&this['_users']['defineMe'](_0x15b2c1['id']),_0x393ed2['orderNumber']=this['_uniqueUsersCount']++,_0x393ed2;}},K=class extends _0xc1f62{['_domEmitter']=new(_0x4e9957())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x407e63=this['editor'],_0x583f43=_0x407e63['plugins']['get'](Y);_0x407e63['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x47b768,{writer:_0x46cf72})=>function(_0x2eadf2,_0x2230b7,_0x480615,_0x30ebd1){const _0x10116d=_0x2eadf2['markerName']['split'](':')[0x2],_0x11df7b=_0x480615['getUserBySessionId'](_0x10116d);if(!_0x11df7b||_0x10116d===_0x480615['mySessionId'])return;if(!_0x30ebd1['model']['schema']['checkChild'](_0x2eadf2['markerRange']['start'],'$text'))return;const _0x1ceb13={'class':'ck-user__marker\x20'+_0x11df7b['color']['getMarkerClass'](),'style':Q(_0x11df7b),'data-name':_0x11df7b['name'],'data-session-id':_0x10116d},_0xdd71ac=_0x30ebd1['model']['markers']['get'](_0x2eadf2['markerName'])['getStart'](),_0x23afc5=_0xdd71ac['nodeAfter'],_0x59ba03=_0x30ebd1['model']['schema'];if(_0x23afc5&&_0x59ba03['isObject'](_0x23afc5)&&_0x59ba03['isInline'](_0x23afc5)&&!_0x30ebd1['model']['markers']['get']('user:range:'+_0x10116d)['getRange']()['isCollapsed'])return;const _0x15a8f9=_0xdd71ac['parent'];return _0x30ebd1['model']['schema']['isLimit'](_0x15a8f9)&&!_0x30ebd1['model']['hasContent'](_0x15a8f9)&&(_0x1ceb13['contenteditable']=!0x1),function(_0x59d7c1,_0xb1711c,_0x467dea){const _0x2f45b0=_0x59d7c1['createUIElement']('span',_0xb1711c);return _0x59d7c1['setCustomProperty']('userPositionMarker',!0x0,_0x2f45b0),_0x2f45b0['render']=function(_0x35133b){const _0x1bcd16=this['toDomElement'](_0x35133b),_0x200edb=document['createElement']('span');return _0x200edb['classList']['add']('ck-user__marker-tooltip'),_0x200edb['setAttribute']('contenteditable','false'),_0x200edb['setAttribute']('spellcheck','false'),_0x200edb['textContent']=_0x467dea['name'],_0x1bcd16['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x200edb['outerHTML']+'⁠',_0x1bcd16['addEventListener']('mouseenter',()=>{_0x1bcd16['classList']['add']('ck-user__marker_hovered');}),_0x1bcd16['addEventListener']('mouseleave',()=>{_0x1bcd16['classList']['remove']('ck-user__marker_hovered');}),_0x1bcd16;},_0x2f45b0['isSimilar']=function(_0x1c8c10){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1c8c10['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1c8c10['getAttribute']('data-session-id'));},_0x2f45b0;}(_0x2230b7,_0x1ceb13,_0x11df7b);}(_0x47b768,_0x46cf72,_0x583f43,_0x407e63)}),_0x407e63['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4b8bad=>function(_0x3ee34c,_0x4d0eb8){const _0x3dee66=_0x3ee34c['markerName']['split'](':')[0x2];if(_0x3dee66===_0x4d0eb8['mySessionId'])return null;const _0x4228ce=_0x4d0eb8['getUserBySessionId'](_0x3dee66);return _0x4228ce?{'id':_0x3dee66,'classes':['ck-user__selection',_0x4228ce['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4228ce),'data-session-id':_0x3dee66},'priority':0x7d0+_0x4228ce['orderNumber']}:{'id':_0x3dee66,'classes':[]};}(_0x4b8bad,_0x583f43)}),function(_0x2fc268){const _0x50312c=_0x2fc268['model'],_0x481a7c=new Map(),_0x471f9d=_0x2fc268['plugins']['get'](Y);_0x50312c['markers']['on']('update:user:range',(_0x4ea7bc,_0x75f7c4,_0x1bcc00,_0x4d5326)=>{if(!_0x4d5326&&_0x481a7c['get'](_0x75f7c4['name']))return _0x481a7c['get'](_0x75f7c4['name'])['detach'](),void _0x481a7c['delete'](_0x75f7c4['name']);const _0x1f4aa5=_0x75f7c4['name']['split'](':')[0x2];if(_0x1f4aa5===_0x471f9d['mySessionId'])return;const _0x19dde8='user:position:'+_0x1f4aa5;_0x50312c['markers']['has'](_0x19dde8)&&_0x2fc268['editing']['reconvertMarker'](_0x19dde8),_0x75f7c4['on']('change:range',(_0x48125f,_0x585b58,_0x86fae4)=>{if('$graveyard'!=_0x585b58['root']['rootName']&&'$graveyard'==_0x75f7c4['getRange']()['root']['rootName']&&!_0x481a7c['has'](_0x75f7c4['name'])){const _0x4ef0d7=_0x50312c['schema']['getNearestSelectionRange'](_0x86fae4['deletionPosition']);if(_0x4ef0d7){const _0x42f869=_0x4d9635['fromRange'](_0x4ef0d7);_0x481a7c['set'](_0x75f7c4['name'],_0x42f869),_0x42f869['on']('change:range',(_0x56b9d5,_0x282c22,_0x1bb203)=>{if('$graveyard'==_0x42f869['root']['rootName']){const _0x363d5b=_0x50312c['schema']['getNearestSelectionRange'](_0x1bb203['deletionPosition']);_0x363d5b?(_0x42f869['start']=_0x363d5b['start'],_0x42f869['end']=_0x363d5b['end']):(_0x481a7c['delete'](_0x75f7c4['name']),_0x42f869['detach']());}});}}});}),_0x50312c['document']['on']('change',()=>{_0x481a7c['size']>0x0&&_0x50312c['enqueueChange']({'isUndoable':!0x1},_0x5b11c2=>{for(const [_0x213fbb,_0x1fe432]of _0x481a7c)'$graveyard'==_0x50312c['markers']['get'](_0x213fbb)['getRange']()['root']['rootName']&&(J(_0x213fbb['split'](':')[0x2],_0x1fe432['toRange'](),_0x50312c,_0x5b11c2),_0x1fe432['detach']());_0x481a7c['clear']();});});}(_0x407e63),this['_domEmitter']['listenTo'](_0x3d533['document'],'keydown',(_0x41a999,{key:_0x39ab63})=>{'Escape'===_0x39ab63&&function(_0x3117c2){_0x3117c2['editing']['view']['change'](_0x2a3f73=>{for(const _0x50a1b0 of _0x3117c2['model']['markers']){if(!_0x50a1b0['name']['startsWith']('user:position'))continue;const _0x20e0e0=_0x3117c2['editing']['mapper']['markerNameToElements'](_0x50a1b0['name']);if(_0x20e0e0){for(const _0x54ae70 of _0x20e0e0)_0x2a3f73['removeClass']('ck-user__marker_hovered',_0x54ae70);}}});}(_0x407e63);},{'useCapture':!0x0});}['afterInit'](){const _0x95ccc5=this['editor'],_0x45c014=_0x95ccc5['commands']['get']('undo');_0x45c014&&_0x95ccc5['model']['on']('applyOperation',(_0x54741e,_0x466217)=>{const _0x2652ee=_0x466217[0x0];if(!_0x2652ee['isDocumentOperation'])return;if('marker'!=_0x2652ee['type']||!_0x2652ee['name']['startsWith']('user:'))return;const _0x223af4=_0x2652ee['batch'];_0x45c014['_createdBatches']['has'](_0x223af4)&&(_0x2652ee['newRange']=_0x2652ee['oldRange']?_0x95ccc5['model']['createRange'](_0x2652ee['oldRange']['start'],_0x2652ee['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3e58a1=this['editor'],_0x361c02=_0x3e58a1['model']['document'],_0x9941b9=_0x3e58a1['plugins']['get'](Y);_0x3e58a1['model']['enqueueChange']({'isUndoable':!0x1},_0x1d3854=>{const _0x4d52fe='user:range:'+_0x9941b9['mySessionId'],_0x43b109='user:position:'+_0x9941b9['mySessionId'],_0x1a018d=_0x3e58a1['model']['markers']['has'](_0x4d52fe);_0x3e58a1['editing']['view']['hasDomSelection']?J(_0x9941b9['mySessionId'],_0x361c02['selection']['getFirstRange'](),_0x3e58a1['model'],_0x1d3854):_0x1a018d&&(_0x1d3854['removeMarker'](_0x4d52fe),_0x1d3854['removeMarker'](_0x43b109));});}};function J(_0x155fdd,_0x101975,_0x12741e,_0x4455f5){const _0x3f1733='user:range:'+_0x155fdd,_0x1af5ef='user:position:'+_0x155fdd,_0x59acb0=_0x101975['getContainedElement']();let _0x3546aa=_0x101975['start'];if(_0x59acb0&&_0x59acb0['is']('element','tableCell')){const _0x36e6e0=function(_0x2ce003,_0xb23201){for(const _0x58c649 of _0x2ce003['getPositions']())if(_0xb23201['schema']['checkChild'](_0x58c649,'$text'))return _0x58c649;}(_0x101975,_0x12741e);_0x36e6e0&&(_0x3546aa=_0x36e6e0,_0x101975=_0x4455f5['createRange'](_0x3546aa));}const _0x2d673c=_0x4455f5['createRange'](_0x3546aa);_0x12741e['markers']['has'](_0x3f1733)?(_0x4455f5['updateMarker'](_0x3f1733,{'range':_0x101975}),_0x4455f5['updateMarker'](_0x1af5ef,{'range':_0x2d673c})):(_0x4455f5['addMarker'](_0x3f1733,{'range':_0x101975,'usingOperation':!0x0}),_0x4455f5['addMarker'](_0x1af5ef,{'range':_0x2d673c,'usingOperation':!0x0}));}function Q(_0x176b05){return'--ck-user-color:'+_0x176b05['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x176b05['color']['getColorAlphaVariable']()+';';}function X(_0x3755c0,_0x2e1130,_0x2754ea){const _0x231095=_0x3755c0['t'],t=_0x3755c0['t'];switch(_0x2e1130){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 _0x231095({'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'},_0x2754ea);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0xc1f62{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x35305c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x1b1cb9,_0x480172,_0x1f6b8b];}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 _0x29fac5=this['serverHistory']['getOperations']();for(let _0x1edf29=_0x29fac5['length']-0x1;_0x1edf29>=0x0;_0x1edf29--){const _0x3daffe=_0x29fac5[_0x1edf29];if(!this['_disconnectionOperations']['has'](_0x3daffe))return _0x3daffe['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3e8491){if(super(_0x3e8491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c78cf(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x126d14('collaboration-missing-channelid',this);const _0x395008=_0x3e8491['config']['get']('cloudServices.bundleVersion')||_0x2b5982;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x395008,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x251a0b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0xb81ab5=this['editor'],_0x4aece5=_0xb81ab5['plugins']['get'](_0x480172),_0x12c611=_0xb81ab5['plugins']['get'](z);this['listenTo'](_0x4aece5,'getOperationAuthor',(_0x17ef56,_0x19ff12)=>{const _0x37b105=_0x19ff12[0x0];_0x37b105['_authorId']&&(_0x17ef56['return']=_0x4aece5['getUser'](_0x37b105['_authorId']),_0x17ef56['stop']()),null===_0x37b105['_authorId']&&(_0x17ef56['return']=null,_0x17ef56['stop']());},{'priority':'high'}),this['listenTo'](_0xb81ab5['model']['document']['selection'],'change:range',(_0x5e5748,_0x98b0f6)=>{_0x98b0f6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xb81ab5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xb81ab5['model']['on']('applyOperation',(_0x4ef435,_0x4ee940)=>{const _0x43f8b3=_0x4ee940[0x0];_0x43f8b3['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x43f8b3),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x12c611,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x8a021a,_0x7247e4,_0x487912)=>'connected'===_0x8a021a&&!_0x7247e4&&!_0x487912),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xb81ab5['disableReadOnlyMode']('rtc-offline'):_0xb81ab5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xb81ab5['disableReadOnlyMode']('rtc-offline'):_0xb81ab5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x62873a=this['editor']['plugins']['get'](Y),_0x1f700a=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x62873a['unregister'](this['_channelId']);const _0x26dc00=await this['_service']['reconnect'](_0x1f700a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x26dc00)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x57e016=await this['_service']['getConnectedSessions']();_0x62873a['register'](this['_channelId'],_0x57e016),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x52b920){if(function(_0x57b717){return'404'===_0x57b717['code'];}(_0x52b920)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x593ed7){return'409'===_0x593ed7['code'];}(_0x52b920)){const _0x57c7b3=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x57c7b3);}else{if(!(_0x52b920 instanceof et))throw _0x52b920;this['_handleReconnectionError']();}}}}['destroy'](){const _0x109584=this['editor']['plugins']['get'](z),_0x2c219a=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2c219a['channelSessions']['has'](this['_channelId'])&&_0x2c219a['unregister'](this['_channelId']),_0x109584['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43fe10){if(this['sessionId']!==_0x43fe10['sessionId']&&this['_lastSyncedOperationId']!==_0x43fe10['lastOperationId'])throw new et();return this['sessionId']=_0x43fe10['sessionId'],this['_handleServerResponse']([],{..._0x43fe10,'wereChangesApplied':!0x1,'data':_0x43fe10['data']},'reconnect');}async['_connectService'](_0xea3c,_0x35909b=!0x1){const {connection:_0x10f413}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x10f413,this['_channelId'])['then'](_0x1daca5=>this['_initSessionsHandling'](_0x1daca5))['catch'](_0x213a9a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x213a9a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x49a784,_0x576a6f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x576a6f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34962a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xea3c);this['_isPendingUpdate']=!0x0;const _0xb6a3f2=await this['_service']['connect'](_0x10f413,this['_compressOperations'](_0xea3c),_0x34962a);if(this['sessionId']=_0xb6a3f2['sessionId'],_0x35909b){if(!_0xb6a3f2['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb6a3f2['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xea3c,_0xb6a3f2,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb6a3f2,_0xea3c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x20c025=this['editor']['plugins']['get'](Y),_0xbe11b5=this['editor']['plugins']['get'](K),_0x7d351e=_0x20c025['channelSessions']['get'](this['_channelId']);_0x7d351e&&_0x7d351e['length']>0x1?_0xbe11b5['createUserMarkerOperations']():this['listenTo'](_0x20c025,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20c025['channelSessions']['get'](this['_channelId'])['length']&&_0xbe11b5['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4875bf,_0x58846f,_0x4ecd53,_0x35d7af){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x58846f){const _0x5ab7a8=this['_decompressOperations'](_0x4ecd53,_0x35d7af);await this['_fetchMissingUsers'](_0x5ab7a8),this['_handleExternalOperations'](_0x5ab7a8,_0x58846f,_0x4ecd53['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2e16ee}=this['editor'];let _0x4439db;try{_0x4439db=await this['_service']['getDocumentDetails']();}catch{const _0x2f2f84=X(_0x2e16ee,'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'](_0x2f2f84);}const _0x92bd3a=_0x4439db['currentDocumentSession']||_0x4439db['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x92bd3a['lastOperationId']){const _0x3bf9a7=X(_0x2e16ee,'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'](_0x3bf9a7);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x10aca9=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x10aca9['connection']||'connected'!==_0x10aca9['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x431d5b=this['editor']['plugins']['get'](Y);_0x431d5b['channelSessions']['has'](this['_channelId'])&&_0x431d5b['unregister'](this['_channelId']),_0x10aca9['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xa782fb){const _0x5c0d4e=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5c0d4e,'sessionAdd:'+this['_channelId'],(_0x3d5c95,{session:_0x5114d6})=>{if(_0x5114d6['id']===_0x5c0d4e['mySessionId']){_0x3d5c95['off']();const _0x3e9f92=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x19b10a=_0x5114d6['permissions'];_0x3e9f92&&_0x3e9f92['isEnabled']&&(_0x19b10a=_0x19b10a['filter'](_0x4591e3=>'document:write'!==_0x4591e3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x19b10a,this['_channelId']);}}),_0x5c0d4e['register'](this['_channelId'],_0xa782fb);}['_initThrowingOnDataSet'](){const _0xb7333=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x224b68)=>{if(!_0x224b68[_0x224b68['length']-0x1]['suppressErrorInCollaboration'])throw new _0x126d14('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xb7333['apply'](this['editor']['data'],_0x224b68);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xfe42b4,[_0x47a7c4])=>{if(this['_document']['version'])throw new _0x126d14('realtimecollaborationclient-init-document-already-initialized',this);_0xfe42b4['stop'](),this['_setPendingAction']();const _0x18d3f0=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x34c58d])=>!_0x34c58d['lazyLoad'])['map'](([_0x52a0c5,_0x43db68])=>[_0x52a0c5,_0x43db68['modelAttributes']||{}])),_0x85a35b=this['_getOperationsFromInitData'](_0x47a7c4,_0x18d3f0);0x0==_0x85a35b['length']&&_0x85a35b['push'](new _0x3106f3(0x0)),_0xfe42b4['return']=this['_connectService'](_0x85a35b)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x116962=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x116962))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x202205,[_0x355747,_0x2acb3e])=>{_0x202205['stop']();const _0x5abf04=this['editor']['model']['document']['getRoot'](_0x355747);if(!this['_knownRootNames']['has'](_0x355747)){const _0x1d9ddd=_0x2acb3e&&_0x2acb3e['data']?_0x2acb3e['data']:'',_0x393de1=_0x2acb3e&&_0x2acb3e['attributes']?_0x2acb3e['attributes']:{};await this['_loadRoot'](_0x355747,_0x1d9ddd,_0x393de1);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5abf04['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5abf04);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40bfd9){const _0x3fa30e=this['editor']['plugins']['get'](_0x480172),{connection:_0x1c8320}=this['editor']['plugins']['get'](z),_0x43c389=new Set();for(const _0x51f274 of _0x40bfd9){const _0x48305f=_0x51f274['_authorId'];_0x48305f&&!_0x3fa30e['getUser'](_0x48305f)&&_0x43c389['add'](_0x48305f);}if(0x0===_0x43c389['size'])return;const _0x5c1bac=await _0x2a3ac9['getMany'](_0x1c8320,Array['from'](_0x43c389));for(const _0x489096 of _0x5c1bac)_0x3fa30e['getUser'](_0x489096['id'])||_0x3fa30e['addUser'](_0x489096);}['_getOperationsFromInitData'](_0x31fb2e,_0x117238={}){const _0x4ae0f6=this['editor']['model'],_0x3fadea=[];let _0x735edb=0x0;const _0x404ef1='string'==typeof _0x31fb2e?{'main':_0x31fb2e}:_0x31fb2e;for(const _0x7816c7 of Object['keys'](_0x404ef1)){if(!this['_document']['roots']['has'](_0x7816c7))throw new _0x126d14('realtimecollaborationclient-init-non-existent-root',this);const _0x3239dc=this['_document']['getRoot'](_0x7816c7),_0x553883=this['editor']['data']['parse'](_0x404ef1[_0x7816c7],_0x3239dc),_0x471b75=new _0x335bb3(_0x4ae0f6['createPositionAt'](_0x3239dc,0x0),_0x553883,_0x735edb++);_0x3fadea['push'](_0x471b75);for(const [_0x344595,_0x169942]of _0x553883['markers']){const _0x310242=new _0x4739ee(_0x344595,null,_0x4ae0f6['createRange'](_0x4ae0f6['createPositionFromPath'](_0x3239dc,_0x169942['start']['path']['slice']()),_0x4ae0f6['createPositionFromPath'](_0x3239dc,_0x169942['end']['path']['slice']())),_0x4ae0f6['markers'],!0x0,_0x735edb++);_0x3fadea['push'](_0x310242);}}if(_0x117238)for(const [_0x124e3b,_0x36c066]of Object['entries'](_0x117238)){const _0x4db03c=_0x4ae0f6['document']['getRoot'](_0x124e3b);if(!_0x4db03c)throw new _0x126d14('multi-root-editor-root-attributes-no-root',null);for(const [_0x34785b,_0x1f8545]of Object['entries'](_0x36c066))if(null!==_0x1f8545){const _0x31e3bb=new _0x1209b3(_0x4db03c,_0x34785b,null,_0x1f8545,_0x735edb++);_0x3fadea['push'](_0x31e3bb);}}return _0x3fadea;}async['_loadRoot'](_0x184eeb,_0x3e469c,_0xd95bca){this['_getOperationsFromInitData']({[_0x184eeb]:_0x3e469c},{[_0x184eeb]:_0xd95bca})['forEach']((_0x33010f,_0x360bad)=>{_0x33010f['baseVersion']=this['_document']['version']+_0x360bad,_0x33010f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x33010f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4424be,_0x1be472){let _0x2916c5;this['_offset']=_0x4424be['offset'];const _0x3aa84f=_0x4424be['wereChangesApplied']&&!_0x4424be['initData'],_0x1c3706=_0x3aa84f?0x0:_0x4424be['data']['baseVersion'];if(_0x1be472['forEach'](_0x3d4779=>{_0x3d4779['_isInit']=!0x0,_0x3d4779['createdAt']=_0x4424be['sessionCreatedAt'],_0x3d4779['_authorId']=null;}),_0x3aa84f)_0x2916c5=_0x1be472,this['_applyOperationsSet'](_0x2916c5,_0x3aa84f);else{if(_0x4424be['initData']){const _0x2932f9=this['_getOperationsFromInitData'](_0x4424be['initData']);this['_document']['history']['version']=-_0x2932f9['length'],_0x2932f9['forEach'](_0x4da2a5=>{_0x4da2a5['baseVersion']-=_0x2932f9['length'],_0x4da2a5['createdAt']=_0x4424be['sessionCreatedAt'],_0x4da2a5['_isInit']=!0x0,_0x4da2a5['_authorId']=null;}),this['_applyOperationsSet'](_0x2932f9,!0x0),this['serverHistory']['version']=-_0x2932f9['length']+this['_offset'],this['_updateServerHistory'](_0x2932f9);}this['_document']['history']['version']=_0x1c3706,_0x2916c5=this['_decompressOperations'](_0x4424be['data'],_0x4424be['metadata']),await this['_fetchMissingUsers'](_0x2916c5),this['_applyOperationsSet'](_0x2916c5,_0x3aa84f);}_0x4424be['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2916c5,_0x4424be['lastOperationId']),this['_lastSyncedOperationId']=_0x4424be['lastOperationId']),this['serverHistory']['version']=_0x1c3706+this['_offset'],this['_updateServerHistory'](_0x2916c5),_0x1be472['filter'](_0x5e5215=>{const _0x26271d=this['_getAffectedRoot'](_0x5e5215);return _0x26271d&&!this['_knownRootNames']['has'](_0x26271d);})['forEach']((_0x58866c,_0x2d00eb)=>{_0x58866c['baseVersion']=this['_document']['version']+_0x2d00eb,this['_saveOperationInBuffer'](_0x58866c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x832e75,_0x4e8d11){const _0x328c24=_0x4e8d11&&_0x4e8d11['message'];if(_0x328c24&&_0x328c24['startsWith']('realtimecollaborationclient'))throw _0x4e8d11;const _0x1283b0=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1283b0['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x126d14(_0x832e75,this['editor'],_0x328c24?{'originalError':_0x328c24}:void 0x0);}['_saveOperationInBuffer'](_0x2948ca){this['_knownOperations']['has'](_0x2948ca)||(this['_knownOperations']['add'](_0x2948ca),this['_bufferedOperations']['push'](_0x2948ca),this['_pendingAction']||'marker'==_0x2948ca['type']&&!_0x2948ca['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4be4a8=!0x1){!_0x4be4a8&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1a3aa7=>{_0x1a3aa7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x358a5e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x437392){return _0x437392['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x437392['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x437392['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x358a5e)||this['_crash'](_0x358a5e['message'],_0x358a5e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x315c29=>{this['on']('change:_isPendingUpdate',()=>{_0x315c29();});});}async['_sendBufferedOperations'](){const _0x5ade3d=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5ade3d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x98b3b3=[...this['_bufferedOperations']];for(const _0x116890 of _0x98b3b3)_0x116890['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x116890);const _0x40a888=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x98b3b3),_0x3aaa11=Z++,_0x2c4099=this['_compressOperations'](_0x98b3b3),_0x4371d2=await this['_service']['sendOperations'](_0x2c4099,_0x2c4099['baseVersion'],_0x40a888);try{return await this['_handleServerResponse'](_0x98b3b3,_0x4371d2,_0x3aaa11);}catch(_0x202634){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x202634);}}async['_handleServerResponse'](_0x3b3217,_0xaa2c85,_0x137678){if('error'in _0xaa2c85)throw _0xaa2c85['error'];let _0x14333c=!0x1;if(_0xaa2c85['wereChangesApplied']){_0xaa2c85['lastOperationId']&&(this['_lastSyncedOperationId']=_0xaa2c85['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x583705=>!_0x3b3217['includes'](_0x583705));for(const _0x425560 of _0x3b3217)_0x425560['createdAt']='lastOperationAcceptedAt'in _0xaa2c85&&_0xaa2c85['lastOperationAcceptedAt']||void 0x0;st(_0x3b3217,_0xaa2c85['version']-_0x3b3217['length']),this['_updateServerHistory'](_0x3b3217);const _0x24848d=_0x3b3217['filter'](_0x287399=>{if(!_0x287399['_isInit'])return!0x1;const _0x4b9768=this['_getAffectedRoot'](_0x287399);return _0x4b9768&&!this['_knownRootNames']['has'](_0x4b9768);});st(_0x24848d,this['_document']['version']),this['_applyOperationsSet'](_0x24848d),_0x14333c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x59f908=this['_decompressOperations'](_0xaa2c85['data'],_0xaa2c85['metadata'])['filter'](_0x425bc8=>_0x425bc8['baseVersion']>=this['_lastServerVersion']);_0x59f908['forEach'](_0x253bad=>this['_addKnownRoot'](_0x253bad)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x348fce=>!_0x348fce['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x348fce))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x59f908),_0x14333c=this['_handleExternalOperations'](_0x59f908,_0xaa2c85['version'],_0xaa2c85['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x14333c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xe7af20,_0x4e3ee2,_0x46c5b7){try{const _0x44ee0e={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x25e402,operationsB:_0x52eb58,originalOperations:_0x26d24d}=_0x437cec(_0xe7af20,this['_bufferedOperations'],_0x44ee0e);st(_0x25e402,this['_document']['version']),st(_0x52eb58,_0x4e3ee2);for(const _0x2e0c35 of _0x25e402){const _0x2b0c14=_0x26d24d['get'](_0x2e0c35);_0x2b0c14?(_0x2e0c35['_authorId']=_0x2b0c14['_authorId'],'noop'!==_0x2e0c35['type']&&(_0x2e0c35['_aiSource']=_0x2b0c14['_aiSource'])):_0x2e0c35['_authorId']=null;}for(const _0x148149 of _0x52eb58)'noop'!==_0x148149['type']&&(_0x148149['_aiSource']=_0x26d24d['get'](_0x148149)?.['_aiSource']);_0x46c5b7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xe7af20,_0x46c5b7),this['_lastSyncedOperationId']=_0x46c5b7),this['_bufferedOperations']=[..._0x52eb58],this['_applyOperationsSet'](_0x25e402),this['_updateServerHistory'](_0xe7af20);}catch(_0xc30dc6){return console['error'](_0xc30dc6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x43301a,_0x1dfd5b=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x50e090=>{for(const _0x22b88b of _0x43301a)this['_knownOperations']['add'](_0x22b88b),this['_addKnownRoot'](_0x22b88b),_0x50e090['batch']['addOperation'](_0x22b88b),this['editor']['model']['applyOperation'](_0x22b88b);});}['_addKnownRoot'](_0xe6c6ec){const _0x292110=this['_getAffectedRoot'](_0xe6c6ec);_0x292110&&this['_knownRootNames']['add'](_0x292110);}['_getAffectedRoot'](_0x40fe33){let _0x4f973c,_0x3faf56;switch(_0x40fe33['type']){case'insert':_0x4f973c=_0x40fe33['position']['root'];break;case'marker':if(_0x3faf56=_0x40fe33['newRange'],!_0x3faf56)return null;_0x4f973c=_0x3faf56['root'];break;case'addRootAttribute':_0x4f973c=_0x40fe33['root'];break;case'addRoot':_0x4f973c=_0x40fe33['affectedSelectable'];break;case'move':_0x4f973c=_0x40fe33['targetPosition']['root'];break;default:return null;}return _0x4f973c['rootName'];}['_updateServerHistory'](_0x1bf406){_0x1bf406['forEach'](_0x541346=>{const _0x1d6c9d=_0x541346['clone']();_0x1d6c9d['_authorId']=_0x541346['_authorId'],_0x1d6c9d['_isInit']=!!_0x541346['_isInit'],_0x1d6c9d['_aiSource']=_0x541346['_aiSource'],_0x1d6c9d['createdAt']=_0x541346['createdAt'],_0x1d6c9d['baseVersion']+=this['_offset'],_0x541346['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1d6c9d),this['serverHistory']['addOperation'](_0x1d6c9d);});}['_handleReconnectionError'](_0x5d98fd){const _0x2c97a9=this['editor']['plugins']['get']('Notification'),_0x37723b=this['editor']['locale'];_0x5d98fd||(_0x5d98fd=X(_0x37723b,'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.')),_0x2c97a9['showWarning'](_0x5d98fd,{'title':X(_0x37723b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1b1cb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1b1cb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x425350){const _0x1857f0=_0x425350['map'](_0x9f2917=>_0x9f2917['toJSON']());return this['_compressor']['compress'](_0x1857f0);}['_decompressOperations'](_0x382ad3,_0x374651){return this['_compressor']['decompress'](_0x382ad3)['map']((_0x57b512,_0x4d2f05)=>{const _0x1d413d='init'==_0x374651[_0x4d2f05]['type'];if('InsertOperation'==_0x57b512['__className']){const _0x2ec0c7=_0x57b512['position']['root'];!this['_document']['getRoot'](_0x2ec0c7)&&(this['_document']['createRoot']('$unknown',_0x2ec0c7)['_isAttached']=!0x1);}else{if('RootOperation'==_0x57b512['__className']){const _0x26a1f0=this['_document']['getRoot'](_0x57b512['rootName']);_0x26a1f0&&'$unknown'==_0x26a1f0['name']&&_0x57b512['elementName']!=_0x26a1f0['name']&&(_0x26a1f0['name']=_0x57b512['elementName']);}}const _0xe55948=_0x2de99b['fromJSON'](_0x57b512,this['_document']);return _0xe55948['wasUndone']=_0x57b512['wasUndone'],_0xe55948['_isInit']=_0x1d413d,_0xe55948['_authorId']=_0x1d413d?null:_0x374651[_0x4d2f05]['userId'],_0xe55948['_isDisconnection']='cs:removeUser'===_0x374651[_0x4d2f05]['type'],_0xe55948['_aiSource']=_0x57b512['_aiSource']||void 0x0,_0xe55948['createdAt']=_0x374651[_0x4d2f05]['createdAt'],_0xe55948;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x380254=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x380254&&_0x380254['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x49d7fa,_0x4f59f0){for(const _0x3c0951 of _0x49d7fa)_0x3c0951['baseVersion']=_0x4f59f0++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x20a7fd){this['_ignoredOperations']=_0x20a7fd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3e251a){let _0x2eb2d1=_0x3e251a['length'];for(;_0x2eb2d1--;){const _0x2531f8=_0x3e251a[_0x2eb2d1];if(!this['_ignoredOperations']['has'](_0x2531f8)){if(!this['_operationToId']['has'](_0x2531f8)){const _0x48ba52=_0x402abe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2531f8,_0x48ba52);}return this['_operationToId']['get'](_0x2531f8);}}}['setIdForTheLastOperation'](_0xe6505f,_0x3d1821){if(!_0x3d1821)return;let _0x529d06=_0xe6505f['length'];for(;_0x529d06--;){const _0x44d30a=_0xe6505f[_0x529d06];this['_ignoredOperations']['has'](_0x44d30a)||this['_operationToId']['set'](_0x44d30a,_0x3d1821);}}},nt=class extends _0xc1f62{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x49ae67{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x104468)());['_services'];static get['requires'](){return[z,_0x52ddef,Y,_0x480172];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25b041){super(_0x25b041),this['_services']=new Map();}async['init'](){const _0x358b2a=this['context'],_0xefdbdc=_0x358b2a['plugins']['get'](_0x52ddef);if(_0x358b2a['plugins']['get'](z)['addToReconnectionStack'](this),_0xefdbdc['adapter']={'addCommentThread':async({channelId:_0x47f8f4,threadId:_0x457ee2,comments:_0x11811c,resolvedAt:_0x3f5cc6,resolvedBy:_0x447c7e,context:_0x3e6b06,attributes:_0x11aa4e})=>{const _0x49d097=await this['_getService'](_0x47f8f4)['addCommentThread']({'commentThreadId':_0x457ee2,'comments':_0x11811c['map'](_0x4eaf03=>function(_0x4f224a,_0x5ce988,_0x55c5f8){return{'commentThreadId':_0x55c5f8,'commentId':_0x4f224a['commentId'],'userId':_0x4f224a['authorId'],'content':_0x4f224a['content'],'documentId':_0x5ce988,'createdAt':_0x4f224a['createdAt'],'attributes':_0x4f224a['attributes']||{}};}(_0x4eaf03,_0x47f8f4,_0x457ee2)),'resolvedAt':_0x3f5cc6,'resolvedBy':_0x447c7e,'context':_0x3e6b06,'attributes':_0x11aa4e})['catch'](ct);return{'threadId':_0x49d097['commentThreadId'],'comments':_0x49d097['comments']};},'getCommentThread':async({channelId:_0x37632a,threadId:_0x43bb5d})=>{const _0x5de18e=await this['_getService'](_0x37632a)['getCommentThread'](_0x43bb5d)['catch'](rt)['catch'](ct);return _0x5de18e?_0x5de18e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5de18e]),{'threadId':_0x5de18e['commentThreadId'],'comments':_0x5de18e['comments']['map'](at),'context':_0x5de18e['context'],'resolvedAt':_0x5de18e['resolvedAt'],'resolvedBy':_0x5de18e['resolvedBy'],'attributes':_0x5de18e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xfc5d6f,threadId:_0x279549,context:_0x4cfcfb,unlinkedAt:_0x123aa5,attributes:_0x2cbae5})=>this['_getService'](_0xfc5d6f)['updateCommentThread']({'commentThreadId':_0x279549,'context':_0x4cfcfb,'attributes':_0x2cbae5,'unlinkedAt':_0x123aa5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x167db3,threadId:_0x1f39be})=>{const _0x2cbe9e=await this['_getService'](_0x167db3)['resolveCommentThread'](_0x1f39be)['catch'](rt)['catch'](ct);return{'threadId':_0x2cbe9e['commentThreadId'],'resolvedAt':_0x2cbe9e['resolvedAt'],'resolvedBy':_0x2cbe9e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x21b042,threadId:_0x5a36e9})=>this['_getService'](_0x21b042)['reopenCommentThread'](_0x5a36e9)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3e4dc6,threadId:_0x34e8a5})=>this['_getService'](_0x3e4dc6)['removeCommentThread'](_0x34e8a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2c07df,threadId:_0x4e8b02,commentId:_0x46b4f1,content:_0x556466,attributes:_0x3c6194})=>this['_getService'](_0x2c07df)['addComment'](_0x4e8b02,_0x46b4f1,_0x556466,_0x3c6194)['catch'](ct),'updateComment':({channelId:_0x42cb16,threadId:_0x45dc13,commentId:_0x3eff2d,content:_0x5a7e6b,attributes:_0x296bae})=>this['_getService'](_0x42cb16)['updateComment'](_0x45dc13,_0x3eff2d,_0x5a7e6b,_0x296bae)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4bd5b1,threadId:_0x15be60,commentId:_0x12b8ac})=>this['_getService'](_0x4bd5b1)['removeComment'](_0x15be60,_0x12b8ac)['catch'](rt)['catch'](ct)},_0x358b2a instanceof _0x15b218){const _0x4a63da=_0x358b2a['config']['get']('collaboration.channelId'),_0x3c180c=_0x358b2a['plugins']['get'](Y);await this['_setUpService'](_0x4a63da);const _0x49071a=await this['_services']['get'](_0x4a63da)['getConnectedSessions']();this['listenTo'](_0x3c180c,'sessionAdd:'+_0x4a63da,(_0x4d9f9b,{session:_0x3b9a18})=>{_0x3b9a18['id']===_0x3c180c['mySessionId']&&(_0x4d9f9b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3b9a18['permissions'],_0x4a63da));}),_0x3c180c['register'](_0x4a63da,_0x49071a);}}async['_setUpService'](_0x2c7284){if(this['_services']['has'](_0x2c7284))throw new _0x126d14('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2c7284});const _0x112523=this['context']['plugins']['get'](_0x52ddef),_0x4de713=new CloudServicesCommentsAdapter['CommentsService'](_0x2c7284);this['_services']['set'](_0x2c7284,_0x4de713),this['listenTo'](_0x4de713,'commentThreadAdded',(_0x48c59d,_0x4ec438)=>{const {commentThreadId:_0x4c77dd,documentId:_0x134199,context:_0x7f11b2,attributes:_0xd73f98,resolvedAt:_0x4ce7f3,resolvedBy:_0x1c8bc2,comments:_0x596a97}=_0x4ec438;_0x112523['getCommentThread'](_0x4c77dd)||_0x112523['addCommentThread']({'threadId':_0x4c77dd,'channelId':_0x134199,'comments':_0x596a97?_0x596a97['map'](at):[],'context':_0x7f11b2,'attributes':_0xd73f98,'resolvedAt':_0x4ce7f3,'resolvedBy':_0x1c8bc2,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadUpdated',(_0x432a1b,{commentThreadId:_0x3ad2ca,documentId:_0x40a113,context:_0x34e4b6,unlinkedAt:_0x11b2e4,attributes:_0x52e67d})=>{_0x112523['getCommentThread'](_0x3ad2ca)&&_0x112523['updateCommentThread']({'threadId':_0x3ad2ca,'channelId':_0x40a113,'context':_0x34e4b6,'unlinkedAt':_0x11b2e4,'attributes':_0x52e67d,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadResolved',(_0x53091f,{commentThreadId:_0x33ee2d,resolvedBy:_0x16044a,resolvedAt:_0x4df069})=>{const _0x3408f2=_0x112523['getCommentThread'](_0x33ee2d);_0x3408f2&&_0x3408f2['resolve']({'resolvedBy':_0x16044a,'resolvedAt':_0x4df069,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadReopened',(_0x2fbe08,{commentThreadId:_0x248b56})=>{const _0x177e67=_0x112523['getCommentThread'](_0x248b56);_0x177e67&&_0x177e67['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadRemoved',(_0x16cb98,{commentThreadId:_0x547e1d})=>{const _0x267ad3=_0x112523['getCommentThread'](_0x547e1d);_0x267ad3&&_0x267ad3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentAdded',(_0x359373,_0x232db0)=>{const _0x119100=_0x232db0['commentThreadId'],_0x1e2702=_0x112523['getCommentThread'](_0x119100);_0x1e2702&&_0x1e2702['addComment']({...at(_0x232db0),'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentUpdated',(_0x3fbe82,{commentThreadId:_0x1ff57c,commentId:_0x58fc84,content:_0x4e9001,attributes:_0x490baa})=>{const _0x4775a4=_0x112523['getCommentThread'](_0x1ff57c);if(_0x4775a4){const _0x1a524b=_0x4775a4['getComment'](_0x58fc84);_0x1a524b&&_0x1a524b['update']({'content':_0x4e9001,'attributes':_0x490baa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4de713,'commentRemoved',(_0x12a9ca,{commentThreadId:_0x116711,commentId:_0xc696c5})=>{const _0x40ab9d=_0x112523['getCommentThread'](_0x116711);if(_0x40ab9d){const _0x543dde=_0x40ab9d['getComment'](_0xc696c5);_0x543dde&&_0x543dde['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4de713,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x2c7284),this['stopListening'](_0x4de713));}),await this['_connectService'](_0x2c7284);}['destroy'](){if(this['context']instanceof _0x15b218){const _0x15b531=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x15b531)&&this['_terminateService'](_0x15b531);}}['_terminateService'](_0x3ca66f){if(!this['_services']['has'](_0x3ca66f))throw new _0x126d14('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3ca66f});this['_getService'](_0x3ca66f)['disconnect'](),this['_services']['delete'](_0x3ca66f);}async['reconnect'](){for(const _0x8c5529 of this['_services']['keys']())await this['_connectService'](_0x8c5529);if(this['context']instanceof _0x15b218){const _0x33f3d9=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x33f3d9)){const _0x4cf64b=this['context']['plugins']['get'](Y);_0x4cf64b['unregister'](_0x33f3d9);const _0xef6a2d=await this['_services']['get'](_0x33f3d9)['getConnectedSessions']();_0x4cf64b['register'](_0x33f3d9,_0xef6a2d);}}}async['_connectService'](_0x3caaa0){const {connection:_0x3be000}=this['context']['plugins']['get'](z),_0x5a6016=this['context']['plugins']['get'](_0x52ddef),_0x6e4cf5=await this['_services']['get'](_0x3caaa0)['connect'](_0x3be000);await this['_fetchMissingUsersForThreads'](_0x6e4cf5);const _0x28f2c3=new Set(Array['from'](_0x5a6016['getCommentThreads']({'channelId':_0x3caaa0}),_0x144c2a=>_0x144c2a['id']));for(const _0x1e9457 of _0x6e4cf5)_0x1e9457['deletedAt']||_0x28f2c3['delete'](_0x1e9457['commentThreadId']);for(const _0x1ff2d8 of _0x28f2c3)_0x5a6016['getCommentThread'](_0x1ff2d8)['remove']({'isFromAdapter':!0x0});for(const _0x1da677 of _0x6e4cf5){let _0x338d69=_0x5a6016['getCommentThread'](_0x1da677['commentThreadId']);const {commentThreadId:_0x9ae8fb,context:_0x4cb3dd,attributes:_0x225cb3,resolvedBy:_0x2874ed,resolvedAt:_0x5c4e80,unlinkedAt:_0x4d2e39,deletedAt:_0x32b57f}=_0x1da677;if(_0x32b57f)continue;_0x338d69||(_0x338d69=_0x5a6016['addCommentThread']({'channelId':_0x3caaa0,'threadId':_0x9ae8fb,'context':_0x4cb3dd,'attributes':_0x225cb3||{},'resolvedBy':_0x2874ed,'resolvedAt':_0x5c4e80,'unlinkedAt':_0x4d2e39,'isFromAdapter':!0x0}));const _0x45910e=new Set(Array['from'](_0x338d69['comments'],_0x8ae1d8=>_0x8ae1d8['id']));for(const _0x7a7a8a of _0x1da677['comments'])_0x45910e['delete'](_0x7a7a8a['commentId']);for(const _0x5bd6ea of _0x45910e)_0x338d69['getComment'](_0x5bd6ea)['remove']({'isFromAdapter':!0x0});for(const _0x59b205 of _0x1da677['comments']){const _0xcacbad=_0x338d69['getComment'](_0x59b205['commentId']);_0xcacbad?_0xcacbad['content']!==_0x59b205['content']&&_0xcacbad['update']({'content':_0x59b205['content'],'isFromAdapter':!0x0}):_0x338d69['addComment'](Object['assign'](at(_0x59b205),{'isFromAdapter':!0x0}));}}}['_getService'](_0x387a19){if(!this['_services']['has'](_0x387a19))throw new _0x126d14('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x387a19});return this['_services']['get'](_0x387a19);}async['_fetchMissingUsersForThreads'](_0xfad2c7){const _0x535d0f=this['context']['plugins']['get'](_0x480172),{connection:_0x4f7007}=this['context']['plugins']['get'](z),_0x44c79a=new Set();for(const {resolvedBy:_0x500cfb,comments:_0xbbc1d2}of _0xfad2c7){_0x500cfb&&!_0x535d0f['getUser'](_0x500cfb)&&_0x44c79a['add'](_0x500cfb);for(const {userId:_0x7dff5c}of _0xbbc1d2)_0x535d0f['getUser'](_0x7dff5c)||_0x44c79a['add'](_0x7dff5c);}if(0x0===_0x44c79a['size'])return;const _0x20a757=await _0x2a3ac9['getMany'](_0x4f7007,Array['from'](_0x44c79a));for(const _0x5c01b9 of _0x20a757)_0x535d0f['getUser'](_0x5c01b9['id'])||_0x535d0f['addUser'](_0x5c01b9);}};async function rt(_0x323ada){if('404'!==_0x323ada['code'])throw _0x323ada;}function ct(_0x11f211){if((_0x5cfdf5=_0x11f211)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5cfdf5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5cfdf5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5cfdf5;throw _0x11f211;}function at(_0x47ee9b){return{'threadId':_0x47ee9b['commentThreadId'],'commentId':_0x47ee9b['commentId'],'content':_0x47ee9b['content'],'createdAt':_0x47ee9b['createdAt'],'authorId':_0x47ee9b['userId'],'attributes':_0x47ee9b['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0xc1f62{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x4a709b)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2a216b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d8ca5){super(_0x1d8ca5);const _0x2552ae=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x2552ae);}['init'](){const _0x24a4d5=this['editor']['plugins']['get'](z),_0x4ddc55=this['editor']['plugins']['get'](_0x2a216b);return _0x4ddc55['adapter']={'getSuggestion':async _0x1fcea6=>{await this['_waitForServiceReady']();const _0x635b7d=await this['_trackChangesService']['get'](_0x1fcea6)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x635b7d]),_0x635b7d;},'addSuggestion':async({id:_0x36002f,type:_0x2d0596,data:_0x1e9032,originalSuggestionId:_0x423e53,attributes:_0x4d9d22})=>{await this['_waitForServiceReady']();const _0x4f8dad={'id':_0x36002f,'type':_0x2d0596,'data':_0x1e9032,'originalSuggestionId':_0x423e53,'attributes':_0x4d9d22},_0x4b147d=await this['_trackChangesService']['add'](_0x36002f,_0x2d0596,_0x1e9032,_0x423e53,_0x4d9d22)['catch'](_0x3cb06e=>{if(dt(_0x3cb06e))return new Promise(_0x55874e=>{this['_bufferedRequests']['set'](_0x36002f,{'resolve':_0x55874e,'suggestionData':_0x4f8dad});});throw _0x3cb06e;});return this['_bufferedRequests']['delete'](_0x36002f),_0x4b147d;},'updateSuggestion':async(_0x3c2503,_0x433421)=>{if(await this['_waitForServiceReady'](),'open'!==_0x433421['state'])return this['_trackChangesService']['update'](_0x3c2503,_0x433421)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4716b7,_0x3f2053)=>{_0x4ddc55['hasSuggestion'](_0x3f2053['id'])&&(_0x4ddc55['getSuggestion'](_0x3f2053['id'])['attributes']=_0x3f2053['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x24a4d5['connection']?.['state']&&(_0x24a4d5['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x24a4d5['connection'])['then'](_0x2b003e=>(_0x24a4d5['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2b003e)['then'](()=>{for(const _0x20c79d of _0x2b003e){_0x4ddc55['addSuggestionData'](_0x20c79d)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3b4e55=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2945e9}=this['editor']['plugins']['get'](z),_0x4b8fe4=await this['_trackChangesService']['connect'](_0x2945e9);await this['_fetchMissingUsersForThreads'](_0x4b8fe4);for(const {suggestionData:_0x5c757b,resolve:_0x585843}of this['_bufferedRequests']['values']()){let _0x220336=_0x4b8fe4['find'](_0x4bf68b=>_0x4bf68b['id']===_0x5c757b['id']);_0x220336||(_0x220336=await this['_trackChangesService']['add'](_0x5c757b['id'],_0x5c757b['type'],_0x5c757b['data'],_0x5c757b['originalSuggestionId'])),_0x585843(_0x220336);}for(const _0x1d4cec of _0x4b8fe4)_0x3b4e55['hasSuggestion'](_0x1d4cec['id'])||_0x3b4e55['addSuggestionData'](_0x1d4cec);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c6d25=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4c5044=>{_0x4c5044['off'](),_0x5c6d25();});});}async['_fetchMissingUsersForThreads'](_0x2e1390){const _0x5eedeb=this['editor']['plugins']['get'](_0x480172),{connection:_0x5cc416}=this['editor']['plugins']['get'](z),_0x2fe35f=new Set();for(const {authorId:_0x55aa76}of _0x2e1390)_0x5eedeb['getUser'](_0x55aa76)||_0x2fe35f['add'](_0x55aa76);if(0x0===_0x2fe35f['size'])return;const _0x1a15a8=await _0x2a3ac9['getMany'](_0x5cc416,Array['from'](_0x2fe35f));for(const _0x2212f0 of _0x1a15a8)_0x5eedeb['getUser'](_0x2212f0['id'])||_0x5eedeb['addUser'](_0x2212f0);}};function lt(_0x1b32a0){if(dt(_0x1b32a0))return new Promise(()=>{});throw _0x1b32a0;}function dt(_0x1accc6){return _0x1accc6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1accc6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0xc1f62{static get['requires'](){return[_0x14a994,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe8b50f=this['editor']['plugins']['get'](z),_0x4539c4=this['editor']['plugins']['get'](_0x3afc4e),_0x2fcea7=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xe8b50f,'change:state',(_0x445375,_0x3a5fb1,_0x5c05a8)=>{_0x4539c4['isThreadsLoadingPaused']='connected'!==_0x5c05a8;});}),this['listenTo'](_0xe8b50f,'change:state',(_0x11c0bb,_0x3bab34,_0x156e6b)=>{this['editor']['plugins']['get'](_0x52ddef)['switchReadOnly']('connected'!==_0x156e6b);}),_0x2fcea7['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x2f7019=this['editor']['plugins']['get'](ot),_0x1daec1=this['editor']['config']['get']('collaboration.channelId');_0x2f7019['_services']['has'](_0x1daec1)&&_0x2f7019['_terminateService'](_0x1daec1),super['destroy']();}},ft=class extends _0xc1f62{static get['requires'](){return[ut,ht,_0x417533];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0xc1f62{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4da89c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1e3875,Y,_0x480172];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1fe190){super(_0x1fe190);const _0x4f6c24=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4f6c24);}async['init'](){const _0x58d0b9=this['editor']['plugins']['get'](tt),_0x38709e=_0x58d0b9['serverHistory'],_0x619a8a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x38709e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x58d0b9['sessionId']});const _0x374117=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2b5982,_0x1c4078=await _0x3d091d['isBundleUploaded'](_0x619a8a['connection'],_0x374117);this['editor']['plugins']['get'](_0x1e3875)['adapter']={'getRevision':async({revisionId:_0x51e8e3})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x51e8e3)),'updateRevisions':async _0x174aef=>{await this['_waitForServiceReady']();const _0x185ecb=this['_revisionTracker']['currentRevision'];if(_0x1c4078&&0x1===_0x174aef['length']&&_0x174aef[0x0]['id']===_0x185ecb['id'])return _0x174aef;for(const _0x468cae of _0x174aef)_0x468cae['id']===_0x185ecb['id']&&(_0x468cae['isEmptyCurrent']=_0x468cae['fromVersion']===_0x468cae['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x174aef,this['_lastRequestId'])['then'](_0x25ee77=>(this['_lastRequestId']=_0x25ee77,_0x174aef))['catch'](_0x4abb8e=>{if(pt(_0x4abb8e)||'400'===_0x4abb8e['code']&&void 0x0!==_0x4abb8e['data']['wrongRequestId']){for(const _0x49571e of _0x174aef)this['_revisionTracker']['repository']['getRevision'](_0x49571e['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x49571e['id'],_0x49571e,!0x1);if(pt(_0x4abb8e)&&'destroyed'!==this['editor']['state'])throw _0x4abb8e;return _0x174aef;}throw _0x4abb8e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xdaabd5,{revisionsData:_0x3d56e8,requestId:_0x35dacb})=>{Math['max'](..._0x3d56e8['map'](_0x59af2f=>_0x59af2f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3d56e8,_0x35dacb);}):this['_handleRevisionsUpdate'](_0x3d56e8,_0x35dacb);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x619a8a['connection']?.['state']&&(_0x619a8a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x115f3f,requestId:_0xe08a70}=await this['_revisionHistoryService']['connect'](_0x619a8a['connection']);_0x619a8a['addToReconnectionStack'](this),this['_lastRequestId']=_0xe08a70,await this['_fetchMissingUsers'](_0x115f3f);for(const _0x4e83d2 of _0x115f3f)this['_revisionTracker']['addRevisionData'](_0x4e83d2);this['listenTo'](_0x58d0b9,'change:_isConnected',(_0xfcb72f,_0xdeaddd,_0x195a7f)=>{_0x195a7f&&(this['_oldOffset']=_0x58d0b9['_offset'],_0xfcb72f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x17190c=this['editor']['plugins']['get'](z),_0x158e90=this['editor']['plugins']['get'](tt),_0x399870=async()=>{const _0x2f4056=this['_revisionTracker']['currentRevision'],_0x6511d1=_0x2f4056['id'],_0x4829b4=_0x6511d1!==_0x158e90['sessionId'];if(_0x4829b4){const _0x597748=_0x158e90['_offset']-this['_oldOffset'],_0x3d2eff=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x2f4056['toVersion']+_0x597748!==_0x3d2eff){const _0x291bc9=_0x2f4056['fromVersion']+_0x597748,_0x34e6d6=this['editor']['plugins']['get'](_0x480172),_0x28f1f3=this['_revisionTracker']['buildRevisionData']({'revision':_0x2f4056,'from':_0x291bc9,'to':_0x3d2eff});_0x28f1f3['id']=_0x2f4056['id'];const _0x33b9fa=_0x28f1f3['authorsIds']['map'](_0x3fb568=>_0x34e6d6['getUser'](_0x3fb568));_0x2f4056['_update']({..._0x28f1f3,'authors':_0x33b9fa},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2f4056['id'],_0x28f1f3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d2eff,_0x2f4056['toVersion']!==_0x2f4056['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x6511d1)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x6511d1),this['_revisionTracker']['_createCurrentRevision'](_0x3d2eff);}const {revisions:_0x246782,requestId:_0x264307}=await this['_revisionHistoryService']['reconnect'](_0x17190c['connection'],this['_lastRequestId']);_0x4829b4&&_0x246782['length']>0x0?_0x158e90['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x246782),this['_handleRevisionsUpdate'](_0x246782,_0x264307),this['_revisionTracker']['sendBufferedUpdates']());};return _0x158e90['_isConnected']?_0x399870():new Promise((_0x41bae3,_0x5d5e6f)=>{_0x158e90['once']('change:_isConnected',()=>{_0x399870()['then'](_0x41bae3)['catch'](_0x5d5e6f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4b9f3f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x37476c=>{_0x37476c['off'](),_0x4b9f3f();});});}['_getLatestVersionFromServerOperations'](){const _0x2e73c8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4a4d16 of _0x2e73c8)if('marker'!==_0x4a4d16['type']||_0x4a4d16['affectsData'])return _0x4a4d16['baseVersion']+0x1;}['_getLatestVersion'](){const _0x10073c=this['editor']['plugins']['get'](tt);return new Promise(_0x3664d2=>{_0x10073c['_isPendingUpdate']?_0x10073c['once']('change:_isPendingUpdate',()=>{_0x3664d2(this['_getLatestVersionFromServerOperations']());}):_0x3664d2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x9b0b98,_0x2ba7c1){const _0x33d7f9=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2ba7c1;for(const _0x52e0f2 of _0x9b0b98){const _0x1a5052=_0x33d7f9['getRevision'](_0x52e0f2['id']);if(_0x1a5052){if((_0x52e0f2['fromVersion']||_0x52e0f2['toVersion'])&&(_0x52e0f2['diffData']=null),_0x1a5052===this['_revisionTracker']['currentRevision']){const _0x5c18b7=Math['max'](_0x1a5052['toVersion'],_0x52e0f2['toVersion']),_0x39cde8=Math['max'](_0x1a5052['fromVersion'],_0x52e0f2['fromVersion']);let _0x344f40;_0x1a5052['toVersion']===_0x52e0f2['toVersion']&&_0x1a5052['fromVersion']===_0x52e0f2['fromVersion']?(_0x344f40=!0x0,this['_preventResendingRevisionData'](_0x52e0f2)):_0x52e0f2['toVersion']===_0x5c18b7&&_0x52e0f2['fromVersion']===_0x39cde8?_0x344f40=!0x1:(_0x1a5052['toVersion']===_0x5c18b7&&_0x1a5052['fromVersion']===_0x39cde8||this['_fixRevision']({'revision':_0x1a5052,'from':_0x39cde8,'to':_0x5c18b7}),_0x344f40=!0x0),_0x344f40&&(delete _0x52e0f2['fromVersion'],delete _0x52e0f2['toVersion'],delete _0x52e0f2['diffData'],delete _0x52e0f2['createdAt'],delete _0x52e0f2['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x52e0f2),this['_preventResendingRevisionData'](_0x52e0f2);}else this['_revisionTracker']['addRevisionData'](_0x52e0f2);}const _0x51bd47=_0x33d7f9['getRevisions']();_0x51bd47['reverse']();for(let _0x203e05=0x0;_0x203e05<_0x51bd47['length']-0x1;_0x203e05++){const _0x128018=_0x51bd47[_0x203e05],_0x1c1374=_0x51bd47[_0x203e05+0x1];if(_0x128018['fromVersion']<_0x1c1374['toVersion']){const _0x143b13=_0x1c1374['toVersion'],_0x5134b9=Math['max'](_0x143b13,_0x128018['toVersion']);this['_fixRevision']({'revision':_0x128018,'from':_0x143b13,'to':_0x5134b9});}}}['_fixRevision']({revision:_0xdb07e4,from:_0x2cbc6b,to:_0xf314dc}={}){const _0x552ec0=this['editor']['plugins']['get'](_0x480172),_0x3023bf=this['_revisionTracker']['buildRevisionData']({'revision':_0xdb07e4,'from':_0x2cbc6b,'to':_0xf314dc});_0x3023bf['authors']=_0x3023bf['authorsIds']['map'](_0x4d6d3b=>_0x552ec0['getUser'](_0x4d6d3b)),_0xdb07e4['_update'](_0x3023bf);}['_preventResendingRevisionData'](_0x901e9f){const _0x3039b3={};_0x3039b3['id']=_0x901e9f['id'];for(const _0x5c1c0c of Object['keys'](_0x901e9f))'id'!==_0x5c1c0c&&(_0x3039b3[_0x5c1c0c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3039b3['id'],_0x3039b3,!0x0);}async['_fetchMissingUsers'](_0x571b8f){const _0x1ea1d8=this['editor']['plugins']['get'](_0x480172),{connection:_0x4d4950}=this['editor']['plugins']['get'](z),_0x280abf=new Set();for(const _0x1e9eaf of _0x571b8f){for(const _0x2d92f1 of _0x1e9eaf['authorsIds'])_0x44b261(_0x2d92f1);_0x1e9eaf['creatorId']&&_0x44b261(_0x1e9eaf['creatorId']);}if(0x0===_0x280abf['size'])return;const _0x27f707=await _0x2a3ac9['getMany'](_0x4d4950,Array['from'](_0x280abf));for(const _0xcf4924 of _0x27f707)_0x1ea1d8['getUser'](_0xcf4924['id'])||_0x1ea1d8['addUser'](_0xcf4924);function _0x44b261(_0x733438){_0x1ea1d8['getUser'](_0x733438)||_0x280abf['add'](_0x733438);}}};function pt(_0x31a495){return _0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0xc1f62{static get['requires'](){return[_0x1e3875,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x48174d{['_collapseAt'];constructor(_0x1cfc31,_0x4502ba=0x6){super(_0x1cfc31);const _0x3e549c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4502ba,this['bind']('isHidden')['to'](this,'usersCount',_0x1c1854=>_0x1c1854<_0x4502ba),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3e549c['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':_0x3e549c['to']('usersCount',_0x166f4a=>'+'+(_0x166f4a-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x48174d{['items'];['keystrokes'];constructor(_0x2da826){super(_0x2da826);const _0x220251=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x6ca5cf(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x220251['if']('hasPopup'),'aria-expanded':_0x220251['to']('isExpanded',_0x370f7f=>this['hasPopup']&&String(_0x370f7f)),'aria-label':_0x220251['to']('hasPopup',_0xf20fc6=>X(_0x2da826,_0xf20fc6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x220251['to']('hasPopup',_0x3b8114=>!!_0x3b8114&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x220251['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x220251['to'](_0x580a42=>{const _0x48b0b4=_0x580a42,_0x33420d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x21b7d8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x33420d?.['contains'](_0x48b0b4['relatedTarget'])||_0x21b7d8?.['contains'](_0x48b0b4['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3f279b,_0x3006e1,_0x330f33)=>{this['element']&&(_0x330f33?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x48174d{['counterView'];['inlineListView'];constructor(_0x168be6,_0x4f620a=0x6){super(_0x168be6);const _0x58c06a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4f620a),this['inlineListView']=new vt(_0x168be6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x463a80 of this['inlineListView']['items'])_0x463a80['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',_0x58c06a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x48174d{['listWrapperView'];constructor(_0x58f2f9,_0x17b015){super(_0x58f2f9);const _0x46acac=this['bindTemplate'];this['listWrapperView']=new bt(_0x58f2f9,_0x17b015),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x58f2f9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x46acac['to'](_0x19bca7=>{const _0x4ba6d0=_0x19bca7,_0x2c22d1=document['querySelector']('.ck-presence-list__list'),_0x236986=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2c22d1?.['contains'](_0x4ba6d0['relatedTarget'])||_0x236986?.['contains'](_0x4ba6d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x11c7db{constructor(_0x2812f2,_0x5b7f07){super(_0x2812f2);const _0x3671be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5b7f07?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3671be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3671be['to']('role'),'aria-label':_0x3671be['to']('ariaLabel'),'aria-labelledby':_0x3671be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d533['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x14e43c=this['element'];_0x14e43c&&(this['_isScrollable']=Math['max'](_0x14e43c['scrollHeight'],_0x14e43c['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x155146{['userView'];constructor(_0x1f863f,_0x904755,_0x22fe22){super(_0x1f863f);const _0x9a9b69=this['bindTemplate'];this['userView']=new _0x1465af(_0x1f863f,_0x904755);const _0x34050e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x904755['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x904755['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x904755['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x904755['color']['getColorVariable'](),'--ck-user-color-alpha':_0x904755['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x22fe22&&(_0x34050e['tag']='button',_0x34050e['on']={'click':_0x9a9b69['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x34050e);}['focus'](){this['element']['focus']();}},It=class extends _0x48174d{['userView'];['markerView'];constructor(_0x433f37,_0x46901e,_0x5470db){super(_0x433f37);const _0x255bba=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x1465af(_0x433f37,_0x46901e),this['markerView']=new St(_0x433f37,_0x46901e);const _0x9385ce=new _0x47278a(_0x433f37);_0x9385ce['template']['tag']='span',_0x9385ce['text']=_0x46901e['name'];const _0x4c775c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x255bba['to']('isFocusable',_0x591117=>!!_0x591117&&0x0),'aria-labelledby':_0x9385ce['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x255bba['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x255bba['to']('hasTooltip',_0x2f96ef=>!_0x2f96ef),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x9385ce]};_0x5470db&&(_0x4c775c['tag']='button',_0x4c775c['on']={'click':_0x255bba['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4c775c);}},St=class extends _0x48174d{constructor(_0x54a1ee,_0x2b9af5){super(_0x54a1ee),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2b9af5['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2b9af5['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2b9af5['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x49ae67{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362b01){super(_0x362b01),this['context']['config']['define']('presenceList',Tt);const _0x5dbc92=_0x362b01['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5dbc92)throw new _0x126d14('presencelist-collapseat-invalid-format',this);if(_0x5dbc92<0x1)throw new _0x126d14('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1a035a(),this['balloonPanelView']=new _0x5cb958(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x4519ab of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4519ab);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1e488f,_0x54600b)=>{this['_handleUserAdd'](_0x54600b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2f4cdc,_0x364494)=>{this['_handleUserRemove'](_0x364494);});}['_createView'](){const _0x584f53=this['context'],_0x4df612=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x224f49=this['balloonPanelView'];if(!_0x12ce62(_0x584f53['config']['get']('presenceList.container')))throw new _0x126d14('presencelist-missing-container',this);return _0x4df612['counterView']['bind']('usersCount')['to'](this),_0x4df612['bind']('isCollapsed')['to'](this,'usersCount',_0x38fbd4=>{const {collapseAt:_0x185a45}=_0x584f53['config']['get']('presenceList'),_0x207a55=_0x38fbd4>=_0x185a45;if(_0x207a55&&!_0x4df612['inlineListView']['items']['find'](_0x70a5a2=>_0x70a5a2 instanceof wt)){const _0x3102e1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3102e1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4df612['inlineListView']['items']['add'](_0x4df612['counterView']);}return _0x207a55||this['hideDropdown'](),_0x207a55;}),_0x4df612['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1c17c5=>{const _0x400453=_0x584f53['config']['get']('presenceList'),_0x4c886c=new It(_0x584f53['locale'],_0x1c17c5,!!_0x400453['onClick']);return _0x4c886c['bind']('hasTooltip')['to'](_0x4df612,'isCollapsed',_0xe4cb31=>!_0xe4cb31),_0x4c886c['bind']('isFocusable')['to'](_0x4df612,'isCollapsed',_0x54acea=>!_0x54acea),_0x400453['onClick']&&this['listenTo'](_0x4c886c,'execute',()=>{this['view']['isCollapsed']||_0x400453['onClick'](_0x1c17c5,_0x4c886c['element']);}),_0x4c886c;}),this['listenTo'](_0x4df612['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4df612['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4df612['inlineListView']['keystrokes']['set']('Enter',(_0x2d55ea,_0x3902de)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3902de());}),_0x4df612['render'](),_0x224f49['render'](),_0xcd0fcf({'emitter':_0x4df612,'activator':()=>_0x224f49['isVisible'],'contextElements':[_0x224f49['element'],_0x4df612['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x584f53['config']['get']('presenceList.container')['appendChild'](_0x4df612['element']),this['_bodyCollection']=new _0xafa5b4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4df612;}['_handleUserAdd'](_0x2ee482){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2ee482['isMe'])return;const _0x1adca0=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1adca0-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x36317e=_0x2ee482['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2ee482,_0x36317e);}['_handleUserRemove'](_0x4fa5f0){this['usersCount']--;const {collapseAt:_0x4e02c3}=this['context']['config']['get']('presenceList'),_0x221cf8=this['usersCount']>=_0x4e02c3;if(this['currentDisplayedUsers']['get'](_0x4fa5f0['id']))this['currentDisplayedUsers']['remove'](_0x4fa5f0['id']);else{if(_0x221cf8&&this['currentDisplayedUsers']['length']+0x1===_0x4e02c3-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x221cf8?0x1:0x0)<this['usersCount']){for(const _0x141e2a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x141e2a['id'])&&(this['currentDisplayedUsers']['add'](_0x141e2a,Math['min'](this['currentDisplayedUsers']['length']-(_0x221cf8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x221cf8?0x1:0x0)===_0x4e02c3-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x42f835=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x42f835['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x35314d}=this['presenceDropdownView'];_0x35314d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x260e09=>{if(!_0x42f835['displayMe']&&_0x260e09['isMe'])return null;const _0x37e1de=new kt(this['context']['locale'],_0x260e09,!!_0x42f835['onClick']);return _0x42f835['onClick']&&this['listenTo'](_0x37e1de,'execute',()=>{_0x42f835['onClick'](_0x260e09,_0x37e1de['element']);}),_0x37e1de;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x35314d['focus'](),_0x35314d['checkIfScrollable']();const _0x201187=(_0x2ed547,_0x12ea4d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x12ea4d();};_0x35314d['keystrokes']['set']('Esc',_0x201187),_0x35314d['keystrokes']['set']('Shift+Tab',_0x201187),_0x35314d['keystrokes']['set']('Tab',(_0x167d35,_0x34d449)=>{!function(_0x55351f){const _0x3900c5=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x469877=>_0x469877+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4f5c94=[...document['body']['querySelectorAll'](_0x3900c5)]['filter'](_0x6ff53a=>_0x6ff53a===document['activeElement']||_0x6ff53a['offsetWidth']+_0x6ff53a['offsetHeight']>0x0)['sort']((_0x23eef1,_0x336c50)=>(_0x23eef1['tabIndex']||0x0)-(_0x336c50['tabIndex']||0x0)),_0xf9d8a8=_0x4f5c94[(_0x4f5c94['indexOf'](_0x55351f)+0x1)%_0x4f5c94['length']];_0xf9d8a8&&_0xf9d8a8['focus']();}(this['view']['element']),this['hideDropdown'](),_0x34d449();}),_0x35314d['focusTracker']['add'](this['view']['element']),_0x35314d['focusTracker']['on']('change:isFocused',(_0x6b178c,_0x5015c9,_0x5daa50)=>{_0x5daa50||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x49ae67{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x40150f,ContextPlugin as _0x1b8d8d,PendingActions as _0x308caf,Plugin as _0x198537}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x470142,Collection as _0x19921a,DomEmitterMixin as _0x188623,KeystrokeHandler as _0x2be03b,global as _0x1a9e1f,uid as _0x4ff846,version as _0x6ba88b}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x5157c9,BodyCollection as _0x5cfc09,LabelView as _0x305df9,ListItemView as _0x216f28,ListView as _0x3bbda9,Notification as _0x4b7247,View as _0x3c9057,clickOutsideHandler as _0x258569}from'@ckeditor/ckeditor5-ui';import{History as _0x402f9e,InsertOperation as _0x17d254,MarkerOperation as _0x573d35,ModelLiveRange as _0x267371,NoOperation as _0x1bd6a0,OperationFactory as _0x565114,RootAttributeOperation as _0x3ea597,transformOperationSets as _0x117acd}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1297af}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x5a4319,CommentsService as _0x26b101,EditorService as _0x360e87,RevisionHistoryService as _0x4f20e5,TrackChangesService as _0x3c1634,User as _0xfaa43,WEB_SOCKET_GATEWAY_STATES as _0x3d94fb,WebSocketGateway as _0x9624bb}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x484af1,Users as _0x452795}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x1daf1d}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x165a37,TrackChangesEditing as _0x39fbf8}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x19436d,CommentsEditing as _0x520bc4,CommentsRepository as _0x2d3c83}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x22abf6}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x4afda6}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x1b8d8d{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x9624bb)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x1297af,_0x4b7247];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x411921){super(_0x411921),this['set']('state',_0x3d94fb['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x188623())();}init(){const _0x282393=this['context'],_0x57d2c9=_0x282393['plugins']['get'](_0x1297af),_0xc91f3e=_0x282393['plugins']['get'](_0x4b7247);if(!_0x57d2c9['token'])throw new _0x470142('websocketgateway-missing-token',this);if(!_0x57d2c9['webSocketUrl'])throw new _0x470142('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'](_0x57d2c9['token'],_0x57d2c9['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x53de42=>{if(this['connection']=_0x53de42,this['bind']('state')['to'](_0x53de42,'state',this,'_isBrowserOffline',(_0x15c130,_0x1c6972)=>('connected'!==_0x15c130&&(this['_shouldPluginsReconnect']=!0x0),_0x1c6972||_0x15c130!==_0x3d94fb['CONNECTED']?_0x3d94fb['DISCONNECTED']:this['state']==_0x3d94fb['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3d94fb['CONNECTING']):_0x3d94fb['CONNECTED'])),this['connection']['on']('error',(_0x2880b7,_0x52ee63)=>{if('limitExceeded'!==_0x52ee63['code'])throw console['error'](_0x52ee63),new _0x470142('cloudservices-init',null,{'originalError':_0x52ee63});_0xc91f3e['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'});}),!_0x53de42['me'])return new Promise(_0x16e768=>_0x53de42['on']('change:me',_0x16e768));})['catch'](_0x4c5454=>{throw console['error'](_0x4c5454),new _0x470142('cloudservices-init',null,{'originalError':_0x4c5454});});}addToReconnectionStack(_0x3454db){if('function'!=typeof _0x3454db['reconnect'])throw new _0x470142('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3454db))throw new _0x470142('websocketgateway-plugin-already-registered',this,{'name':_0x3454db['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3454db);}removeFromReconnectionStack(_0x19337f){this['_reconnectionStack']['delete'](_0x19337f);}isInReconnectionStack(_0x3b3f41){return this['_reconnectionStack']['has'](_0x3b3f41);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59fd78=>_0x59fd78['reconnect']())))['then'](()=>this['state']=_0x3d94fb['CONNECTED'])['catch'](_0x17c282=>{throw console['error'](_0x17c282),new _0x470142('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3d94fb['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x1b8d8d{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x452795];}constructor(_0x56cccf){super(_0x56cccf),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x19921a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x452795);}init(){const _0x1a9a8c=this['context']['plugins']['get'](z);this['listenTo'](_0x1a9a8c,'change:state',(_0x119633,_0x5d9f94,_0x392e53)=>{if('connected'!==_0x392e53)this['channelSessions']['forEach'](_0x4cf1c7=>_0x4cf1c7['clear']()),this['channelConnectedUsers']['forEach'](_0x56800f=>_0x56800f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4a361b,_0x567846]of this['_registeredSessions'])for(const _0x1f1cee of _0x567846)this['_handleSessionAdd'](_0x4a361b,_0x1f1cee);}}),this['_createUser'](_0x1a9a8c['connection']['me'],!0x0);}register(_0x1b99b6,_0x4ee935){if(this['_registeredSessions']['has'](_0x1b99b6))throw new _0x470142('sessions-register-already-registered',null,{'channelId':_0x1b99b6});this['_registeredSessions']['set'](_0x1b99b6,_0x4ee935),this['channelSessions']['set'](_0x1b99b6,new _0x19921a()),this['channelConnectedUsers']['set'](_0x1b99b6,new _0x19921a()),this['listenTo'](_0x4ee935,'add',(_0x30078d,_0x1d22b0)=>this['_handleSessionAdd'](_0x1b99b6,_0x1d22b0)),this['listenTo'](_0x4ee935,'remove',(_0x1820ee,_0x23c2fd)=>this['_handleSessionRemove'](_0x1b99b6,_0x23c2fd));for(const _0x4032aa of _0x4ee935)this['_handleSessionAdd'](_0x1b99b6,_0x4032aa);}unregister(_0x4eba44){if(!this['_registeredSessions']['has'](_0x4eba44))throw new _0x470142('sessions-unregister-not-exist',null,{'channelId':_0x4eba44});const _0x54af09=this['_registeredSessions']['get'](_0x4eba44);this['stopListening'](_0x54af09);for(const _0x26a3bd of _0x54af09)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x4eba44,_0x26a3bd);this['_registeredSessions']['delete'](_0x4eba44),this['channelSessions']['delete'](_0x4eba44),this['channelConnectedUsers']['delete'](_0x4eba44);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x2545c1){for(const _0x293257 of this['channelSessions']['values']())for(const _0x1a9ce8 of _0x293257)if(_0x1a9ce8['id']===_0x2545c1)return _0x1a9ce8['user'];}getUserSessions(_0x18a958,_0x22f590){const _0x148c68=_0x22f590?[this['channelSessions']['get'](_0x22f590)]:this['channelSessions']['values'](),_0x205af5=new Set();for(const _0x4050fd of _0x148c68)for(const _0x383649 of _0x4050fd)_0x383649['user']['id']===_0x18a958['id']&&_0x205af5['add'](_0x383649['id']);return _0x205af5;}getUserRole(_0x1d8a2a){for(const _0x2423fa of this['channelSessions']['values']())for(const _0x1da008 of _0x2423fa)if(_0x1da008['user']===_0x1d8a2a)return _0x1da008['role'];}['_handleSessionAdd'](_0x2c4070,_0x57560a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e787b=_0x57560a['user'],_0x17a59b=this['_users']['getUser'](_0x5e787b['id'])||this['_createUser'](_0x5e787b),_0x17de86=Object['assign']({},_0x57560a,{'user':_0x17a59b});if(this['channelSessions']['get'](_0x2c4070)['add'](_0x17de86),!_0x5e787b['hiddenInPresenceList']){const _0x319936=this['channelConnectedUsers']['get'](_0x2c4070);_0x319936['has'](_0x17a59b['id'])||_0x319936['add'](_0x17a59b),this['allConnectedUsers']['has'](_0x17a59b['id'])||_0x5e787b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x17a59b,_0x17a59b['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2c4070,{'channelId':_0x2c4070,'session':_0x17de86});}['_handleSessionRemove'](_0x3d92bd,_0x5d6200){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x45a67a=this['channelConnectedUsers']['get'](_0x3d92bd),_0xb03e4d=_0x5d6200['user'];_0xb03e4d['id']&&(this['channelSessions']['get'](_0x3d92bd)['remove'](_0x5d6200['id']),_0x45a67a['has'](_0xb03e4d['id'])&&!this['getUserSessions'](_0xb03e4d,_0x3d92bd)['size']&&_0x45a67a['remove'](_0xb03e4d['id']),this['allConnectedUsers']['get'](_0xb03e4d['id'])&&!this['getUserSessions'](_0xb03e4d)['size']&&this['allConnectedUsers']['remove'](_0xb03e4d['id']));}_createUser(_0x42b80e,_0x4d2204){const _0xc3b74a=this['_users']['addUser'](_0x42b80e);return _0x4d2204&&this['_users']['defineMe'](_0x42b80e['id']),_0xc3b74a['orderNumber']=this['_uniqueUsersCount']++,_0xc3b74a;}},K=class extends _0x198537{_domEmitter=new(_0x188623())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3f82e2=this['editor'],_0x2313db=_0x3f82e2['plugins']['get'](Y);_0x3f82e2['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x257ba9,{writer:_0x284b19})=>function(_0x4e4207,_0xd2e64b,_0x281b78,_0x464a6e){const _0x1a062e=_0x4e4207['markerName']['split'](':')[0x2],_0xb8afa0=_0x281b78['getUserBySessionId'](_0x1a062e);if(!_0xb8afa0||_0x1a062e===_0x281b78['mySessionId'])return;if(!_0x464a6e['model']['schema']['checkChild'](_0x4e4207['markerRange']['start'],'$text'))return;const _0x16ac52={'class':'ck-user__marker\x20'+_0xb8afa0['color']['getMarkerClass'](),'style':Q(_0xb8afa0),'data-name':_0xb8afa0['name'],'data-session-id':_0x1a062e},_0x2c3765=_0x464a6e['model']['markers']['get'](_0x4e4207['markerName'])['getStart'](),_0x350715=_0x2c3765['nodeAfter'],_0x14b7f9=_0x464a6e['model']['schema'];if(_0x350715&&_0x14b7f9['isObject'](_0x350715)&&_0x14b7f9['isInline'](_0x350715)&&!_0x464a6e['model']['markers']['get']('user:range:'+_0x1a062e)['getRange']()['isCollapsed'])return;const _0x2b151d=_0x2c3765['parent'];return _0x464a6e['model']['schema']['isLimit'](_0x2b151d)&&!_0x464a6e['model']['hasContent'](_0x2b151d)&&(_0x16ac52['contenteditable']=!0x1),function(_0x32a942,_0x5d9c25,_0x26a6fc){const _0x2cde49=_0x32a942['createUIElement']('span',_0x5d9c25);return _0x32a942['setCustomProperty']('userPositionMarker',!0x0,_0x2cde49),_0x2cde49['render']=function(_0x201d89){const _0x183a46=this['toDomElement'](_0x201d89),_0x37599d=document['createElement']('span');return _0x37599d['classList']['add']('ck-user__marker-tooltip'),_0x37599d['setAttribute']('contenteditable','false'),_0x37599d['setAttribute']('spellcheck','false'),_0x37599d['textContent']=_0x26a6fc['name'],_0x183a46['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x37599d['outerHTML']+'⁠',_0x183a46['addEventListener']('mouseenter',()=>{_0x183a46['classList']['add']('ck-user__marker_hovered');}),_0x183a46['addEventListener']('mouseleave',()=>{_0x183a46['classList']['remove']('ck-user__marker_hovered');}),_0x183a46;},_0x2cde49['isSimilar']=function(_0xab327){return!(!this['getCustomProperty']('userPositionMarker')||!_0xab327['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xab327['getAttribute']('data-session-id'));},_0x2cde49;}(_0xd2e64b,_0x16ac52,_0xb8afa0);}(_0x257ba9,_0x284b19,_0x2313db,_0x3f82e2)}),_0x3f82e2['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3cd5d2=>function(_0x54b663,_0x1c961d){const _0xf18cf8=_0x54b663['markerName']['split'](':')[0x2];if(_0xf18cf8===_0x1c961d['mySessionId'])return null;const _0x4db49f=_0x1c961d['getUserBySessionId'](_0xf18cf8);return _0x4db49f?{'id':_0xf18cf8,'classes':['ck-user__selection',_0x4db49f['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4db49f),'data-session-id':_0xf18cf8},'priority':0x7d0+_0x4db49f['orderNumber']}:{'id':_0xf18cf8,'classes':[]};}(_0x3cd5d2,_0x2313db)}),function(_0x87b138){const _0x2c8b22=_0x87b138['model'],_0x5403b8=new Map(),_0x4906c4=_0x87b138['plugins']['get'](Y);_0x2c8b22['markers']['on']('update:user:range',(_0x329b03,_0x299f18,_0x4fc0ad,_0x260025)=>{if(!_0x260025&&_0x5403b8['get'](_0x299f18['name']))return _0x5403b8['get'](_0x299f18['name'])['detach'](),void _0x5403b8['delete'](_0x299f18['name']);const _0x25a5f0=_0x299f18['name']['split'](':')[0x2];if(_0x25a5f0===_0x4906c4['mySessionId'])return;const _0x393258='user:position:'+_0x25a5f0;_0x2c8b22['markers']['has'](_0x393258)&&_0x87b138['editing']['reconvertMarker'](_0x393258),_0x299f18['on']('change:range',(_0x1efb3a,_0x109d88,_0x3a1b34)=>{if('$graveyard'!=_0x109d88['root']['rootName']&&'$graveyard'==_0x299f18['getRange']()['root']['rootName']&&!_0x5403b8['has'](_0x299f18['name'])){const _0x283fac=_0x2c8b22['schema']['getNearestSelectionRange'](_0x3a1b34['deletionPosition']);if(_0x283fac){const _0x46e623=_0x267371['fromRange'](_0x283fac);_0x5403b8['set'](_0x299f18['name'],_0x46e623),_0x46e623['on']('change:range',(_0x3e027a,_0x12adea,_0xfa73d6)=>{if('$graveyard'==_0x46e623['root']['rootName']){const _0x4b769d=_0x2c8b22['schema']['getNearestSelectionRange'](_0xfa73d6['deletionPosition']);_0x4b769d?(_0x46e623['start']=_0x4b769d['start'],_0x46e623['end']=_0x4b769d['end']):(_0x5403b8['delete'](_0x299f18['name']),_0x46e623['detach']());}});}}});}),_0x2c8b22['document']['on']('change',()=>{_0x5403b8['size']>0x0&&_0x2c8b22['enqueueChange']({'isUndoable':!0x1},_0x432149=>{for(const [_0x154e77,_0x20dc0f]of _0x5403b8)'$graveyard'==_0x2c8b22['markers']['get'](_0x154e77)['getRange']()['root']['rootName']&&(J(_0x154e77['split'](':')[0x2],_0x20dc0f['toRange'](),_0x2c8b22,_0x432149),_0x20dc0f['detach']());_0x5403b8['clear']();});});}(_0x3f82e2),this['_domEmitter']['listenTo'](_0x1a9e1f['document'],'keydown',(_0x472df1,{key:_0x5581d8})=>{'Escape'===_0x5581d8&&function(_0x4f5b6d){_0x4f5b6d['editing']['view']['change'](_0x49cf70=>{for(const _0x58857c of _0x4f5b6d['model']['markers']){if(!_0x58857c['name']['startsWith']('user:position'))continue;const _0x19b667=_0x4f5b6d['editing']['mapper']['markerNameToElements'](_0x58857c['name']);if(_0x19b667){for(const _0x578607 of _0x19b667)_0x49cf70['removeClass']('ck-user__marker_hovered',_0x578607);}}});}(_0x3f82e2);},{'useCapture':!0x0});}afterInit(){const _0x2af7e9=this['editor'],_0x92d534=_0x2af7e9['commands']['get']('undo');_0x92d534&&_0x2af7e9['model']['on']('applyOperation',(_0x4f53ba,_0x594479)=>{const _0x2c865f=_0x594479[0x0];if(!_0x2c865f['isDocumentOperation'])return;if('marker'!=_0x2c865f['type']||!_0x2c865f['name']['startsWith']('user:'))return;const _0x1c7df9=_0x2c865f['batch'];_0x92d534['_createdBatches']['has'](_0x1c7df9)&&(_0x2c865f['newRange']=_0x2c865f['oldRange']?_0x2af7e9['model']['createRange'](_0x2c865f['oldRange']['start'],_0x2c865f['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x49260f=this['editor'],_0x2f561c=_0x49260f['model']['document'],_0x5b1729=_0x49260f['plugins']['get'](Y);_0x49260f['model']['enqueueChange']({'isUndoable':!0x1},_0x3bb41b=>{const _0x249f24='user:range:'+_0x5b1729['mySessionId'],_0x2e8a33='user:position:'+_0x5b1729['mySessionId'],_0x2a30da=_0x49260f['model']['markers']['has'](_0x249f24);_0x49260f['editing']['view']['hasDomSelection']?J(_0x5b1729['mySessionId'],_0x2f561c['selection']['getFirstRange'](),_0x49260f['model'],_0x3bb41b):_0x2a30da&&(_0x3bb41b['removeMarker'](_0x249f24),_0x3bb41b['removeMarker'](_0x2e8a33));});}};function J(_0x54be85,_0x2b99b9,_0x49a06d,_0x1437eb){const _0x46b1d9='user:range:'+_0x54be85,_0x10fa7f='user:position:'+_0x54be85,_0x63c989=_0x2b99b9['getContainedElement']();let _0x2c11a9=_0x2b99b9['start'];if(_0x63c989&&_0x63c989['is']('element','tableCell')){const _0x9858e9=function(_0x4bcda8,_0x1a4d5e){for(const _0x45a928 of _0x4bcda8['getPositions']())if(_0x1a4d5e['schema']['checkChild'](_0x45a928,'$text'))return _0x45a928;}(_0x2b99b9,_0x49a06d);_0x9858e9&&(_0x2c11a9=_0x9858e9,_0x2b99b9=_0x1437eb['createRange'](_0x2c11a9));}const _0x4e4772=_0x1437eb['createRange'](_0x2c11a9);_0x49a06d['markers']['has'](_0x46b1d9)?(_0x1437eb['updateMarker'](_0x46b1d9,{'range':_0x2b99b9}),_0x1437eb['updateMarker'](_0x10fa7f,{'range':_0x4e4772})):(_0x1437eb['addMarker'](_0x46b1d9,{'range':_0x2b99b9,'usingOperation':!0x0}),_0x1437eb['addMarker'](_0x10fa7f,{'range':_0x4e4772,'usingOperation':!0x0}));}function Q(_0x55f5a9){return'--ck-user-color:'+_0x55f5a9['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x55f5a9['color']['getColorAlphaVariable']()+';';}function X(_0x2279ed,_0x12691b,_0x55d121){const _0xa846d6=_0x2279ed['t'],t=_0x2279ed['t'];switch(_0x12691b){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 _0xa846d6({'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'},_0x55d121);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x198537{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x5a4319)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x308caf,_0x452795,_0x4b7247];}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 _0x77e21=this['serverHistory']['getOperations']();for(let _0x6ceb=_0x77e21['length']-0x1;_0x6ceb>=0x0;_0x6ceb--){const _0x3ff8e9=_0x77e21[_0x6ceb];if(!this['_disconnectionOperations']['has'](_0x3ff8e9))return _0x3ff8e9['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x20d785){if(super(_0x20d785),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x402f9e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x470142('collaboration-missing-channelid',this);const _0x358eea=_0x20d785['config']['get']('cloudServices.bundleVersion')||_0x6ba88b;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x358eea,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1daf1d(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x495810=this['editor'],_0x1ea7cc=_0x495810['plugins']['get'](_0x452795),_0x4eef19=_0x495810['plugins']['get'](z);this['listenTo'](_0x1ea7cc,'getOperationAuthor',(_0x5ef32f,_0x59bfdf)=>{const _0x2e5daa=_0x59bfdf[0x0];_0x2e5daa['_authorId']&&(_0x5ef32f['return']=_0x1ea7cc['getUser'](_0x2e5daa['_authorId']),_0x5ef32f['stop']()),null===_0x2e5daa['_authorId']&&(_0x5ef32f['return']=null,_0x5ef32f['stop']());},{'priority':'high'}),this['listenTo'](_0x495810['model']['document']['selection'],'change:range',(_0x25ca7d,_0x25fb22)=>{_0x25fb22['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x495810['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x495810['model']['on']('applyOperation',(_0x623177,_0x21688d)=>{const _0x1972ea=_0x21688d[0x0];_0x1972ea['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1972ea),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x4eef19,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x33aefb,_0x377f92,_0x4c76ee)=>'connected'===_0x33aefb&&!_0x377f92&&!_0x4c76ee),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x495810['disableReadOnlyMode']('rtc-offline'):_0x495810['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x495810['disableReadOnlyMode']('rtc-offline'):_0x495810['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1e5c84=this['editor']['plugins']['get'](Y),_0x4e7299=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1e5c84['unregister'](this['_channelId']);const _0x9d9cbc=await this['_service']['reconnect'](_0x4e7299['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x9d9cbc)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x185817=await this['_service']['getConnectedSessions']();_0x1e5c84['register'](this['_channelId'],_0x185817),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x23fc99){if(function(_0x2fc85d){return'404'===_0x2fc85d['code'];}(_0x23fc99)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4890d0){return'409'===_0x4890d0['code'];}(_0x23fc99)){const _0x50ab3b=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x50ab3b);}else{if(!(_0x23fc99 instanceof et))throw _0x23fc99;this['_handleReconnectionError']();}}}}destroy(){const _0x5984e1=this['editor']['plugins']['get'](z),_0xb44e9b=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xb44e9b['channelSessions']['has'](this['_channelId'])&&_0xb44e9b['unregister'](this['_channelId']),_0x5984e1['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1be2ba){if(this['sessionId']!==_0x1be2ba['sessionId']&&this['_lastSyncedOperationId']!==_0x1be2ba['lastOperationId'])throw new et();return this['sessionId']=_0x1be2ba['sessionId'],this['_handleServerResponse']([],{..._0x1be2ba,'wereChangesApplied':!0x1,'data':_0x1be2ba['data']},'reconnect');}async _connectService(_0x41ae68,_0x9f7629=!0x1){const {connection:_0x115742}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x115742,this['_channelId'])['then'](_0x2d0132=>this['_initSessionsHandling'](_0x2d0132))['catch'](_0x14e8f2=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14e8f2);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4ae159,_0x382875)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x382875);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5b0f87=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x41ae68);this['_isPendingUpdate']=!0x0;const _0x50fbb6=await this['_service']['connect'](_0x115742,this['_compressOperations'](_0x41ae68),_0x5b0f87);if(this['sessionId']=_0x50fbb6['sessionId'],_0x9f7629){if(!_0x50fbb6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x50fbb6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x41ae68,_0x50fbb6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x50fbb6,_0x41ae68);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x302b53=this['editor']['plugins']['get'](Y),_0x2dc07b=this['editor']['plugins']['get'](K),_0x5e958a=_0x302b53['channelSessions']['get'](this['_channelId']);_0x5e958a&&_0x5e958a['length']>0x1?_0x2dc07b['createUserMarkerOperations']():this['listenTo'](_0x302b53,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x302b53['channelSessions']['get'](this['_channelId'])['length']&&_0x2dc07b['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x1383ad,_0x4b6ab4,_0x543cf9,_0x18f7ae){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4b6ab4){const _0x355bc9=this['_decompressOperations'](_0x543cf9,_0x18f7ae);await this['_fetchMissingUsers'](_0x355bc9),this['_handleExternalOperations'](_0x355bc9,_0x4b6ab4,_0x543cf9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x456bcf}=this['editor'];let _0x41c5f2;try{_0x41c5f2=await this['_service']['getDocumentDetails']();}catch{const _0x562f51=X(_0x456bcf,'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'](_0x562f51);}const _0x205d02=_0x41c5f2['currentDocumentSession']||_0x41c5f2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x205d02['lastOperationId']){const _0x50c1a9=X(_0x456bcf,'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'](_0x50c1a9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x654fe0=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x654fe0['connection']||'connected'!==_0x654fe0['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x18513e=this['editor']['plugins']['get'](Y);_0x18513e['channelSessions']['has'](this['_channelId'])&&_0x18513e['unregister'](this['_channelId']),_0x654fe0['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x336fdf){const _0x459c7b=this['editor']['plugins']['get'](Y);this['listenTo'](_0x459c7b,'sessionAdd:'+this['_channelId'],(_0x13a09b,{session:_0x546e32})=>{if(_0x546e32['id']===_0x459c7b['mySessionId']){_0x13a09b['off']();const _0x81a745=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x566750=_0x546e32['permissions'];_0x81a745&&_0x81a745['isEnabled']&&(_0x566750=_0x566750['filter'](_0x3de608=>'document:write'!==_0x3de608)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x566750,this['_channelId']);}}),_0x459c7b['register'](this['_channelId'],_0x336fdf);}_initThrowingOnDataSet(){const _0x3b82b2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x54d093)=>{if(!_0x54d093[_0x54d093['length']-0x1]['suppressErrorInCollaboration'])throw new _0x470142('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3b82b2['apply'](this['editor']['data'],_0x54d093);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1efa00,[_0x5f55ac])=>{if(this['_document']['version'])throw new _0x470142('realtimecollaborationclient-init-document-already-initialized',this);_0x1efa00['stop'](),this['_setPendingAction']();const _0x876517=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x9b32aa])=>!_0x9b32aa['lazyLoad'])['map'](([_0x13ebba,_0x480e6c])=>[_0x13ebba,_0x480e6c['modelAttributes']||{}])),_0x433885=this['_getOperationsFromInitData'](_0x5f55ac,_0x876517);0x0==_0x433885['length']&&_0x433885['push'](new _0x1bd6a0(0x0)),_0x1efa00['return']=this['_connectService'](_0x433885)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x43138a=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x43138a))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ab2e8,[_0x309a19,_0x525bc4])=>{_0x4ab2e8['stop']();const _0x1f95e0=this['editor']['model']['document']['getRoot'](_0x309a19);if(!this['_knownRootNames']['has'](_0x309a19)){const _0x118ef7=_0x525bc4&&_0x525bc4['data']?_0x525bc4['data']:'',_0x4efbb1=_0x525bc4&&_0x525bc4['attributes']?_0x525bc4['attributes']:{};await this['_loadRoot'](_0x309a19,_0x118ef7,_0x4efbb1);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f95e0['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f95e0);});},{'priority':'high'});}async _fetchMissingUsers(_0x258f3d){const _0x24d2e0=this['editor']['plugins']['get'](_0x452795),{connection:_0x2373b7}=this['editor']['plugins']['get'](z),_0x34ba5c=new Set();for(const _0x1d7841 of _0x258f3d){const _0xab4911=_0x1d7841['_authorId'];_0xab4911&&!_0x24d2e0['getUser'](_0xab4911)&&_0x34ba5c['add'](_0xab4911);}if(0x0===_0x34ba5c['size'])return;const _0x5d618e=await _0xfaa43['getMany'](_0x2373b7,Array['from'](_0x34ba5c));for(const _0x224baf of _0x5d618e)_0x24d2e0['getUser'](_0x224baf['id'])||_0x24d2e0['addUser'](_0x224baf);}_getOperationsFromInitData(_0x6892a4,_0x28993d={}){const _0x127706=this['editor']['model'],_0x1af921=[];let _0x5da225=0x0;const _0x172ac0='string'==typeof _0x6892a4?{'main':_0x6892a4}:_0x6892a4;for(const _0x73bcc4 of Object['keys'](_0x172ac0)){if(!this['_document']['roots']['has'](_0x73bcc4))throw new _0x470142('realtimecollaborationclient-init-non-existent-root',this);const _0x410b81=this['_document']['getRoot'](_0x73bcc4),_0x1f4efd=this['editor']['data']['parse'](_0x172ac0[_0x73bcc4],_0x410b81),_0x34c5bc=new _0x17d254(_0x127706['createPositionAt'](_0x410b81,0x0),_0x1f4efd,_0x5da225++);_0x1af921['push'](_0x34c5bc);for(const [_0x59cbe3,_0x511bd1]of _0x1f4efd['markers']){const _0x381781=new _0x573d35(_0x59cbe3,null,_0x127706['createRange'](_0x127706['createPositionFromPath'](_0x410b81,_0x511bd1['start']['path']['slice']()),_0x127706['createPositionFromPath'](_0x410b81,_0x511bd1['end']['path']['slice']())),_0x127706['markers'],!0x0,_0x5da225++);_0x1af921['push'](_0x381781);}}if(_0x28993d)for(const [_0x2e4de4,_0x58d9d7]of Object['entries'](_0x28993d)){const _0x1018f3=_0x127706['document']['getRoot'](_0x2e4de4);if(!_0x1018f3)throw new _0x470142('multi-root-editor-root-attributes-no-root',null);for(const [_0x6a8a2,_0x5229f1]of Object['entries'](_0x58d9d7))if(null!==_0x5229f1){const _0x3feea3=new _0x3ea597(_0x1018f3,_0x6a8a2,null,_0x5229f1,_0x5da225++);_0x1af921['push'](_0x3feea3);}}return _0x1af921;}async _loadRoot(_0xbd37da,_0x2f7f12,_0xd1ecbe){this['_getOperationsFromInitData']({[_0xbd37da]:_0x2f7f12},{[_0xbd37da]:_0xd1ecbe})['forEach']((_0x544424,_0x2836f6)=>{_0x544424['baseVersion']=this['_document']['version']+_0x2836f6,_0x544424['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x544424);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x2c9ccf,_0x7bce73){let _0x2b10cf;this['_offset']=_0x2c9ccf['offset'];const _0x5a0423=_0x2c9ccf['wereChangesApplied']&&!_0x2c9ccf['initData'],_0x5f1379=_0x5a0423?0x0:_0x2c9ccf['data']['baseVersion'];if(_0x7bce73['forEach'](_0x2b19c3=>{_0x2b19c3['_isInit']=!0x0,_0x2b19c3['createdAt']=_0x2c9ccf['sessionCreatedAt'],_0x2b19c3['_authorId']=null;}),_0x5a0423)_0x2b10cf=_0x7bce73,this['_applyOperationsSet'](_0x2b10cf,_0x5a0423);else{if(_0x2c9ccf['initData']){const _0x241554=this['_getOperationsFromInitData'](_0x2c9ccf['initData']);this['_document']['history']['version']=-_0x241554['length'],_0x241554['forEach'](_0x5de4c6=>{_0x5de4c6['baseVersion']-=_0x241554['length'],_0x5de4c6['createdAt']=_0x2c9ccf['sessionCreatedAt'],_0x5de4c6['_isInit']=!0x0,_0x5de4c6['_authorId']=null;}),this['_applyOperationsSet'](_0x241554,!0x0),this['serverHistory']['version']=-_0x241554['length']+this['_offset'],this['_updateServerHistory'](_0x241554);}this['_document']['history']['version']=_0x5f1379,_0x2b10cf=this['_decompressOperations'](_0x2c9ccf['data'],_0x2c9ccf['metadata']),await this['_fetchMissingUsers'](_0x2b10cf),this['_applyOperationsSet'](_0x2b10cf,_0x5a0423);}_0x2c9ccf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2b10cf,_0x2c9ccf['lastOperationId']),this['_lastSyncedOperationId']=_0x2c9ccf['lastOperationId']),this['serverHistory']['version']=_0x5f1379+this['_offset'],this['_updateServerHistory'](_0x2b10cf),_0x7bce73['filter'](_0x211316=>{const _0x5ae195=this['_getAffectedRoot'](_0x211316);return _0x5ae195&&!this['_knownRootNames']['has'](_0x5ae195);})['forEach']((_0x244c6b,_0x5c402b)=>{_0x244c6b['baseVersion']=this['_document']['version']+_0x5c402b,this['_saveOperationInBuffer'](_0x244c6b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x285357,_0x269eb2){const _0x527b32=_0x269eb2&&_0x269eb2['message'];if(_0x527b32&&_0x527b32['startsWith']('realtimecollaborationclient'))throw _0x269eb2;const _0xb32b7d=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0xb32b7d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x470142(_0x285357,this['editor'],_0x527b32?{'originalError':_0x527b32}:void 0x0);}_saveOperationInBuffer(_0x2ded21){this['_knownOperations']['has'](_0x2ded21)||(this['_knownOperations']['add'](_0x2ded21),this['_bufferedOperations']['push'](_0x2ded21),this['_pendingAction']||'marker'==_0x2ded21['type']&&!_0x2ded21['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x2b80db=!0x1){!_0x2b80db&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x483b20=>{_0x483b20&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x8c5463=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x16581d){return _0x16581d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16581d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x16581d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x8c5463)||this['_crash'](_0x8c5463['message'],_0x8c5463);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x435ddc=>{this['on']('change:_isPendingUpdate',()=>{_0x435ddc();});});}async _sendBufferedOperations(){const _0x1dcf23=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1dcf23['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1279fd=[...this['_bufferedOperations']];for(const _0x90faf2 of _0x1279fd)_0x90faf2['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x90faf2);const _0x2805a0=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1279fd),_0x3638ad=Z++,_0xeec778=this['_compressOperations'](_0x1279fd),_0x32d539=await this['_service']['sendOperations'](_0xeec778,_0xeec778['baseVersion'],_0x2805a0);try{return await this['_handleServerResponse'](_0x1279fd,_0x32d539,_0x3638ad);}catch(_0x5e89a5){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5e89a5);}}async['_handleServerResponse'](_0x20d489,_0x3eb623,_0x42c323){if('error'in _0x3eb623)throw _0x3eb623['error'];let _0xfa7918;if(_0x3eb623['wereChangesApplied']){_0x3eb623['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3eb623['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x47673c=>!_0x20d489['includes'](_0x47673c));for(const _0x15de43 of _0x20d489)_0x15de43['createdAt']='lastOperationAcceptedAt'in _0x3eb623&&_0x3eb623['lastOperationAcceptedAt']||void 0x0;st(_0x20d489,_0x3eb623['version']-_0x20d489['length']),this['_updateServerHistory'](_0x20d489);const _0x52a969=_0x20d489['filter'](_0x483e0b=>{if(!_0x483e0b['_isInit'])return!0x1;const _0x57689b=this['_getAffectedRoot'](_0x483e0b);return _0x57689b&&!this['_knownRootNames']['has'](_0x57689b);});st(_0x52a969,this['_document']['version']),this['_applyOperationsSet'](_0x52a969),_0xfa7918=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x23e454=this['_decompressOperations'](_0x3eb623['data'],_0x3eb623['metadata'])['filter'](_0x3bee07=>_0x3bee07['baseVersion']>=this['_lastServerVersion']);_0x23e454['forEach'](_0x281112=>this['_addKnownRoot'](_0x281112)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x557ff2=>!_0x557ff2['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x557ff2))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x23e454),_0xfa7918=this['_handleExternalOperations'](_0x23e454,_0x3eb623['version'],_0x3eb623['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xfa7918?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x28b526,_0x525763,_0x1e5694){try{const _0x3a22a2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4ef4c6,operationsB:_0x11f9f4,originalOperations:_0x626dae}=_0x117acd(_0x28b526,this['_bufferedOperations'],_0x3a22a2);st(_0x4ef4c6,this['_document']['version']),st(_0x11f9f4,_0x525763);for(const _0x33b400 of _0x4ef4c6){const _0x1a68a9=_0x626dae['get'](_0x33b400);_0x1a68a9?(_0x33b400['_authorId']=_0x1a68a9['_authorId'],'noop'!==_0x33b400['type']&&(_0x33b400['_aiSource']=_0x1a68a9['_aiSource'])):_0x33b400['_authorId']=null;}for(const _0x456382 of _0x11f9f4)'noop'!==_0x456382['type']&&(_0x456382['_aiSource']=_0x626dae['get'](_0x456382)?.['_aiSource']);_0x1e5694&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x28b526,_0x1e5694),this['_lastSyncedOperationId']=_0x1e5694),this['_bufferedOperations']=[..._0x11f9f4],this['_applyOperationsSet'](_0x4ef4c6),this['_updateServerHistory'](_0x28b526);}catch(_0x55fa7a){return console['error'](_0x55fa7a),!0x1;}return!0x0;}_applyOperationsSet(_0x117ecf,_0x27a616=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x26f565=>{for(const _0x535f0f of _0x117ecf)this['_knownOperations']['add'](_0x535f0f),this['_addKnownRoot'](_0x535f0f),_0x26f565['batch']['addOperation'](_0x535f0f),this['editor']['model']['applyOperation'](_0x535f0f);});}_addKnownRoot(_0x1bb9f7){const _0x47bc75=this['_getAffectedRoot'](_0x1bb9f7);_0x47bc75&&this['_knownRootNames']['add'](_0x47bc75);}_getAffectedRoot(_0x1085db){let _0x39f005,_0x3fad81;switch(_0x1085db['type']){case'insert':_0x39f005=_0x1085db['position']['root'];break;case'marker':if(_0x3fad81=_0x1085db['newRange'],!_0x3fad81)return null;_0x39f005=_0x3fad81['root'];break;case'addRootAttribute':_0x39f005=_0x1085db['root'];break;case'addRoot':_0x39f005=_0x1085db['affectedSelectable'];break;case'move':_0x39f005=_0x1085db['targetPosition']['root'];break;default:return null;}return _0x39f005['rootName'];}_updateServerHistory(_0x243c88){_0x243c88['forEach'](_0x64bc59=>{const _0x323101=_0x64bc59['clone']();_0x323101['_authorId']=_0x64bc59['_authorId'],_0x323101['_isInit']=!!_0x64bc59['_isInit'],_0x323101['_aiSource']=_0x64bc59['_aiSource'],_0x323101['createdAt']=_0x64bc59['createdAt'],_0x323101['baseVersion']+=this['_offset'],_0x64bc59['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x323101),this['serverHistory']['addOperation'](_0x323101);});}_handleReconnectionError(_0x49d88f){const _0x51a21f=this['editor']['plugins']['get']('Notification'),_0x3c1d00=this['editor']['locale'];_0x49d88f||(_0x49d88f=X(_0x3c1d00,'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.')),_0x51a21f['showWarning'](_0x49d88f,{'title':X(_0x3c1d00,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x308caf)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x308caf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x135ab6){const _0x53aff0=_0x135ab6['map'](_0x12064d=>_0x12064d['toJSON']());return this['_compressor']['compress'](_0x53aff0);}_decompressOperations(_0x55bbb1,_0x164f09){return this['_compressor']['decompress'](_0x55bbb1)['map']((_0x53ba4c,_0x44b95d)=>{const _0x18a8a4='init'==_0x164f09[_0x44b95d]['type'];if('InsertOperation'==_0x53ba4c['__className']){const _0x4e067c=_0x53ba4c['position']['root'];!this['_document']['getRoot'](_0x4e067c)&&(this['_document']['createRoot']('$unknown',_0x4e067c)['_isAttached']=!0x1);}else{if('RootOperation'==_0x53ba4c['__className']){const _0x258ecf=this['_document']['getRoot'](_0x53ba4c['rootName']);_0x258ecf&&'$unknown'==_0x258ecf['name']&&_0x53ba4c['elementName']!=_0x258ecf['name']&&(_0x258ecf['name']=_0x53ba4c['elementName']);}}const _0x5c72f6=_0x565114['fromJSON'](_0x53ba4c,this['_document']);return _0x5c72f6['wasUndone']=_0x53ba4c['wasUndone'],_0x5c72f6['_isInit']=_0x18a8a4,_0x5c72f6['_authorId']=_0x18a8a4?null:_0x164f09[_0x44b95d]['userId'],_0x5c72f6['_isDisconnection']='cs:removeUser'===_0x164f09[_0x44b95d]['type'],_0x5c72f6['_aiSource']=_0x53ba4c['_aiSource']||void 0x0,_0x5c72f6['createdAt']=_0x164f09[_0x44b95d]['createdAt'],_0x5c72f6;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x18901f=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x18901f&&_0x18901f['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x106ae6,_0x19591c){for(const _0x11d29a of _0x106ae6)_0x11d29a['baseVersion']=_0x19591c++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x54e693){this['_ignoredOperations']=_0x54e693,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x288a58){let _0x16cb5c=_0x288a58['length'];for(;_0x16cb5c--;){const _0x18b24b=_0x288a58[_0x16cb5c];if(!this['_ignoredOperations']['has'](_0x18b24b)){if(!this['_operationToId']['has'](_0x18b24b)){const _0x1e9175=_0x4ff846()['slice'](0x1,0x12);this['_operationToId']['set'](_0x18b24b,_0x1e9175);}return this['_operationToId']['get'](_0x18b24b);}}}setIdForTheLastOperation(_0x184bfc,_0x535ee1){if(!_0x535ee1)return;let _0x5e74f7=_0x184bfc['length'];for(;_0x5e74f7--;){const _0x211481=_0x184bfc[_0x5e74f7];this['_ignoredOperations']['has'](_0x211481)||this['_operationToId']['set'](_0x211481,_0x535ee1);}}},nt=class extends _0x198537{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x1b8d8d{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x26b101)());['_services'];static get requires(){return[z,_0x2d3c83,Y,_0x452795];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e0544){super(_0x1e0544),this['_services']=new Map();}async init(){const _0x56240e=this['context'],_0x2b2e0f=_0x56240e['plugins']['get'](_0x2d3c83);if(_0x56240e['plugins']['get'](z)['addToReconnectionStack'](this),_0x2b2e0f['adapter']={'addCommentThread':async({channelId:_0x5eb518,threadId:_0x3bdfae,comments:_0x50f719,resolvedAt:_0x26ac4f,resolvedBy:_0x7b6fcf,context:_0x10103c,attributes:_0x21494d})=>{const _0xc58438=await this['_getService'](_0x5eb518)['addCommentThread']({'commentThreadId':_0x3bdfae,'comments':_0x50f719['map'](_0x4a5705=>function(_0x59170f,_0x10a6e3,_0x52d8fc){return{'commentThreadId':_0x52d8fc,'commentId':_0x59170f['commentId'],'userId':_0x59170f['authorId'],'content':_0x59170f['content'],'documentId':_0x10a6e3,'createdAt':_0x59170f['createdAt'],'attributes':_0x59170f['attributes']||{}};}(_0x4a5705,_0x5eb518,_0x3bdfae)),'resolvedAt':_0x26ac4f,'resolvedBy':_0x7b6fcf,'context':_0x10103c,'attributes':_0x21494d})['catch'](ct);return{'threadId':_0xc58438['commentThreadId'],'comments':_0xc58438['comments']};},'getCommentThread':async({channelId:_0x86bff,threadId:_0x2b5f98})=>{const _0x3c7304=await this['_getService'](_0x86bff)['getCommentThread'](_0x2b5f98)['catch'](rt)['catch'](ct);return _0x3c7304?_0x3c7304['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3c7304]),{'threadId':_0x3c7304['commentThreadId'],'comments':_0x3c7304['comments']['map'](at),'context':_0x3c7304['context'],'resolvedAt':_0x3c7304['resolvedAt'],'resolvedBy':_0x3c7304['resolvedBy'],'attributes':_0x3c7304['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4c7fbf,threadId:_0x521a66,context:_0x2c8dad,unlinkedAt:_0x47333b,attributes:_0x1aa0e2})=>this['_getService'](_0x4c7fbf)['updateCommentThread']({'commentThreadId':_0x521a66,'context':_0x2c8dad,'attributes':_0x1aa0e2,'unlinkedAt':_0x47333b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x51116a,threadId:_0x2e51a8})=>{const _0x40b74f=await this['_getService'](_0x51116a)['resolveCommentThread'](_0x2e51a8)['catch'](rt)['catch'](ct);return{'threadId':_0x40b74f['commentThreadId'],'resolvedAt':_0x40b74f['resolvedAt'],'resolvedBy':_0x40b74f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x560a07,threadId:_0x555d88})=>this['_getService'](_0x560a07)['reopenCommentThread'](_0x555d88)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x42efc8,threadId:_0x4fc6b2})=>this['_getService'](_0x42efc8)['removeCommentThread'](_0x4fc6b2)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x20f71c,threadId:_0x79691,commentId:_0x374713,content:_0x2887d3,attributes:_0x7fe738})=>this['_getService'](_0x20f71c)['addComment'](_0x79691,_0x374713,_0x2887d3,_0x7fe738)['catch'](ct),'updateComment':({channelId:_0x4f6374,threadId:_0x5bf46c,commentId:_0x5c36e4,content:_0x5f045d,attributes:_0x16c7c0})=>this['_getService'](_0x4f6374)['updateComment'](_0x5bf46c,_0x5c36e4,_0x5f045d,_0x16c7c0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0xad690a,threadId:_0x407053,commentId:_0x59d30d})=>this['_getService'](_0xad690a)['removeComment'](_0x407053,_0x59d30d)['catch'](rt)['catch'](ct)},_0x56240e instanceof _0x40150f){const _0x31d301=_0x56240e['config']['get']('collaboration.channelId'),_0x10b045=_0x56240e['plugins']['get'](Y);await this['_setUpService'](_0x31d301);const _0x4f29d6=await this['_services']['get'](_0x31d301)['getConnectedSessions']();this['listenTo'](_0x10b045,'sessionAdd:'+_0x31d301,(_0x50b302,{session:_0x2c1fc4})=>{_0x2c1fc4['id']===_0x10b045['mySessionId']&&(_0x50b302['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2c1fc4['permissions'],_0x31d301));}),_0x10b045['register'](_0x31d301,_0x4f29d6);}}async _setUpService(_0x59c3c4){if(this['_services']['has'](_0x59c3c4))throw new _0x470142('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x59c3c4});const _0x2335f4=this['context']['plugins']['get'](_0x2d3c83),_0x4b2dfa=new CloudServicesCommentsAdapter['CommentsService'](_0x59c3c4);this['_services']['set'](_0x59c3c4,_0x4b2dfa),this['listenTo'](_0x4b2dfa,'commentThreadAdded',(_0x1ad2c1,_0x400a21)=>{const {commentThreadId:_0x1e421d,documentId:_0x19c2bd,context:_0x12da12,attributes:_0x1cea7a,resolvedAt:_0x5881f5,resolvedBy:_0x102d9f,comments:_0x32e517}=_0x400a21;_0x2335f4['getCommentThread'](_0x1e421d)||_0x2335f4['addCommentThread']({'threadId':_0x1e421d,'channelId':_0x19c2bd,'comments':_0x32e517?_0x32e517['map'](at):[],'context':_0x12da12,'attributes':_0x1cea7a,'resolvedAt':_0x5881f5,'resolvedBy':_0x102d9f,'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentThreadUpdated',(_0x4564ba,{commentThreadId:_0x590b41,documentId:_0x18b7a4,context:_0x5aaafb,unlinkedAt:_0x158df5,attributes:_0xe6980d})=>{_0x2335f4['getCommentThread'](_0x590b41)&&_0x2335f4['updateCommentThread']({'threadId':_0x590b41,'channelId':_0x18b7a4,'context':_0x5aaafb,'unlinkedAt':_0x158df5,'attributes':_0xe6980d,'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentThreadResolved',(_0x594cc3,{commentThreadId:_0x1406a1,resolvedBy:_0xcd9bb0,resolvedAt:_0x2b551f})=>{const _0x483647=_0x2335f4['getCommentThread'](_0x1406a1);_0x483647&&_0x483647['resolve']({'resolvedBy':_0xcd9bb0,'resolvedAt':_0x2b551f,'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentThreadReopened',(_0x1e8736,{commentThreadId:_0x282938})=>{const _0x3047fa=_0x2335f4['getCommentThread'](_0x282938);_0x3047fa&&_0x3047fa['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentThreadRemoved',(_0x52d2e3,{commentThreadId:_0x54f725})=>{const _0x5574f0=_0x2335f4['getCommentThread'](_0x54f725);_0x5574f0&&_0x5574f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentAdded',(_0x531ee4,_0x5e2059)=>{const _0x2cced8=_0x5e2059['commentThreadId'],_0x10f1c9=_0x2335f4['getCommentThread'](_0x2cced8);_0x10f1c9&&_0x10f1c9['addComment']({...at(_0x5e2059),'isFromAdapter':!0x0});}),this['listenTo'](_0x4b2dfa,'commentUpdated',(_0x4c401c,{commentThreadId:_0x5325ad,commentId:_0x5728a5,content:_0xeebf3c,attributes:_0x581679})=>{const _0x56afec=_0x2335f4['getCommentThread'](_0x5325ad);if(_0x56afec){const _0x118825=_0x56afec['getComment'](_0x5728a5);_0x118825&&_0x118825['update']({'content':_0xeebf3c,'attributes':_0x581679,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4b2dfa,'commentRemoved',(_0x46196f,{commentThreadId:_0x6afe30,commentId:_0x752b3f})=>{const _0x3a1a77=_0x2335f4['getCommentThread'](_0x6afe30);if(_0x3a1a77){const _0x1dd763=_0x3a1a77['getComment'](_0x752b3f);_0x1dd763&&_0x1dd763['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4b2dfa,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x59c3c4),this['stopListening'](_0x4b2dfa));}),await this['_connectService'](_0x59c3c4);}destroy(){if(this['context']instanceof _0x40150f){const _0x4c080f=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4c080f)&&this['_terminateService'](_0x4c080f);}}_terminateService(_0x6dd3a6){if(!this['_services']['has'](_0x6dd3a6))throw new _0x470142('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x6dd3a6});this['_getService'](_0x6dd3a6)['disconnect'](),this['_services']['delete'](_0x6dd3a6);}async reconnect(){for(const _0x36024e of this['_services']['keys']())await this['_connectService'](_0x36024e);if(this['context']instanceof _0x40150f){const _0x3b4f19=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3b4f19)){const _0x5e7a7e=this['context']['plugins']['get'](Y);_0x5e7a7e['unregister'](_0x3b4f19);const _0x11e0a8=await this['_services']['get'](_0x3b4f19)['getConnectedSessions']();_0x5e7a7e['register'](_0x3b4f19,_0x11e0a8);}}}async _connectService(_0x35bd5c){const {connection:_0x589bab}=this['context']['plugins']['get'](z),_0xaabd99=this['context']['plugins']['get'](_0x2d3c83),_0x8e4fc7=await this['_services']['get'](_0x35bd5c)['connect'](_0x589bab);await this['_fetchMissingUsersForThreads'](_0x8e4fc7);const _0x586960=new Set(Array['from'](_0xaabd99['getCommentThreads']({'channelId':_0x35bd5c}),_0x2ea22d=>_0x2ea22d['id']));for(const _0x23e827 of _0x8e4fc7)_0x23e827['deletedAt']||_0x586960['delete'](_0x23e827['commentThreadId']);for(const _0x57f17a of _0x586960)_0xaabd99['getCommentThread'](_0x57f17a)['remove']({'isFromAdapter':!0x0});for(const _0x5c5147 of _0x8e4fc7){let _0x15eee6=_0xaabd99['getCommentThread'](_0x5c5147['commentThreadId']);const {commentThreadId:_0xadcd1a,context:_0x52c434,attributes:_0x247aab,resolvedBy:_0x1a305d,resolvedAt:_0xda1d79,unlinkedAt:_0x286c5b,deletedAt:_0x53d5eb}=_0x5c5147;if(_0x53d5eb)continue;_0x15eee6||(_0x15eee6=_0xaabd99['addCommentThread']({'channelId':_0x35bd5c,'threadId':_0xadcd1a,'context':_0x52c434,'attributes':_0x247aab||{},'resolvedBy':_0x1a305d,'resolvedAt':_0xda1d79,'unlinkedAt':_0x286c5b,'isFromAdapter':!0x0}));const _0x15b674=new Set(Array['from'](_0x15eee6['comments'],_0x2660e6=>_0x2660e6['id']));for(const _0x4176a5 of _0x5c5147['comments'])_0x15b674['delete'](_0x4176a5['commentId']);for(const _0x49197e of _0x15b674)_0x15eee6['getComment'](_0x49197e)['remove']({'isFromAdapter':!0x0});for(const _0x3e2d2e of _0x5c5147['comments']){const _0x4722d4=_0x15eee6['getComment'](_0x3e2d2e['commentId']);_0x4722d4?_0x4722d4['content']!==_0x3e2d2e['content']&&_0x4722d4['update']({'content':_0x3e2d2e['content'],'isFromAdapter':!0x0}):_0x15eee6['addComment'](Object['assign'](at(_0x3e2d2e),{'isFromAdapter':!0x0}));}}}_getService(_0x6a6253){if(!this['_services']['has'](_0x6a6253))throw new _0x470142('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x6a6253});return this['_services']['get'](_0x6a6253);}async _fetchMissingUsersForThreads(_0x247a8a){const _0x594a51=this['context']['plugins']['get'](_0x452795),{connection:_0x348409}=this['context']['plugins']['get'](z),_0x285e1a=new Set();for(const {resolvedBy:_0x344d80,comments:_0x3483b3}of _0x247a8a){_0x344d80&&!_0x594a51['getUser'](_0x344d80)&&_0x285e1a['add'](_0x344d80);for(const {userId:_0x37a667}of _0x3483b3)_0x594a51['getUser'](_0x37a667)||_0x285e1a['add'](_0x37a667);}if(0x0===_0x285e1a['size'])return;const _0x58bc2b=await _0xfaa43['getMany'](_0x348409,Array['from'](_0x285e1a));for(const _0x3f42d2 of _0x58bc2b)_0x594a51['getUser'](_0x3f42d2['id'])||_0x594a51['addUser'](_0x3f42d2);}};async function rt(_0x5834e0){if('404'!==_0x5834e0['code'])throw _0x5834e0;}function ct(_0xeae318){if((_0x3ebb38=_0xeae318)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3ebb38['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3ebb38['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3ebb38;throw _0xeae318;}function at(_0x493bb3){return{'threadId':_0x493bb3['commentThreadId'],'commentId':_0x493bb3['commentId'],'content':_0x493bb3['content'],'createdAt':_0x493bb3['createdAt'],'authorId':_0x493bb3['userId'],'attributes':_0x493bb3['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x198537{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x3c1634)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x39fbf8,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x407009){super(_0x407009);const _0x184e93=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x184e93);}init(){const _0x105b65=this['editor']['plugins']['get'](z),_0x48b03b=this['editor']['plugins']['get'](_0x39fbf8);return _0x48b03b['adapter']={'getSuggestion':async _0x5d217d=>{await this['_waitForServiceReady']();const _0x16a485=await this['_trackChangesService']['get'](_0x5d217d)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x16a485]),_0x16a485;},'addSuggestion':async({id:_0x4f7fad,type:_0x42d45c,data:_0x26fc4d,originalSuggestionId:_0x3ee4fa,attributes:_0x4feb83})=>{await this['_waitForServiceReady']();const _0x5650e9={'id':_0x4f7fad,'type':_0x42d45c,'data':_0x26fc4d,'originalSuggestionId':_0x3ee4fa,'attributes':_0x4feb83},_0x30b0fb=await this['_trackChangesService']['add'](_0x4f7fad,_0x42d45c,_0x26fc4d,_0x3ee4fa,_0x4feb83)['catch'](_0x4c75f3=>{if(dt(_0x4c75f3))return new Promise(_0x2e9415=>{this['_bufferedRequests']['set'](_0x4f7fad,{'resolve':_0x2e9415,'suggestionData':_0x5650e9});});throw _0x4c75f3;});return this['_bufferedRequests']['delete'](_0x4f7fad),_0x30b0fb;},'updateSuggestion':async(_0x1f6ba7,_0x2e10f1)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2e10f1['state'])return this['_trackChangesService']['update'](_0x1f6ba7,_0x2e10f1)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x22e851,_0x25586d)=>{_0x48b03b['hasSuggestion'](_0x25586d['id'])&&(_0x48b03b['getSuggestion'](_0x25586d['id'])['attributes']=_0x25586d['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x105b65['connection']?.['state']&&(_0x105b65['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x105b65['connection'])['then'](_0x59f694=>(_0x105b65['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x59f694)['then'](()=>{for(const _0x5243b0 of _0x59f694){_0x48b03b['addSuggestionData'](_0x5243b0)['_saved']=!0x0;}})));}async reconnect(){const _0x46fb3e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x394a0e}=this['editor']['plugins']['get'](z),_0x289930=await this['_trackChangesService']['connect'](_0x394a0e);await this['_fetchMissingUsersForThreads'](_0x289930);for(const {suggestionData:_0x36c3be,resolve:_0xa1d685}of this['_bufferedRequests']['values']()){let _0x14c16a=_0x289930['find'](_0x33a521=>_0x33a521['id']===_0x36c3be['id']);_0x14c16a||(_0x14c16a=await this['_trackChangesService']['add'](_0x36c3be['id'],_0x36c3be['type'],_0x36c3be['data'],_0x36c3be['originalSuggestionId'])),_0xa1d685(_0x14c16a);}for(const _0x490e48 of _0x289930)_0x46fb3e['hasSuggestion'](_0x490e48['id'])||_0x46fb3e['addSuggestionData'](_0x490e48);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x2689df=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2c64a8=>{_0x2c64a8['off'](),_0x2689df();});});}async _fetchMissingUsersForThreads(_0x50f86d){const _0x1e3a93=this['editor']['plugins']['get'](_0x452795),{connection:_0x4ba0fa}=this['editor']['plugins']['get'](z),_0x1d567d=new Set();for(const {authorId:_0x1a2e36}of _0x50f86d)_0x1e3a93['getUser'](_0x1a2e36)||_0x1d567d['add'](_0x1a2e36);if(0x0===_0x1d567d['size'])return;const _0x55c804=await _0xfaa43['getMany'](_0x4ba0fa,Array['from'](_0x1d567d));for(const _0x4c7307 of _0x55c804)_0x1e3a93['getUser'](_0x4c7307['id'])||_0x1e3a93['addUser'](_0x4c7307);}};function lt(_0x1c15b3){if(dt(_0x1c15b3))return new Promise(()=>{});throw _0x1c15b3;}function dt(_0x4c66e5){return _0x4c66e5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4c66e5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x198537{static get requires(){return[_0x19436d,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x55e768=this['editor']['plugins']['get'](z),_0x46d47e=this['editor']['plugins']['get'](_0x520bc4),_0x4b74b1=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x55e768,'change:state',(_0xda5c19,_0x42736d,_0xc24faf)=>{_0x46d47e['isThreadsLoadingPaused']='connected'!==_0xc24faf;});}),this['listenTo'](_0x55e768,'change:state',(_0x552d9e,_0x406b9c,_0x6ef03c)=>{this['editor']['plugins']['get'](_0x2d3c83)['switchReadOnly']('connected'!==_0x6ef03c);}),_0x4b74b1['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x3497f6=this['editor']['plugins']['get'](ot),_0x2f37c0=this['editor']['config']['get']('collaboration.channelId');_0x3497f6['_services']['has'](_0x2f37c0)&&_0x3497f6['_terminateService'](_0x2f37c0),super['destroy']();}},ft=class extends _0x198537{static get requires(){return[ut,ht,_0x165a37];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x198537{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x4f20e5)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x22abf6,Y,_0x452795];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5a10a5){super(_0x5a10a5);const _0x2e54e9=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2e54e9);}async init(){const _0x4614f4=this['editor']['plugins']['get'](tt),_0x543652=_0x4614f4['serverHistory'],_0x13e42f=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x543652,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4614f4['sessionId']});const _0x16a722=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x6ba88b,_0x6e0204=await _0x360e87['isBundleUploaded'](_0x13e42f['connection'],_0x16a722);this['editor']['plugins']['get'](_0x22abf6)['adapter']={'getRevision':async({revisionId:_0x419925})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x419925)),'updateRevisions':async _0x13864f=>{await this['_waitForServiceReady']();const _0x411d94=this['_revisionTracker']['currentRevision'];if(_0x6e0204&&0x1===_0x13864f['length']&&_0x13864f[0x0]['id']===_0x411d94['id'])return _0x13864f;for(const _0x5c07ff of _0x13864f)_0x5c07ff['id']===_0x411d94['id']&&(_0x5c07ff['isEmptyCurrent']=_0x5c07ff['fromVersion']===_0x5c07ff['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x13864f,this['_lastRequestId'])['then'](_0x1f6b41=>(this['_lastRequestId']=_0x1f6b41,_0x13864f))['catch'](_0x20f70b=>{if(pt(_0x20f70b)||'400'===_0x20f70b['code']&&void 0x0!==_0x20f70b['data']['wrongRequestId']){for(const _0x1754e6 of _0x13864f)this['_revisionTracker']['repository']['getRevision'](_0x1754e6['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1754e6['id'],_0x1754e6,!0x1);if(pt(_0x20f70b)&&'destroyed'!==this['editor']['state'])throw _0x20f70b;return _0x13864f;}throw _0x20f70b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xbcde78,{revisionsData:_0xbd4b20,requestId:_0x48710c})=>{Math['max'](..._0xbd4b20['map'](_0x4e7c63=>_0x4e7c63['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xbd4b20,_0x48710c);}):this['_handleRevisionsUpdate'](_0xbd4b20,_0x48710c);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x13e42f['connection']?.['state']&&(_0x13e42f['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x38c9f6,requestId:_0x5104aa}=await this['_revisionHistoryService']['connect'](_0x13e42f['connection']);_0x13e42f['addToReconnectionStack'](this),this['_lastRequestId']=_0x5104aa,await this['_fetchMissingUsers'](_0x38c9f6);for(const _0x504f40 of _0x38c9f6)this['_revisionTracker']['addRevisionData'](_0x504f40);this['listenTo'](_0x4614f4,'change:_isConnected',(_0xa69f28,_0x459749,_0x587dd5)=>{_0x587dd5&&(this['_oldOffset']=_0x4614f4['_offset'],_0xa69f28['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x1ee30f=this['editor']['plugins']['get'](z),_0x3b8e7a=this['editor']['plugins']['get'](tt),_0x2d5613=async()=>{const _0x249e62=this['_revisionTracker']['currentRevision'],_0x4ff2c3=_0x249e62['id'],_0x41f9ae=_0x4ff2c3!==_0x3b8e7a['sessionId'];if(_0x41f9ae){const _0x163d27=_0x3b8e7a['_offset']-this['_oldOffset'],_0xc43df5=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x249e62['toVersion']+_0x163d27!==_0xc43df5){const _0x403ab0=_0x249e62['fromVersion']+_0x163d27,_0xb56998=this['editor']['plugins']['get'](_0x452795),_0x4595b2=this['_revisionTracker']['buildRevisionData']({'revision':_0x249e62,'from':_0x403ab0,'to':_0xc43df5});_0x4595b2['id']=_0x249e62['id'];const _0x300bcc=_0x4595b2['authorsIds']['map'](_0x59fd6c=>_0xb56998['getUser'](_0x59fd6c));_0x249e62['_update']({..._0x4595b2,'authors':_0x300bcc},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x249e62['id'],_0x4595b2,!0x0);}this['_revisionTracker']['_startingVersion']=_0xc43df5,_0x249e62['toVersion']!==_0x249e62['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4ff2c3)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4ff2c3),this['_revisionTracker']['_createCurrentRevision'](_0xc43df5);}const {revisions:_0x3136f2,requestId:_0x3c28df}=await this['_revisionHistoryService']['reconnect'](_0x1ee30f['connection'],this['_lastRequestId']);_0x41f9ae&&_0x3136f2['length']>0x0?_0x3b8e7a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3136f2),this['_handleRevisionsUpdate'](_0x3136f2,_0x3c28df),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3b8e7a['_isConnected']?_0x2d5613():new Promise((_0x5a5134,_0x3fbcb9)=>{_0x3b8e7a['once']('change:_isConnected',()=>{_0x2d5613()['then'](_0x5a5134)['catch'](_0x3fbcb9);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x324f7a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x276599=>{_0x276599['off'](),_0x324f7a();});});}_getLatestVersionFromServerOperations(){const _0x2fd075=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1f5a42 of _0x2fd075)if('marker'!==_0x1f5a42['type']||_0x1f5a42['affectsData'])return _0x1f5a42['baseVersion']+0x1;}_getLatestVersion(){const _0x21ea9e=this['editor']['plugins']['get'](tt);return new Promise(_0x29a28e=>{_0x21ea9e['_isPendingUpdate']?_0x21ea9e['once']('change:_isPendingUpdate',()=>{_0x29a28e(this['_getLatestVersionFromServerOperations']());}):_0x29a28e(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x2bf055,_0x3ddbea){const _0x5049db=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3ddbea;for(const _0x50f3ee of _0x2bf055){const _0x1b2b6b=_0x5049db['getRevision'](_0x50f3ee['id']);if(_0x1b2b6b){if((_0x50f3ee['fromVersion']||_0x50f3ee['toVersion'])&&(_0x50f3ee['diffData']=null),_0x1b2b6b===this['_revisionTracker']['currentRevision']){const _0x3f2669=Math['max'](_0x1b2b6b['toVersion'],_0x50f3ee['toVersion']),_0x3fd495=Math['max'](_0x1b2b6b['fromVersion'],_0x50f3ee['fromVersion']);let _0x56934f;_0x1b2b6b['toVersion']===_0x50f3ee['toVersion']&&_0x1b2b6b['fromVersion']===_0x50f3ee['fromVersion']?(_0x56934f=!0x0,this['_preventResendingRevisionData'](_0x50f3ee)):_0x50f3ee['toVersion']===_0x3f2669&&_0x50f3ee['fromVersion']===_0x3fd495?_0x56934f=!0x1:(_0x1b2b6b['toVersion']===_0x3f2669&&_0x1b2b6b['fromVersion']===_0x3fd495||this['_fixRevision']({'revision':_0x1b2b6b,'from':_0x3fd495,'to':_0x3f2669}),_0x56934f=!0x0),_0x56934f&&(delete _0x50f3ee['fromVersion'],delete _0x50f3ee['toVersion'],delete _0x50f3ee['diffData'],delete _0x50f3ee['createdAt'],delete _0x50f3ee['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x50f3ee),this['_preventResendingRevisionData'](_0x50f3ee);}else this['_revisionTracker']['addRevisionData'](_0x50f3ee);}const _0x370b62=_0x5049db['getRevisions']();_0x370b62['reverse']();for(let _0x50cf44=0x0;_0x50cf44<_0x370b62['length']-0x1;_0x50cf44++){const _0x4d2091=_0x370b62[_0x50cf44],_0x250569=_0x370b62[_0x50cf44+0x1];if(_0x4d2091['fromVersion']<_0x250569['toVersion']){const _0x1a6917=_0x250569['toVersion'],_0x3a6f5b=Math['max'](_0x1a6917,_0x4d2091['toVersion']);this['_fixRevision']({'revision':_0x4d2091,'from':_0x1a6917,'to':_0x3a6f5b});}}}['_fixRevision']({revision:_0x5b3aa4,from:_0x22a66a,to:_0xdfd202}={}){const _0x9b5529=this['editor']['plugins']['get'](_0x452795),_0x4916f0=this['_revisionTracker']['buildRevisionData']({'revision':_0x5b3aa4,'from':_0x22a66a,'to':_0xdfd202});_0x4916f0['authors']=_0x4916f0['authorsIds']['map'](_0xe2e261=>_0x9b5529['getUser'](_0xe2e261)),_0x5b3aa4['_update'](_0x4916f0);}_preventResendingRevisionData(_0x3bfd84){const _0xdcc12c={};_0xdcc12c['id']=_0x3bfd84['id'];for(const _0x4300ec of Object['keys'](_0x3bfd84))'id'!==_0x4300ec&&(_0xdcc12c[_0x4300ec]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xdcc12c['id'],_0xdcc12c,!0x0);}async _fetchMissingUsers(_0x522c41){const _0x32d6f6=this['editor']['plugins']['get'](_0x452795),{connection:_0x505569}=this['editor']['plugins']['get'](z),_0x3e3885=new Set();for(const _0x52991f of _0x522c41){for(const _0x3a955a of _0x52991f['authorsIds'])_0x56ad91(_0x3a955a);_0x52991f['creatorId']&&_0x56ad91(_0x52991f['creatorId']);}if(0x0===_0x3e3885['size'])return;const _0x71ee40=await _0xfaa43['getMany'](_0x505569,Array['from'](_0x3e3885));for(const _0x1476f3 of _0x71ee40)_0x32d6f6['getUser'](_0x1476f3['id'])||_0x32d6f6['addUser'](_0x1476f3);function _0x56ad91(_0x14ae86){_0x32d6f6['getUser'](_0x14ae86)||_0x3e3885['add'](_0x14ae86);}}};function pt(_0x104c27){return _0x104c27['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x104c27['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x104c27['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x198537{static get requires(){return[_0x22abf6,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x3c9057{_collapseAt;constructor(_0x3c83f2,_0x25257a=0x6){super(_0x3c83f2);const _0x5bb02c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x25257a,this['bind']('isHidden')['to'](this,'usersCount',_0x592e3b=>_0x592e3b<_0x25257a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5bb02c['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':_0x5bb02c['to']('usersCount',_0x4efed2=>'+'+(_0x4efed2-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x3c9057{items;keystrokes;constructor(_0x31b40f){super(_0x31b40f);const _0x599f82=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2be03b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x599f82['if']('hasPopup'),'aria-expanded':_0x599f82['to']('isExpanded',_0x2bf298=>this['hasPopup']&&String(_0x2bf298)),'aria-label':_0x599f82['to']('hasPopup',_0x266109=>X(_0x31b40f,_0x266109?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x599f82['to']('hasPopup',_0x3c6ba2=>!!_0x3c6ba2&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x599f82['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x599f82['to'](_0x51762a=>{const _0x7fefab=_0x51762a,_0xe69af4=document['querySelector']('.ck-presence-list__dropdown-list'),_0x17be96=document['querySelector']('.ck-balloon-panel_with-arrow');_0xe69af4?.['contains'](_0x7fefab['relatedTarget'])||_0x17be96?.['contains'](_0x7fefab['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4ffb48,_0x3dd177,_0xb380fa)=>{this['element']&&(_0xb380fa?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x3c9057{counterView;inlineListView;constructor(_0x54c444,_0x22311e=0x6){super(_0x54c444);const _0x180265=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x22311e),this['inlineListView']=new vt(_0x54c444),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4cb357 of this['inlineListView']['items'])_0x4cb357['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',_0x180265['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x3c9057{listWrapperView;constructor(_0x83227a,_0x2447b1){super(_0x83227a);const _0x144a88=this['bindTemplate'];this['listWrapperView']=new bt(_0x83227a,_0x2447b1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x83227a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x144a88['to'](_0x51cce9=>{const _0x4d5992=_0x51cce9,_0x3549ea=document['querySelector']('.ck-presence-list__list'),_0x2292ad=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3549ea?.['contains'](_0x4d5992['relatedTarget'])||_0x2292ad?.['contains'](_0x4d5992['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x3bbda9{constructor(_0x5da2d3,_0x8d9a96){super(_0x5da2d3);const _0x2d01b9=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x8d9a96?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2d01b9['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2d01b9['to']('role'),'aria-label':_0x2d01b9['to']('ariaLabel'),'aria-labelledby':_0x2d01b9['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1a9e1f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xb76255=this['element'];_0xb76255&&(this['_isScrollable']=Math['max'](_0xb76255['scrollHeight'],_0xb76255['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x216f28{['userView'];constructor(_0x388419,_0x4fad95,_0x395328){super(_0x388419);const _0x180a1f=this['bindTemplate'];this['userView']=new _0x484af1(_0x388419,_0x4fad95);const _0x2c55ab={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4fad95['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4fad95['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4fad95['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4fad95['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4fad95['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x395328&&(_0x2c55ab['tag']='button',_0x2c55ab['on']={'click':_0x180a1f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2c55ab);}['focus'](){this['element']['focus']();}},It=class extends _0x3c9057{['userView'];['markerView'];constructor(_0x398d46,_0x313367,_0x471d6d){super(_0x398d46);const _0x5bb0a4=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x484af1(_0x398d46,_0x313367),this['markerView']=new St(_0x398d46,_0x313367);const _0x204f06=new _0x305df9(_0x398d46);_0x204f06['template']['tag']='span',_0x204f06['text']=_0x313367['name'];const _0x4707b9={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5bb0a4['to']('isFocusable',_0x2a4da3=>!!_0x2a4da3&&0x0),'aria-labelledby':_0x204f06['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5bb0a4['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5bb0a4['to']('hasTooltip',_0xcc1a5f=>!_0xcc1a5f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x204f06]};_0x471d6d&&(_0x4707b9['tag']='button',_0x4707b9['on']={'click':_0x5bb0a4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4707b9);}},St=class extends _0x3c9057{constructor(_0x4402bf,_0x585ef0){super(_0x4402bf),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x585ef0['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x585ef0['color']['getColorVariable'](),'--ck-user-color-alpha':_0x585ef0['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x1b8d8d{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e616e){super(_0x3e616e),this['context']['config']['define']('presenceList',Tt);const _0x50223f=_0x3e616e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x50223f)throw new _0x470142('presencelist-collapseat-invalid-format',this);if(_0x50223f<0x1)throw new _0x470142('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x19921a(),this['balloonPanelView']=new _0x5157c9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x25b926 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x25b926);this['listenTo'](this['_allConnectedUsers'],'add',(_0x36a2f4,_0x31c5a1)=>{this['_handleUserAdd'](_0x31c5a1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5a4c28,_0xa60737)=>{this['_handleUserRemove'](_0xa60737);});}_createView(){const _0x5acfcd=this['context'],_0x3cb595=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2723ed=this['balloonPanelView'];if(!_0x4afda6(_0x5acfcd['config']['get']('presenceList.container')))throw new _0x470142('presencelist-missing-container',this);return _0x3cb595['counterView']['bind']('usersCount')['to'](this),_0x3cb595['bind']('isCollapsed')['to'](this,'usersCount',_0x208219=>{const {collapseAt:_0x2db2f5}=_0x5acfcd['config']['get']('presenceList'),_0x5489e8=_0x208219>=_0x2db2f5;if(_0x5489e8&&!_0x3cb595['inlineListView']['items']['find'](_0x32ed4f=>_0x32ed4f instanceof wt)){const _0x39d36b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x39d36b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3cb595['inlineListView']['items']['add'](_0x3cb595['counterView']);}return _0x5489e8||this['hideDropdown'](),_0x5489e8;}),_0x3cb595['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4fff1d=>{const _0x141dc2=_0x5acfcd['config']['get']('presenceList'),_0x129695=new It(_0x5acfcd['locale'],_0x4fff1d,!!_0x141dc2['onClick']);return _0x129695['bind']('hasTooltip')['to'](_0x3cb595,'isCollapsed',_0x147663=>!_0x147663),_0x129695['bind']('isFocusable')['to'](_0x3cb595,'isCollapsed',_0x195fca=>!_0x195fca),_0x141dc2['onClick']&&this['listenTo'](_0x129695,'execute',()=>{this['view']['isCollapsed']||_0x141dc2['onClick'](_0x4fff1d,_0x129695['element']);}),_0x129695;}),this['listenTo'](_0x3cb595['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3cb595['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3cb595['inlineListView']['keystrokes']['set']('Enter',(_0x56c8ef,_0x25fee7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x25fee7());}),_0x3cb595['render'](),_0x2723ed['render'](),_0x258569({'emitter':_0x3cb595,'activator':()=>_0x2723ed['isVisible'],'contextElements':[_0x2723ed['element'],_0x3cb595['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5acfcd['config']['get']('presenceList.container')['appendChild'](_0x3cb595['element']),this['_bodyCollection']=new _0x5cfc09(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3cb595;}['_handleUserAdd'](_0x45caef){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x45caef['isMe'])return;const _0x379b6f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x379b6f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5e01f5=_0x45caef['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x45caef,_0x5e01f5);}['_handleUserRemove'](_0x44284d){this['usersCount']--;const {collapseAt:_0x149f1f}=this['context']['config']['get']('presenceList'),_0x54d3ed=this['usersCount']>=_0x149f1f;if(this['currentDisplayedUsers']['get'](_0x44284d['id']))this['currentDisplayedUsers']['remove'](_0x44284d['id']);else{if(_0x54d3ed&&this['currentDisplayedUsers']['length']+0x1===_0x149f1f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x54d3ed?0x1:0x0)<this['usersCount']){for(const _0x2dee28 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2dee28['id'])&&(this['currentDisplayedUsers']['add'](_0x2dee28,Math['min'](this['currentDisplayedUsers']['length']-(_0x54d3ed?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x54d3ed?0x1:0x0)===_0x149f1f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1e746c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1e746c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x58b7ca}=this['presenceDropdownView'];_0x58b7ca['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4f7049=>{if(!_0x1e746c['displayMe']&&_0x4f7049['isMe'])return null;const _0x3ccd6c=new kt(this['context']['locale'],_0x4f7049,!!_0x1e746c['onClick']);return _0x1e746c['onClick']&&this['listenTo'](_0x3ccd6c,'execute',()=>{_0x1e746c['onClick'](_0x4f7049,_0x3ccd6c['element']);}),_0x3ccd6c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x58b7ca['focus'](),_0x58b7ca['checkIfScrollable']();const _0x2f800d=(_0x78914c,_0x14f5ba)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x14f5ba();};_0x58b7ca['keystrokes']['set']('Esc',_0x2f800d),_0x58b7ca['keystrokes']['set']('Shift+Tab',_0x2f800d),_0x58b7ca['keystrokes']['set']('Tab',(_0x2e55ff,_0x53bf63)=>{!function(_0x5bc260){const _0x52df99=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9381cf=>_0x9381cf+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xd4d14d=[...document['body']['querySelectorAll'](_0x52df99)]['filter'](_0x223227=>_0x223227===document['activeElement']||_0x223227['offsetWidth']+_0x223227['offsetHeight']>0x0)['sort']((_0x506900,_0x45378f)=>(_0x506900['tabIndex']||0x0)-(_0x45378f['tabIndex']||0x0)),_0xbf4f10=_0xd4d14d[(_0xd4d14d['indexOf'](_0x5bc260)+0x1)%_0xd4d14d['length']];_0xbf4f10&&_0xbf4f10['focus']();}(this['view']['element']),this['hideDropdown'](),_0x53bf63();}),_0x58b7ca['focusTracker']['add'](this['view']['element']),_0x58b7ca['focusTracker']['on']('change:isFocused',(_0x2d174d,_0x3d1387,_0x48d6e4)=>{_0x48d6e4||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x1b8d8d{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};