@ckeditor/ckeditor5-real-time-collaboration 48.4.0 → 48.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x3ecfdb,ContextPlugin as _0xd1e979,PendingActions as _0x9003cc,Plugin as _0x2fd2b9}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0xacbaf9,Collection as _0x4a18c2,DomEmitterMixin as _0x33c29d,KeystrokeHandler as _0x243499,global as _0x5d7bba,uid as _0xeff1dd,version as _0xdf940c}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x2b1718,BodyCollection as _0x1f77d5,LabelView as _0x58d76d,ListItemView as _0x35ef59,ListView as _0x223b82,Notification as _0x4da3fc,View as _0x49d4c1,clickOutsideHandler as _0x2ca82e}from'@ckeditor/ckeditor5-ui';import{History as _0x5b6931,InsertOperation as _0x94d6d2,MarkerOperation as _0x202700,ModelLiveRange as _0x4a154e,NoOperation as _0x55cc7a,OperationFactory as _0x46062f,RootAttributeOperation as _0x9153cb,transformOperationSets as _0x234e40}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x575e47}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x3d162c,CommentsService as _0x258961,EditorService as _0x2be39b,RevisionHistoryService as _0x50f15e,TrackChangesService as _0x4991bf,User as _0x52b3e1,WEB_SOCKET_GATEWAY_STATES as _0x4ad97d,WebSocketGateway as _0x5a2ce4}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x11aedb,Users as _0x4a35a9}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x10ac7d}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x350040,TrackChangesEditing as _0x18f46a}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x18c06f,CommentsEditing as _0x394529,CommentsRepository as _0x39df5c}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5811ff}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x25aa5f}from'es-toolkit/compat';var z=class WebSocketGateway extends _0xd1e979{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
- ((()=>_0x5a2ce4)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x575e47,_0x4da3fc];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4049e0){super(_0x4049e0),this['set']('state',_0x4ad97d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x33c29d())();}init(){const _0x8eae42=this['context'],_0x228bfd=_0x8eae42['plugins']['get'](_0x575e47),_0x5dee63=_0x8eae42['plugins']['get'](_0x4da3fc);if(!_0x228bfd['token'])throw new _0xacbaf9('websocketgateway-missing-token',this);if(!_0x228bfd['webSocketUrl'])throw new _0xacbaf9('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'](_0x228bfd['token'],_0x228bfd['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x131988=>{if(this['connection']=_0x131988,this['bind']('state')['to'](_0x131988,'state',this,'_isBrowserOffline',(_0x57997b,_0x8d072a)=>('connected'!==_0x57997b&&(this['_shouldPluginsReconnect']=!0x0),_0x8d072a||_0x57997b!==_0x4ad97d['CONNECTED']?_0x4ad97d['DISCONNECTED']:this['state']==_0x4ad97d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4ad97d['CONNECTING']):_0x4ad97d['CONNECTED'])),this['connection']['on']('error',(_0x1db85b,_0x3930dd)=>{if('limitExceeded'!==_0x3930dd['code'])throw console['error'](_0x3930dd),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x3930dd});_0x5dee63['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'});}),!_0x131988['me'])return new Promise(_0x92403f=>_0x131988['on']('change:me',_0x92403f));})['catch'](_0x107e2d=>{throw console['error'](_0x107e2d),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x107e2d});});}addToReconnectionStack(_0x5c00ce){if('function'!=typeof _0x5c00ce['reconnect'])throw new _0xacbaf9('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c00ce))throw new _0xacbaf9('websocketgateway-plugin-already-registered',this,{'name':_0x5c00ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c00ce);}removeFromReconnectionStack(_0x1a7ea8){this['_reconnectionStack']['delete'](_0x1a7ea8);}isInReconnectionStack(_0x133acd){return this['_reconnectionStack']['has'](_0x133acd);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2f5de9=>_0x2f5de9['reconnect']())))['then'](()=>this['state']=_0x4ad97d['CONNECTED'])['catch'](_0x1e8360=>{throw console['error'](_0x1e8360),new _0xacbaf9('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4ad97d['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xd1e979{['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,_0x4a35a9];}constructor(_0x413587){super(_0x413587),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4a18c2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a35a9);}init(){const _0x3a7ad5=this['context']['plugins']['get'](z);this['listenTo'](_0x3a7ad5,'change:state',(_0x327dd5,_0x19654d,_0x3d8d75)=>{if('connected'!==_0x3d8d75)this['channelSessions']['forEach'](_0x54e281=>_0x54e281['clear']()),this['channelConnectedUsers']['forEach'](_0x5be45e=>_0x5be45e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x96858a,_0xea58dd]of this['_registeredSessions'])for(const _0x37b58d of _0xea58dd)this['_handleSessionAdd'](_0x96858a,_0x37b58d);}}),this['_createUser'](_0x3a7ad5['connection']['me'],!0x0);}register(_0xa7cdfa,_0x237b26){if(this['_registeredSessions']['has'](_0xa7cdfa))throw new _0xacbaf9('sessions-register-already-registered',null,{'channelId':_0xa7cdfa});this['_registeredSessions']['set'](_0xa7cdfa,_0x237b26),this['channelSessions']['set'](_0xa7cdfa,new _0x4a18c2()),this['channelConnectedUsers']['set'](_0xa7cdfa,new _0x4a18c2()),this['listenTo'](_0x237b26,'add',(_0x385d8e,_0x32a197)=>this['_handleSessionAdd'](_0xa7cdfa,_0x32a197)),this['listenTo'](_0x237b26,'remove',(_0x4494ee,_0x4a9f13)=>this['_handleSessionRemove'](_0xa7cdfa,_0x4a9f13));for(const _0x1008c1 of _0x237b26)this['_handleSessionAdd'](_0xa7cdfa,_0x1008c1);}unregister(_0xb179ca){if(!this['_registeredSessions']['has'](_0xb179ca))throw new _0xacbaf9('sessions-unregister-not-exist',null,{'channelId':_0xb179ca});const _0x5b051f=this['_registeredSessions']['get'](_0xb179ca);this['stopListening'](_0x5b051f);for(const _0x1a4039 of _0x5b051f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xb179ca,_0x1a4039);this['_registeredSessions']['delete'](_0xb179ca),this['channelSessions']['delete'](_0xb179ca),this['channelConnectedUsers']['delete'](_0xb179ca);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x3b993a){for(const _0x38f9f7 of this['channelSessions']['values']())for(const _0x7f9178 of _0x38f9f7)if(_0x7f9178['id']===_0x3b993a)return _0x7f9178['user'];}getUserSessions(_0x33b588,_0x4f2d18){const _0x5cd3ea=_0x4f2d18?[this['channelSessions']['get'](_0x4f2d18)]:this['channelSessions']['values'](),_0x39ab70=new Set();for(const _0x47c2ef of _0x5cd3ea)for(const _0x404ecb of _0x47c2ef)_0x404ecb['user']['id']===_0x33b588['id']&&_0x39ab70['add'](_0x404ecb['id']);return _0x39ab70;}getUserRole(_0x4d57a4){for(const _0x34dc34 of this['channelSessions']['values']())for(const _0x1bd0ad of _0x34dc34)if(_0x1bd0ad['user']===_0x4d57a4)return _0x1bd0ad['role'];}['_handleSessionAdd'](_0x1b1954,_0x62b2cd){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5bfdae=_0x62b2cd['user'],_0x1bafe6=this['_users']['getUser'](_0x5bfdae['id'])||this['_createUser'](_0x5bfdae),_0x52035e=Object['assign']({},_0x62b2cd,{'user':_0x1bafe6});if(this['channelSessions']['get'](_0x1b1954)['add'](_0x52035e),!_0x5bfdae['hiddenInPresenceList']){const _0x38bbb0=this['channelConnectedUsers']['get'](_0x1b1954);_0x38bbb0['has'](_0x1bafe6['id'])||_0x38bbb0['add'](_0x1bafe6),this['allConnectedUsers']['has'](_0x1bafe6['id'])||_0x5bfdae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1bafe6,_0x1bafe6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b1954,{'channelId':_0x1b1954,'session':_0x52035e});}['_handleSessionRemove'](_0x2ccf05,_0x46e1ec){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1033a2=this['channelConnectedUsers']['get'](_0x2ccf05),_0x2ba8d2=_0x46e1ec['user'];_0x2ba8d2['id']&&(this['channelSessions']['get'](_0x2ccf05)['remove'](_0x46e1ec['id']),_0x1033a2['has'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2,_0x2ccf05)['size']&&_0x1033a2['remove'](_0x2ba8d2['id']),this['allConnectedUsers']['get'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2)['size']&&this['allConnectedUsers']['remove'](_0x2ba8d2['id']));}_createUser(_0xca74fb,_0xb3be23){const _0x3f2ea0=this['_users']['addUser'](_0xca74fb);return _0xb3be23&&this['_users']['defineMe'](_0xca74fb['id']),_0x3f2ea0['orderNumber']=this['_uniqueUsersCount']++,_0x3f2ea0;}},K=class extends _0x2fd2b9{_domEmitter=new(_0x33c29d())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1082d0=this['editor'],_0x46118f=_0x1082d0['plugins']['get'](Y);_0x1082d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4e2ba8,{writer:_0x16de7b})=>function(_0x12fefc,_0x33669c,_0x5aa190,_0x106446){const _0x13233c=_0x12fefc['markerName']['split'](':')[0x2],_0x5058a3=_0x5aa190['getUserBySessionId'](_0x13233c);if(!_0x5058a3||_0x13233c===_0x5aa190['mySessionId'])return;if(!_0x106446['model']['schema']['checkChild'](_0x12fefc['markerRange']['start'],'$text'))return;const _0x108b86={'class':'ck-user__marker\x20'+_0x5058a3['color']['getMarkerClass'](),'style':Q(_0x5058a3),'data-name':_0x5058a3['name'],'data-session-id':_0x13233c},_0x3c59fd=_0x106446['model']['markers']['get'](_0x12fefc['markerName'])['getStart'](),_0x42d8fe=_0x3c59fd['nodeAfter'],_0x145a0b=_0x106446['model']['schema'];if(_0x42d8fe&&_0x145a0b['isObject'](_0x42d8fe)&&_0x145a0b['isInline'](_0x42d8fe)&&!_0x106446['model']['markers']['get']('user:range:'+_0x13233c)['getRange']()['isCollapsed'])return;const _0x403927=_0x3c59fd['parent'];return _0x106446['model']['schema']['isLimit'](_0x403927)&&!_0x106446['model']['hasContent'](_0x403927)&&(_0x108b86['contenteditable']=!0x1),function(_0x5d9a10,_0x3d1fc8,_0xe8db58){const _0x377d25=_0x5d9a10['createUIElement']('span',_0x3d1fc8);return _0x5d9a10['setCustomProperty']('userPositionMarker',!0x0,_0x377d25),_0x377d25['render']=function(_0xb43db6){const _0x3cdbbc=this['toDomElement'](_0xb43db6),_0x5bde5b=document['createElement']('span');return _0x5bde5b['classList']['add']('ck-user__marker-tooltip'),_0x5bde5b['setAttribute']('contenteditable','false'),_0x5bde5b['setAttribute']('spellcheck','false'),_0x5bde5b['textContent']=_0xe8db58['name'],_0x3cdbbc['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5bde5b['outerHTML']+'⁠',_0x3cdbbc['addEventListener']('mouseenter',()=>{_0x3cdbbc['classList']['add']('ck-user__marker_hovered');}),_0x3cdbbc['addEventListener']('mouseleave',()=>{_0x3cdbbc['classList']['remove']('ck-user__marker_hovered');}),_0x3cdbbc;},_0x377d25['isSimilar']=function(_0x205782){return!(!this['getCustomProperty']('userPositionMarker')||!_0x205782['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x205782['getAttribute']('data-session-id'));},_0x377d25;}(_0x33669c,_0x108b86,_0x5058a3);}(_0x4e2ba8,_0x16de7b,_0x46118f,_0x1082d0)}),_0x1082d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c6b3e=>function(_0x4f4ada,_0x5b3989){const _0x46437c=_0x4f4ada['markerName']['split'](':')[0x2];if(_0x46437c===_0x5b3989['mySessionId'])return null;const _0x1db3c7=_0x5b3989['getUserBySessionId'](_0x46437c);return _0x1db3c7?{'id':_0x46437c,'classes':['ck-user__selection',_0x1db3c7['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1db3c7),'data-session-id':_0x46437c},'priority':0x7d0+_0x1db3c7['orderNumber']}:{'id':_0x46437c,'classes':[]};}(_0x4c6b3e,_0x46118f)}),function(_0x294565){const _0x281831=_0x294565['model'],_0x4e19a5=new Map(),_0x56679d=_0x294565['plugins']['get'](Y);_0x281831['markers']['on']('update:user:range',(_0x131715,_0x3c44a2,_0xdd2347,_0x5e7bf1)=>{if(!_0x5e7bf1&&_0x4e19a5['get'](_0x3c44a2['name']))return _0x4e19a5['get'](_0x3c44a2['name'])['detach'](),void _0x4e19a5['delete'](_0x3c44a2['name']);const _0x751742=_0x3c44a2['name']['split'](':')[0x2];if(_0x751742===_0x56679d['mySessionId'])return;const _0x1170df='user:position:'+_0x751742;_0x281831['markers']['has'](_0x1170df)&&_0x294565['editing']['reconvertMarker'](_0x1170df),_0x3c44a2['on']('change:range',(_0x20e78b,_0x13ad2b,_0x5a8175)=>{if('$graveyard'!=_0x13ad2b['root']['rootName']&&'$graveyard'==_0x3c44a2['getRange']()['root']['rootName']&&!_0x4e19a5['has'](_0x3c44a2['name'])){const _0x4d76b3=_0x281831['schema']['getNearestSelectionRange'](_0x5a8175['deletionPosition']);if(_0x4d76b3){const _0x1f3191=_0x4a154e['fromRange'](_0x4d76b3);_0x4e19a5['set'](_0x3c44a2['name'],_0x1f3191),_0x1f3191['on']('change:range',(_0x535f4b,_0x3a8d23,_0x4d77f5)=>{if('$graveyard'==_0x1f3191['root']['rootName']){const _0x278eb5=_0x281831['schema']['getNearestSelectionRange'](_0x4d77f5['deletionPosition']);_0x278eb5?(_0x1f3191['start']=_0x278eb5['start'],_0x1f3191['end']=_0x278eb5['end']):(_0x4e19a5['delete'](_0x3c44a2['name']),_0x1f3191['detach']());}});}}});}),_0x281831['document']['on']('change',()=>{_0x4e19a5['size']>0x0&&_0x281831['enqueueChange']({'isUndoable':!0x1},_0x186fbe=>{for(const [_0x4c7de3,_0x61d198]of _0x4e19a5)'$graveyard'==_0x281831['markers']['get'](_0x4c7de3)['getRange']()['root']['rootName']&&(J(_0x4c7de3['split'](':')[0x2],_0x61d198['toRange'](),_0x281831,_0x186fbe),_0x61d198['detach']());_0x4e19a5['clear']();});});}(_0x1082d0),this['_domEmitter']['listenTo'](_0x5d7bba['document'],'keydown',(_0x1ec19f,{key:_0x5759bd})=>{'Escape'===_0x5759bd&&function(_0x11fe1f){_0x11fe1f['editing']['view']['change'](_0x2a3c9c=>{for(const _0xed53b6 of _0x11fe1f['model']['markers']){if(!_0xed53b6['name']['startsWith']('user:position'))continue;const _0x246b4e=_0x11fe1f['editing']['mapper']['markerNameToElements'](_0xed53b6['name']);if(_0x246b4e){for(const _0x3aa88e of _0x246b4e)_0x2a3c9c['removeClass']('ck-user__marker_hovered',_0x3aa88e);}}});}(_0x1082d0);},{'useCapture':!0x0});}afterInit(){const _0x40a11f=this['editor'],_0x330dca=_0x40a11f['commands']['get']('undo');_0x330dca&&_0x40a11f['model']['on']('applyOperation',(_0x1dddce,_0x1a2192)=>{const _0x4bb796=_0x1a2192[0x0];if(!_0x4bb796['isDocumentOperation'])return;if('marker'!=_0x4bb796['type']||!_0x4bb796['name']['startsWith']('user:'))return;const _0x193500=_0x4bb796['batch'];_0x330dca['_createdBatches']['has'](_0x193500)&&(_0x4bb796['newRange']=_0x4bb796['oldRange']?_0x40a11f['model']['createRange'](_0x4bb796['oldRange']['start'],_0x4bb796['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x469be4=this['editor'],_0x22406b=_0x469be4['model']['document'],_0x434960=_0x469be4['plugins']['get'](Y);_0x469be4['model']['enqueueChange']({'isUndoable':!0x1},_0x1e04b9=>{const _0x40499b='user:range:'+_0x434960['mySessionId'],_0x426a71='user:position:'+_0x434960['mySessionId'],_0x143b8d=_0x469be4['model']['markers']['has'](_0x40499b);_0x469be4['editing']['view']['hasDomSelection']?J(_0x434960['mySessionId'],_0x22406b['selection']['getFirstRange'](),_0x469be4['model'],_0x1e04b9):_0x143b8d&&(_0x1e04b9['removeMarker'](_0x40499b),_0x1e04b9['removeMarker'](_0x426a71));});}};function J(_0x2c0c38,_0x281bcf,_0x569f8e,_0x13e36b){const _0x4dea64='user:range:'+_0x2c0c38,_0x5a02c2='user:position:'+_0x2c0c38,_0x11ecf4=_0x281bcf['getContainedElement']();let _0x91472=_0x281bcf['start'];if(_0x11ecf4&&_0x11ecf4['is']('element','tableCell')){const _0x491274=function(_0x5464e7,_0x3aca5b){for(const _0xa343cc of _0x5464e7['getPositions']())if(_0x3aca5b['schema']['checkChild'](_0xa343cc,'$text'))return _0xa343cc;}(_0x281bcf,_0x569f8e);_0x491274&&(_0x91472=_0x491274,_0x281bcf=_0x13e36b['createRange'](_0x91472));}const _0x2077c4=_0x13e36b['createRange'](_0x91472);_0x569f8e['markers']['has'](_0x4dea64)?(_0x13e36b['updateMarker'](_0x4dea64,{'range':_0x281bcf}),_0x13e36b['updateMarker'](_0x5a02c2,{'range':_0x2077c4})):(_0x13e36b['addMarker'](_0x4dea64,{'range':_0x281bcf,'usingOperation':!0x0}),_0x13e36b['addMarker'](_0x5a02c2,{'range':_0x2077c4,'usingOperation':!0x0}));}function Q(_0x2fd29f){return'--ck-user-color:'+_0x2fd29f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x2fd29f['color']['getColorAlphaVariable']()+';';}function X(_0x4963fc,_0x32c5ec,_0x5bbd27){const _0x49886c=_0x4963fc['t'],t=_0x4963fc['t'];switch(_0x32c5ec){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 _0x49886c({'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'},_0x5bbd27);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x2fd2b9{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3d162c)());_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,_0x9003cc,_0x4a35a9,_0x4da3fc];}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 _0x4d8f09=this['serverHistory']['getOperations']();for(let _0x329a12=_0x4d8f09['length']-0x1;_0x329a12>=0x0;_0x329a12--){const _0x48e92c=_0x4d8f09[_0x329a12];if(!this['_disconnectionOperations']['has'](_0x48e92c))return _0x48e92c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2015){if(super(_0x1d2015),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5b6931(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xacbaf9('collaboration-missing-channelid',this);const _0x28c11d=_0x1d2015['config']['get']('cloudServices.bundleVersion')||_0xdf940c;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x28c11d,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10ac7d(),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 _0x35f060=this['editor'],_0x5681b7=_0x35f060['plugins']['get'](_0x4a35a9),_0x2a5048=_0x35f060['plugins']['get'](z);this['listenTo'](_0x5681b7,'getOperationAuthor',(_0x3c9a85,_0x1a6908)=>{const _0x26c944=_0x1a6908[0x0];_0x26c944['_authorId']&&(_0x3c9a85['return']=_0x5681b7['getUser'](_0x26c944['_authorId']),_0x3c9a85['stop']()),null===_0x26c944['_authorId']&&(_0x3c9a85['return']=null,_0x3c9a85['stop']());},{'priority':'high'}),this['listenTo'](_0x35f060['model']['document']['selection'],'change:range',(_0x3e8abf,_0x54fa6a)=>{_0x54fa6a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x35f060['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x35f060['model']['on']('applyOperation',(_0x339dcb,_0x2db595)=>{const _0x2f7b7d=_0x2db595[0x0];_0x2f7b7d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f7b7d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2a5048,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x422ef5,_0x232095,_0x49e463)=>'connected'===_0x422ef5&&!_0x232095&&!_0x49e463),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x38633d=this['editor']['plugins']['get'](Y),_0x7591e1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x38633d['unregister'](this['_channelId']);const _0x200249=await this['_service']['reconnect'](_0x7591e1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x200249)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xb701e=await this['_service']['getConnectedSessions']();_0x38633d['register'](this['_channelId'],_0xb701e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x705ce1){if(function(_0x59a844){return'404'===_0x59a844['code'];}(_0x705ce1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x25c2de){return'409'===_0x25c2de['code'];}(_0x705ce1)){const _0x35c404=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'](_0x35c404);}else{if(!(_0x705ce1 instanceof et))throw _0x705ce1;this['_handleReconnectionError']();}}}}destroy(){const _0x5a4354=this['editor']['plugins']['get'](z),_0x3a4afd=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a4afd['channelSessions']['has'](this['_channelId'])&&_0x3a4afd['unregister'](this['_channelId']),_0x5a4354['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x12a1ee){if(this['sessionId']!==_0x12a1ee['sessionId']&&this['_lastSyncedOperationId']!==_0x12a1ee['lastOperationId'])throw new et();return this['sessionId']=_0x12a1ee['sessionId'],this['_handleServerResponse']([],{..._0x12a1ee,'wereChangesApplied':!0x1,'data':_0x12a1ee['data']},'reconnect');}async _connectService(_0x504512,_0x55b211=!0x1){const {connection:_0x370ac2}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x370ac2,this['_channelId'])['then'](_0x395f53=>this['_initSessionsHandling'](_0x395f53))['catch'](_0x43458f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x43458f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1cf07f,_0x516abf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x516abf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x369169=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x504512);this['_isPendingUpdate']=!0x0;const _0x32c2f3=await this['_service']['connect'](_0x370ac2,this['_compressOperations'](_0x504512),_0x369169);if(this['sessionId']=_0x32c2f3['sessionId'],_0x55b211){if(!_0x32c2f3['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x32c2f3['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x504512,_0x32c2f3,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x32c2f3,_0x504512);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x20357c=this['editor']['plugins']['get'](Y),_0x2497aa=this['editor']['plugins']['get'](K),_0x3329a9=_0x20357c['channelSessions']['get'](this['_channelId']);_0x3329a9&&_0x3329a9['length']>0x1?_0x2497aa['createUserMarkerOperations']():this['listenTo'](_0x20357c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20357c['channelSessions']['get'](this['_channelId'])['length']&&_0x2497aa['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x5bf8f5,_0x46778e,_0x1d5bee,_0x2a6130){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x46778e){const _0x4fbe85=this['_decompressOperations'](_0x1d5bee,_0x2a6130);await this['_fetchMissingUsers'](_0x4fbe85),this['_handleExternalOperations'](_0x4fbe85,_0x46778e,_0x1d5bee['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x5ed43f}=this['editor'];let _0x5d4623;try{_0x5d4623=await this['_service']['getDocumentDetails']();}catch{const _0x1c7c48=X(_0x5ed43f,'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'](_0x1c7c48);}const _0x3f5342=_0x5d4623['currentDocumentSession']||_0x5d4623['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3f5342['lastOperationId']){const _0x1b779b=X(_0x5ed43f,'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'](_0x1b779b);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x74820c=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x74820c['connection']||'connected'!==_0x74820c['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x1cc37b=this['editor']['plugins']['get'](Y);_0x1cc37b['channelSessions']['has'](this['_channelId'])&&_0x1cc37b['unregister'](this['_channelId']),_0x74820c['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x276316){const _0x2a0604=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2a0604,'sessionAdd:'+this['_channelId'],(_0x36f0b9,{session:_0x4f7d9a})=>{if(_0x4f7d9a['id']===_0x2a0604['mySessionId']){_0x36f0b9['off']();const _0x3fe2a5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x404cc0=_0x4f7d9a['permissions'];_0x3fe2a5&&_0x3fe2a5['isEnabled']&&(_0x404cc0=_0x404cc0['filter'](_0x11ab64=>'document:write'!==_0x11ab64)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x404cc0,this['_channelId']);}}),_0x2a0604['register'](this['_channelId'],_0x276316);}_initThrowingOnDataSet(){const _0x3b8404=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d6eaa)=>{if(!_0x3d6eaa[_0x3d6eaa['length']-0x1]['suppressErrorInCollaboration'])throw new _0xacbaf9('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3b8404['apply'](this['editor']['data'],_0x3d6eaa);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x463377,[_0x49f21c])=>{if(this['_document']['version'])throw new _0xacbaf9('realtimecollaborationclient-init-document-already-initialized',this);_0x463377['stop'](),this['_setPendingAction']();const _0xb22e6f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2c4014])=>!_0x2c4014['lazyLoad'])['map'](([_0x11c0e1,_0x5b17f9])=>[_0x11c0e1,_0x5b17f9['modelAttributes']||{}])),_0x10ad76=this['_getOperationsFromInitData'](_0x49f21c,_0xb22e6f);0x0==_0x10ad76['length']&&_0x10ad76['push'](new _0x55cc7a(0x0)),_0x463377['return']=this['_connectService'](_0x10ad76)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x115162=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x115162))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xfa363,[_0x32e613,_0x1db377])=>{_0xfa363['stop']();const _0x55582f=this['editor']['model']['document']['getRoot'](_0x32e613);if(!this['_knownRootNames']['has'](_0x32e613)){const _0x400745=_0x1db377&&_0x1db377['data']?_0x1db377['data']:'',_0x413a42=_0x1db377&&_0x1db377['attributes']?_0x1db377['attributes']:{};await this['_loadRoot'](_0x32e613,_0x400745,_0x413a42);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x55582f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x55582f);});},{'priority':'high'});}async _fetchMissingUsers(_0x14b0e8){const _0x9f85c6=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x552729}=this['editor']['plugins']['get'](z),_0x248216=new Set();for(const _0x56f31b of _0x14b0e8){const _0x406267=_0x56f31b['_authorId'];_0x406267&&!_0x9f85c6['getUser'](_0x406267)&&_0x248216['add'](_0x406267);}if(0x0===_0x248216['size'])return;const _0x712672=await _0x52b3e1['getMany'](_0x552729,Array['from'](_0x248216));for(const _0x1b7c32 of _0x712672)_0x9f85c6['getUser'](_0x1b7c32['id'])||_0x9f85c6['addUser'](_0x1b7c32);}_getOperationsFromInitData(_0x1337c4,_0x315262={}){const _0x3c8d9f=this['editor']['model'],_0x5b547f=[];let _0x249c67=0x0;const _0x107595='string'==typeof _0x1337c4?{'main':_0x1337c4}:_0x1337c4;for(const _0x20192d of Object['keys'](_0x107595)){if(!this['_document']['roots']['has'](_0x20192d))throw new _0xacbaf9('realtimecollaborationclient-init-non-existent-root',this);const _0x26e5a3=this['_document']['getRoot'](_0x20192d),_0x4211ab=this['editor']['data']['parse'](_0x107595[_0x20192d],_0x26e5a3),_0x5bead2=new _0x94d6d2(_0x3c8d9f['createPositionAt'](_0x26e5a3,0x0),_0x4211ab,_0x249c67++);_0x5b547f['push'](_0x5bead2);for(const [_0x501078,_0x46786c]of _0x4211ab['markers']){const _0xdc9476=new _0x202700(_0x501078,null,_0x3c8d9f['createRange'](_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['start']['path']['slice']()),_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['end']['path']['slice']())),_0x3c8d9f['markers'],!0x0,_0x249c67++);_0x5b547f['push'](_0xdc9476);}}if(_0x315262)for(const [_0x503765,_0x5e213b]of Object['entries'](_0x315262)){const _0x3f2b18=_0x3c8d9f['document']['getRoot'](_0x503765);if(!_0x3f2b18)throw new _0xacbaf9('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c9686,_0x192ca5]of Object['entries'](_0x5e213b))if(null!==_0x192ca5){const _0x51139a=new _0x9153cb(_0x3f2b18,_0x2c9686,null,_0x192ca5,_0x249c67++);_0x5b547f['push'](_0x51139a);}}return _0x5b547f;}async _loadRoot(_0x5d33aa,_0x467f6a,_0x5b90ec){this['_getOperationsFromInitData']({[_0x5d33aa]:_0x467f6a},{[_0x5d33aa]:_0x5b90ec})['forEach']((_0x49b95c,_0x3d44e2)=>{_0x49b95c['baseVersion']=this['_document']['version']+_0x3d44e2,_0x49b95c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x49b95c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x305716,_0x130198){let _0x638f93;this['_offset']=_0x305716['offset'];const _0x54301e=_0x305716['wereChangesApplied']&&!_0x305716['initData'],_0x56d777=_0x54301e?0x0:_0x305716['data']['baseVersion'];if(_0x130198['forEach'](_0x1d25d9=>{_0x1d25d9['_isInit']=!0x0,_0x1d25d9['createdAt']=_0x305716['sessionCreatedAt'],_0x1d25d9['_authorId']=null;}),_0x54301e)_0x638f93=_0x130198,this['_applyOperationsSet'](_0x638f93,_0x54301e);else{if(_0x305716['initData']){const _0x24918b=this['_getOperationsFromInitData'](_0x305716['initData']);this['_document']['history']['version']=-_0x24918b['length'],_0x24918b['forEach'](_0x14bd94=>{_0x14bd94['baseVersion']-=_0x24918b['length'],_0x14bd94['createdAt']=_0x305716['sessionCreatedAt'],_0x14bd94['_isInit']=!0x0,_0x14bd94['_authorId']=null;}),this['_applyOperationsSet'](_0x24918b,!0x0),this['serverHistory']['version']=-_0x24918b['length']+this['_offset'],this['_updateServerHistory'](_0x24918b);}this['_document']['history']['version']=_0x56d777,_0x638f93=this['_decompressOperations'](_0x305716['data'],_0x305716['metadata']),await this['_fetchMissingUsers'](_0x638f93),this['_applyOperationsSet'](_0x638f93,_0x54301e);}_0x305716['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x638f93,_0x305716['lastOperationId']),this['_lastSyncedOperationId']=_0x305716['lastOperationId']),this['serverHistory']['version']=_0x56d777+this['_offset'],this['_updateServerHistory'](_0x638f93),_0x130198['filter'](_0x2aec30=>{const _0x316030=this['_getAffectedRoot'](_0x2aec30);return _0x316030&&!this['_knownRootNames']['has'](_0x316030);})['forEach']((_0x28f806,_0x136be5)=>{_0x28f806['baseVersion']=this['_document']['version']+_0x136be5,this['_saveOperationInBuffer'](_0x28f806);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x10cd8d,_0x2ddf31){const _0x4d6468=_0x2ddf31&&_0x2ddf31['message'];if(_0x4d6468&&_0x4d6468['startsWith']('realtimecollaborationclient'))throw _0x2ddf31;const _0x2a89d3=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2a89d3['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xacbaf9(_0x10cd8d,this['editor'],_0x4d6468?{'originalError':_0x4d6468}:void 0x0);}_saveOperationInBuffer(_0x29ca01){this['_knownOperations']['has'](_0x29ca01)||(this['_knownOperations']['add'](_0x29ca01),this['_bufferedOperations']['push'](_0x29ca01),this['_pendingAction']||'marker'==_0x29ca01['type']&&!_0x29ca01['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x23f3e2=!0x1){!_0x23f3e2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1b9805=>{_0x1b9805&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x29bf25=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1d7fb0){return _0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x29bf25)||this['_crash'](_0x29bf25['message'],_0x29bf25);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x503de9=>{this['on']('change:_isPendingUpdate',()=>{_0x503de9();});});}async _sendBufferedOperations(){const _0x5b5869=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5b5869['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x43e6d1=[...this['_bufferedOperations']];for(const _0x51e882 of _0x43e6d1)_0x51e882['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x51e882);const _0x660bf1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x43e6d1),_0xb52c6c=Z++,_0x5d3e5e=this['_compressOperations'](_0x43e6d1),_0x32bfb0=await this['_service']['sendOperations'](_0x5d3e5e,_0x5d3e5e['baseVersion'],_0x660bf1);try{return await this['_handleServerResponse'](_0x43e6d1,_0x32bfb0,_0xb52c6c);}catch(_0x3b345b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3b345b);}}async['_handleServerResponse'](_0x544fbe,_0x3d8176,_0xf2e9de){if('error'in _0x3d8176)throw _0x3d8176['error'];let _0x735506;if(_0x3d8176['wereChangesApplied']){_0x3d8176['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3d8176['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x30311a=>!_0x544fbe['includes'](_0x30311a));for(const _0x302491 of _0x544fbe)_0x302491['createdAt']='lastOperationAcceptedAt'in _0x3d8176&&_0x3d8176['lastOperationAcceptedAt']||void 0x0;st(_0x544fbe,_0x3d8176['version']-_0x544fbe['length']),this['_updateServerHistory'](_0x544fbe);const _0x3df19f=_0x544fbe['filter'](_0x326813=>{if(!_0x326813['_isInit'])return!0x1;const _0x4fc0df=this['_getAffectedRoot'](_0x326813);return _0x4fc0df&&!this['_knownRootNames']['has'](_0x4fc0df);});st(_0x3df19f,this['_document']['version']),this['_applyOperationsSet'](_0x3df19f),_0x735506=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2311d6=this['_decompressOperations'](_0x3d8176['data'],_0x3d8176['metadata'])['filter'](_0x540631=>_0x540631['baseVersion']>=this['_lastServerVersion']);_0x2311d6['forEach'](_0x3e96a9=>this['_addKnownRoot'](_0x3e96a9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f901f=>!_0x3f901f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3f901f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2311d6),_0x735506=this['_handleExternalOperations'](_0x2311d6,_0x3d8176['version'],_0x3d8176['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x735506?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x5def37,_0x1b8875,_0x552624){try{const _0x31e7df={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x568357,operationsB:_0x33e552,originalOperations:_0x493f64}=_0x234e40(_0x5def37,this['_bufferedOperations'],_0x31e7df);st(_0x568357,this['_document']['version']),st(_0x33e552,_0x1b8875);for(const _0x183f6b of _0x568357){const _0x3bbc58=_0x493f64['get'](_0x183f6b);_0x3bbc58?(_0x183f6b['_authorId']=_0x3bbc58['_authorId'],'noop'!==_0x183f6b['type']&&(_0x183f6b['_aiSource']=_0x3bbc58['_aiSource'])):_0x183f6b['_authorId']=null;}for(const _0xa479d of _0x33e552)'noop'!==_0xa479d['type']&&(_0xa479d['_aiSource']=_0x493f64['get'](_0xa479d)?.['_aiSource']);_0x552624&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5def37,_0x552624),this['_lastSyncedOperationId']=_0x552624),this['_bufferedOperations']=[..._0x33e552],this['_applyOperationsSet'](_0x568357),this['_updateServerHistory'](_0x5def37);}catch(_0x1f8161){return console['error'](_0x1f8161),!0x1;}return!0x0;}_applyOperationsSet(_0x383971,_0x5afb32=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xba46ab=>{for(const _0x3fafc3 of _0x383971)this['_knownOperations']['add'](_0x3fafc3),this['_addKnownRoot'](_0x3fafc3),_0xba46ab['batch']['addOperation'](_0x3fafc3),this['editor']['model']['applyOperation'](_0x3fafc3);});}_addKnownRoot(_0x2d0654){const _0x437ef5=this['_getAffectedRoot'](_0x2d0654);_0x437ef5&&this['_knownRootNames']['add'](_0x437ef5);}_getAffectedRoot(_0xe45ac2){let _0x64883c,_0x3d7da4;switch(_0xe45ac2['type']){case'insert':_0x64883c=_0xe45ac2['position']['root'];break;case'marker':if(_0x3d7da4=_0xe45ac2['newRange'],!_0x3d7da4)return null;_0x64883c=_0x3d7da4['root'];break;case'addRootAttribute':_0x64883c=_0xe45ac2['root'];break;case'addRoot':_0x64883c=_0xe45ac2['affectedSelectable'];break;case'move':_0x64883c=_0xe45ac2['targetPosition']['root'];break;default:return null;}return _0x64883c['rootName'];}_updateServerHistory(_0x1f6a72){_0x1f6a72['forEach'](_0x2adcb7=>{const _0x439be8=_0x2adcb7['clone']();_0x439be8['_authorId']=_0x2adcb7['_authorId'],_0x439be8['_isInit']=!!_0x2adcb7['_isInit'],_0x439be8['_aiSource']=_0x2adcb7['_aiSource'],_0x439be8['createdAt']=_0x2adcb7['createdAt'],_0x439be8['baseVersion']+=this['_offset'],_0x2adcb7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x439be8),this['serverHistory']['addOperation'](_0x439be8);});}_handleReconnectionError(_0x7b752b){const _0x3e262d=this['editor']['plugins']['get']('Notification'),_0x1105b3=this['editor']['locale'];_0x7b752b||(_0x7b752b=X(_0x1105b3,'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.')),_0x3e262d['showWarning'](_0x7b752b,{'title':X(_0x1105b3,'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'](_0x9003cc)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x9003cc)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1dae3c){const _0x4eaf25=_0x1dae3c['map'](_0x4f21c7=>_0x4f21c7['toJSON']());return this['_compressor']['compress'](_0x4eaf25);}_decompressOperations(_0x39fb5b,_0x9a8284){return this['_compressor']['decompress'](_0x39fb5b)['map']((_0x2bfcf6,_0x45a29e)=>{const _0x5aa8c6='init'==_0x9a8284[_0x45a29e]['type'];if('InsertOperation'==_0x2bfcf6['__className']){const _0x5dde67=_0x2bfcf6['position']['root'];!this['_document']['getRoot'](_0x5dde67)&&(this['_document']['createRoot']('$unknown',_0x5dde67)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2bfcf6['__className']){const _0x2d03ca=this['_document']['getRoot'](_0x2bfcf6['rootName']);_0x2d03ca&&'$unknown'==_0x2d03ca['name']&&_0x2bfcf6['elementName']!=_0x2d03ca['name']&&(_0x2d03ca['name']=_0x2bfcf6['elementName']);}}const _0x990da=_0x46062f['fromJSON'](_0x2bfcf6,this['_document']);return _0x990da['wasUndone']=_0x2bfcf6['wasUndone'],_0x990da['_isInit']=_0x5aa8c6,_0x990da['_authorId']=_0x5aa8c6?null:_0x9a8284[_0x45a29e]['userId'],_0x990da['_isDisconnection']='cs:removeUser'===_0x9a8284[_0x45a29e]['type'],_0x990da['_aiSource']=_0x2bfcf6['_aiSource']||void 0x0,_0x990da['createdAt']=_0x9a8284[_0x45a29e]['createdAt'],_0x990da;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x562686=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x562686&&_0x562686['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1bb6eb,_0x312ebc){for(const _0x207668 of _0x1bb6eb)_0x207668['baseVersion']=_0x312ebc++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x5f156d){this['_ignoredOperations']=_0x5f156d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x512cf6){let _0x3eb7b2=_0x512cf6['length'];for(;_0x3eb7b2--;){const _0x40fcbd=_0x512cf6[_0x3eb7b2];if(!this['_ignoredOperations']['has'](_0x40fcbd)){if(!this['_operationToId']['has'](_0x40fcbd)){const _0x416120=_0xeff1dd()['slice'](0x1,0x12);this['_operationToId']['set'](_0x40fcbd,_0x416120);}return this['_operationToId']['get'](_0x40fcbd);}}}setIdForTheLastOperation(_0x188c6d,_0x4e48a2){if(!_0x4e48a2)return;let _0xc74e2d=_0x188c6d['length'];for(;_0xc74e2d--;){const _0x2a6e79=_0x188c6d[_0xc74e2d];this['_ignoredOperations']['has'](_0x2a6e79)||this['_operationToId']['set'](_0x2a6e79,_0x4e48a2);}}},nt=class extends _0x2fd2b9{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xd1e979{static CommentsService=/* #__PURE__ -- @preserve */
26
- ((()=>_0x258961)());['_services'];static get requires(){return[z,_0x39df5c,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x518a44){super(_0x518a44),this['_services']=new Map();}async init(){const _0x275188=this['context'],_0x57aab1=_0x275188['plugins']['get'](_0x39df5c);if(_0x275188['plugins']['get'](z)['addToReconnectionStack'](this),_0x57aab1['adapter']={'addCommentThread':async({channelId:_0x3b53e2,threadId:_0x960512,comments:_0x3a1ba3,resolvedAt:_0x1f65a2,resolvedBy:_0xf1a2ab,context:_0x1770f0,attributes:_0x11de29})=>{const _0x50f2f2=await this['_getService'](_0x3b53e2)['addCommentThread']({'commentThreadId':_0x960512,'comments':_0x3a1ba3['map'](_0x57b8b0=>function(_0x5e2b1a,_0x2a31fa,_0x1138a3){return{'commentThreadId':_0x1138a3,'commentId':_0x5e2b1a['commentId'],'userId':_0x5e2b1a['authorId'],'content':_0x5e2b1a['content'],'documentId':_0x2a31fa,'createdAt':_0x5e2b1a['createdAt'],'attributes':_0x5e2b1a['attributes']||{}};}(_0x57b8b0,_0x3b53e2,_0x960512)),'resolvedAt':_0x1f65a2,'resolvedBy':_0xf1a2ab,'context':_0x1770f0,'attributes':_0x11de29})['catch'](ct);return{'threadId':_0x50f2f2['commentThreadId'],'comments':_0x50f2f2['comments']};},'getCommentThread':async({channelId:_0x32ea79,threadId:_0x49b82e})=>{const _0x16d6c3=await this['_getService'](_0x32ea79)['getCommentThread'](_0x49b82e)['catch'](rt)['catch'](ct);return _0x16d6c3?_0x16d6c3['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x16d6c3]),{'threadId':_0x16d6c3['commentThreadId'],'comments':_0x16d6c3['comments']['map'](at),'context':_0x16d6c3['context'],'resolvedAt':_0x16d6c3['resolvedAt'],'resolvedBy':_0x16d6c3['resolvedBy'],'attributes':_0x16d6c3['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x157330,threadId:_0x2c2945,context:_0x5be877,unlinkedAt:_0x5c10cf,attributes:_0x49878d})=>this['_getService'](_0x157330)['updateCommentThread']({'commentThreadId':_0x2c2945,'context':_0x5be877,'attributes':_0x49878d,'unlinkedAt':_0x5c10cf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x193729,threadId:_0x317292})=>{const _0x5b2e5f=await this['_getService'](_0x193729)['resolveCommentThread'](_0x317292)['catch'](rt)['catch'](ct);return{'threadId':_0x5b2e5f['commentThreadId'],'resolvedAt':_0x5b2e5f['resolvedAt'],'resolvedBy':_0x5b2e5f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x41feb5,threadId:_0x8a6c8b})=>this['_getService'](_0x41feb5)['reopenCommentThread'](_0x8a6c8b)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0xb30ee9,threadId:_0x107a02})=>this['_getService'](_0xb30ee9)['removeCommentThread'](_0x107a02)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x530718,threadId:_0x1fccba,commentId:_0x5063eb,content:_0x581097,attributes:_0x184ab7})=>this['_getService'](_0x530718)['addComment'](_0x1fccba,_0x5063eb,_0x581097,_0x184ab7)['catch'](ct),'updateComment':({channelId:_0x126c71,threadId:_0x4462b3,commentId:_0x4a81a0,content:_0x16f87a,attributes:_0x3d65ca})=>this['_getService'](_0x126c71)['updateComment'](_0x4462b3,_0x4a81a0,_0x16f87a,_0x3d65ca)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4f2d2d,threadId:_0xe9ed39,commentId:_0xf3c001})=>this['_getService'](_0x4f2d2d)['removeComment'](_0xe9ed39,_0xf3c001)['catch'](rt)['catch'](ct)},_0x275188 instanceof _0x3ecfdb){const _0x3ff763=_0x275188['config']['get']('collaboration.channelId'),_0x24d4c6=_0x275188['plugins']['get'](Y);await this['_setUpService'](_0x3ff763);const _0x2dce13=await this['_services']['get'](_0x3ff763)['getConnectedSessions']();this['listenTo'](_0x24d4c6,'sessionAdd:'+_0x3ff763,(_0x1228f0,{session:_0x1c4c46})=>{_0x1c4c46['id']===_0x24d4c6['mySessionId']&&(_0x1228f0['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1c4c46['permissions'],_0x3ff763));}),_0x24d4c6['register'](_0x3ff763,_0x2dce13);}}async _setUpService(_0x893c9){if(this['_services']['has'](_0x893c9))throw new _0xacbaf9('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x893c9});const _0x4bf7f5=this['context']['plugins']['get'](_0x39df5c),_0x4d45a6=new CloudServicesCommentsAdapter['CommentsService'](_0x893c9);this['_services']['set'](_0x893c9,_0x4d45a6),this['listenTo'](_0x4d45a6,'commentThreadAdded',(_0x48869d,_0x5c4ea0)=>{const {commentThreadId:_0x2c73e9,documentId:_0x31b0a3,context:_0xc66e73,attributes:_0x38ce59,resolvedAt:_0xd0b9f9,resolvedBy:_0xa1e8df,comments:_0x294409}=_0x5c4ea0;_0x4bf7f5['getCommentThread'](_0x2c73e9)||_0x4bf7f5['addCommentThread']({'threadId':_0x2c73e9,'channelId':_0x31b0a3,'comments':_0x294409?_0x294409['map'](at):[],'context':_0xc66e73,'attributes':_0x38ce59,'resolvedAt':_0xd0b9f9,'resolvedBy':_0xa1e8df,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadUpdated',(_0x3ca7bd,{commentThreadId:_0xf03458,documentId:_0x4c6e07,context:_0x36f200,unlinkedAt:_0x3e222f,attributes:_0x42b044})=>{_0x4bf7f5['getCommentThread'](_0xf03458)&&_0x4bf7f5['updateCommentThread']({'threadId':_0xf03458,'channelId':_0x4c6e07,'context':_0x36f200,'unlinkedAt':_0x3e222f,'attributes':_0x42b044,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadResolved',(_0xa019bd,{commentThreadId:_0x453759,resolvedBy:_0x3b0b5c,resolvedAt:_0x2a3d95})=>{const _0x19b09c=_0x4bf7f5['getCommentThread'](_0x453759);_0x19b09c&&_0x19b09c['resolve']({'resolvedBy':_0x3b0b5c,'resolvedAt':_0x2a3d95,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadReopened',(_0x211d0b,{commentThreadId:_0x4f55ed})=>{const _0x22af0a=_0x4bf7f5['getCommentThread'](_0x4f55ed);_0x22af0a&&_0x22af0a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadRemoved',(_0x218ed8,{commentThreadId:_0x4115a3})=>{const _0x37580f=_0x4bf7f5['getCommentThread'](_0x4115a3);_0x37580f&&_0x37580f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentAdded',(_0x2f3475,_0x44995c)=>{const _0x467995=_0x44995c['commentThreadId'],_0x3b5407=_0x4bf7f5['getCommentThread'](_0x467995);_0x3b5407&&_0x3b5407['addComment']({...at(_0x44995c),'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentUpdated',(_0x1cb430,{commentThreadId:_0x48cc04,commentId:_0x5656a5,content:_0x20d241,attributes:_0x2e5193})=>{const _0x589e3a=_0x4bf7f5['getCommentThread'](_0x48cc04);if(_0x589e3a){const _0x429a09=_0x589e3a['getComment'](_0x5656a5);_0x429a09&&_0x429a09['update']({'content':_0x20d241,'attributes':_0x2e5193,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'commentRemoved',(_0x2ee09f,{commentThreadId:_0x3b16ac,commentId:_0x2668a3})=>{const _0x54b2ef=_0x4bf7f5['getCommentThread'](_0x3b16ac);if(_0x54b2ef){const _0x28bbb9=_0x54b2ef['getComment'](_0x2668a3);_0x28bbb9&&_0x28bbb9['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x893c9),this['stopListening'](_0x4d45a6));}),await this['_connectService'](_0x893c9);}destroy(){if(this['context']instanceof _0x3ecfdb){const _0x3ab25e=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x3ab25e)&&this['_terminateService'](_0x3ab25e);}}_terminateService(_0x59c8a4){if(!this['_services']['has'](_0x59c8a4))throw new _0xacbaf9('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59c8a4});this['_getService'](_0x59c8a4)['disconnect'](),this['_services']['delete'](_0x59c8a4);}async reconnect(){for(const _0x4daba6 of this['_services']['keys']())await this['_connectService'](_0x4daba6);if(this['context']instanceof _0x3ecfdb){const _0x42ded7=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x42ded7)){const _0x545af5=this['context']['plugins']['get'](Y);_0x545af5['unregister'](_0x42ded7);const _0x289e01=await this['_services']['get'](_0x42ded7)['getConnectedSessions']();_0x545af5['register'](_0x42ded7,_0x289e01);}}}async _connectService(_0x571332){const {connection:_0x232ef7}=this['context']['plugins']['get'](z),_0x55a01d=this['context']['plugins']['get'](_0x39df5c),_0x525433=await this['_services']['get'](_0x571332)['connect'](_0x232ef7);await this['_fetchMissingUsersForThreads'](_0x525433);const _0x199e2a=new Set(Array['from'](_0x55a01d['getCommentThreads']({'channelId':_0x571332}),_0x5b8ee0=>_0x5b8ee0['id']));for(const _0x56ced7 of _0x525433)_0x56ced7['deletedAt']||_0x199e2a['delete'](_0x56ced7['commentThreadId']);for(const _0x3c0829 of _0x199e2a)_0x55a01d['getCommentThread'](_0x3c0829)['remove']({'isFromAdapter':!0x0});for(const _0x44b6f1 of _0x525433){let _0x13709a=_0x55a01d['getCommentThread'](_0x44b6f1['commentThreadId']);const {commentThreadId:_0x5053a3,context:_0x2fc269,attributes:_0xecb3d5,resolvedBy:_0xe98ed,resolvedAt:_0x233896,unlinkedAt:_0x2c81ed,deletedAt:_0x3bdfb7}=_0x44b6f1;if(_0x3bdfb7)continue;_0x13709a||(_0x13709a=_0x55a01d['addCommentThread']({'channelId':_0x571332,'threadId':_0x5053a3,'context':_0x2fc269,'attributes':_0xecb3d5||{},'resolvedBy':_0xe98ed,'resolvedAt':_0x233896,'unlinkedAt':_0x2c81ed,'isFromAdapter':!0x0}));const _0x3543e4=new Set(Array['from'](_0x13709a['comments'],_0x36c447=>_0x36c447['id']));for(const _0x27f669 of _0x44b6f1['comments'])_0x3543e4['delete'](_0x27f669['commentId']);for(const _0x1df083 of _0x3543e4)_0x13709a['getComment'](_0x1df083)['remove']({'isFromAdapter':!0x0});for(const _0xda1909 of _0x44b6f1['comments']){const _0x498050=_0x13709a['getComment'](_0xda1909['commentId']);_0x498050?_0x498050['content']!==_0xda1909['content']&&_0x498050['update']({'content':_0xda1909['content'],'isFromAdapter':!0x0}):_0x13709a['addComment'](Object['assign'](at(_0xda1909),{'isFromAdapter':!0x0}));}}}_getService(_0xb81e2b){if(!this['_services']['has'](_0xb81e2b))throw new _0xacbaf9('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xb81e2b});return this['_services']['get'](_0xb81e2b);}async _fetchMissingUsersForThreads(_0x45f77b){const _0x150d0f=this['context']['plugins']['get'](_0x4a35a9),{connection:_0x2ff140}=this['context']['plugins']['get'](z),_0x209392=new Set();for(const {resolvedBy:_0x448494,comments:_0x180991}of _0x45f77b){_0x448494&&!_0x150d0f['getUser'](_0x448494)&&_0x209392['add'](_0x448494);for(const {userId:_0x2ec7d6}of _0x180991)_0x150d0f['getUser'](_0x2ec7d6)||_0x209392['add'](_0x2ec7d6);}if(0x0===_0x209392['size'])return;const _0x2fb636=await _0x52b3e1['getMany'](_0x2ff140,Array['from'](_0x209392));for(const _0x509f00 of _0x2fb636)_0x150d0f['getUser'](_0x509f00['id'])||_0x150d0f['addUser'](_0x509f00);}};async function rt(_0x225515){if('404'!==_0x225515['code'])throw _0x225515;}function ct(_0x12acfe){if((_0x56fbbb=_0x12acfe)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56fbbb;throw _0x12acfe;}function at(_0x3d4c31){return{'threadId':_0x3d4c31['commentThreadId'],'commentId':_0x3d4c31['commentId'],'content':_0x3d4c31['content'],'createdAt':_0x3d4c31['createdAt'],'authorId':_0x3d4c31['userId'],'attributes':_0x3d4c31['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x2fd2b9{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x4991bf)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x18f46a,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdf4148){super(_0xdf4148);const _0x568af4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x568af4);}init(){const _0x1de429=this['editor']['plugins']['get'](z),_0x5e813a=this['editor']['plugins']['get'](_0x18f46a);return _0x5e813a['adapter']={'getSuggestion':async _0x1a5923=>{await this['_waitForServiceReady']();const _0x3a2fb8=await this['_trackChangesService']['get'](_0x1a5923)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a2fb8]),_0x3a2fb8;},'addSuggestion':async({id:_0x53d808,type:_0x4e9e59,data:_0x1c8402,originalSuggestionId:_0x59a685,attributes:_0x49653d})=>{await this['_waitForServiceReady']();const _0x5a92ac={'id':_0x53d808,'type':_0x4e9e59,'data':_0x1c8402,'originalSuggestionId':_0x59a685,'attributes':_0x49653d},_0x1d28f4=await this['_trackChangesService']['add'](_0x53d808,_0x4e9e59,_0x1c8402,_0x59a685,_0x49653d)['catch'](_0xe53950=>{if(dt(_0xe53950))return new Promise(_0x148c7f=>{this['_bufferedRequests']['set'](_0x53d808,{'resolve':_0x148c7f,'suggestionData':_0x5a92ac});});throw _0xe53950;});return this['_bufferedRequests']['delete'](_0x53d808),_0x1d28f4;},'updateSuggestion':async(_0x314744,_0x3fc394)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3fc394['state'])return this['_trackChangesService']['update'](_0x314744,_0x3fc394)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xb690f9,_0x1e3002)=>{_0x5e813a['hasSuggestion'](_0x1e3002['id'])&&(_0x5e813a['getSuggestion'](_0x1e3002['id'])['attributes']=_0x1e3002['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x1de429['connection']?.['state']&&(_0x1de429['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x1de429['connection'])['then'](_0x2a10fb=>(_0x1de429['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2a10fb)['then'](()=>{for(const _0x525a4a of _0x2a10fb){_0x5e813a['addSuggestionData'](_0x525a4a)['_saved']=!0x0;}})));}async reconnect(){const _0x2f2b27=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x386b08}=this['editor']['plugins']['get'](z),_0x529972=await this['_trackChangesService']['connect'](_0x386b08);await this['_fetchMissingUsersForThreads'](_0x529972);for(const {suggestionData:_0x58b828,resolve:_0x522bf4}of this['_bufferedRequests']['values']()){let _0x5e48de=_0x529972['find'](_0x3bb970=>_0x3bb970['id']===_0x58b828['id']);_0x5e48de||(_0x5e48de=await this['_trackChangesService']['add'](_0x58b828['id'],_0x58b828['type'],_0x58b828['data'],_0x58b828['originalSuggestionId'])),_0x522bf4(_0x5e48de);}for(const _0x43192a of _0x529972)_0x2f2b27['hasSuggestion'](_0x43192a['id'])||_0x2f2b27['addSuggestionData'](_0x43192a);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x1c0df5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2e0670=>{_0x2e0670['off'](),_0x1c0df5();});});}async _fetchMissingUsersForThreads(_0x4c6fcd){const _0x2126b9=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x147f29}=this['editor']['plugins']['get'](z),_0x13a945=new Set();for(const {authorId:_0x4be97d}of _0x4c6fcd)_0x2126b9['getUser'](_0x4be97d)||_0x13a945['add'](_0x4be97d);if(0x0===_0x13a945['size'])return;const _0xab9bda=await _0x52b3e1['getMany'](_0x147f29,Array['from'](_0x13a945));for(const _0xb8930e of _0xab9bda)_0x2126b9['getUser'](_0xb8930e['id'])||_0x2126b9['addUser'](_0xb8930e);}};function lt(_0x2fa295){if(dt(_0x2fa295))return new Promise(()=>{});throw _0x2fa295;}function dt(_0x527662){return _0x527662['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x527662['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x2fd2b9{static get requires(){return[_0x18c06f,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5ed5cd=this['editor']['plugins']['get'](z),_0x5357c3=this['editor']['plugins']['get'](_0x394529),_0x27603d=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5ed5cd,'change:state',(_0x40ea58,_0x25319f,_0x143d4f)=>{_0x5357c3['isThreadsLoadingPaused']='connected'!==_0x143d4f;});}),this['listenTo'](_0x5ed5cd,'change:state',(_0x12141b,_0x23e790,_0x1b95fb)=>{this['editor']['plugins']['get'](_0x39df5c)['switchReadOnly']('connected'!==_0x1b95fb);}),_0x27603d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x2dcce8=this['editor']['plugins']['get'](ot),_0x3dbb9a=this['editor']['config']['get']('collaboration.channelId');_0x2dcce8['_services']['has'](_0x3dbb9a)&&_0x2dcce8['_terminateService'](_0x3dbb9a),super['destroy']();}},ft=class extends _0x2fd2b9{static get requires(){return[ut,ht,_0x350040];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x2fd2b9{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
- ((()=>_0x50f15e)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5811ff,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292251){super(_0x292251);const _0x2937cd=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2937cd);}async init(){const _0x1b1a97=this['editor']['plugins']['get'](tt),_0x4ce502=_0x1b1a97['serverHistory'],_0x3edbce=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce502,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1b1a97['sessionId']});const _0x16a3be=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xdf940c,_0x9ded84=await _0x2be39b['isBundleUploaded'](_0x3edbce['connection'],_0x16a3be);this['editor']['plugins']['get'](_0x5811ff)['adapter']={'getRevision':async({revisionId:_0x1bd7c8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1bd7c8)),'updateRevisions':async _0x2c9812=>{await this['_waitForServiceReady']();const _0x24b62d=this['_revisionTracker']['currentRevision'];if(_0x9ded84&&0x1===_0x2c9812['length']&&_0x2c9812[0x0]['id']===_0x24b62d['id'])return _0x2c9812;for(const _0x43755d of _0x2c9812)_0x43755d['id']===_0x24b62d['id']&&(_0x43755d['isEmptyCurrent']=_0x43755d['fromVersion']===_0x43755d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2c9812,this['_lastRequestId'])['then'](_0x2ae174=>(this['_lastRequestId']=_0x2ae174,_0x2c9812))['catch'](_0x442bac=>{if(pt(_0x442bac)||'400'===_0x442bac['code']&&void 0x0!==_0x442bac['data']['wrongRequestId']){for(const _0x397921 of _0x2c9812)this['_revisionTracker']['repository']['getRevision'](_0x397921['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x397921['id'],_0x397921,!0x1);if(pt(_0x442bac)&&'destroyed'!==this['editor']['state'])throw _0x442bac;return _0x2c9812;}throw _0x442bac;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x11c0a1,{revisionsData:_0x1a503d,requestId:_0x345845})=>{Math['max'](..._0x1a503d['map'](_0x128138=>_0x128138['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}):this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3edbce['connection']?.['state']&&(_0x3edbce['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x8c92ca,requestId:_0x70f09}=await this['_revisionHistoryService']['connect'](_0x3edbce['connection']);_0x3edbce['addToReconnectionStack'](this),this['_lastRequestId']=_0x70f09,await this['_fetchMissingUsers'](_0x8c92ca);for(const _0x56760a of _0x8c92ca)this['_revisionTracker']['addRevisionData'](_0x56760a);this['listenTo'](_0x1b1a97,'change:_isConnected',(_0x1ff198,_0x40274f,_0x4389f1)=>{_0x4389f1&&(this['_oldOffset']=_0x1b1a97['_offset'],_0x1ff198['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x398ff2=this['editor']['plugins']['get'](z),_0x51de11=this['editor']['plugins']['get'](tt),_0x34ee80=async()=>{const _0x1607f9=this['_revisionTracker']['currentRevision'],_0x454b90=_0x1607f9['id'],_0x4fad26=_0x454b90!==_0x51de11['sessionId'];if(_0x4fad26){const _0x5812a4=_0x51de11['_offset']-this['_oldOffset'],_0x59f41e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1607f9['toVersion']+_0x5812a4!==_0x59f41e){const _0x5bc519=_0x1607f9['fromVersion']+_0x5812a4,_0x376969=this['editor']['plugins']['get'](_0x4a35a9),_0x1e7738=this['_revisionTracker']['buildRevisionData']({'revision':_0x1607f9,'from':_0x5bc519,'to':_0x59f41e});_0x1e7738['id']=_0x1607f9['id'];const _0x3f0fab=_0x1e7738['authorsIds']['map'](_0x22b414=>_0x376969['getUser'](_0x22b414));_0x1607f9['_update']({..._0x1e7738,'authors':_0x3f0fab},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1607f9['id'],_0x1e7738,!0x0);}this['_revisionTracker']['_startingVersion']=_0x59f41e,_0x1607f9['toVersion']!==_0x1607f9['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x454b90)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x454b90),this['_revisionTracker']['_createCurrentRevision'](_0x59f41e);}const {revisions:_0x268b83,requestId:_0x3e6a22}=await this['_revisionHistoryService']['reconnect'](_0x398ff2['connection'],this['_lastRequestId']);_0x4fad26&&_0x268b83['length']>0x0?_0x51de11['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x268b83),this['_handleRevisionsUpdate'](_0x268b83,_0x3e6a22),this['_revisionTracker']['sendBufferedUpdates']());};return _0x51de11['_isConnected']?_0x34ee80():new Promise((_0x5a003f,_0x345daf)=>{_0x51de11['once']('change:_isConnected',()=>{_0x34ee80()['then'](_0x5a003f)['catch'](_0x345daf);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0xdba4e6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x36cfd4=>{_0x36cfd4['off'](),_0xdba4e6();});});}_getLatestVersionFromServerOperations(){const _0x1d5007=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x59e1b9 of _0x1d5007)if('marker'!==_0x59e1b9['type']||_0x59e1b9['affectsData'])return _0x59e1b9['baseVersion']+0x1;}_getLatestVersion(){const _0x10f3f9=this['editor']['plugins']['get'](tt);return new Promise(_0x210081=>{_0x10f3f9['_isPendingUpdate']?_0x10f3f9['once']('change:_isPendingUpdate',()=>{_0x210081(this['_getLatestVersionFromServerOperations']());}):_0x210081(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x11873d,_0x4224cc){const _0x34c4a6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4224cc;for(const _0x208f78 of _0x11873d){const _0x340c45=_0x34c4a6['getRevision'](_0x208f78['id']);if(_0x340c45){if((_0x208f78['fromVersion']||_0x208f78['toVersion'])&&(_0x208f78['diffData']=null),_0x340c45===this['_revisionTracker']['currentRevision']){const _0x1ea1d7=Math['max'](_0x340c45['toVersion'],_0x208f78['toVersion']),_0x5888af=Math['max'](_0x340c45['fromVersion'],_0x208f78['fromVersion']);let _0x128c1d;_0x340c45['toVersion']===_0x208f78['toVersion']&&_0x340c45['fromVersion']===_0x208f78['fromVersion']?(_0x128c1d=!0x0,this['_preventResendingRevisionData'](_0x208f78)):_0x208f78['toVersion']===_0x1ea1d7&&_0x208f78['fromVersion']===_0x5888af?_0x128c1d=!0x1:(_0x340c45['toVersion']===_0x1ea1d7&&_0x340c45['fromVersion']===_0x5888af||this['_fixRevision']({'revision':_0x340c45,'from':_0x5888af,'to':_0x1ea1d7}),_0x128c1d=!0x0),_0x128c1d&&(delete _0x208f78['fromVersion'],delete _0x208f78['toVersion'],delete _0x208f78['diffData'],delete _0x208f78['createdAt'],delete _0x208f78['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x208f78),this['_preventResendingRevisionData'](_0x208f78);}else this['_revisionTracker']['addRevisionData'](_0x208f78);}const _0x597451=_0x34c4a6['getRevisions']();_0x597451['reverse']();for(let _0x173c43=0x0;_0x173c43<_0x597451['length']-0x1;_0x173c43++){const _0x1f7f77=_0x597451[_0x173c43],_0x3b700a=_0x597451[_0x173c43+0x1];if(_0x1f7f77['fromVersion']<_0x3b700a['toVersion']){const _0x424206=_0x3b700a['toVersion'],_0x37e395=Math['max'](_0x424206,_0x1f7f77['toVersion']);this['_fixRevision']({'revision':_0x1f7f77,'from':_0x424206,'to':_0x37e395});}}}['_fixRevision']({revision:_0x349311,from:_0x37f7fa,to:_0x420891}={}){const _0x53a950=this['editor']['plugins']['get'](_0x4a35a9),_0x313f62=this['_revisionTracker']['buildRevisionData']({'revision':_0x349311,'from':_0x37f7fa,'to':_0x420891});_0x313f62['authors']=_0x313f62['authorsIds']['map'](_0x1a68aa=>_0x53a950['getUser'](_0x1a68aa)),_0x349311['_update'](_0x313f62);}_preventResendingRevisionData(_0x219f49){const _0x4365b4={};_0x4365b4['id']=_0x219f49['id'];for(const _0x186b78 of Object['keys'](_0x219f49))'id'!==_0x186b78&&(_0x4365b4[_0x186b78]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4365b4['id'],_0x4365b4,!0x0);}async _fetchMissingUsers(_0x7d9651){const _0x4994a3=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x356884}=this['editor']['plugins']['get'](z),_0x2a5409=new Set();for(const _0x2b0193 of _0x7d9651){for(const _0x25f5b4 of _0x2b0193['authorsIds'])_0x140e3e(_0x25f5b4);_0x2b0193['creatorId']&&_0x140e3e(_0x2b0193['creatorId']);}if(0x0===_0x2a5409['size'])return;const _0x2039f1=await _0x52b3e1['getMany'](_0x356884,Array['from'](_0x2a5409));for(const _0xa9bee3 of _0x2039f1)_0x4994a3['getUser'](_0xa9bee3['id'])||_0x4994a3['addUser'](_0xa9bee3);function _0x140e3e(_0x3f9251){_0x4994a3['getUser'](_0x3f9251)||_0x2a5409['add'](_0x3f9251);}}};function pt(_0x5e75c5){return _0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x2fd2b9{static get requires(){return[_0x5811ff,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x49d4c1{_collapseAt;constructor(_0x4861bb,_0x5529b0=0x6){super(_0x4861bb);const _0x19e445=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5529b0,this['bind']('isHidden')['to'](this,'usersCount',_0x1660d1=>_0x1660d1<_0x5529b0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19e445['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':_0x19e445['to']('usersCount',_0x4659c6=>'+'+(_0x4659c6-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x49d4c1{items;keystrokes;constructor(_0xc3e0b7){super(_0xc3e0b7);const _0x3cd97e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x243499(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3cd97e['if']('hasPopup'),'aria-expanded':_0x3cd97e['to']('isExpanded',_0x2a4cf4=>this['hasPopup']&&String(_0x2a4cf4)),'aria-label':_0x3cd97e['to']('hasPopup',_0x403f7a=>X(_0xc3e0b7,_0x403f7a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3cd97e['to']('hasPopup',_0x50c260=>!!_0x50c260&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3cd97e['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3cd97e['to'](_0x2a044f=>{const _0x3c1b54=_0x2a044f,_0x529f6c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x398e1c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x529f6c?.['contains'](_0x3c1b54['relatedTarget'])||_0x398e1c?.['contains'](_0x3c1b54['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x84795d,_0x4bbd26,_0x4dd46e)=>{this['element']&&(_0x4dd46e?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 _0x49d4c1{counterView;inlineListView;constructor(_0x5edc6e,_0x342385=0x6){super(_0x5edc6e);const _0xe94e92=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x342385),this['inlineListView']=new vt(_0x5edc6e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5d02d6 of this['inlineListView']['items'])_0x5d02d6['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',_0xe94e92['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x49d4c1{listWrapperView;constructor(_0x42844e,_0x368da7){super(_0x42844e);const _0x6e688a=this['bindTemplate'];this['listWrapperView']=new bt(_0x42844e,_0x368da7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x42844e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x6e688a['to'](_0x447541=>{const _0x138546=_0x447541,_0x42c96e=document['querySelector']('.ck-presence-list__list'),_0x4118b6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x42c96e?.['contains'](_0x138546['relatedTarget'])||_0x4118b6?.['contains'](_0x138546['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x223b82{constructor(_0x33a087,_0x1d1533){super(_0x33a087);const _0x937161=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1d1533?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x937161['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x937161['to']('role'),'aria-label':_0x937161['to']('ariaLabel'),'aria-labelledby':_0x937161['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5d7bba['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2bbb3b=this['element'];_0x2bbb3b&&(this['_isScrollable']=Math['max'](_0x2bbb3b['scrollHeight'],_0x2bbb3b['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x35ef59{['userView'];constructor(_0x4c5546,_0xa840ef,_0x414c2c){super(_0x4c5546);const _0x172f2d=this['bindTemplate'];this['userView']=new _0x11aedb(_0x4c5546,_0xa840ef);const _0x323e4f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xa840ef['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xa840ef['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xa840ef['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xa840ef['color']['getColorVariable'](),'--ck-user-color-alpha':_0xa840ef['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x414c2c&&(_0x323e4f['tag']='button',_0x323e4f['on']={'click':_0x172f2d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x323e4f);}['focus'](){this['element']['focus']();}},It=class extends _0x49d4c1{['userView'];['markerView'];constructor(_0x32083c,_0x27ac34,_0x116902){super(_0x32083c);const _0x1f39f6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x11aedb(_0x32083c,_0x27ac34),this['markerView']=new St(_0x32083c,_0x27ac34);const _0x594014=new _0x58d76d(_0x32083c);_0x594014['template']['tag']='span',_0x594014['text']=_0x27ac34['name'];const _0x117d00={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1f39f6['to']('isFocusable',_0x5961e0=>!!_0x5961e0&&0x0),'aria-labelledby':_0x594014['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1f39f6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1f39f6['to']('hasTooltip',_0x5785fd=>!_0x5785fd),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x594014]};_0x116902&&(_0x117d00['tag']='button',_0x117d00['on']={'click':_0x1f39f6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x117d00);}},St=class extends _0x49d4c1{constructor(_0x3fd5b5,_0x4c8108){super(_0x3fd5b5),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4c8108['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4c8108['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4c8108['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xd1e979{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36ffe9){super(_0x36ffe9),this['context']['config']['define']('presenceList',Tt);const _0x30a932=_0x36ffe9['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x30a932)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);if(_0x30a932<0x1)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4a18c2(),this['balloonPanelView']=new _0x2b1718(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x13f20d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x13f20d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x487f4f,_0xa81a53)=>{this['_handleUserAdd'](_0xa81a53);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x174b39,_0x3ecba2)=>{this['_handleUserRemove'](_0x3ecba2);});}_createView(){const _0x41ec62=this['context'],_0x13cda8=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xf0a522=this['balloonPanelView'];if(!_0x25aa5f(_0x41ec62['config']['get']('presenceList.container')))throw new _0xacbaf9('presencelist-missing-container',this);return _0x13cda8['counterView']['bind']('usersCount')['to'](this),_0x13cda8['bind']('isCollapsed')['to'](this,'usersCount',_0x22e543=>{const {collapseAt:_0x5d7f65}=_0x41ec62['config']['get']('presenceList'),_0x4466c1=_0x22e543>=_0x5d7f65;if(_0x4466c1&&!_0x13cda8['inlineListView']['items']['find'](_0x1511f5=>_0x1511f5 instanceof wt)){const _0x342783=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x342783&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x13cda8['inlineListView']['items']['add'](_0x13cda8['counterView']);}return _0x4466c1||this['hideDropdown'](),_0x4466c1;}),_0x13cda8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5b6b5a=>{const _0x32cfcd=_0x41ec62['config']['get']('presenceList'),_0x1ff663=new It(_0x41ec62['locale'],_0x5b6b5a,!!_0x32cfcd['onClick']);return _0x1ff663['bind']('hasTooltip')['to'](_0x13cda8,'isCollapsed',_0x495ad9=>!_0x495ad9),_0x1ff663['bind']('isFocusable')['to'](_0x13cda8,'isCollapsed',_0x4a948a=>!_0x4a948a),_0x32cfcd['onClick']&&this['listenTo'](_0x1ff663,'execute',()=>{this['view']['isCollapsed']||_0x32cfcd['onClick'](_0x5b6b5a,_0x1ff663['element']);}),_0x1ff663;}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x13cda8['inlineListView']['keystrokes']['set']('Enter',(_0x9d1b5c,_0x4d61d4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4d61d4());}),_0x13cda8['render'](),_0xf0a522['render'](),_0x2ca82e({'emitter':_0x13cda8,'activator':()=>_0xf0a522['isVisible'],'contextElements':[_0xf0a522['element'],_0x13cda8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x41ec62['config']['get']('presenceList.container')['appendChild'](_0x13cda8['element']),this['_bodyCollection']=new _0x1f77d5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x13cda8;}['_handleUserAdd'](_0x536d8b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x536d8b['isMe'])return;const _0x446132=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x446132-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x59e8b4=_0x536d8b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x536d8b,_0x59e8b4);}['_handleUserRemove'](_0x11eb84){this['usersCount']--;const {collapseAt:_0x5cb96b}=this['context']['config']['get']('presenceList'),_0x28dd01=this['usersCount']>=_0x5cb96b;if(this['currentDisplayedUsers']['get'](_0x11eb84['id']))this['currentDisplayedUsers']['remove'](_0x11eb84['id']);else{if(_0x28dd01&&this['currentDisplayedUsers']['length']+0x1===_0x5cb96b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)<this['usersCount']){for(const _0x46298c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x46298c['id'])&&(this['currentDisplayedUsers']['add'](_0x46298c,Math['min'](this['currentDisplayedUsers']['length']-(_0x28dd01?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)===_0x5cb96b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5b6c7d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5b6c7d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4dc4d4}=this['presenceDropdownView'];_0x4dc4d4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xe057c4=>{if(!_0x5b6c7d['displayMe']&&_0xe057c4['isMe'])return null;const _0x17f963=new kt(this['context']['locale'],_0xe057c4,!!_0x5b6c7d['onClick']);return _0x5b6c7d['onClick']&&this['listenTo'](_0x17f963,'execute',()=>{_0x5b6c7d['onClick'](_0xe057c4,_0x17f963['element']);}),_0x17f963;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4dc4d4['focus'](),_0x4dc4d4['checkIfScrollable']();const _0x49d8e3=(_0x5e5849,_0x3fbcf2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3fbcf2();};_0x4dc4d4['keystrokes']['set']('Esc',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Shift+Tab',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Tab',(_0x318c2b,_0x4cc73e)=>{!function(_0x2edb2a){const _0xfcd84f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x240a8c=>_0x240a8c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1f0a64=[...document['body']['querySelectorAll'](_0xfcd84f)]['filter'](_0x13b693=>_0x13b693===document['activeElement']||_0x13b693['offsetWidth']+_0x13b693['offsetHeight']>0x0)['sort']((_0x50a7f1,_0x32ed93)=>(_0x50a7f1['tabIndex']||0x0)-(_0x32ed93['tabIndex']||0x0)),_0x395fd0=_0x1f0a64[(_0x1f0a64['indexOf'](_0x2edb2a)+0x1)%_0x1f0a64['length']];_0x395fd0&&_0x395fd0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4cc73e();}),_0x4dc4d4['focusTracker']['add'](this['view']['element']),_0x4dc4d4['focusTracker']['on']('change:isFocused',(_0x385d6f,_0xf17b54,_0x62eb8e)=>{_0x62eb8e||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 _0xd1e979{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 _0x4fe616,ContextPlugin as _0x3db858,PendingActions as _0x16dea5,Plugin as _0x1e2c35}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x1cd844,Collection as _0x2188d9,DomEmitterMixin as _0x3ddb20,KeystrokeHandler as _0x348589,global as _0x56e72d,uid as _0x5a8841,version as _0x5737c2}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x4e07dc,BodyCollection as _0xb9107e,LabelView as _0x286fa8,ListItemView as _0x5d3968,ListView as _0x1a0a9b,Notification as _0x4178d7,View as _0x4f13ad,clickOutsideHandler as _0x3c456b}from'@ckeditor/ckeditor5-ui';import{History as _0x274768,InsertOperation as _0x3df20c,MarkerOperation as _0x20bd43,ModelLiveRange as _0x2b80bc,NoOperation as _0x49e919,OperationFactory as _0x52f4f9,RootAttributeOperation as _0x4494bb,transformOperationSets as _0x178582}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x2f9fd4}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x5e6c3a,CommentsService as _0x294775,EditorService as _0x1ddb48,RevisionHistoryService as _0x33a6ab,TrackChangesService as _0x53df18,User as _0x197c00,WEB_SOCKET_GATEWAY_STATES as _0x302c46,WebSocketGateway as _0xfbeae0}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x494d84,Users as _0x4e8b99}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x43f8be}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x4fb15c,TrackChangesEditing as _0x27597a}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x5db2b7,CommentsEditing as _0x54e2b9,CommentsRepository as _0x46916a}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5c26c3}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x20a13c}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x3db858{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0xfbeae0)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x2f9fd4,_0x4178d7];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a2453){super(_0x3a2453),this['set']('state',_0x302c46['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3ddb20())();}init(){const _0x106289=this['context'],_0x385cd7=_0x106289['plugins']['get'](_0x2f9fd4),_0x268e86=_0x106289['plugins']['get'](_0x4178d7);if(!_0x385cd7['token'])throw new _0x1cd844('websocketgateway-missing-token',this);if(!_0x385cd7['webSocketUrl'])throw new _0x1cd844('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'](_0x385cd7['token'],_0x385cd7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x200280=>{if(this['connection']=_0x200280,this['bind']('state')['to'](_0x200280,'state',this,'_isBrowserOffline',(_0x40e68d,_0x1fb744)=>('connected'!==_0x40e68d&&(this['_shouldPluginsReconnect']=!0x0),_0x1fb744||_0x40e68d!==_0x302c46['CONNECTED']?_0x302c46['DISCONNECTED']:this['state']==_0x302c46['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x302c46['CONNECTING']):_0x302c46['CONNECTED'])),this['connection']['on']('error',(_0x47b378,_0x4e1076)=>{if('limitExceeded'!==_0x4e1076['code'])throw console['error'](_0x4e1076),new _0x1cd844('cloudservices-init',null,{'originalError':_0x4e1076});_0x268e86['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'});}),!_0x200280['me'])return new Promise(_0x4e8c9f=>_0x200280['on']('change:me',_0x4e8c9f));})['catch'](_0x2d5f9e=>{throw console['error'](_0x2d5f9e),new _0x1cd844('cloudservices-init',null,{'originalError':_0x2d5f9e});});}addToReconnectionStack(_0x12ee8e){if('function'!=typeof _0x12ee8e['reconnect'])throw new _0x1cd844('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x12ee8e))throw new _0x1cd844('websocketgateway-plugin-already-registered',this,{'name':_0x12ee8e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x12ee8e);}removeFromReconnectionStack(_0x12cc57){this['_reconnectionStack']['delete'](_0x12cc57);}isInReconnectionStack(_0x3dab19){return this['_reconnectionStack']['has'](_0x3dab19);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x45080e=>_0x45080e['reconnect']())))['then'](()=>this['state']=_0x302c46['CONNECTED'])['catch'](_0x3bd3c5=>{throw console['error'](_0x3bd3c5),new _0x1cd844('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x302c46['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x3db858{['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,_0x4e8b99];}constructor(_0x160bb2){super(_0x160bb2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2188d9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4e8b99);}init(){const _0x206800=this['context']['plugins']['get'](z);this['listenTo'](_0x206800,'change:state',(_0x55c4b6,_0x3cdfeb,_0x549e9f)=>{if('connected'!==_0x549e9f)this['channelSessions']['forEach'](_0xa915f8=>_0xa915f8['clear']()),this['channelConnectedUsers']['forEach'](_0x526bca=>_0x526bca['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11cf18,_0x58d388]of this['_registeredSessions'])for(const _0x5e12db of _0x58d388)this['_handleSessionAdd'](_0x11cf18,_0x5e12db);}}),this['_createUser'](_0x206800['connection']['me'],!0x0);}register(_0x580217,_0x387eb5){if(this['_registeredSessions']['has'](_0x580217))throw new _0x1cd844('sessions-register-already-registered',null,{'channelId':_0x580217});this['_registeredSessions']['set'](_0x580217,_0x387eb5),this['channelSessions']['set'](_0x580217,new _0x2188d9()),this['channelConnectedUsers']['set'](_0x580217,new _0x2188d9()),this['listenTo'](_0x387eb5,'add',(_0x4255b7,_0x1bd60a)=>this['_handleSessionAdd'](_0x580217,_0x1bd60a)),this['listenTo'](_0x387eb5,'remove',(_0x123f6a,_0x16004c)=>this['_handleSessionRemove'](_0x580217,_0x16004c));for(const _0x4e75be of _0x387eb5)this['_handleSessionAdd'](_0x580217,_0x4e75be);}unregister(_0x420673){if(!this['_registeredSessions']['has'](_0x420673))throw new _0x1cd844('sessions-unregister-not-exist',null,{'channelId':_0x420673});const _0x236fe2=this['_registeredSessions']['get'](_0x420673);this['stopListening'](_0x236fe2);for(const _0x31fe67 of _0x236fe2)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x420673,_0x31fe67);this['_registeredSessions']['delete'](_0x420673),this['channelSessions']['delete'](_0x420673),this['channelConnectedUsers']['delete'](_0x420673);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0xe4af45){for(const _0x12ee88 of this['channelSessions']['values']())for(const _0x24594b of _0x12ee88)if(_0x24594b['id']===_0xe4af45)return _0x24594b['user'];}getUserSessions(_0x201eb6,_0x379484){const _0x5abfea=_0x379484?[this['channelSessions']['get'](_0x379484)]:this['channelSessions']['values'](),_0x14bfc6=new Set();for(const _0x591485 of _0x5abfea)for(const _0x4d2d6d of _0x591485)_0x4d2d6d['user']['id']===_0x201eb6['id']&&_0x14bfc6['add'](_0x4d2d6d['id']);return _0x14bfc6;}getUserRole(_0x5baddd){for(const _0x3d0987 of this['channelSessions']['values']())for(const _0x4f6630 of _0x3d0987)if(_0x4f6630['user']===_0x5baddd)return _0x4f6630['role'];}['_handleSessionAdd'](_0x22fd7f,_0x26d599){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3621e3=_0x26d599['user'],_0x14569f=this['_users']['getUser'](_0x3621e3['id'])||this['_createUser'](_0x3621e3),_0x4f2bbe=Object['assign']({},_0x26d599,{'user':_0x14569f});if(this['channelSessions']['get'](_0x22fd7f)['add'](_0x4f2bbe),!_0x3621e3['hiddenInPresenceList']){const _0xb2e80c=this['channelConnectedUsers']['get'](_0x22fd7f);_0xb2e80c['has'](_0x14569f['id'])||_0xb2e80c['add'](_0x14569f),this['allConnectedUsers']['has'](_0x14569f['id'])||_0x3621e3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x14569f,_0x14569f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x22fd7f,{'channelId':_0x22fd7f,'session':_0x4f2bbe});}['_handleSessionRemove'](_0x37bdd4,_0x56d218){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x39bfab=this['channelConnectedUsers']['get'](_0x37bdd4),_0x34ddab=_0x56d218['user'];_0x34ddab['id']&&(this['channelSessions']['get'](_0x37bdd4)['remove'](_0x56d218['id']),_0x39bfab['has'](_0x34ddab['id'])&&!this['getUserSessions'](_0x34ddab,_0x37bdd4)['size']&&_0x39bfab['remove'](_0x34ddab['id']),this['allConnectedUsers']['get'](_0x34ddab['id'])&&!this['getUserSessions'](_0x34ddab)['size']&&this['allConnectedUsers']['remove'](_0x34ddab['id']));}_createUser(_0x3f0167,_0x56af83){const _0x8f58bb=this['_users']['addUser'](_0x3f0167);return _0x56af83&&this['_users']['defineMe'](_0x3f0167['id']),_0x8f58bb['orderNumber']=this['_uniqueUsersCount']++,_0x8f58bb;}},K=class extends _0x1e2c35{_domEmitter=new(_0x3ddb20())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3ee4d4=this['editor'],_0x41253f=_0x3ee4d4['plugins']['get'](Y);_0x3ee4d4['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3e710f,{writer:_0x313b7f})=>function(_0x364f87,_0x5d5aed,_0x123d43,_0x23ed35){const _0x28656f=_0x364f87['markerName']['split'](':')[0x2],_0x3156f3=_0x123d43['getUserBySessionId'](_0x28656f);if(!_0x3156f3||_0x28656f===_0x123d43['mySessionId'])return;if(!_0x23ed35['model']['schema']['checkChild'](_0x364f87['markerRange']['start'],'$text'))return;const _0x3da8a9={'class':'ck-user__marker\x20'+_0x3156f3['color']['getMarkerClass'](),'style':Q(_0x3156f3),'data-name':_0x3156f3['name'],'data-session-id':_0x28656f},_0x61e679=_0x23ed35['model']['markers']['get'](_0x364f87['markerName'])['getStart'](),_0x7e9810=_0x61e679['nodeAfter'],_0x72c2e1=_0x23ed35['model']['schema'];if(_0x7e9810&&_0x72c2e1['isObject'](_0x7e9810)&&_0x72c2e1['isInline'](_0x7e9810)&&!_0x23ed35['model']['markers']['get']('user:range:'+_0x28656f)['getRange']()['isCollapsed'])return;const _0x452be8=_0x61e679['parent'];return _0x23ed35['model']['schema']['isLimit'](_0x452be8)&&!_0x23ed35['model']['hasContent'](_0x452be8)&&(_0x3da8a9['contenteditable']=!0x1),function(_0x1c3701,_0x1c7655,_0x53ced4){const _0x31966=_0x1c3701['createUIElement']('span',_0x1c7655);return _0x1c3701['setCustomProperty']('userPositionMarker',!0x0,_0x31966),_0x31966['render']=function(_0x248e87){const _0x2b4302=this['toDomElement'](_0x248e87),_0x866c11=document['createElement']('span');return _0x866c11['classList']['add']('ck-user__marker-tooltip'),_0x866c11['setAttribute']('contenteditable','false'),_0x866c11['setAttribute']('spellcheck','false'),_0x866c11['textContent']=_0x53ced4['name'],_0x2b4302['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x866c11['outerHTML']+'⁠',_0x2b4302['addEventListener']('mouseenter',()=>{_0x2b4302['classList']['add']('ck-user__marker_hovered');}),_0x2b4302['addEventListener']('mouseleave',()=>{_0x2b4302['classList']['remove']('ck-user__marker_hovered');}),_0x2b4302;},_0x31966['isSimilar']=function(_0x19235b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x19235b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x19235b['getAttribute']('data-session-id'));},_0x31966;}(_0x5d5aed,_0x3da8a9,_0x3156f3);}(_0x3e710f,_0x313b7f,_0x41253f,_0x3ee4d4)}),_0x3ee4d4['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x493a9c=>function(_0x2fff74,_0x45213b){const _0xec1116=_0x2fff74['markerName']['split'](':')[0x2];if(_0xec1116===_0x45213b['mySessionId'])return null;const _0x498100=_0x45213b['getUserBySessionId'](_0xec1116);return _0x498100?{'id':_0xec1116,'classes':['ck-user__selection',_0x498100['color']['getSelectionClass']()],'attributes':{'style':Q(_0x498100),'data-session-id':_0xec1116},'priority':0x7d0+_0x498100['orderNumber']}:{'id':_0xec1116,'classes':[]};}(_0x493a9c,_0x41253f)}),function(_0x5f213e){const _0x1aba77=_0x5f213e['model'],_0x509a93=new Map(),_0x29a975=_0x5f213e['plugins']['get'](Y);_0x1aba77['markers']['on']('update:user:range',(_0x34fbc2,_0xa19076,_0x2e7df1,_0x537d85)=>{if(!_0x537d85&&_0x509a93['get'](_0xa19076['name']))return _0x509a93['get'](_0xa19076['name'])['detach'](),void _0x509a93['delete'](_0xa19076['name']);const _0x4de1fa=_0xa19076['name']['split'](':')[0x2];if(_0x4de1fa===_0x29a975['mySessionId'])return;const _0x5cdad6='user:position:'+_0x4de1fa;_0x1aba77['markers']['has'](_0x5cdad6)&&_0x5f213e['editing']['reconvertMarker'](_0x5cdad6),_0xa19076['on']('change:range',(_0x1972d7,_0x1e74e1,_0x20c172)=>{if('$graveyard'!=_0x1e74e1['root']['rootName']&&'$graveyard'==_0xa19076['getRange']()['root']['rootName']&&!_0x509a93['has'](_0xa19076['name'])){const _0x332c44=_0x1aba77['schema']['getNearestSelectionRange'](_0x20c172['deletionPosition']);if(_0x332c44){const _0x229088=_0x2b80bc['fromRange'](_0x332c44);_0x509a93['set'](_0xa19076['name'],_0x229088),_0x229088['on']('change:range',(_0x43171c,_0x391f0f,_0x4609ba)=>{if('$graveyard'==_0x229088['root']['rootName']){const _0x365f84=_0x1aba77['schema']['getNearestSelectionRange'](_0x4609ba['deletionPosition']);_0x365f84?(_0x229088['start']=_0x365f84['start'],_0x229088['end']=_0x365f84['end']):(_0x509a93['delete'](_0xa19076['name']),_0x229088['detach']());}});}}});}),_0x1aba77['document']['on']('change',()=>{_0x509a93['size']>0x0&&_0x1aba77['enqueueChange']({'isUndoable':!0x1},_0x13b4ac=>{for(const [_0x10a88b,_0x47e723]of _0x509a93)'$graveyard'==_0x1aba77['markers']['get'](_0x10a88b)['getRange']()['root']['rootName']&&(J(_0x10a88b['split'](':')[0x2],_0x47e723['toRange'](),_0x1aba77,_0x13b4ac),_0x47e723['detach']());_0x509a93['clear']();});});}(_0x3ee4d4),this['_domEmitter']['listenTo'](_0x56e72d['document'],'keydown',(_0x810a95,{key:_0x5e8aed})=>{'Escape'===_0x5e8aed&&function(_0x28c10b){_0x28c10b['editing']['view']['change'](_0x10bbba=>{for(const _0x1634f9 of _0x28c10b['model']['markers']){if(!_0x1634f9['name']['startsWith']('user:position'))continue;const _0x4b56e6=_0x28c10b['editing']['mapper']['markerNameToElements'](_0x1634f9['name']);if(_0x4b56e6){for(const _0x2ab504 of _0x4b56e6)_0x10bbba['removeClass']('ck-user__marker_hovered',_0x2ab504);}}});}(_0x3ee4d4);},{'useCapture':!0x0});}afterInit(){const _0x18e094=this['editor'],_0x417bd8=_0x18e094['commands']['get']('undo');_0x417bd8&&_0x18e094['model']['on']('applyOperation',(_0x3e9b30,_0x4740c2)=>{const _0x32fd93=_0x4740c2[0x0];if(!_0x32fd93['isDocumentOperation'])return;if('marker'!=_0x32fd93['type']||!_0x32fd93['name']['startsWith']('user:'))return;const _0x42be0a=_0x32fd93['batch'];_0x417bd8['_createdBatches']['has'](_0x42be0a)&&(_0x32fd93['newRange']=_0x32fd93['oldRange']?_0x18e094['model']['createRange'](_0x32fd93['oldRange']['start'],_0x32fd93['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x182d63=this['editor'],_0x588ab9=_0x182d63['model']['document'],_0x3de47e=_0x182d63['plugins']['get'](Y);_0x182d63['model']['enqueueChange']({'isUndoable':!0x1},_0x49d611=>{const _0x299d0a='user:range:'+_0x3de47e['mySessionId'],_0xb6e84a='user:position:'+_0x3de47e['mySessionId'],_0x45fe31=_0x182d63['model']['markers']['has'](_0x299d0a);_0x182d63['editing']['view']['hasDomSelection']?J(_0x3de47e['mySessionId'],_0x588ab9['selection']['getFirstRange'](),_0x182d63['model'],_0x49d611):_0x45fe31&&(_0x49d611['removeMarker'](_0x299d0a),_0x49d611['removeMarker'](_0xb6e84a));});}};function J(_0x26aaea,_0x4e6896,_0x1b09c0,_0x2046e5){const _0x24c573='user:range:'+_0x26aaea,_0x34245f='user:position:'+_0x26aaea,_0x387ea1=_0x4e6896['getContainedElement']();let _0x1f2017=_0x4e6896['start'];if(_0x387ea1&&_0x387ea1['is']('element','tableCell')){const _0x2856dc=function(_0x1ae964,_0x5d7a90){for(const _0x1d4435 of _0x1ae964['getPositions']())if(_0x5d7a90['schema']['checkChild'](_0x1d4435,'$text'))return _0x1d4435;}(_0x4e6896,_0x1b09c0);_0x2856dc&&(_0x1f2017=_0x2856dc,_0x4e6896=_0x2046e5['createRange'](_0x1f2017));}const _0x1c3762=_0x2046e5['createRange'](_0x1f2017);_0x1b09c0['markers']['has'](_0x24c573)?(_0x2046e5['updateMarker'](_0x24c573,{'range':_0x4e6896}),_0x2046e5['updateMarker'](_0x34245f,{'range':_0x1c3762})):(_0x2046e5['addMarker'](_0x24c573,{'range':_0x4e6896,'usingOperation':!0x0}),_0x2046e5['addMarker'](_0x34245f,{'range':_0x1c3762,'usingOperation':!0x0}));}function Q(_0x57d79d){return'--ck-user-color:'+_0x57d79d['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57d79d['color']['getColorAlphaVariable']()+';';}function X(_0x10291f,_0xff2637,_0x248f4b){const _0x145b54=_0x10291f['t'],t=_0x10291f['t'];switch(_0xff2637){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 _0x145b54({'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'},_0x248f4b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x1e2c35{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x5e6c3a)());_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,_0x16dea5,_0x4e8b99,_0x4178d7];}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 _0x4f55b8=this['serverHistory']['getOperations']();for(let _0x14724d=_0x4f55b8['length']-0x1;_0x14724d>=0x0;_0x14724d--){const _0x4ce991=_0x4f55b8[_0x14724d];if(!this['_disconnectionOperations']['has'](_0x4ce991))return _0x4ce991['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xe66c84){if(super(_0xe66c84),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x274768(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1cd844('collaboration-missing-channelid',this);const _0x10ac9c=_0xe66c84['config']['get']('cloudServices.bundleVersion')||_0x5737c2;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10ac9c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x43f8be(),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 _0x9c8645=this['editor'],_0x510198=_0x9c8645['plugins']['get'](_0x4e8b99),_0x573ff6=_0x9c8645['plugins']['get'](z);this['listenTo'](_0x510198,'getOperationAuthor',(_0x42c30e,_0x35cd75)=>{const _0x407ea2=_0x35cd75[0x0];_0x407ea2['_authorId']&&(_0x42c30e['return']=_0x510198['getUser'](_0x407ea2['_authorId']),_0x42c30e['stop']()),null===_0x407ea2['_authorId']&&(_0x42c30e['return']=null,_0x42c30e['stop']());},{'priority':'high'}),this['listenTo'](_0x9c8645['model']['document']['selection'],'change:range',(_0x538277,_0x3ffa98)=>{_0x3ffa98['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x9c8645['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x9c8645['model']['on']('applyOperation',(_0x87cf5d,_0x19a3f2)=>{const _0xffef23=_0x19a3f2[0x0];_0xffef23['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xffef23),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x573ff6,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0xf60257,_0x587cc1,_0x4b0a43)=>'connected'===_0xf60257&&!_0x587cc1&&!_0x4b0a43),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x9c8645['disableReadOnlyMode']('rtc-offline'):_0x9c8645['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x9c8645['disableReadOnlyMode']('rtc-offline'):_0x9c8645['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x50836e=this['editor']['plugins']['get'](Y),_0x594cc0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50836e['unregister'](this['_channelId']);const _0x1c68cb=await this['_service']['reconnect'](_0x594cc0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1c68cb)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x81bc10=await this['_service']['getConnectedSessions']();_0x50836e['register'](this['_channelId'],_0x81bc10),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x17273f){if(function(_0x2bb10a){return'404'===_0x2bb10a['code'];}(_0x17273f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5c418d){return'409'===_0x5c418d['code'];}(_0x17273f)){const _0x4b674e=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'](_0x4b674e);}else{if(!(_0x17273f instanceof et))throw _0x17273f;this['_handleReconnectionError']();}}}}destroy(){const _0x1d98b1=this['editor']['plugins']['get'](z),_0x10de87=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x10de87['channelSessions']['has'](this['_channelId'])&&_0x10de87['unregister'](this['_channelId']),_0x1d98b1['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x3c6e91){if(this['sessionId']!==_0x3c6e91['sessionId']&&this['_lastSyncedOperationId']!==_0x3c6e91['lastOperationId'])throw new et();return this['sessionId']=_0x3c6e91['sessionId'],this['_handleServerResponse']([],{..._0x3c6e91,'wereChangesApplied':!0x1,'data':_0x3c6e91['data']},'reconnect');}async _connectService(_0xea1c63,_0xe6938c=!0x1){const {connection:_0x5efada}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x5efada,this['_channelId'])['then'](_0x1abf3f=>this['_initSessionsHandling'](_0x1abf3f))['catch'](_0x3d8ffe=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3d8ffe);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4ab80a,_0x3a3b74)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3a3b74);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0xce41d1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xea1c63);this['_isPendingUpdate']=!0x0;const _0x57e1ed=await this['_service']['connect'](_0x5efada,this['_compressOperations'](_0xea1c63),_0xce41d1);if(this['sessionId']=_0x57e1ed['sessionId'],_0xe6938c){if(!_0x57e1ed['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x57e1ed['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xea1c63,_0x57e1ed,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x57e1ed,_0xea1c63);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2d878f=this['editor']['plugins']['get'](Y),_0x505ebe=this['editor']['plugins']['get'](K),_0x3cbc3a=_0x2d878f['channelSessions']['get'](this['_channelId']);_0x3cbc3a&&_0x3cbc3a['length']>0x1?_0x505ebe['createUserMarkerOperations']():this['listenTo'](_0x2d878f,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2d878f['channelSessions']['get'](this['_channelId'])['length']&&_0x505ebe['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3de68f,_0x461bbd,_0x28541b,_0x471d0b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x461bbd){const _0x59e43=this['_decompressOperations'](_0x28541b,_0x471d0b);await this['_fetchMissingUsers'](_0x59e43),this['_handleExternalOperations'](_0x59e43,_0x461bbd,_0x28541b['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x45b445}=this['editor'];let _0x3a89bd;try{_0x3a89bd=await this['_service']['getDocumentDetails']();}catch{const _0x4767f7=X(_0x45b445,'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'](_0x4767f7);}const _0x5be258=_0x3a89bd['currentDocumentSession']||_0x3a89bd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5be258['lastOperationId']){const _0x42b05e=X(_0x45b445,'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'](_0x42b05e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x132fce=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x132fce['connection']||'connected'!==_0x132fce['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x32a3d5=this['editor']['plugins']['get'](Y);_0x32a3d5['channelSessions']['has'](this['_channelId'])&&_0x32a3d5['unregister'](this['_channelId']),_0x132fce['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x5b9b7a){const _0x244607=this['editor']['plugins']['get'](Y);this['listenTo'](_0x244607,'sessionAdd:'+this['_channelId'],(_0x2f00ff,{session:_0x3ea644})=>{if(_0x3ea644['id']===_0x244607['mySessionId']){_0x2f00ff['off']();const _0x1b69ad=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2cb28b=_0x3ea644['permissions'];_0x1b69ad&&_0x1b69ad['isEnabled']&&(_0x2cb28b=_0x2cb28b['filter'](_0x3b76fe=>'document:write'!==_0x3b76fe)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2cb28b,this['_channelId']);}}),_0x244607['register'](this['_channelId'],_0x5b9b7a);}_initThrowingOnDataSet(){const _0x106556=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x30c595)=>{if(!_0x30c595[_0x30c595['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1cd844('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x106556['apply'](this['editor']['data'],_0x30c595);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x5543ee,[_0x26dc9f])=>{if(this['_document']['version'])throw new _0x1cd844('realtimecollaborationclient-init-document-already-initialized',this);_0x5543ee['stop'](),this['_setPendingAction']();const _0x391127=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2fffac])=>!_0x2fffac['lazyLoad'])['map'](([_0x2e2c19,_0x25d019])=>[_0x2e2c19,_0x25d019['modelAttributes']||{}])),_0x5be148=this['_getOperationsFromInitData'](_0x26dc9f,_0x391127);0x0==_0x5be148['length']&&_0x5be148['push'](new _0x49e919(0x0)),_0x5543ee['return']=this['_connectService'](_0x5be148)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x35b911=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x35b911))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3959e8,[_0x256245,_0x4ecaea])=>{_0x3959e8['stop']();const _0x2422b3=this['editor']['model']['document']['getRoot'](_0x256245);if(!this['_knownRootNames']['has'](_0x256245)){const _0x4d649f=_0x4ecaea&&_0x4ecaea['data']?_0x4ecaea['data']:'',_0x2a77a3=_0x4ecaea&&_0x4ecaea['attributes']?_0x4ecaea['attributes']:{};await this['_loadRoot'](_0x256245,_0x4d649f,_0x2a77a3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2422b3['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2422b3);});},{'priority':'high'});}async _fetchMissingUsers(_0x5c260f){const _0xcaf1c5=this['editor']['plugins']['get'](_0x4e8b99),{connection:_0x25a5c2}=this['editor']['plugins']['get'](z),_0x11970c=new Set();for(const _0x13cb75 of _0x5c260f){const _0x2a045d=_0x13cb75['_authorId'];_0x2a045d&&!_0xcaf1c5['getUser'](_0x2a045d)&&_0x11970c['add'](_0x2a045d);}if(0x0===_0x11970c['size'])return;const _0x5074c7=await _0x197c00['getMany'](_0x25a5c2,Array['from'](_0x11970c));for(const _0x34514d of _0x5074c7)_0xcaf1c5['getUser'](_0x34514d['id'])||_0xcaf1c5['addUser'](_0x34514d);}_getOperationsFromInitData(_0x47708a,_0x1a1d30={}){const _0x2f8461=this['editor']['model'],_0x13cfa2=[];let _0x4c0608=0x0;const _0x1ed836='string'==typeof _0x47708a?{'main':_0x47708a}:_0x47708a;for(const _0x33fa34 of Object['keys'](_0x1ed836)){if(!this['_document']['roots']['has'](_0x33fa34))throw new _0x1cd844('realtimecollaborationclient-init-non-existent-root',this);const _0x1b9499=this['_document']['getRoot'](_0x33fa34),_0x169ace=this['editor']['data']['parse'](_0x1ed836[_0x33fa34],_0x1b9499),_0x467725=new _0x3df20c(_0x2f8461['createPositionAt'](_0x1b9499,0x0),_0x169ace,_0x4c0608++);_0x13cfa2['push'](_0x467725);for(const [_0x5350f1,_0x358bf7]of _0x169ace['markers']){const _0x50465e=_0x2f8461['createRange'](_0x2f8461['createPositionFromPath'](_0x1b9499,_0x358bf7['start']['path']['slice']()),_0x2f8461['createPositionFromPath'](_0x1b9499,_0x358bf7['end']['path']['slice']())),_0x2e9c91=new _0x20bd43(_0x5350f1,null,_0x50465e,_0x2f8461['markers'],!0x0,_0x4c0608++);_0x13cfa2['push'](_0x2e9c91);}}if(_0x1a1d30)for(const [_0x5976b2,_0x244438]of Object['entries'](_0x1a1d30)){const _0x178dcb=_0x2f8461['document']['getRoot'](_0x5976b2);if(!_0x178dcb)throw new _0x1cd844('multi-root-editor-root-attributes-no-root',null);for(const [_0x22f1e3,_0x3e4fdf]of Object['entries'](_0x244438))if(null!==_0x3e4fdf){const _0x5039f5=new _0x4494bb(_0x178dcb,_0x22f1e3,null,_0x3e4fdf,_0x4c0608++);_0x13cfa2['push'](_0x5039f5);}}return _0x13cfa2;}async _loadRoot(_0x5d94ac,_0x3346a8,_0x339b9a){this['_getOperationsFromInitData']({[_0x5d94ac]:_0x3346a8},{[_0x5d94ac]:_0x339b9a})['forEach']((_0x4c680b,_0x458070)=>{_0x4c680b['baseVersion']=this['_document']['version']+_0x458070,_0x4c680b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4c680b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0xa55f73,_0x16e4a6){let _0xb6e355;this['_offset']=_0xa55f73['offset'];const _0x307234=_0xa55f73['wereChangesApplied']&&!_0xa55f73['initData'],_0x2dac19=_0x307234?0x0:_0xa55f73['data']['baseVersion'];if(_0x16e4a6['forEach'](_0x4a3e7=>{_0x4a3e7['_isInit']=!0x0,_0x4a3e7['createdAt']=_0xa55f73['sessionCreatedAt'],_0x4a3e7['_authorId']=null;}),_0x307234)_0xb6e355=_0x16e4a6,this['_applyOperationsSet'](_0xb6e355,_0x307234);else{if(_0xa55f73['initData']){const _0xea968d=this['_getOperationsFromInitData'](_0xa55f73['initData']);this['_document']['history']['version']=-_0xea968d['length'],_0xea968d['forEach'](_0x13a57c=>{_0x13a57c['baseVersion']-=_0xea968d['length'],_0x13a57c['createdAt']=_0xa55f73['sessionCreatedAt'],_0x13a57c['_isInit']=!0x0,_0x13a57c['_authorId']=null;}),this['_applyOperationsSet'](_0xea968d,!0x0),this['serverHistory']['version']=-_0xea968d['length']+this['_offset'],this['_updateServerHistory'](_0xea968d);}this['_document']['history']['version']=_0x2dac19,_0xb6e355=this['_decompressOperations'](_0xa55f73['data'],_0xa55f73['metadata']),await this['_fetchMissingUsers'](_0xb6e355),this['_applyOperationsSet'](_0xb6e355,_0x307234);}_0xa55f73['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb6e355,_0xa55f73['lastOperationId']),this['_lastSyncedOperationId']=_0xa55f73['lastOperationId']),this['serverHistory']['version']=_0x2dac19+this['_offset'],this['_updateServerHistory'](_0xb6e355),_0x16e4a6['filter'](_0x217fac=>{const _0x3c94a3=this['_getAffectedRoot'](_0x217fac);return _0x3c94a3&&!this['_knownRootNames']['has'](_0x3c94a3);})['forEach']((_0x5e2947,_0x22f97f)=>{_0x5e2947['baseVersion']=this['_document']['version']+_0x22f97f,this['_saveOperationInBuffer'](_0x5e2947);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2b786f,_0x340cc6){const _0x643faf=_0x340cc6&&_0x340cc6['message'];if(_0x643faf&&_0x643faf['startsWith']('realtimecollaborationclient'))throw _0x340cc6;const _0x34dd7b=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x34dd7b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1cd844(_0x2b786f,this['editor'],_0x643faf?{'originalError':_0x643faf}:void 0x0);}_saveOperationInBuffer(_0x1dd048){this['_knownOperations']['has'](_0x1dd048)||(this['_knownOperations']['add'](_0x1dd048),this['_bufferedOperations']['push'](_0x1dd048),this['_pendingAction']||'marker'==_0x1dd048['type']&&!_0x1dd048['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x440506=!0x1){!_0x440506&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x213940=>{_0x213940&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x57a779=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5d8caf){return _0x5d8caf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d8caf['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5d8caf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x57a779)||this['_crash'](_0x57a779['message'],_0x57a779);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x5ececb=>{this['on']('change:_isPendingUpdate',()=>{_0x5ececb();});});}async _sendBufferedOperations(){const _0x29e275=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x29e275['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a5d77=[...this['_bufferedOperations']];for(const _0x4a6963 of _0x5a5d77)_0x4a6963['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4a6963);const _0x1b17ba=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a5d77),_0x1abbbe=Z++,_0x2fc016=this['_compressOperations'](_0x5a5d77),_0xd81fb3=await this['_service']['sendOperations'](_0x2fc016,_0x2fc016['baseVersion'],_0x1b17ba);try{return await this['_handleServerResponse'](_0x5a5d77,_0xd81fb3,_0x1abbbe);}catch(_0x2425c9){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2425c9);}}async['_handleServerResponse'](_0x433bef,_0x4963ab,_0x1c7d69){if('error'in _0x4963ab)throw _0x4963ab['error'];let _0x3b9173;if(_0x4963ab['wereChangesApplied']){_0x4963ab['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4963ab['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3340e7=>!_0x433bef['includes'](_0x3340e7));for(const _0x1d5505 of _0x433bef)_0x1d5505['createdAt']='lastOperationAcceptedAt'in _0x4963ab&&_0x4963ab['lastOperationAcceptedAt']||void 0x0;st(_0x433bef,_0x4963ab['version']-_0x433bef['length']),this['_updateServerHistory'](_0x433bef);const _0xa34ef6=_0x433bef['filter'](_0x1f8964=>{if(!_0x1f8964['_isInit'])return!0x1;const _0x1b03ab=this['_getAffectedRoot'](_0x1f8964);return _0x1b03ab&&!this['_knownRootNames']['has'](_0x1b03ab);});st(_0xa34ef6,this['_document']['version']),this['_applyOperationsSet'](_0xa34ef6),_0x3b9173=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x209162=this['_decompressOperations'](_0x4963ab['data'],_0x4963ab['metadata'])['filter'](_0x38f0a6=>_0x38f0a6['baseVersion']>=this['_lastServerVersion']);_0x209162['forEach'](_0x57a074=>this['_addKnownRoot'](_0x57a074)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4d1fa6=>!_0x4d1fa6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4d1fa6))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x209162),_0x3b9173=this['_handleExternalOperations'](_0x209162,_0x4963ab['version'],_0x4963ab['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3b9173?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x561c1a,_0x4a804d,_0x572195){try{const _0x3007c5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x480632,operationsB:_0x46ee95,originalOperations:_0x18ee3d}=_0x178582(_0x561c1a,this['_bufferedOperations'],_0x3007c5);st(_0x480632,this['_document']['version']),st(_0x46ee95,_0x4a804d);for(const _0x5c5c6a of _0x480632){const _0x427907=_0x18ee3d['get'](_0x5c5c6a);_0x427907?(_0x5c5c6a['_authorId']=_0x427907['_authorId'],'noop'!==_0x5c5c6a['type']&&(_0x5c5c6a['_aiSource']=_0x427907['_aiSource'])):_0x5c5c6a['_authorId']=null;}for(const _0x3d483c of _0x46ee95)'noop'!==_0x3d483c['type']&&(_0x3d483c['_aiSource']=_0x18ee3d['get'](_0x3d483c)?.['_aiSource']);_0x572195&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x561c1a,_0x572195),this['_lastSyncedOperationId']=_0x572195),this['_bufferedOperations']=[..._0x46ee95],this['_applyOperationsSet'](_0x480632),this['_updateServerHistory'](_0x561c1a);}catch(_0x2bdba2){return console['error'](_0x2bdba2),!0x1;}return!0x0;}_applyOperationsSet(_0x555bb4,_0x6ca95c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5b62d6=>{for(const _0x455673 of _0x555bb4)this['_knownOperations']['add'](_0x455673),this['_addKnownRoot'](_0x455673),_0x5b62d6['batch']['addOperation'](_0x455673),this['editor']['model']['applyOperation'](_0x455673);});}_addKnownRoot(_0x3586cd){const _0x441ebd=this['_getAffectedRoot'](_0x3586cd);_0x441ebd&&this['_knownRootNames']['add'](_0x441ebd);}_getAffectedRoot(_0x5298ea){let _0x225daa,_0x3189b7;switch(_0x5298ea['type']){case'insert':_0x225daa=_0x5298ea['position']['root'];break;case'marker':if(_0x3189b7=_0x5298ea['newRange'],!_0x3189b7)return null;_0x225daa=_0x3189b7['root'];break;case'addRootAttribute':_0x225daa=_0x5298ea['root'];break;case'addRoot':_0x225daa=_0x5298ea['affectedSelectable'];break;case'move':_0x225daa=_0x5298ea['targetPosition']['root'];break;default:return null;}return _0x225daa['rootName'];}_updateServerHistory(_0x4ce837){_0x4ce837['forEach'](_0x329b82=>{const _0x3ade23=_0x329b82['clone']();_0x3ade23['_authorId']=_0x329b82['_authorId'],_0x3ade23['_isInit']=!!_0x329b82['_isInit'],_0x3ade23['_aiSource']=_0x329b82['_aiSource'],_0x3ade23['createdAt']=_0x329b82['createdAt'],_0x3ade23['baseVersion']+=this['_offset'],_0x329b82['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3ade23),this['serverHistory']['addOperation'](_0x3ade23);});}_handleReconnectionError(_0x23e257){const _0x42282e=this['editor']['plugins']['get']('Notification'),_0x4645b0=this['editor']['locale'];_0x23e257||(_0x23e257=X(_0x4645b0,'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.')),_0x42282e['showWarning'](_0x23e257,{'title':X(_0x4645b0,'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'](_0x16dea5)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x16dea5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x170c7e){const _0x33c16e=_0x170c7e['map'](_0x35f9cf=>_0x35f9cf['toJSON']());return this['_compressor']['compress'](_0x33c16e);}_decompressOperations(_0x23a9ee,_0x53e494){return this['_compressor']['decompress'](_0x23a9ee)['map']((_0x40dcf2,_0x2cff24)=>{const _0x28ee2d='init'==_0x53e494[_0x2cff24]['type'];if('InsertOperation'==_0x40dcf2['__className']){const _0x3ff533=_0x40dcf2['position']['root'];!this['_document']['getRoot'](_0x3ff533)&&(this['_document']['createRoot']('$unknown',_0x3ff533)['_isAttached']=!0x1);}else{if('RootOperation'==_0x40dcf2['__className']){const _0x181816=this['_document']['getRoot'](_0x40dcf2['rootName']);_0x181816&&'$unknown'==_0x181816['name']&&_0x40dcf2['elementName']!=_0x181816['name']&&(_0x181816['name']=_0x40dcf2['elementName']);}}const _0x126b1c=_0x52f4f9['fromJSON'](_0x40dcf2,this['_document']);return _0x126b1c['wasUndone']=_0x40dcf2['wasUndone'],_0x126b1c['_isInit']=_0x28ee2d,_0x126b1c['_authorId']=_0x28ee2d?null:_0x53e494[_0x2cff24]['userId'],_0x126b1c['_isDisconnection']='cs:removeUser'===_0x53e494[_0x2cff24]['type'],_0x126b1c['_aiSource']=_0x40dcf2['_aiSource']||void 0x0,_0x126b1c['createdAt']=_0x53e494[_0x2cff24]['createdAt'],_0x126b1c;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1d8b60=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1d8b60&&_0x1d8b60['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x54e620,_0x578ee4){for(const _0x1ce716 of _0x54e620)_0x1ce716['baseVersion']=_0x578ee4++;}var it=class{_ignoredOperations;_operationToId;constructor(_0xf17517){this['_ignoredOperations']=_0xf17517,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x2a5355){let _0x300d0a=_0x2a5355['length'];for(;_0x300d0a--;){const _0x55e567=_0x2a5355[_0x300d0a];if(!this['_ignoredOperations']['has'](_0x55e567)){if(!this['_operationToId']['has'](_0x55e567)){const _0x3d19bd=_0x5a8841()['slice'](0x1,0x12);this['_operationToId']['set'](_0x55e567,_0x3d19bd);}return this['_operationToId']['get'](_0x55e567);}}}setIdForTheLastOperation(_0x49ea04,_0x35a573){if(!_0x35a573)return;let _0x1baa83=_0x49ea04['length'];for(;_0x1baa83--;){const _0x52b851=_0x49ea04[_0x1baa83];this['_ignoredOperations']['has'](_0x52b851)||this['_operationToId']['set'](_0x52b851,_0x35a573);}}},nt=class extends _0x1e2c35{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3db858{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x294775)());['_services'];static get requires(){return[z,_0x46916a,Y,_0x4e8b99];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x42aaac){super(_0x42aaac),this['_services']=new Map();}async init(){const _0x33860f=this['context'],_0x1473f1=_0x33860f['plugins']['get'](_0x46916a);if(_0x33860f['plugins']['get'](z)['addToReconnectionStack'](this),_0x1473f1['adapter']={'addCommentThread':async({channelId:_0x1da791,threadId:_0x278a00,comments:_0x299bdc,resolvedAt:_0x1612fe,resolvedBy:_0x57adf3,context:_0x22386a,attributes:_0xb2ad06})=>{const _0x59885a=await this['_getService'](_0x1da791)['addCommentThread']({'commentThreadId':_0x278a00,'comments':_0x299bdc['map'](_0x2ca7f2=>function(_0x27d605,_0x11c5e6,_0x4b5f18){return{'commentThreadId':_0x4b5f18,'commentId':_0x27d605['commentId'],'userId':_0x27d605['authorId'],'content':_0x27d605['content'],'documentId':_0x11c5e6,'createdAt':_0x27d605['createdAt'],'attributes':_0x27d605['attributes']||{}};}(_0x2ca7f2,_0x1da791,_0x278a00)),'resolvedAt':_0x1612fe,'resolvedBy':_0x57adf3,'context':_0x22386a,'attributes':_0xb2ad06})['catch'](ct);return{'threadId':_0x59885a['commentThreadId'],'comments':_0x59885a['comments']};},'getCommentThread':async({channelId:_0x53b773,threadId:_0x445e80})=>{const _0x42a034=await this['_getService'](_0x53b773)['getCommentThread'](_0x445e80)['catch'](rt)['catch'](ct);return _0x42a034?_0x42a034['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x42a034]),{'threadId':_0x42a034['commentThreadId'],'comments':_0x42a034['comments']['map'](at),'context':_0x42a034['context'],'resolvedAt':_0x42a034['resolvedAt'],'resolvedBy':_0x42a034['resolvedBy'],'attributes':_0x42a034['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8d78e5,threadId:_0x4eb317,context:_0xe5b1fa,unlinkedAt:_0x40d3be,attributes:_0x3a6d51})=>this['_getService'](_0x8d78e5)['updateCommentThread']({'commentThreadId':_0x4eb317,'context':_0xe5b1fa,'attributes':_0x3a6d51,'unlinkedAt':_0x40d3be})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xc9c6c,threadId:_0x4d6583})=>{const _0x3f32c0=await this['_getService'](_0xc9c6c)['resolveCommentThread'](_0x4d6583)['catch'](rt)['catch'](ct);return{'threadId':_0x3f32c0['commentThreadId'],'resolvedAt':_0x3f32c0['resolvedAt'],'resolvedBy':_0x3f32c0['resolvedBy']};},'reopenCommentThread':async({channelId:_0x37fbb2,threadId:_0x1f983c})=>this['_getService'](_0x37fbb2)['reopenCommentThread'](_0x1f983c)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x580964,threadId:_0x41fbf4})=>this['_getService'](_0x580964)['removeCommentThread'](_0x41fbf4)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x16893e,threadId:_0x4ec83b,commentId:_0x4741bd,content:_0x4ffe0e,attributes:_0x264d37})=>this['_getService'](_0x16893e)['addComment'](_0x4ec83b,_0x4741bd,_0x4ffe0e,_0x264d37)['catch'](ct),'updateComment':({channelId:_0x33718c,threadId:_0x2eb5a9,commentId:_0x46caa6,content:_0x120e94,attributes:_0x5a69a1})=>this['_getService'](_0x33718c)['updateComment'](_0x2eb5a9,_0x46caa6,_0x120e94,_0x5a69a1)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x56aa68,threadId:_0x55f42b,commentId:_0x2b5fee})=>this['_getService'](_0x56aa68)['removeComment'](_0x55f42b,_0x2b5fee)['catch'](rt)['catch'](ct)},_0x33860f instanceof _0x4fe616){const _0x4ca370=_0x33860f['config']['get']('collaboration.channelId'),_0x1614f3=_0x33860f['plugins']['get'](Y);await this['_setUpService'](_0x4ca370);const _0x115eef=await this['_services']['get'](_0x4ca370)['getConnectedSessions']();this['listenTo'](_0x1614f3,'sessionAdd:'+_0x4ca370,(_0x5af504,{session:_0x5c8d12})=>{_0x5c8d12['id']===_0x1614f3['mySessionId']&&(_0x5af504['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5c8d12['permissions'],_0x4ca370));}),_0x1614f3['register'](_0x4ca370,_0x115eef);}}async _setUpService(_0x9a8c31){if(this['_services']['has'](_0x9a8c31))throw new _0x1cd844('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x9a8c31});const _0x385fcf=this['context']['plugins']['get'](_0x46916a),_0x20f35d=new CloudServicesCommentsAdapter['CommentsService'](_0x9a8c31);this['_services']['set'](_0x9a8c31,_0x20f35d),this['listenTo'](_0x20f35d,'commentThreadAdded',(_0x524f04,_0x34b09a)=>{const {commentThreadId:_0x571d47,documentId:_0x4da4e8,context:_0x1e01bc,attributes:_0x4da4b0,resolvedAt:_0x2973b6,resolvedBy:_0x2bce91,comments:_0x173bd1}=_0x34b09a;_0x385fcf['getCommentThread'](_0x571d47)||_0x385fcf['addCommentThread']({'threadId':_0x571d47,'channelId':_0x4da4e8,'comments':_0x173bd1?_0x173bd1['map'](at):[],'context':_0x1e01bc,'attributes':_0x4da4b0,'resolvedAt':_0x2973b6,'resolvedBy':_0x2bce91,'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentThreadUpdated',(_0x5a8321,{commentThreadId:_0x525463,documentId:_0x34f8c0,context:_0x4a0495,unlinkedAt:_0x54c5c2,attributes:_0x2a4098})=>{_0x385fcf['getCommentThread'](_0x525463)&&_0x385fcf['updateCommentThread']({'threadId':_0x525463,'channelId':_0x34f8c0,'context':_0x4a0495,'unlinkedAt':_0x54c5c2,'attributes':_0x2a4098,'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentThreadResolved',(_0x10932b,{commentThreadId:_0xc9c931,resolvedBy:_0x555ec6,resolvedAt:_0x173f44})=>{const _0x36b7fd=_0x385fcf['getCommentThread'](_0xc9c931);_0x36b7fd&&_0x36b7fd['resolve']({'resolvedBy':_0x555ec6,'resolvedAt':_0x173f44,'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentThreadReopened',(_0x4a5c0c,{commentThreadId:_0x12f8ec})=>{const _0x52b4fa=_0x385fcf['getCommentThread'](_0x12f8ec);_0x52b4fa&&_0x52b4fa['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentThreadRemoved',(_0x5ad05e,{commentThreadId:_0x8e6a1c})=>{const _0x5f8b5e=_0x385fcf['getCommentThread'](_0x8e6a1c);_0x5f8b5e&&_0x5f8b5e['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentAdded',(_0x1c350b,_0x40339a)=>{const _0x1baf74=_0x40339a['commentThreadId'],_0xe14354=_0x385fcf['getCommentThread'](_0x1baf74);_0xe14354&&_0xe14354['addComment']({...at(_0x40339a),'isFromAdapter':!0x0});}),this['listenTo'](_0x20f35d,'commentUpdated',(_0x4e9bca,{commentThreadId:_0x5475a8,commentId:_0xb5a297,content:_0x23b5f8,attributes:_0x1f4e8e})=>{const _0x1f182e=_0x385fcf['getCommentThread'](_0x5475a8);if(_0x1f182e){const _0x2113e0=_0x1f182e['getComment'](_0xb5a297);_0x2113e0&&_0x2113e0['update']({'content':_0x23b5f8,'attributes':_0x1f4e8e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x20f35d,'commentRemoved',(_0x412ff3,{commentThreadId:_0x258e3f,commentId:_0x5825e5})=>{const _0xdade60=_0x385fcf['getCommentThread'](_0x258e3f);if(_0xdade60){const _0x21c38d=_0xdade60['getComment'](_0x5825e5);_0x21c38d&&_0x21c38d['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x20f35d,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x9a8c31),this['stopListening'](_0x20f35d));}),await this['_connectService'](_0x9a8c31);}destroy(){if(this['context']instanceof _0x4fe616){const _0x53828=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x53828)&&this['_terminateService'](_0x53828);}}_terminateService(_0x149945){if(!this['_services']['has'](_0x149945))throw new _0x1cd844('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x149945});this['_getService'](_0x149945)['disconnect'](),this['_services']['delete'](_0x149945);}async reconnect(){for(const _0x5062a7 of this['_services']['keys']())await this['_connectService'](_0x5062a7);if(this['context']instanceof _0x4fe616){const _0x9c46c2=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x9c46c2)){const _0x5ec098=this['context']['plugins']['get'](Y);_0x5ec098['unregister'](_0x9c46c2);const _0x5c0cbc=await this['_services']['get'](_0x9c46c2)['getConnectedSessions']();_0x5ec098['register'](_0x9c46c2,_0x5c0cbc);}}}async _connectService(_0x398fcb){const {connection:_0x1a6cbf}=this['context']['plugins']['get'](z),_0x27de4b=this['context']['plugins']['get'](_0x46916a),_0x4fee0d=await this['_services']['get'](_0x398fcb)['connect'](_0x1a6cbf);await this['_fetchMissingUsersForThreads'](_0x4fee0d);const _0x37cb8f=new Set(Array['from'](_0x27de4b['getCommentThreads']({'channelId':_0x398fcb}),_0x3a7119=>_0x3a7119['id']));for(const _0x14e4a6 of _0x4fee0d)_0x14e4a6['deletedAt']||_0x37cb8f['delete'](_0x14e4a6['commentThreadId']);for(const _0x289e8a of _0x37cb8f)_0x27de4b['getCommentThread'](_0x289e8a)['remove']({'isFromAdapter':!0x0});for(const _0x1d97e7 of _0x4fee0d){let _0x18b664=_0x27de4b['getCommentThread'](_0x1d97e7['commentThreadId']);const {commentThreadId:_0x560ff3,context:_0x23f67c,attributes:_0x7d57d7,resolvedBy:_0x1fc5df,resolvedAt:_0x4f6089,unlinkedAt:_0x1a1174,deletedAt:_0x4b3908}=_0x1d97e7;if(_0x4b3908)continue;_0x18b664||(_0x18b664=_0x27de4b['addCommentThread']({'channelId':_0x398fcb,'threadId':_0x560ff3,'context':_0x23f67c,'attributes':_0x7d57d7||{},'resolvedBy':_0x1fc5df,'resolvedAt':_0x4f6089,'unlinkedAt':_0x1a1174,'isFromAdapter':!0x0}));const _0x1f31ac=new Set(Array['from'](_0x18b664['comments'],_0x1508e5=>_0x1508e5['id']));for(const _0x53ef7b of _0x1d97e7['comments'])_0x1f31ac['delete'](_0x53ef7b['commentId']);for(const _0x3aa641 of _0x1f31ac)_0x18b664['getComment'](_0x3aa641)['remove']({'isFromAdapter':!0x0});for(const _0x58c171 of _0x1d97e7['comments']){const _0xc1e411=_0x18b664['getComment'](_0x58c171['commentId']);_0xc1e411?_0xc1e411['content']!==_0x58c171['content']&&_0xc1e411['update']({'content':_0x58c171['content'],'isFromAdapter':!0x0}):_0x18b664['addComment'](Object['assign'](at(_0x58c171),{'isFromAdapter':!0x0}));}}}_getService(_0x295fd8){if(!this['_services']['has'](_0x295fd8))throw new _0x1cd844('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x295fd8});return this['_services']['get'](_0x295fd8);}async _fetchMissingUsersForThreads(_0x15398b){const _0x42d393=this['context']['plugins']['get'](_0x4e8b99),{connection:_0x233080}=this['context']['plugins']['get'](z),_0x5403aa=new Set();for(const {resolvedBy:_0x5f5585,comments:_0x2836e9}of _0x15398b){_0x5f5585&&!_0x42d393['getUser'](_0x5f5585)&&_0x5403aa['add'](_0x5f5585);for(const {userId:_0x3d8256}of _0x2836e9)_0x42d393['getUser'](_0x3d8256)||_0x5403aa['add'](_0x3d8256);}if(0x0===_0x5403aa['size'])return;const _0x365276=await _0x197c00['getMany'](_0x233080,Array['from'](_0x5403aa));for(const _0x313f76 of _0x365276)_0x42d393['getUser'](_0x313f76['id'])||_0x42d393['addUser'](_0x313f76);}};async function rt(_0x356422){if('404'!==_0x356422['code'])throw _0x356422;}function ct(_0x4d3f81){if((_0x37996e=_0x4d3f81)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x37996e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x37996e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x37996e;throw _0x4d3f81;}function at(_0xa5029d){return{'threadId':_0xa5029d['commentThreadId'],'commentId':_0xa5029d['commentId'],'content':_0xa5029d['content'],'createdAt':_0xa5029d['createdAt'],'authorId':_0xa5029d['userId'],'attributes':_0xa5029d['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x1e2c35{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x53df18)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x27597a,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x198768){super(_0x198768);const _0xf53acc=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xf53acc);}init(){const _0x388423=this['editor']['plugins']['get'](z),_0x5bb914=this['editor']['plugins']['get'](_0x27597a);return _0x5bb914['adapter']={'getSuggestion':async _0x247e74=>{await this['_waitForServiceReady']();const _0x15814b=await this['_trackChangesService']['get'](_0x247e74)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x15814b]),_0x15814b;},'addSuggestion':async({id:_0x233f3a,type:_0x5baeaf,data:_0x324926,originalSuggestionId:_0x305131,attributes:_0x4dea5f})=>{await this['_waitForServiceReady']();const _0x4ae227={'id':_0x233f3a,'type':_0x5baeaf,'data':_0x324926,'originalSuggestionId':_0x305131,'attributes':_0x4dea5f},_0x49d285=await this['_trackChangesService']['add'](_0x233f3a,_0x5baeaf,_0x324926,_0x305131,_0x4dea5f)['catch'](_0x5e417f=>{if(dt(_0x5e417f))return new Promise(_0x200093=>{this['_bufferedRequests']['set'](_0x233f3a,{'resolve':_0x200093,'suggestionData':_0x4ae227});});throw _0x5e417f;});return this['_bufferedRequests']['delete'](_0x233f3a),_0x49d285;},'updateSuggestion':async(_0xb82d4d,_0x137154)=>{if(await this['_waitForServiceReady'](),'open'!==_0x137154['state'])return this['_trackChangesService']['update'](_0xb82d4d,_0x137154)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1bcf28,_0x2734a6)=>{_0x5bb914['hasSuggestion'](_0x2734a6['id'])&&(_0x5bb914['getSuggestion'](_0x2734a6['id'])['attributes']=_0x2734a6['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x388423['connection']?.['state']&&(_0x388423['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x388423['connection'])['then'](_0x5f1397=>(_0x388423['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5f1397)['then'](()=>{for(const _0x5b1e3d of _0x5f1397){_0x5bb914['addSuggestionData'](_0x5b1e3d)['_saved']=!0x0;}})));}async reconnect(){const _0xedcbf6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x510295}=this['editor']['plugins']['get'](z),_0x3563ae=await this['_trackChangesService']['connect'](_0x510295);await this['_fetchMissingUsersForThreads'](_0x3563ae);for(const {suggestionData:_0x1f5958,resolve:_0x2aa9fd}of this['_bufferedRequests']['values']()){let _0x55a7f6=_0x3563ae['find'](_0x2ff75c=>_0x2ff75c['id']===_0x1f5958['id']);_0x55a7f6||(_0x55a7f6=await this['_trackChangesService']['add'](_0x1f5958['id'],_0x1f5958['type'],_0x1f5958['data'],_0x1f5958['originalSuggestionId'])),_0x2aa9fd(_0x55a7f6);}for(const _0x3bb7eb of _0x3563ae)_0xedcbf6['hasSuggestion'](_0x3bb7eb['id'])||_0xedcbf6['addSuggestionData'](_0x3bb7eb);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x5e0f4f=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5834e3=>{_0x5834e3['off'](),_0x5e0f4f();});});}async _fetchMissingUsersForThreads(_0x5393c8){const _0xb1bfcd=this['editor']['plugins']['get'](_0x4e8b99),{connection:_0x4ef1c7}=this['editor']['plugins']['get'](z),_0x2d7be6=new Set();for(const {authorId:_0x48d822}of _0x5393c8)_0xb1bfcd['getUser'](_0x48d822)||_0x2d7be6['add'](_0x48d822);if(0x0===_0x2d7be6['size'])return;const _0x43cd7a=await _0x197c00['getMany'](_0x4ef1c7,Array['from'](_0x2d7be6));for(const _0x5d98de of _0x43cd7a)_0xb1bfcd['getUser'](_0x5d98de['id'])||_0xb1bfcd['addUser'](_0x5d98de);}};function lt(_0x54c315){if(dt(_0x54c315))return new Promise(()=>{});throw _0x54c315;}function dt(_0x3ab29b){return _0x3ab29b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3ab29b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x1e2c35{static get requires(){return[_0x5db2b7,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1c7d9e=this['editor']['plugins']['get'](z),_0x1c7d2a=this['editor']['plugins']['get'](_0x54e2b9),_0x3a14bf=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1c7d9e,'change:state',(_0x2c6232,_0x14210f,_0x3f972a)=>{_0x1c7d2a['isThreadsLoadingPaused']='connected'!==_0x3f972a;});}),this['listenTo'](_0x1c7d9e,'change:state',(_0x585ca8,_0xfa8f74,_0x4401b1)=>{this['editor']['plugins']['get'](_0x46916a)['switchReadOnly']('connected'!==_0x4401b1);}),_0x3a14bf['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0xa036f9=this['editor']['plugins']['get'](ot),_0x3c9ff8=this['editor']['config']['get']('collaboration.channelId');_0xa036f9['_services']['has'](_0x3c9ff8)&&_0xa036f9['_terminateService'](_0x3c9ff8),super['destroy']();}},ft=class extends _0x1e2c35{static get requires(){return[ut,ht,_0x4fb15c];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x1e2c35{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x33a6ab)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5c26c3,Y,_0x4e8b99];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12cbd){super(_0x12cbd);const _0x2f2109=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2f2109);}async init(){const _0x2de463=this['editor']['plugins']['get'](tt),_0x83112c=_0x2de463['serverHistory'],_0x5ce42c=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x83112c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2de463['sessionId']});const _0x4695fe=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5737c2,_0x1f4500=await _0x1ddb48['isBundleUploaded'](_0x5ce42c['connection'],_0x4695fe);this['editor']['plugins']['get'](_0x5c26c3)['adapter']={'getRevision':async({revisionId:_0x1f9115})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1f9115)),'updateRevisions':async _0x2eb666=>{await this['_waitForServiceReady']();const _0x3cec29=this['_revisionTracker']['currentRevision'];if(_0x1f4500&&0x1===_0x2eb666['length']&&_0x2eb666[0x0]['id']===_0x3cec29['id'])return _0x2eb666;for(const _0x4cff26 of _0x2eb666)_0x4cff26['id']===_0x3cec29['id']&&(_0x4cff26['isEmptyCurrent']=_0x4cff26['fromVersion']===_0x4cff26['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2eb666,this['_lastRequestId'])['then'](_0x3be236=>(this['_lastRequestId']=_0x3be236,_0x2eb666))['catch'](_0x1178e2=>{if(pt(_0x1178e2)||'400'===_0x1178e2['code']&&void 0x0!==_0x1178e2['data']['wrongRequestId']){for(const _0x53a1f8 of _0x2eb666)this['_revisionTracker']['repository']['getRevision'](_0x53a1f8['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x53a1f8['id'],_0x53a1f8,!0x1);if(pt(_0x1178e2)&&'destroyed'!==this['editor']['state'])throw _0x1178e2;return _0x2eb666;}throw _0x1178e2;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x341e25,{revisionsData:_0x301742,requestId:_0xcf2810})=>{Math['max'](..._0x301742['map'](_0x121f6e=>_0x121f6e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x301742,_0xcf2810);}):this['_handleRevisionsUpdate'](_0x301742,_0xcf2810);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x5ce42c['connection']?.['state']&&(_0x5ce42c['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2cf8c6,requestId:_0x51b122}=await this['_revisionHistoryService']['connect'](_0x5ce42c['connection']);_0x5ce42c['addToReconnectionStack'](this),this['_lastRequestId']=_0x51b122,await this['_fetchMissingUsers'](_0x2cf8c6);for(const _0x5ac0a0 of _0x2cf8c6)this['_revisionTracker']['addRevisionData'](_0x5ac0a0);this['listenTo'](_0x2de463,'change:_isConnected',(_0x4ed2bb,_0x276eab,_0x3d8bb1)=>{_0x3d8bb1&&(this['_oldOffset']=_0x2de463['_offset'],_0x4ed2bb['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x479fbe=this['editor']['plugins']['get'](z),_0xe5371b=this['editor']['plugins']['get'](tt),_0x2b7241=async()=>{const _0x301634=this['_revisionTracker']['currentRevision'],_0x52a56a=_0x301634['id'],_0x3eaf86=_0x52a56a!==_0xe5371b['sessionId'];if(_0x3eaf86){const _0x315c3d=_0xe5371b['_offset']-this['_oldOffset'],_0x323f21=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x301634['toVersion']+_0x315c3d!==_0x323f21){const _0x4ec243=_0x301634['fromVersion']+_0x315c3d,_0x506317=this['editor']['plugins']['get'](_0x4e8b99),_0x4ccfea=this['_revisionTracker']['buildRevisionData']({'revision':_0x301634,'from':_0x4ec243,'to':_0x323f21});_0x4ccfea['id']=_0x301634['id'];const _0x2eab4a=_0x4ccfea['authorsIds']['map'](_0x1afd58=>_0x506317['getUser'](_0x1afd58));_0x301634['_update']({..._0x4ccfea,'authors':_0x2eab4a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x301634['id'],_0x4ccfea,!0x0);}this['_revisionTracker']['_startingVersion']=_0x323f21,_0x301634['toVersion']!==_0x301634['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x52a56a)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x52a56a),this['_revisionTracker']['_createCurrentRevision'](_0x323f21);}const {revisions:_0x1e9abd,requestId:_0x8bf9bd}=await this['_revisionHistoryService']['reconnect'](_0x479fbe['connection'],this['_lastRequestId']);_0x3eaf86&&_0x1e9abd['length']>0x0?_0xe5371b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1e9abd),this['_handleRevisionsUpdate'](_0x1e9abd,_0x8bf9bd),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe5371b['_isConnected']?_0x2b7241():new Promise((_0x39a04c,_0x2d49c4)=>{_0xe5371b['once']('change:_isConnected',()=>{_0x2b7241()['then'](_0x39a04c)['catch'](_0x2d49c4);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x424eef=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x6ef46=>{_0x6ef46['off'](),_0x424eef();});});}_getLatestVersionFromServerOperations(){const _0x39cdf3=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0xa4a81 of _0x39cdf3)if('marker'!==_0xa4a81['type']||_0xa4a81['affectsData'])return _0xa4a81['baseVersion']+0x1;}_getLatestVersion(){const _0x4a2fea=this['editor']['plugins']['get'](tt);return new Promise(_0x302a82=>{_0x4a2fea['_isPendingUpdate']?_0x4a2fea['once']('change:_isPendingUpdate',()=>{_0x302a82(this['_getLatestVersionFromServerOperations']());}):_0x302a82(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x40959f,_0x2ec523){const _0x1830f5=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2ec523;for(const _0x56a794 of _0x40959f){const _0xee1b61=_0x1830f5['getRevision'](_0x56a794['id']);if(_0xee1b61){if((_0x56a794['fromVersion']||_0x56a794['toVersion'])&&(_0x56a794['diffData']=null),_0xee1b61===this['_revisionTracker']['currentRevision']){const _0x4ee41a=Math['max'](_0xee1b61['toVersion'],_0x56a794['toVersion']),_0x59ec52=Math['max'](_0xee1b61['fromVersion'],_0x56a794['fromVersion']);let _0x1accad;_0xee1b61['toVersion']===_0x56a794['toVersion']&&_0xee1b61['fromVersion']===_0x56a794['fromVersion']?(_0x1accad=!0x0,this['_preventResendingRevisionData'](_0x56a794)):_0x56a794['toVersion']===_0x4ee41a&&_0x56a794['fromVersion']===_0x59ec52?_0x1accad=!0x1:(_0xee1b61['toVersion']===_0x4ee41a&&_0xee1b61['fromVersion']===_0x59ec52||this['_fixRevision']({'revision':_0xee1b61,'from':_0x59ec52,'to':_0x4ee41a}),_0x1accad=!0x0),_0x1accad&&(delete _0x56a794['fromVersion'],delete _0x56a794['toVersion'],delete _0x56a794['diffData'],delete _0x56a794['createdAt'],delete _0x56a794['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x56a794),this['_preventResendingRevisionData'](_0x56a794);}else this['_revisionTracker']['addRevisionData'](_0x56a794);}const _0x226696=_0x1830f5['getRevisions']();_0x226696['reverse']();for(let _0x34e6c2=0x0;_0x34e6c2<_0x226696['length']-0x1;_0x34e6c2++){const _0x17e714=_0x226696[_0x34e6c2],_0x55a381=_0x226696[_0x34e6c2+0x1];if(_0x17e714['fromVersion']<_0x55a381['toVersion']){const _0x14abb1=_0x55a381['toVersion'],_0x5830d1=Math['max'](_0x14abb1,_0x17e714['toVersion']);this['_fixRevision']({'revision':_0x17e714,'from':_0x14abb1,'to':_0x5830d1});}}}['_fixRevision']({revision:_0x253fcd,from:_0x3e387e,to:_0x4fd2a4}={}){const _0x11dee1=this['editor']['plugins']['get'](_0x4e8b99),_0x5f1713=this['_revisionTracker']['buildRevisionData']({'revision':_0x253fcd,'from':_0x3e387e,'to':_0x4fd2a4});_0x5f1713['authors']=_0x5f1713['authorsIds']['map'](_0x22b645=>_0x11dee1['getUser'](_0x22b645)),_0x253fcd['_update'](_0x5f1713);}_preventResendingRevisionData(_0x2351ca){const _0x54b22f={};_0x54b22f['id']=_0x2351ca['id'];for(const _0x2613dc of Object['keys'](_0x2351ca))'id'!==_0x2613dc&&(_0x54b22f[_0x2613dc]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x54b22f['id'],_0x54b22f,!0x0);}async _fetchMissingUsers(_0x108b9d){const _0x4de267=this['editor']['plugins']['get'](_0x4e8b99),{connection:_0x9ebce}=this['editor']['plugins']['get'](z),_0x586db8=new Set();for(const _0x28574f of _0x108b9d){for(const _0x3cd6d6 of _0x28574f['authorsIds'])_0x27b989(_0x3cd6d6);_0x28574f['creatorId']&&_0x27b989(_0x28574f['creatorId']);}if(0x0===_0x586db8['size'])return;const _0x4ba735=await _0x197c00['getMany'](_0x9ebce,Array['from'](_0x586db8));for(const _0x361fc8 of _0x4ba735)_0x4de267['getUser'](_0x361fc8['id'])||_0x4de267['addUser'](_0x361fc8);function _0x27b989(_0x211b53){_0x4de267['getUser'](_0x211b53)||_0x586db8['add'](_0x211b53);}}};function pt(_0xd5cfb1){return _0xd5cfb1['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xd5cfb1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xd5cfb1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x1e2c35{static get requires(){return[_0x5c26c3,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4f13ad{_collapseAt;constructor(_0xeb8d74,_0x10aaaf=0x6){super(_0xeb8d74);const _0x4c0ef5=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x10aaaf,this['bind']('isHidden')['to'](this,'usersCount',_0x421a84=>_0x421a84<_0x10aaaf),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4c0ef5['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':_0x4c0ef5['to']('usersCount',_0x59490a=>'+'+(_0x59490a-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4f13ad{items;keystrokes;constructor(_0xded95){super(_0xded95);const _0x4e4d0d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x348589(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4e4d0d['if']('hasPopup'),'aria-expanded':_0x4e4d0d['to']('isExpanded',_0x365bda=>this['hasPopup']&&String(_0x365bda)),'aria-label':_0x4e4d0d['to']('hasPopup',_0x31d569=>X(_0xded95,_0x31d569?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4e4d0d['to']('hasPopup',_0x2d7e42=>!!_0x2d7e42&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4e4d0d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4e4d0d['to'](_0x120d7a=>{const _0x5434ab=_0x120d7a,_0x1d72e2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1b8a94=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1d72e2?.['contains'](_0x5434ab['relatedTarget'])||_0x1b8a94?.['contains'](_0x5434ab['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2d8b08,_0x4d09d1,_0xb98b86)=>{this['element']&&(_0xb98b86?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 _0x4f13ad{counterView;inlineListView;constructor(_0x122223,_0x38ae22=0x6){super(_0x122223);const _0x462ba6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x38ae22),this['inlineListView']=new vt(_0x122223),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x563c83 of this['inlineListView']['items'])_0x563c83['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',_0x462ba6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4f13ad{listWrapperView;constructor(_0x4e98b5,_0x42bc22){super(_0x4e98b5);const _0x18396e=this['bindTemplate'];this['listWrapperView']=new bt(_0x4e98b5,_0x42bc22),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x4e98b5,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x18396e['to'](_0x2012e2=>{const _0x19d445=_0x2012e2,_0x3d874a=document['querySelector']('.ck-presence-list__list'),_0x11b1dd=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3d874a?.['contains'](_0x19d445['relatedTarget'])||_0x11b1dd?.['contains'](_0x19d445['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1a0a9b{constructor(_0x295318,_0xc9648d){super(_0x295318);const _0x2bfc0c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xc9648d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2bfc0c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2bfc0c['to']('role'),'aria-label':_0x2bfc0c['to']('ariaLabel'),'aria-labelledby':_0x2bfc0c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x56e72d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2a0ffb=this['element'];_0x2a0ffb&&(this['_isScrollable']=Math['max'](_0x2a0ffb['scrollHeight'],_0x2a0ffb['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x5d3968{['userView'];constructor(_0x262aaa,_0x46cb52,_0x53a70b){super(_0x262aaa);const _0x2abc47=this['bindTemplate'];this['userView']=new _0x494d84(_0x262aaa,_0x46cb52);const _0x540c3e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x46cb52['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x46cb52['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x46cb52['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x46cb52['color']['getColorVariable'](),'--ck-user-color-alpha':_0x46cb52['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x53a70b&&(_0x540c3e['tag']='button',_0x540c3e['on']={'click':_0x2abc47['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x540c3e);}['focus'](){this['element']['focus']();}},It=class extends _0x4f13ad{['userView'];['markerView'];constructor(_0x1eee6a,_0x593e6a,_0x2e8667){super(_0x1eee6a);const _0x29701b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x494d84(_0x1eee6a,_0x593e6a),this['markerView']=new St(_0x1eee6a,_0x593e6a);const _0x134bf7=new _0x286fa8(_0x1eee6a);_0x134bf7['template']['tag']='span',_0x134bf7['text']=_0x593e6a['name'];const _0x40413f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x29701b['to']('isFocusable',_0x5b4a08=>!!_0x5b4a08&&0x0),'aria-labelledby':_0x134bf7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x29701b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x29701b['to']('hasTooltip',_0x459e7e=>!_0x459e7e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x134bf7]};_0x2e8667&&(_0x40413f['tag']='button',_0x40413f['on']={'click':_0x29701b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x40413f);}},St=class extends _0x4f13ad{constructor(_0x24d6a7,_0x4abcab){super(_0x24d6a7),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4abcab['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4abcab['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4abcab['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3db858{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xcdd337){super(_0xcdd337),this['context']['config']['define']('presenceList',Tt);const _0x26a106=_0xcdd337['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x26a106)throw new _0x1cd844('presencelist-collapseat-invalid-format',this);if(_0x26a106<0x1)throw new _0x1cd844('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2188d9(),this['balloonPanelView']=new _0x4e07dc(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x570d74 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x570d74);this['listenTo'](this['_allConnectedUsers'],'add',(_0x7504e7,_0x381f7d)=>{this['_handleUserAdd'](_0x381f7d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x53a74d,_0xa6f04d)=>{this['_handleUserRemove'](_0xa6f04d);});}_createView(){const _0xaa8e0=this['context'],_0x50bbca=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4799d7=this['balloonPanelView'];if(!_0x20a13c(_0xaa8e0['config']['get']('presenceList.container')))throw new _0x1cd844('presencelist-missing-container',this);return _0x50bbca['counterView']['bind']('usersCount')['to'](this),_0x50bbca['bind']('isCollapsed')['to'](this,'usersCount',_0x5a0294=>{const {collapseAt:_0x389cbf}=_0xaa8e0['config']['get']('presenceList'),_0x42773d=_0x5a0294>=_0x389cbf;if(_0x42773d&&!_0x50bbca['inlineListView']['items']['find'](_0x53cc95=>_0x53cc95 instanceof wt)){const _0xae843b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xae843b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x50bbca['inlineListView']['items']['add'](_0x50bbca['counterView']);}return _0x42773d||this['hideDropdown'](),_0x42773d;}),_0x50bbca['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2092da=>{const _0x5c4258=_0xaa8e0['config']['get']('presenceList'),_0x1678f8=new It(_0xaa8e0['locale'],_0x2092da,!!_0x5c4258['onClick']);return _0x1678f8['bind']('hasTooltip')['to'](_0x50bbca,'isCollapsed',_0x5ab8fd=>!_0x5ab8fd),_0x1678f8['bind']('isFocusable')['to'](_0x50bbca,'isCollapsed',_0x32bde9=>!_0x32bde9),_0x5c4258['onClick']&&this['listenTo'](_0x1678f8,'execute',()=>{this['view']['isCollapsed']||_0x5c4258['onClick'](_0x2092da,_0x1678f8['element']);}),_0x1678f8;}),this['listenTo'](_0x50bbca['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x50bbca['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x50bbca['inlineListView']['keystrokes']['set']('Enter',(_0x47713b,_0x4513)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4513());}),_0x50bbca['render'](),_0x4799d7['render'](),_0x3c456b({'emitter':_0x50bbca,'activator':()=>_0x4799d7['isVisible'],'contextElements':[_0x4799d7['element'],_0x50bbca['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xaa8e0['config']['get']('presenceList.container')['appendChild'](_0x50bbca['element']),this['_bodyCollection']=new _0xb9107e(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x50bbca;}['_handleUserAdd'](_0x1af15f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1af15f['isMe'])return;const _0x3c2c2a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3c2c2a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1dbd3d=_0x1af15f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1af15f,_0x1dbd3d);}['_handleUserRemove'](_0x1ba05b){this['usersCount']--;const {collapseAt:_0x2bd17b}=this['context']['config']['get']('presenceList'),_0x4606c4=this['usersCount']>=_0x2bd17b;if(this['currentDisplayedUsers']['get'](_0x1ba05b['id']))this['currentDisplayedUsers']['remove'](_0x1ba05b['id']);else{if(_0x4606c4&&this['currentDisplayedUsers']['length']+0x1===_0x2bd17b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4606c4?0x1:0x0)<this['usersCount']){for(const _0x2325f8 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2325f8['id'])&&(this['currentDisplayedUsers']['add'](_0x2325f8,Math['min'](this['currentDisplayedUsers']['length']-(_0x4606c4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4606c4?0x1:0x0)===_0x2bd17b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1bd86d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1bd86d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3d0d95}=this['presenceDropdownView'];_0x3d0d95['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x56aec3=>{if(!_0x1bd86d['displayMe']&&_0x56aec3['isMe'])return null;const _0x4d34b1=new kt(this['context']['locale'],_0x56aec3,!!_0x1bd86d['onClick']);return _0x1bd86d['onClick']&&this['listenTo'](_0x4d34b1,'execute',()=>{_0x1bd86d['onClick'](_0x56aec3,_0x4d34b1['element']);}),_0x4d34b1;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3d0d95['focus'](),_0x3d0d95['checkIfScrollable']();const _0x37fefe=(_0x2592bb,_0x1def3c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1def3c();};_0x3d0d95['keystrokes']['set']('Esc',_0x37fefe),_0x3d0d95['keystrokes']['set']('Shift+Tab',_0x37fefe),_0x3d0d95['keystrokes']['set']('Tab',(_0x330753,_0x1077ef)=>{!function(_0x3c670a){const _0x32bd96=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x56bf72=>_0x56bf72+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x22aadc=[...document['body']['querySelectorAll'](_0x32bd96)]['filter'](_0x11896f=>_0x11896f===document['activeElement']||_0x11896f['offsetWidth']+_0x11896f['offsetHeight']>0x0)['sort']((_0x32d965,_0xcd16a0)=>(_0x32d965['tabIndex']||0x0)-(_0xcd16a0['tabIndex']||0x0)),_0x3f6c99=_0x22aadc[(_0x22aadc['indexOf'](_0x3c670a)+0x1)%_0x22aadc['length']];_0x3f6c99&&_0x3f6c99['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1077ef();}),_0x3d0d95['focusTracker']['add'](this['view']['element']),_0x3d0d95['focusTracker']['on']('change:isFocused',(_0x1beeba,_0x31739f,_0x4cddfe)=>{_0x4cddfe||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 _0x3db858{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};