@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.2 → 48.3.0-alpha.3

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 +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x2d03f6,ContextPlugin as _0x198b15,PendingActions as _0x1664fe,Plugin as _0x55f077}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x247b99,Collection as _0x306590,DomEmitterMixin as _0x128a5f,KeystrokeHandler as _0x8e2249,global as _0x3de184,uid as _0x15a4eb,version as _0x43a572}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x40139a,BodyCollection as _0x34295a,LabelView as _0x4b0e72,ListItemView as _0x81bb6c,ListView as _0x41f256,Notification as _0x3aba24,View as _0x734c23,clickOutsideHandler as _0x955340}from'@ckeditor/ckeditor5-ui';import{History as _0x3b9cfe,InsertOperation as _0x1e623b,MarkerOperation as _0x2b7f21,ModelLiveRange as _0x537809,NoOperation as _0x506b04,OperationFactory as _0x23d9fa,RootAttributeOperation as _0x530ebb,transformOperationSets as _0x367266}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1d1225}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x56bfe2,CommentsService as _0x25de81,EditorService as _0x5e4875,RevisionHistoryService as _0xb0619e,TrackChangesService as _0x504e78,User as _0x3fdc75,WEB_SOCKET_GATEWAY_STATES as _0xbe46e2,WebSocketGateway as _0x3197df}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x111a61,Users as _0x2c4aec}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x307d8e}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x348130,TrackChangesEditing as _0x21a4e2}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x5ddb33,CommentsEditing as _0x4a2cc1,CommentsRepository as _0x557678}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x278f20}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x368f5b}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x198b15{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x3197df)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d1225,_0x3aba24];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3462ac){super(_0x3462ac),this['set']('state',_0xbe46e2['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x128a5f())();}['init'](){const _0x2e711c=this['context'],_0x3db06c=_0x2e711c['plugins']['get'](_0x1d1225),_0x3706e2=_0x2e711c['plugins']['get'](_0x3aba24);if(!_0x3db06c['token'])throw new _0x247b99('websocketgateway-missing-token',this);if(!_0x3db06c['webSocketUrl'])throw new _0x247b99('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'](_0x3db06c['token'],_0x3db06c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x41e0b5=>{if(this['connection']=_0x41e0b5,this['bind']('state')['to'](_0x41e0b5,'state',this,'_isBrowserOffline',(_0x4632a2,_0x15ccb0)=>('connected'!==_0x4632a2&&(this['_shouldPluginsReconnect']=!0x0),_0x15ccb0||_0x4632a2!==_0xbe46e2['CONNECTED']?_0xbe46e2['DISCONNECTED']:this['state']==_0xbe46e2['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xbe46e2['CONNECTING']):_0xbe46e2['CONNECTED'])),this['connection']['on']('error',(_0x20e359,_0x1f0206)=>{if('limitExceeded'!==_0x1f0206['code'])throw console['error'](_0x1f0206),new _0x247b99('cloudservices-init',null,{'originalError':_0x1f0206});_0x3706e2['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'});}),!_0x41e0b5['me'])return new Promise(_0x12509a=>_0x41e0b5['on']('change:me',_0x12509a));})['catch'](_0x3b5220=>{throw console['error'](_0x3b5220),new _0x247b99('cloudservices-init',null,{'originalError':_0x3b5220});});}['addToReconnectionStack'](_0x1baca3){if('function'!=typeof _0x1baca3['reconnect'])throw new _0x247b99('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1baca3))throw new _0x247b99('websocketgateway-plugin-already-registered',this,{'name':_0x1baca3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1baca3);}['removeFromReconnectionStack'](_0x1ed928){this['_reconnectionStack']['delete'](_0x1ed928);}['isInReconnectionStack'](_0x33be3b){return this['_reconnectionStack']['has'](_0x33be3b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xeb7e3b=>_0xeb7e3b['reconnect']())))['then'](()=>this['state']=_0xbe46e2['CONNECTED'])['catch'](_0x2b4fcc=>{throw console['error'](_0x2b4fcc),new _0x247b99('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xbe46e2['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x198b15{['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,_0x2c4aec];}constructor(_0x438c58){super(_0x438c58),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x306590(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2c4aec);}['init'](){const _0x5c897b=this['context']['plugins']['get'](z);this['listenTo'](_0x5c897b,'change:state',(_0x17f0a5,_0x21a04f,_0x4ad1e5)=>{if('connected'!==_0x4ad1e5)this['channelSessions']['forEach'](_0x635b1a=>_0x635b1a['clear']()),this['channelConnectedUsers']['forEach'](_0x2a1a2e=>_0x2a1a2e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x693cbe,_0x35f46c]of this['_registeredSessions'])for(const _0x11ad98 of _0x35f46c)this['_handleSessionAdd'](_0x693cbe,_0x11ad98);}}),this['_createUser'](_0x5c897b['connection']['me'],!0x0);}['register'](_0x22a626,_0x1e793d){if(this['_registeredSessions']['has'](_0x22a626))throw new _0x247b99('sessions-register-already-registered',null,{'channelId':_0x22a626});this['_registeredSessions']['set'](_0x22a626,_0x1e793d),this['channelSessions']['set'](_0x22a626,new _0x306590()),this['channelConnectedUsers']['set'](_0x22a626,new _0x306590()),this['listenTo'](_0x1e793d,'add',(_0x472e02,_0x169d72)=>this['_handleSessionAdd'](_0x22a626,_0x169d72)),this['listenTo'](_0x1e793d,'remove',(_0x4f1ddd,_0x3b7916)=>this['_handleSessionRemove'](_0x22a626,_0x3b7916));for(const _0x794a02 of _0x1e793d)this['_handleSessionAdd'](_0x22a626,_0x794a02);}['unregister'](_0x3a0c9a){if(!this['_registeredSessions']['has'](_0x3a0c9a))throw new _0x247b99('sessions-unregister-not-exist',null,{'channelId':_0x3a0c9a});const _0x1eae91=this['_registeredSessions']['get'](_0x3a0c9a);this['stopListening'](_0x1eae91);for(const _0x5b225b of _0x1eae91)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3a0c9a,_0x5b225b);this['_registeredSessions']['delete'](_0x3a0c9a),this['channelSessions']['delete'](_0x3a0c9a),this['channelConnectedUsers']['delete'](_0x3a0c9a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ac32e){for(const _0x2d28ac of this['channelSessions']['values']())for(const _0x407ac2 of _0x2d28ac)if(_0x407ac2['id']===_0x3ac32e)return _0x407ac2['user'];}['getUserSessions'](_0x4a3424,_0x481da4){const _0x15758c=_0x481da4?[this['channelSessions']['get'](_0x481da4)]:this['channelSessions']['values'](),_0x5666ce=new Set();for(const _0x5dd310 of _0x15758c)for(const _0x337701 of _0x5dd310)_0x337701['user']['id']===_0x4a3424['id']&&_0x5666ce['add'](_0x337701['id']);return _0x5666ce;}['getUserRole'](_0x317586){for(const _0x174598 of this['channelSessions']['values']())for(const _0x554da3 of _0x174598)if(_0x554da3['user']===_0x317586)return _0x554da3['role'];}['_handleSessionAdd'](_0x455c4a,_0x5b614a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3e74a5=_0x5b614a['user'],_0x31eadb=this['_users']['getUser'](_0x3e74a5['id'])||this['_createUser'](_0x3e74a5),_0x1f289c=Object['assign']({},_0x5b614a,{'user':_0x31eadb});if(this['channelSessions']['get'](_0x455c4a)['add'](_0x1f289c),!_0x3e74a5['hiddenInPresenceList']){const _0x56697e=this['channelConnectedUsers']['get'](_0x455c4a);_0x56697e['has'](_0x31eadb['id'])||_0x56697e['add'](_0x31eadb),this['allConnectedUsers']['has'](_0x31eadb['id'])||_0x3e74a5['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31eadb,_0x31eadb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x455c4a,{'channelId':_0x455c4a,'session':_0x1f289c});}['_handleSessionRemove'](_0x738f87,_0x1500ed){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4327ca=this['channelConnectedUsers']['get'](_0x738f87),_0x3ecbc6=_0x1500ed['user'];_0x3ecbc6['id']&&(this['channelSessions']['get'](_0x738f87)['remove'](_0x1500ed['id']),_0x4327ca['has'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6,_0x738f87)['size']&&_0x4327ca['remove'](_0x3ecbc6['id']),this['allConnectedUsers']['get'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6)['size']&&this['allConnectedUsers']['remove'](_0x3ecbc6['id']));}['_createUser'](_0x137c15,_0x3ef584){const _0x22a60a=this['_users']['addUser'](_0x137c15);return _0x3ef584&&this['_users']['defineMe'](_0x137c15['id']),_0x22a60a['orderNumber']=this['_uniqueUsersCount']++,_0x22a60a;}},K=class extends _0x55f077{['_domEmitter']=new(_0x128a5f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf8ab14=this['editor'],_0x3e256c=_0xf8ab14['plugins']['get'](Y);_0xf8ab14['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc8eae,{writer:_0x3fce45})=>function(_0x202683,_0x1a9b25,_0x51edd5,_0x39fbd5){const _0xaea4cc=_0x202683['markerName']['split'](':')[0x2],_0x5920e6=_0x51edd5['getUserBySessionId'](_0xaea4cc);if(!_0x5920e6||_0xaea4cc===_0x51edd5['mySessionId'])return;if(!_0x39fbd5['model']['schema']['checkChild'](_0x202683['markerRange']['start'],'$text'))return;const _0x1ae736={'class':'ck-user__marker\x20'+_0x5920e6['color']['getMarkerClass'](),'style':Q(_0x5920e6),'data-name':_0x5920e6['name'],'data-session-id':_0xaea4cc},_0x75f1e1=_0x39fbd5['model']['markers']['get'](_0x202683['markerName'])['getStart'](),_0x54a056=_0x75f1e1['nodeAfter'],_0x53d722=_0x39fbd5['model']['schema'];if(_0x54a056&&_0x53d722['isObject'](_0x54a056)&&_0x53d722['isInline'](_0x54a056)&&!_0x39fbd5['model']['markers']['get']('user:range:'+_0xaea4cc)['getRange']()['isCollapsed'])return;const _0x1cca80=_0x75f1e1['parent'];return _0x39fbd5['model']['schema']['isLimit'](_0x1cca80)&&!_0x39fbd5['model']['hasContent'](_0x1cca80)&&(_0x1ae736['contenteditable']=!0x1),function(_0x500c73,_0x3312fb,_0x47ce0b){const _0x2a0a3c=_0x500c73['createUIElement']('span',_0x3312fb);return _0x500c73['setCustomProperty']('userPositionMarker',!0x0,_0x2a0a3c),_0x2a0a3c['render']=function(_0xd40a0e){const _0x5b2231=this['toDomElement'](_0xd40a0e),_0x5017de=document['createElement']('span');return _0x5017de['classList']['add']('ck-user__marker-tooltip'),_0x5017de['setAttribute']('contenteditable','false'),_0x5017de['setAttribute']('spellcheck','false'),_0x5017de['textContent']=_0x47ce0b['name'],_0x5b2231['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5017de['outerHTML']+'⁠',_0x5b2231['addEventListener']('mouseenter',()=>{_0x5b2231['classList']['add']('ck-user__marker_hovered');}),_0x5b2231['addEventListener']('mouseleave',()=>{_0x5b2231['classList']['remove']('ck-user__marker_hovered');}),_0x5b2231;},_0x2a0a3c['isSimilar']=function(_0x93968e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x93968e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x93968e['getAttribute']('data-session-id'));},_0x2a0a3c;}(_0x1a9b25,_0x1ae736,_0x5920e6);}(_0xcc8eae,_0x3fce45,_0x3e256c,_0xf8ab14)}),_0xf8ab14['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x9cbf31=>function(_0x58d334,_0x16d6f4){const _0x24eef1=_0x58d334['markerName']['split'](':')[0x2];if(_0x24eef1===_0x16d6f4['mySessionId'])return null;const _0x2829bf=_0x16d6f4['getUserBySessionId'](_0x24eef1);return _0x2829bf?{'id':_0x24eef1,'classes':['ck-user__selection',_0x2829bf['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2829bf),'data-session-id':_0x24eef1},'priority':0x7d0+_0x2829bf['orderNumber']}:{'id':_0x24eef1,'classes':[]};}(_0x9cbf31,_0x3e256c)}),function(_0x3edfa5){const _0x147445=_0x3edfa5['model'],_0x21bdeb=new Map(),_0x4f869c=_0x3edfa5['plugins']['get'](Y);_0x147445['markers']['on']('update:user:range',(_0x5516b1,_0x19b7a3,_0xf6fc61,_0x554f9d)=>{if(!_0x554f9d&&_0x21bdeb['get'](_0x19b7a3['name']))return _0x21bdeb['get'](_0x19b7a3['name'])['detach'](),void _0x21bdeb['delete'](_0x19b7a3['name']);const _0x5d8981=_0x19b7a3['name']['split'](':')[0x2];if(_0x5d8981===_0x4f869c['mySessionId'])return;const _0x29caff='user:position:'+_0x5d8981;_0x147445['markers']['has'](_0x29caff)&&_0x3edfa5['editing']['reconvertMarker'](_0x29caff),_0x19b7a3['on']('change:range',(_0x225aa3,_0x15f62d,_0xb87a4a)=>{if('$graveyard'!=_0x15f62d['root']['rootName']&&'$graveyard'==_0x19b7a3['getRange']()['root']['rootName']&&!_0x21bdeb['has'](_0x19b7a3['name'])){const _0x562c3b=_0x147445['schema']['getNearestSelectionRange'](_0xb87a4a['deletionPosition']);if(_0x562c3b){const _0x528df6=_0x537809['fromRange'](_0x562c3b);_0x21bdeb['set'](_0x19b7a3['name'],_0x528df6),_0x528df6['on']('change:range',(_0x5c0393,_0x38921b,_0x5ce3c9)=>{if('$graveyard'==_0x528df6['root']['rootName']){const _0x565665=_0x147445['schema']['getNearestSelectionRange'](_0x5ce3c9['deletionPosition']);_0x565665?(_0x528df6['start']=_0x565665['start'],_0x528df6['end']=_0x565665['end']):(_0x21bdeb['delete'](_0x19b7a3['name']),_0x528df6['detach']());}});}}});}),_0x147445['document']['on']('change',()=>{_0x21bdeb['size']>0x0&&_0x147445['enqueueChange']({'isUndoable':!0x1},_0x4da494=>{for(const [_0x344ae2,_0x25c67a]of _0x21bdeb)'$graveyard'==_0x147445['markers']['get'](_0x344ae2)['getRange']()['root']['rootName']&&(J(_0x344ae2['split'](':')[0x2],_0x25c67a['toRange'](),_0x147445,_0x4da494),_0x25c67a['detach']());_0x21bdeb['clear']();});});}(_0xf8ab14),this['_domEmitter']['listenTo'](_0x3de184['document'],'keydown',(_0x201010,{key:_0x2208d6})=>{'Escape'===_0x2208d6&&function(_0xdcc4fc){_0xdcc4fc['editing']['view']['change'](_0x5cfc62=>{for(const _0x29df6d of _0xdcc4fc['model']['markers']){if(!_0x29df6d['name']['startsWith']('user:position'))continue;const _0x873309=_0xdcc4fc['editing']['mapper']['markerNameToElements'](_0x29df6d['name']);if(_0x873309){for(const _0x21a3ad of _0x873309)_0x5cfc62['removeClass']('ck-user__marker_hovered',_0x21a3ad);}}});}(_0xf8ab14);},{'useCapture':!0x0});}['afterInit'](){const _0x133824=this['editor'],_0x25e23d=_0x133824['commands']['get']('undo');_0x25e23d&&_0x133824['model']['on']('applyOperation',(_0x903e41,_0xf89f34)=>{const _0x5e3318=_0xf89f34[0x0];if(!_0x5e3318['isDocumentOperation'])return;if('marker'!=_0x5e3318['type']||!_0x5e3318['name']['startsWith']('user:'))return;const _0x36cd93=_0x5e3318['batch'];_0x25e23d['_createdBatches']['has'](_0x36cd93)&&(_0x5e3318['newRange']=_0x5e3318['oldRange']?_0x133824['model']['createRange'](_0x5e3318['oldRange']['start'],_0x5e3318['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2939be=this['editor'],_0x15b234=_0x2939be['model']['document'],_0x4cf68e=_0x2939be['plugins']['get'](Y);_0x2939be['model']['enqueueChange']({'isUndoable':!0x1},_0x5d5e79=>{const _0x32a869='user:range:'+_0x4cf68e['mySessionId'],_0x135e0b='user:position:'+_0x4cf68e['mySessionId'],_0x37168c=_0x2939be['model']['markers']['has'](_0x32a869);_0x2939be['editing']['view']['hasDomSelection']?J(_0x4cf68e['mySessionId'],_0x15b234['selection']['getFirstRange'](),_0x2939be['model'],_0x5d5e79):_0x37168c&&(_0x5d5e79['removeMarker'](_0x32a869),_0x5d5e79['removeMarker'](_0x135e0b));});}};function J(_0x5d6205,_0x4167a4,_0xcc5ac3,_0x258df7){const _0x21012e='user:range:'+_0x5d6205,_0x398941='user:position:'+_0x5d6205,_0x10c64f=_0x4167a4['getContainedElement']();let _0x57dcde=_0x4167a4['start'];if(_0x10c64f&&_0x10c64f['is']('element','tableCell')){const _0x6ba8b2=function(_0x1c55d2,_0x4cf1dd){for(const _0x418734 of _0x1c55d2['getPositions']())if(_0x4cf1dd['schema']['checkChild'](_0x418734,'$text'))return _0x418734;}(_0x4167a4,_0xcc5ac3);_0x6ba8b2&&(_0x57dcde=_0x6ba8b2,_0x4167a4=_0x258df7['createRange'](_0x57dcde));}const _0x4ec9d9=_0x258df7['createRange'](_0x57dcde);_0xcc5ac3['markers']['has'](_0x21012e)?(_0x258df7['updateMarker'](_0x21012e,{'range':_0x4167a4}),_0x258df7['updateMarker'](_0x398941,{'range':_0x4ec9d9})):(_0x258df7['addMarker'](_0x21012e,{'range':_0x4167a4,'usingOperation':!0x0}),_0x258df7['addMarker'](_0x398941,{'range':_0x4ec9d9,'usingOperation':!0x0}));}function Q(_0x57ef86){return'--ck-user-color:'+_0x57ef86['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57ef86['color']['getColorAlphaVariable']()+';';}function X(_0x530142,_0x14f333,_0x2dae1f){const _0x36232a=_0x530142['t'],t=_0x530142['t'];switch(_0x14f333){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 _0x36232a({'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'},_0x2dae1f);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55f077{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x56bfe2)());['_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,_0x1664fe,_0x2c4aec,_0x3aba24];}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 _0x387526=this['serverHistory']['getOperations']();for(let _0x13be41=_0x387526['length']-0x1;_0x13be41>=0x0;_0x13be41--){const _0x196c0f=_0x387526[_0x13be41];if(!this['_disconnectionOperations']['has'](_0x196c0f))return _0x196c0f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b1491){if(super(_0x4b1491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b9cfe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x247b99('collaboration-missing-channelid',this);const _0x10fd95=_0x4b1491['config']['get']('cloudServices.bundleVersion')||_0x43a572;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10fd95,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x307d8e(),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 _0x3c5cb3=this['editor'],_0x52d793=_0x3c5cb3['plugins']['get'](_0x2c4aec),_0x5aa1c8=_0x3c5cb3['plugins']['get'](z);this['listenTo'](_0x52d793,'getOperationAuthor',(_0x356bd3,_0x3779e0)=>{const _0x338986=_0x3779e0[0x0];_0x338986['_authorId']&&(_0x356bd3['return']=_0x52d793['getUser'](_0x338986['_authorId']),_0x356bd3['stop']()),null===_0x338986['_authorId']&&(_0x356bd3['return']=null,_0x356bd3['stop']());},{'priority':'high'}),this['listenTo'](_0x3c5cb3['model']['document']['selection'],'change:range',(_0x56fda7,_0x1809a0)=>{_0x1809a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3c5cb3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3c5cb3['model']['on']('applyOperation',(_0x3afeec,_0x4e69e1)=>{const _0x27d9f1=_0x4e69e1[0x0];_0x27d9f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27d9f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5aa1c8,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x321a47,_0x5ba8d3,_0x26c543)=>'connected'===_0x321a47&&!_0x5ba8d3&&!_0x26c543),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b4cb=this['editor']['plugins']['get'](Y),_0x2457cb=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50b4cb['unregister'](this['_channelId']);const _0x5039f5=await this['_service']['reconnect'](_0x2457cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5039f5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x479ee9=await this['_service']['getConnectedSessions']();_0x50b4cb['register'](this['_channelId'],_0x479ee9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2340cb){if(function(_0x10813d){return'404'===_0x10813d['code'];}(_0x2340cb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2ceccc){return'409'===_0x2ceccc['code'];}(_0x2340cb)){const _0x38c187=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'](_0x38c187);}else{if(!(_0x2340cb instanceof et))throw _0x2340cb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x531712=this['editor']['plugins']['get'](z),_0x55a1e4=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x55a1e4['channelSessions']['has'](this['_channelId'])&&_0x55a1e4['unregister'](this['_channelId']),_0x531712['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x567414){if(this['sessionId']!==_0x567414['sessionId']&&this['_lastSyncedOperationId']!==_0x567414['lastOperationId'])throw new et();return this['sessionId']=_0x567414['sessionId'],this['_handleServerResponse']([],{..._0x567414,'wereChangesApplied':!0x1,'data':_0x567414['data']},'reconnect');}async['_connectService'](_0x14f28d,_0x438022=!0x1){const {connection:_0x392605}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x392605,this['_channelId'])['then'](_0x2dc7ba=>this['_initSessionsHandling'](_0x2dc7ba))['catch'](_0x4d995b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4d995b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59bf40,_0x688884)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x688884);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5efd14=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14f28d);this['_isPendingUpdate']=!0x0;const _0x28d416=await this['_service']['connect'](_0x392605,this['_compressOperations'](_0x14f28d),_0x5efd14);if(this['sessionId']=_0x28d416['sessionId'],_0x438022){if(!_0x28d416['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28d416['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x14f28d,_0x28d416,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28d416,_0x14f28d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x13fc90=this['editor']['plugins']['get'](Y),_0x1b280d=this['editor']['plugins']['get'](K),_0x1cccec=_0x13fc90['channelSessions']['get'](this['_channelId']);_0x1cccec&&_0x1cccec['length']>0x1?_0x1b280d['createUserMarkerOperations']():this['listenTo'](_0x13fc90,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13fc90['channelSessions']['get'](this['_channelId'])['length']&&_0x1b280d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x400c04,_0x34e242,_0x560ec2,_0x25b211){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e242){const _0x20a981=this['_decompressOperations'](_0x560ec2,_0x25b211);await this['_fetchMissingUsers'](_0x20a981),this['_handleExternalOperations'](_0x20a981,_0x34e242,_0x560ec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a86e3}=this['editor'];let _0x53b307;try{_0x53b307=await this['_service']['getDocumentDetails']();}catch{const _0x42ca3f=X(_0x3a86e3,'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'](_0x42ca3f);}const _0x46b586=_0x53b307['currentDocumentSession']||_0x53b307['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x46b586['lastOperationId']){const _0x2e0879=X(_0x3a86e3,'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'](_0x2e0879);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2ec208=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2ec208['connection']||'connected'!==_0x2ec208['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x27dbd3=this['editor']['plugins']['get'](Y);_0x27dbd3['channelSessions']['has'](this['_channelId'])&&_0x27dbd3['unregister'](this['_channelId']),_0x2ec208['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26803f){const _0x5763a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5763a5,'sessionAdd:'+this['_channelId'],(_0x4199be,{session:_0x3fb7b3})=>{if(_0x3fb7b3['id']===_0x5763a5['mySessionId']){_0x4199be['off']();const _0x52c1d8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x16075a=_0x3fb7b3['permissions'];_0x52c1d8&&_0x52c1d8['isEnabled']&&(_0x16075a=_0x16075a['filter'](_0x37c924=>'document:write'!==_0x37c924)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x16075a,this['_channelId']);}}),_0x5763a5['register'](this['_channelId'],_0x26803f);}['_initThrowingOnDataSet'](){const _0x8a206e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56eae2)=>{if(!_0x56eae2[_0x56eae2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x247b99('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x8a206e['apply'](this['editor']['data'],_0x56eae2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d56a8,[_0x4236b7])=>{if(this['_document']['version'])throw new _0x247b99('realtimecollaborationclient-init-document-already-initialized',this);_0x2d56a8['stop'](),this['_setPendingAction']();const _0x490ac4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xc55c06])=>!_0xc55c06['lazyLoad'])['map'](([_0x216b84,_0x332897])=>[_0x216b84,_0x332897['modelAttributes']||{}])),_0xf8fc1f=this['_getOperationsFromInitData'](_0x4236b7,_0x490ac4);0x0==_0xf8fc1f['length']&&_0xf8fc1f['push'](new _0x506b04(0x0)),_0x2d56a8['return']=this['_connectService'](_0xf8fc1f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e2d7b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e2d7b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x91c735,[_0x2942ae,_0x3a98c4])=>{_0x91c735['stop']();const _0x2f3e19=this['editor']['model']['document']['getRoot'](_0x2942ae);if(!this['_knownRootNames']['has'](_0x2942ae)){const _0x3c72ea=_0x3a98c4&&_0x3a98c4['data']?_0x3a98c4['data']:'',_0x4bd1b3=_0x3a98c4&&_0x3a98c4['attributes']?_0x3a98c4['attributes']:{};await this['_loadRoot'](_0x2942ae,_0x3c72ea,_0x4bd1b3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f3e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f3e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35894e){const _0x488497=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x30453a}=this['editor']['plugins']['get'](z),_0x3827f2=new Set();for(const _0x3f66b6 of _0x35894e){const _0x2055ee=_0x3f66b6['_authorId'];_0x2055ee&&!_0x488497['getUser'](_0x2055ee)&&_0x3827f2['add'](_0x2055ee);}if(0x0===_0x3827f2['size'])return;const _0x450b4e=await _0x3fdc75['getMany'](_0x30453a,Array['from'](_0x3827f2));for(const _0x34fcde of _0x450b4e)_0x488497['getUser'](_0x34fcde['id'])||_0x488497['addUser'](_0x34fcde);}['_getOperationsFromInitData'](_0x4a40af,_0x333075={}){const _0x2d761d=this['editor']['model'],_0x32d939=[];let _0x2a4550=0x0;const _0x11d752='string'==typeof _0x4a40af?{'main':_0x4a40af}:_0x4a40af;for(const _0x4d3bab of Object['keys'](_0x11d752)){if(!this['_document']['roots']['has'](_0x4d3bab))throw new _0x247b99('realtimecollaborationclient-init-non-existent-root',this);const _0xaa7742=this['_document']['getRoot'](_0x4d3bab),_0x70c5a3=this['editor']['data']['parse'](_0x11d752[_0x4d3bab],_0xaa7742),_0x3051bb=new _0x1e623b(_0x2d761d['createPositionAt'](_0xaa7742,0x0),_0x70c5a3,_0x2a4550++);_0x32d939['push'](_0x3051bb);for(const [_0x2a4f1c,_0x4a1444]of _0x70c5a3['markers']){const _0x5d040d=new _0x2b7f21(_0x2a4f1c,null,_0x2d761d['createRange'](_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['start']['path']['slice']()),_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['end']['path']['slice']())),_0x2d761d['markers'],!0x0,_0x2a4550++);_0x32d939['push'](_0x5d040d);}}if(_0x333075)for(const [_0x10f51f,_0x3d9780]of Object['entries'](_0x333075)){const _0xae09d3=_0x2d761d['document']['getRoot'](_0x10f51f);if(!_0xae09d3)throw new _0x247b99('multi-root-editor-root-attributes-no-root',null);for(const [_0x401ed6,_0x2ae0f3]of Object['entries'](_0x3d9780))if(null!==_0x2ae0f3){const _0x523524=new _0x530ebb(_0xae09d3,_0x401ed6,null,_0x2ae0f3,_0x2a4550++);_0x32d939['push'](_0x523524);}}return _0x32d939;}async['_loadRoot'](_0x25fa80,_0x3e2359,_0x2f8abc){this['_getOperationsFromInitData']({[_0x25fa80]:_0x3e2359},{[_0x25fa80]:_0x2f8abc})['forEach']((_0x2a5ae9,_0x1468b1)=>{_0x2a5ae9['baseVersion']=this['_document']['version']+_0x1468b1,_0x2a5ae9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a5ae9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e9ada,_0xedc5b2){let _0x158834;this['_offset']=_0x2e9ada['offset'];const _0x512f13=_0x2e9ada['wereChangesApplied']&&!_0x2e9ada['initData'],_0x5b59a0=_0x512f13?0x0:_0x2e9ada['data']['baseVersion'];if(_0xedc5b2['forEach'](_0x476687=>{_0x476687['_isInit']=!0x0,_0x476687['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x476687['_authorId']=null;}),_0x512f13)_0x158834=_0xedc5b2,this['_applyOperationsSet'](_0x158834,_0x512f13);else{if(_0x2e9ada['initData']){const _0x9724a9=this['_getOperationsFromInitData'](_0x2e9ada['initData']);this['_document']['history']['version']=-_0x9724a9['length'],_0x9724a9['forEach'](_0x45aefa=>{_0x45aefa['baseVersion']-=_0x9724a9['length'],_0x45aefa['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x45aefa['_isInit']=!0x0,_0x45aefa['_authorId']=null;}),this['_applyOperationsSet'](_0x9724a9,!0x0),this['serverHistory']['version']=-_0x9724a9['length']+this['_offset'],this['_updateServerHistory'](_0x9724a9);}this['_document']['history']['version']=_0x5b59a0,_0x158834=this['_decompressOperations'](_0x2e9ada['data'],_0x2e9ada['metadata']),await this['_fetchMissingUsers'](_0x158834),this['_applyOperationsSet'](_0x158834,_0x512f13);}_0x2e9ada['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x158834,_0x2e9ada['lastOperationId']),this['_lastSyncedOperationId']=_0x2e9ada['lastOperationId']),this['serverHistory']['version']=_0x5b59a0+this['_offset'],this['_updateServerHistory'](_0x158834),_0xedc5b2['filter'](_0x175ba6=>{const _0x37a466=this['_getAffectedRoot'](_0x175ba6);return _0x37a466&&!this['_knownRootNames']['has'](_0x37a466);})['forEach']((_0xd4502f,_0x3d59b7)=>{_0xd4502f['baseVersion']=this['_document']['version']+_0x3d59b7,this['_saveOperationInBuffer'](_0xd4502f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5c81ab,_0x1d1420){const _0xc25ef2=_0x1d1420&&_0x1d1420['message'];if(_0xc25ef2&&_0xc25ef2['startsWith']('realtimecollaborationclient'))throw _0x1d1420;const _0x2f5495=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2f5495['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x247b99(_0x5c81ab,this['editor'],_0xc25ef2?{'originalError':_0xc25ef2}:void 0x0);}['_saveOperationInBuffer'](_0x56b497){this['_knownOperations']['has'](_0x56b497)||(this['_knownOperations']['add'](_0x56b497),this['_bufferedOperations']['push'](_0x56b497),this['_pendingAction']||'marker'==_0x56b497['type']&&!_0x56b497['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc23f51=!0x1){!_0xc23f51&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3ec373=>{_0x3ec373&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x706406=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xdfbea4){return _0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x706406)||this['_crash'](_0x706406['message'],_0x706406);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x28d860=>{this['on']('change:_isPendingUpdate',()=>{_0x28d860();});});}async['_sendBufferedOperations'](){const _0x1c5b98=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1c5b98['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1c8329=[...this['_bufferedOperations']];for(const _0x25a654 of _0x1c8329)_0x25a654['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25a654);const _0x244535=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c8329),_0x55ecab=Z++,_0x5d4f3a=this['_compressOperations'](_0x1c8329),_0x394096=await this['_service']['sendOperations'](_0x5d4f3a,_0x5d4f3a['baseVersion'],_0x244535);try{return await this['_handleServerResponse'](_0x1c8329,_0x394096,_0x55ecab);}catch(_0x18aea2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x18aea2);}}async['_handleServerResponse'](_0x45dc36,_0x2bdbcf,_0x3b69d2){if('error'in _0x2bdbcf)throw _0x2bdbcf['error'];let _0x588830=!0x1;if(_0x2bdbcf['wereChangesApplied']){_0x2bdbcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdbcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41a16b=>!_0x45dc36['includes'](_0x41a16b));for(const _0x5be202 of _0x45dc36)_0x5be202['createdAt']='lastOperationAcceptedAt'in _0x2bdbcf&&_0x2bdbcf['lastOperationAcceptedAt']||void 0x0;st(_0x45dc36,_0x2bdbcf['version']-_0x45dc36['length']),this['_updateServerHistory'](_0x45dc36);const _0x2f4594=_0x45dc36['filter'](_0x267ba6=>{if(!_0x267ba6['_isInit'])return!0x1;const _0x42f205=this['_getAffectedRoot'](_0x267ba6);return _0x42f205&&!this['_knownRootNames']['has'](_0x42f205);});st(_0x2f4594,this['_document']['version']),this['_applyOperationsSet'](_0x2f4594),_0x588830=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10bf07=this['_decompressOperations'](_0x2bdbcf['data'],_0x2bdbcf['metadata'])['filter'](_0xa1aea7=>_0xa1aea7['baseVersion']>=this['_lastServerVersion']);_0x10bf07['forEach'](_0x62ae8a=>this['_addKnownRoot'](_0x62ae8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b3ff9=>!_0x2b3ff9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2b3ff9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10bf07),_0x588830=this['_handleExternalOperations'](_0x10bf07,_0x2bdbcf['version'],_0x2bdbcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x588830?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x298af5,_0xd6c1f7,_0xd1ad45){try{const _0x21fdf8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x231e74,operationsB:_0x5e985c,originalOperations:_0x9e2da9}=_0x367266(_0x298af5,this['_bufferedOperations'],_0x21fdf8);st(_0x231e74,this['_document']['version']),st(_0x5e985c,_0xd6c1f7);for(const _0x36abc5 of _0x231e74){const _0x22137b=_0x9e2da9['get'](_0x36abc5);_0x22137b?(_0x36abc5['_authorId']=_0x22137b['_authorId'],'noop'!==_0x36abc5['type']&&(_0x36abc5['_aiSource']=_0x22137b['_aiSource'])):_0x36abc5['_authorId']=null;}for(const _0x9a9ddf of _0x5e985c)'noop'!==_0x9a9ddf['type']&&(_0x9a9ddf['_aiSource']=_0x9e2da9['get'](_0x9a9ddf)?.['_aiSource']);_0xd1ad45&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x298af5,_0xd1ad45),this['_lastSyncedOperationId']=_0xd1ad45),this['_bufferedOperations']=[..._0x5e985c],this['_applyOperationsSet'](_0x231e74),this['_updateServerHistory'](_0x298af5);}catch(_0x57389b){return console['error'](_0x57389b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x54390a,_0x373260=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1cb66a=>{for(const _0x33f6de of _0x54390a)this['_knownOperations']['add'](_0x33f6de),this['_addKnownRoot'](_0x33f6de),_0x1cb66a['batch']['addOperation'](_0x33f6de),this['editor']['model']['applyOperation'](_0x33f6de);});}['_addKnownRoot'](_0x4b3a5c){const _0x4c936c=this['_getAffectedRoot'](_0x4b3a5c);_0x4c936c&&this['_knownRootNames']['add'](_0x4c936c);}['_getAffectedRoot'](_0x28542c){let _0x129d2f,_0x5e5c7a;switch(_0x28542c['type']){case'insert':_0x129d2f=_0x28542c['position']['root'];break;case'marker':if(_0x5e5c7a=_0x28542c['newRange'],!_0x5e5c7a)return null;_0x129d2f=_0x5e5c7a['root'];break;case'addRootAttribute':_0x129d2f=_0x28542c['root'];break;case'addRoot':_0x129d2f=_0x28542c['affectedSelectable'];break;case'move':_0x129d2f=_0x28542c['targetPosition']['root'];break;default:return null;}return _0x129d2f['rootName'];}['_updateServerHistory'](_0x53dede){_0x53dede['forEach'](_0x5d4c4a=>{const _0x5ddaf6=_0x5d4c4a['clone']();_0x5ddaf6['_authorId']=_0x5d4c4a['_authorId'],_0x5ddaf6['_isInit']=!!_0x5d4c4a['_isInit'],_0x5ddaf6['_aiSource']=_0x5d4c4a['_aiSource'],_0x5ddaf6['createdAt']=_0x5d4c4a['createdAt'],_0x5ddaf6['baseVersion']+=this['_offset'],_0x5d4c4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ddaf6),this['serverHistory']['addOperation'](_0x5ddaf6);});}['_handleReconnectionError'](_0x35d979){const _0x4ca5fb=this['editor']['plugins']['get']('Notification'),_0x289024=this['editor']['locale'];_0x35d979||(_0x35d979=X(_0x289024,'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.')),_0x4ca5fb['showWarning'](_0x35d979,{'title':X(_0x289024,'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'](_0x1664fe)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1664fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x242e60){const _0x5719f3=_0x242e60['map'](_0x4dd81c=>_0x4dd81c['toJSON']());return this['_compressor']['compress'](_0x5719f3);}['_decompressOperations'](_0x4089eb,_0x4c7799){return this['_compressor']['decompress'](_0x4089eb)['map']((_0x2be7dc,_0x577ab3)=>{const _0x530401='init'==_0x4c7799[_0x577ab3]['type'];if('InsertOperation'==_0x2be7dc['__className']){const _0x166bea=_0x2be7dc['position']['root'];!this['_document']['getRoot'](_0x166bea)&&(this['_document']['createRoot']('$unknown',_0x166bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2be7dc['__className']){const _0x315d3c=this['_document']['getRoot'](_0x2be7dc['rootName']);_0x315d3c&&'$unknown'==_0x315d3c['name']&&_0x2be7dc['elementName']!=_0x315d3c['name']&&(_0x315d3c['name']=_0x2be7dc['elementName']);}}const _0x21eddb=_0x23d9fa['fromJSON'](_0x2be7dc,this['_document']);return _0x21eddb['wasUndone']=_0x2be7dc['wasUndone'],_0x21eddb['_isInit']=_0x530401,_0x21eddb['_authorId']=_0x530401?null:_0x4c7799[_0x577ab3]['userId'],_0x21eddb['_isDisconnection']='cs:removeUser'===_0x4c7799[_0x577ab3]['type'],_0x21eddb['_aiSource']=_0x2be7dc['_aiSource']||void 0x0,_0x21eddb['createdAt']=_0x4c7799[_0x577ab3]['createdAt'],_0x21eddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xeb95f8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xeb95f8&&_0xeb95f8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x4fbf92,_0x2dc436){for(const _0x5e237b of _0x4fbf92)_0x5e237b['baseVersion']=_0x2dc436++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x7bbafd){this['_ignoredOperations']=_0x7bbafd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e1231){let _0x44bb60=_0x2e1231['length'];for(;_0x44bb60--;){const _0x5ae877=_0x2e1231[_0x44bb60];if(!this['_ignoredOperations']['has'](_0x5ae877)){if(!this['_operationToId']['has'](_0x5ae877)){const _0x617309=_0x15a4eb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ae877,_0x617309);}return this['_operationToId']['get'](_0x5ae877);}}}['setIdForTheLastOperation'](_0x562749,_0x4ab16c){if(!_0x4ab16c)return;let _0x5dd3df=_0x562749['length'];for(;_0x5dd3df--;){const _0xb43b6a=_0x562749[_0x5dd3df];this['_ignoredOperations']['has'](_0xb43b6a)||this['_operationToId']['set'](_0xb43b6a,_0x4ab16c);}}},nt=class extends _0x55f077{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x198b15{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x25de81)());['_services'];static get['requires'](){return[z,_0x557678,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e927){super(_0x34e927),this['_services']=new Map();}async['init'](){const _0x2cd89c=this['context'],_0x5552d6=_0x2cd89c['plugins']['get'](_0x557678);if(_0x2cd89c['plugins']['get'](z)['addToReconnectionStack'](this),_0x5552d6['adapter']={'addCommentThread':async({channelId:_0x6c9aef,threadId:_0x52fa28,comments:_0x33b9ca,resolvedAt:_0x2f96f3,resolvedBy:_0x5a4a7a,context:_0x54a51c,attributes:_0x3dae32})=>{const _0x43be02=await this['_getService'](_0x6c9aef)['addCommentThread']({'commentThreadId':_0x52fa28,'comments':_0x33b9ca['map'](_0x4413f7=>function(_0x33aeaf,_0x4e7cbf,_0x3b4bf1){return{'commentThreadId':_0x3b4bf1,'commentId':_0x33aeaf['commentId'],'userId':_0x33aeaf['authorId'],'content':_0x33aeaf['content'],'documentId':_0x4e7cbf,'createdAt':_0x33aeaf['createdAt'],'attributes':_0x33aeaf['attributes']||{}};}(_0x4413f7,_0x6c9aef,_0x52fa28)),'resolvedAt':_0x2f96f3,'resolvedBy':_0x5a4a7a,'context':_0x54a51c,'attributes':_0x3dae32})['catch'](ct);return{'threadId':_0x43be02['commentThreadId'],'comments':_0x43be02['comments']};},'getCommentThread':async({channelId:_0x3fe202,threadId:_0x2c314a})=>{const _0x883a6d=await this['_getService'](_0x3fe202)['getCommentThread'](_0x2c314a)['catch'](rt)['catch'](ct);return _0x883a6d?_0x883a6d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x883a6d]),{'threadId':_0x883a6d['commentThreadId'],'comments':_0x883a6d['comments']['map'](at),'context':_0x883a6d['context'],'resolvedAt':_0x883a6d['resolvedAt'],'resolvedBy':_0x883a6d['resolvedBy'],'attributes':_0x883a6d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3a5f11,threadId:_0x1be783,context:_0x3d184d,unlinkedAt:_0xfa1fd5,attributes:_0x3d7f83})=>this['_getService'](_0x3a5f11)['updateCommentThread']({'commentThreadId':_0x1be783,'context':_0x3d184d,'attributes':_0x3d7f83,'unlinkedAt':_0xfa1fd5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7d678f,threadId:_0x539e39})=>{const _0x29f816=await this['_getService'](_0x7d678f)['resolveCommentThread'](_0x539e39)['catch'](rt)['catch'](ct);return{'threadId':_0x29f816['commentThreadId'],'resolvedAt':_0x29f816['resolvedAt'],'resolvedBy':_0x29f816['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5abbd8,threadId:_0x5ef77a})=>this['_getService'](_0x5abbd8)['reopenCommentThread'](_0x5ef77a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x49b1dd,threadId:_0x5287a5})=>this['_getService'](_0x49b1dd)['removeCommentThread'](_0x5287a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x165e86,threadId:_0x1eee2f,commentId:_0x55d6e3,content:_0x3cd5d1,attributes:_0x190a1f})=>this['_getService'](_0x165e86)['addComment'](_0x1eee2f,_0x55d6e3,_0x3cd5d1,_0x190a1f)['catch'](ct),'updateComment':({channelId:_0x30c918,threadId:_0x194cda,commentId:_0x4d571a,content:_0x544aa9,attributes:_0x58c59a})=>this['_getService'](_0x30c918)['updateComment'](_0x194cda,_0x4d571a,_0x544aa9,_0x58c59a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1eb93d,threadId:_0x4c8602,commentId:_0x2b3336})=>this['_getService'](_0x1eb93d)['removeComment'](_0x4c8602,_0x2b3336)['catch'](rt)['catch'](ct)},_0x2cd89c instanceof _0x2d03f6){const _0x29a1fe=_0x2cd89c['config']['get']('collaboration.channelId'),_0x4a1c7e=_0x2cd89c['plugins']['get'](Y);await this['_setUpService'](_0x29a1fe);const _0x2835f7=await this['_services']['get'](_0x29a1fe)['getConnectedSessions']();this['listenTo'](_0x4a1c7e,'sessionAdd:'+_0x29a1fe,(_0x12fc3f,{session:_0x59fd67})=>{_0x59fd67['id']===_0x4a1c7e['mySessionId']&&(_0x12fc3f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59fd67['permissions'],_0x29a1fe));}),_0x4a1c7e['register'](_0x29a1fe,_0x2835f7);}}async['_setUpService'](_0x8f005f){if(this['_services']['has'](_0x8f005f))throw new _0x247b99('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x8f005f});const _0x4bf8b6=this['context']['plugins']['get'](_0x557678),_0x13a3d1=new CloudServicesCommentsAdapter['CommentsService'](_0x8f005f);this['_services']['set'](_0x8f005f,_0x13a3d1),this['listenTo'](_0x13a3d1,'commentThreadAdded',(_0x44e6d2,_0xed9b7d)=>{const {commentThreadId:_0x386a52,documentId:_0x7f706d,context:_0x28f5c5,attributes:_0x382979,resolvedAt:_0x2588f2,resolvedBy:_0x1ca9cb,comments:_0x485c88}=_0xed9b7d;_0x4bf8b6['getCommentThread'](_0x386a52)||_0x4bf8b6['addCommentThread']({'threadId':_0x386a52,'channelId':_0x7f706d,'comments':_0x485c88?_0x485c88['map'](at):[],'context':_0x28f5c5,'attributes':_0x382979,'resolvedAt':_0x2588f2,'resolvedBy':_0x1ca9cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadUpdated',(_0x50b3a4,{commentThreadId:_0x23261e,documentId:_0x3d44f8,context:_0x5bb447,unlinkedAt:_0x172f80,attributes:_0x2d078a})=>{_0x4bf8b6['getCommentThread'](_0x23261e)&&_0x4bf8b6['updateCommentThread']({'threadId':_0x23261e,'channelId':_0x3d44f8,'context':_0x5bb447,'unlinkedAt':_0x172f80,'attributes':_0x2d078a,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadResolved',(_0x5c681c,{commentThreadId:_0x20afdc,resolvedBy:_0x42a1b6,resolvedAt:_0x58f8f6})=>{const _0x1f928a=_0x4bf8b6['getCommentThread'](_0x20afdc);_0x1f928a&&_0x1f928a['resolve']({'resolvedBy':_0x42a1b6,'resolvedAt':_0x58f8f6,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadReopened',(_0x3765a3,{commentThreadId:_0x41b3fb})=>{const _0x1bfbf7=_0x4bf8b6['getCommentThread'](_0x41b3fb);_0x1bfbf7&&_0x1bfbf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadRemoved',(_0x4747cc,{commentThreadId:_0x331948})=>{const _0x13ef75=_0x4bf8b6['getCommentThread'](_0x331948);_0x13ef75&&_0x13ef75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentAdded',(_0x23ef4a,_0x159ab6)=>{const _0x4f0376=_0x159ab6['commentThreadId'],_0x47a075=_0x4bf8b6['getCommentThread'](_0x4f0376);_0x47a075&&_0x47a075['addComment']({...at(_0x159ab6),'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentUpdated',(_0x566b14,{commentThreadId:_0x5f373b,commentId:_0x15ff3f,content:_0x55acce,attributes:_0x405616})=>{const _0x217106=_0x4bf8b6['getCommentThread'](_0x5f373b);if(_0x217106){const _0x278bda=_0x217106['getComment'](_0x15ff3f);_0x278bda&&_0x278bda['update']({'content':_0x55acce,'attributes':_0x405616,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'commentRemoved',(_0x470556,{commentThreadId:_0x106bb3,commentId:_0x49f979})=>{const _0x505501=_0x4bf8b6['getCommentThread'](_0x106bb3);if(_0x505501){const _0x4d839=_0x505501['getComment'](_0x49f979);_0x4d839&&_0x4d839['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x8f005f),this['stopListening'](_0x13a3d1));}),await this['_connectService'](_0x8f005f);}['destroy'](){if(this['context']instanceof _0x2d03f6){const _0x56a093=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x56a093)&&this['_terminateService'](_0x56a093);}}['_terminateService'](_0x70a3c2){if(!this['_services']['has'](_0x70a3c2))throw new _0x247b99('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x70a3c2});this['_getService'](_0x70a3c2)['disconnect'](),this['_services']['delete'](_0x70a3c2);}async['reconnect'](){for(const _0x132d97 of this['_services']['keys']())await this['_connectService'](_0x132d97);if(this['context']instanceof _0x2d03f6){const _0x3fd398=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3fd398)){const _0xcc7b3b=this['context']['plugins']['get'](Y);_0xcc7b3b['unregister'](_0x3fd398);const _0x346a24=await this['_services']['get'](_0x3fd398)['getConnectedSessions']();_0xcc7b3b['register'](_0x3fd398,_0x346a24);}}}async['_connectService'](_0x55859a){const {connection:_0x472666}=this['context']['plugins']['get'](z),_0x4572df=this['context']['plugins']['get'](_0x557678),_0x969630=await this['_services']['get'](_0x55859a)['connect'](_0x472666);await this['_fetchMissingUsersForThreads'](_0x969630);const _0x410287=new Set(Array['from'](_0x4572df['getCommentThreads']({'channelId':_0x55859a}),_0x267e47=>_0x267e47['id']));for(const _0x24a96c of _0x969630)_0x24a96c['deletedAt']||_0x410287['delete'](_0x24a96c['commentThreadId']);for(const _0x392f6f of _0x410287)_0x4572df['getCommentThread'](_0x392f6f)['remove']({'isFromAdapter':!0x0});for(const _0x287b5b of _0x969630){let _0x239647=_0x4572df['getCommentThread'](_0x287b5b['commentThreadId']);const {commentThreadId:_0x5b8ba6,context:_0xe8d3f8,attributes:_0x4a7983,resolvedBy:_0x118294,resolvedAt:_0xa756cc,unlinkedAt:_0x37e958,deletedAt:_0x46bf2a}=_0x287b5b;if(_0x46bf2a)continue;_0x239647||(_0x239647=_0x4572df['addCommentThread']({'channelId':_0x55859a,'threadId':_0x5b8ba6,'context':_0xe8d3f8,'attributes':_0x4a7983||{},'resolvedBy':_0x118294,'resolvedAt':_0xa756cc,'unlinkedAt':_0x37e958,'isFromAdapter':!0x0}));const _0x56d674=new Set(Array['from'](_0x239647['comments'],_0x5813d6=>_0x5813d6['id']));for(const _0x4c1423 of _0x287b5b['comments'])_0x56d674['delete'](_0x4c1423['commentId']);for(const _0x2f1ea6 of _0x56d674)_0x239647['getComment'](_0x2f1ea6)['remove']({'isFromAdapter':!0x0});for(const _0x4c2cc6 of _0x287b5b['comments']){const _0x1aa4fc=_0x239647['getComment'](_0x4c2cc6['commentId']);_0x1aa4fc?_0x1aa4fc['content']!==_0x4c2cc6['content']&&_0x1aa4fc['update']({'content':_0x4c2cc6['content'],'isFromAdapter':!0x0}):_0x239647['addComment'](Object['assign'](at(_0x4c2cc6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x16810e){if(!this['_services']['has'](_0x16810e))throw new _0x247b99('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x16810e});return this['_services']['get'](_0x16810e);}async['_fetchMissingUsersForThreads'](_0x2b0d87){const _0x12ec39=this['context']['plugins']['get'](_0x2c4aec),{connection:_0x19e680}=this['context']['plugins']['get'](z),_0x52a07c=new Set();for(const {resolvedBy:_0x3facdf,comments:_0x8ac57}of _0x2b0d87){_0x3facdf&&!_0x12ec39['getUser'](_0x3facdf)&&_0x52a07c['add'](_0x3facdf);for(const {userId:_0x5a6347}of _0x8ac57)_0x12ec39['getUser'](_0x5a6347)||_0x52a07c['add'](_0x5a6347);}if(0x0===_0x52a07c['size'])return;const _0x3b0a82=await _0x3fdc75['getMany'](_0x19e680,Array['from'](_0x52a07c));for(const _0x841fcc of _0x3b0a82)_0x12ec39['getUser'](_0x841fcc['id'])||_0x12ec39['addUser'](_0x841fcc);}};async function rt(_0x5a415f){if('404'!==_0x5a415f['code'])throw _0x5a415f;}function ct(_0x1b6f6a){if((_0x248f2a=_0x1b6f6a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x248f2a;throw _0x1b6f6a;}function at(_0x1f360a){return{'threadId':_0x1f360a['commentThreadId'],'commentId':_0x1f360a['commentId'],'content':_0x1f360a['content'],'createdAt':_0x1f360a['createdAt'],'authorId':_0x1f360a['userId'],'attributes':_0x1f360a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55f077{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x504e78)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x21a4e2,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ec783){super(_0x2ec783);const _0x531c23=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x531c23);}['init'](){const _0x135a7b=this['editor']['plugins']['get'](z),_0x5dd975=this['editor']['plugins']['get'](_0x21a4e2);return _0x5dd975['adapter']={'getSuggestion':async _0x41d7df=>{await this['_waitForServiceReady']();const _0x3a1289=await this['_trackChangesService']['get'](_0x41d7df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a1289]),_0x3a1289;},'addSuggestion':async({id:_0x14bdf2,type:_0x2efff9,data:_0x4d15e1,originalSuggestionId:_0x2e3447,attributes:_0x52eb80})=>{await this['_waitForServiceReady']();const _0xc67497={'id':_0x14bdf2,'type':_0x2efff9,'data':_0x4d15e1,'originalSuggestionId':_0x2e3447,'attributes':_0x52eb80},_0x25525f=await this['_trackChangesService']['add'](_0x14bdf2,_0x2efff9,_0x4d15e1,_0x2e3447,_0x52eb80)['catch'](_0x2780d0=>{if(dt(_0x2780d0))return new Promise(_0x4eb60d=>{this['_bufferedRequests']['set'](_0x14bdf2,{'resolve':_0x4eb60d,'suggestionData':_0xc67497});});throw _0x2780d0;});return this['_bufferedRequests']['delete'](_0x14bdf2),_0x25525f;},'updateSuggestion':async(_0x38ffff,_0x31c62c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x31c62c['state'])return this['_trackChangesService']['update'](_0x38ffff,_0x31c62c)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ecf9f,_0x51e1f5)=>{_0x5dd975['hasSuggestion'](_0x51e1f5['id'])&&(_0x5dd975['getSuggestion'](_0x51e1f5['id'])['attributes']=_0x51e1f5['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x135a7b['connection']?.['state']&&(_0x135a7b['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x135a7b['connection'])['then'](_0x1485b3=>(_0x135a7b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1485b3)['then'](()=>{for(const _0x41bfb7 of _0x1485b3){_0x5dd975['addSuggestionData'](_0x41bfb7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x51f27d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5c438e}=this['editor']['plugins']['get'](z),_0x18effc=await this['_trackChangesService']['connect'](_0x5c438e);await this['_fetchMissingUsersForThreads'](_0x18effc);for(const {suggestionData:_0x453ad6,resolve:_0x56022f}of this['_bufferedRequests']['values']()){let _0x2fb0c4=_0x18effc['find'](_0x4e1ae3=>_0x4e1ae3['id']===_0x453ad6['id']);_0x2fb0c4||(_0x2fb0c4=await this['_trackChangesService']['add'](_0x453ad6['id'],_0x453ad6['type'],_0x453ad6['data'],_0x453ad6['originalSuggestionId'])),_0x56022f(_0x2fb0c4);}for(const _0x37472c of _0x18effc)_0x51f27d['hasSuggestion'](_0x37472c['id'])||_0x51f27d['addSuggestionData'](_0x37472c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x52e74a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x48988c=>{_0x48988c['off'](),_0x52e74a();});});}async['_fetchMissingUsersForThreads'](_0x329601){const _0x193267=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x47c624}=this['editor']['plugins']['get'](z),_0x337153=new Set();for(const {authorId:_0x453282}of _0x329601)_0x193267['getUser'](_0x453282)||_0x337153['add'](_0x453282);if(0x0===_0x337153['size'])return;const _0x24076e=await _0x3fdc75['getMany'](_0x47c624,Array['from'](_0x337153));for(const _0x3cedb4 of _0x24076e)_0x193267['getUser'](_0x3cedb4['id'])||_0x193267['addUser'](_0x3cedb4);}};function lt(_0x453709){if(dt(_0x453709))return new Promise(()=>{});throw _0x453709;}function dt(_0x27c288){return _0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55f077{static get['requires'](){return[_0x5ddb33,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5bb531=this['editor']['plugins']['get'](z),_0x224ccb=this['editor']['plugins']['get'](_0x4a2cc1),_0x2c6388=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5bb531,'change:state',(_0x514770,_0x5c89f2,_0x3f791e)=>{_0x224ccb['isThreadsLoadingPaused']='connected'!==_0x3f791e;});}),this['listenTo'](_0x5bb531,'change:state',(_0x48ce1e,_0x1d019b,_0x1d6ae5)=>{this['editor']['plugins']['get'](_0x557678)['switchReadOnly']('connected'!==_0x1d6ae5);}),_0x2c6388['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3ac3d7=this['editor']['plugins']['get'](ot),_0x3550a5=this['editor']['config']['get']('collaboration.channelId');_0x3ac3d7['_services']['has'](_0x3550a5)&&_0x3ac3d7['_terminateService'](_0x3550a5),super['destroy']();}},ft=class extends _0x55f077{static get['requires'](){return[ut,ht,_0x348130];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55f077{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0xb0619e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x278f20,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x580f3b){super(_0x580f3b);const _0x3ca96d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3ca96d);}async['init'](){const _0x427bd4=this['editor']['plugins']['get'](tt),_0x225fdc=_0x427bd4['serverHistory'],_0x40cfd1=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x225fdc,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x427bd4['sessionId']});const _0x31dd9b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x43a572,_0x5330e5=await _0x5e4875['isBundleUploaded'](_0x40cfd1['connection'],_0x31dd9b);this['editor']['plugins']['get'](_0x278f20)['adapter']={'getRevision':async({revisionId:_0x23fb1b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x23fb1b)),'updateRevisions':async _0x34fcca=>{await this['_waitForServiceReady']();const _0x501381=this['_revisionTracker']['currentRevision'];if(_0x5330e5&&0x1===_0x34fcca['length']&&_0x34fcca[0x0]['id']===_0x501381['id'])return _0x34fcca;for(const _0x26df55 of _0x34fcca)_0x26df55['id']===_0x501381['id']&&(_0x26df55['isEmptyCurrent']=_0x26df55['fromVersion']===_0x26df55['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34fcca,this['_lastRequestId'])['then'](_0xec9d6=>(this['_lastRequestId']=_0xec9d6,_0x34fcca))['catch'](_0x1f8f75=>{if(pt(_0x1f8f75)||'400'===_0x1f8f75['code']&&void 0x0!==_0x1f8f75['data']['wrongRequestId']){for(const _0x5c9c4c of _0x34fcca)this['_revisionTracker']['repository']['getRevision'](_0x5c9c4c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5c9c4c['id'],_0x5c9c4c,!0x1);if(pt(_0x1f8f75)&&'destroyed'!==this['editor']['state'])throw _0x1f8f75;return _0x34fcca;}throw _0x1f8f75;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x15e5ee,{revisionsData:_0x3b4cd4,requestId:_0x281f84})=>{Math['max'](..._0x3b4cd4['map'](_0x1778b6=>_0x1778b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}):this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x40cfd1['connection']?.['state']&&(_0x40cfd1['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x11ae08,requestId:_0x1171ce}=await this['_revisionHistoryService']['connect'](_0x40cfd1['connection']);_0x40cfd1['addToReconnectionStack'](this),this['_lastRequestId']=_0x1171ce,await this['_fetchMissingUsers'](_0x11ae08);for(const _0xab94f0 of _0x11ae08)this['_revisionTracker']['addRevisionData'](_0xab94f0);this['listenTo'](_0x427bd4,'change:_isConnected',(_0x18647a,_0x248343,_0x2fdcd5)=>{_0x2fdcd5&&(this['_oldOffset']=_0x427bd4['_offset'],_0x18647a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0xeed547=this['editor']['plugins']['get'](z),_0x56d047=this['editor']['plugins']['get'](tt),_0x215aa0=async()=>{const _0x3eac47=this['_revisionTracker']['currentRevision'],_0x1f26c7=_0x3eac47['id'],_0x5cd889=_0x1f26c7!==_0x56d047['sessionId'];if(_0x5cd889){const _0x42443f=_0x56d047['_offset']-this['_oldOffset'],_0x3f7e9e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3eac47['toVersion']+_0x42443f!==_0x3f7e9e){const _0x22baf3=_0x3eac47['fromVersion']+_0x42443f,_0x505fda=this['editor']['plugins']['get'](_0x2c4aec),_0x2313e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3eac47,'from':_0x22baf3,'to':_0x3f7e9e});_0x2313e8['id']=_0x3eac47['id'];const _0x387f27=_0x2313e8['authorsIds']['map'](_0x25318d=>_0x505fda['getUser'](_0x25318d));_0x3eac47['_update']({..._0x2313e8,'authors':_0x387f27},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3eac47['id'],_0x2313e8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3f7e9e,_0x3eac47['toVersion']!==_0x3eac47['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f26c7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f26c7),this['_revisionTracker']['_createCurrentRevision'](_0x3f7e9e);}const {revisions:_0x3a8617,requestId:_0xcd3cfd}=await this['_revisionHistoryService']['reconnect'](_0xeed547['connection'],this['_lastRequestId']);_0x5cd889&&_0x3a8617['length']>0x0?_0x56d047['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a8617),this['_handleRevisionsUpdate'](_0x3a8617,_0xcd3cfd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56d047['_isConnected']?_0x215aa0():new Promise((_0x400a1f,_0x1af3d0)=>{_0x56d047['once']('change:_isConnected',()=>{_0x215aa0()['then'](_0x400a1f)['catch'](_0x1af3d0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x309f31=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35e0a6=>{_0x35e0a6['off'](),_0x309f31();});});}['_getLatestVersionFromServerOperations'](){const _0x43b11e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x592cbe of _0x43b11e)if('marker'!==_0x592cbe['type']||_0x592cbe['affectsData'])return _0x592cbe['baseVersion']+0x1;}['_getLatestVersion'](){const _0x575144=this['editor']['plugins']['get'](tt);return new Promise(_0x44dc8c=>{_0x575144['_isPendingUpdate']?_0x575144['once']('change:_isPendingUpdate',()=>{_0x44dc8c(this['_getLatestVersionFromServerOperations']());}):_0x44dc8c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd8ccf1,_0x4a132d){const _0x25a90f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4a132d;for(const _0x3442d0 of _0xd8ccf1){const _0x4fc0da=_0x25a90f['getRevision'](_0x3442d0['id']);if(_0x4fc0da){if((_0x3442d0['fromVersion']||_0x3442d0['toVersion'])&&(_0x3442d0['diffData']=null),_0x4fc0da===this['_revisionTracker']['currentRevision']){const _0x54d083=Math['max'](_0x4fc0da['toVersion'],_0x3442d0['toVersion']),_0x5c3070=Math['max'](_0x4fc0da['fromVersion'],_0x3442d0['fromVersion']);let _0x43f921;_0x4fc0da['toVersion']===_0x3442d0['toVersion']&&_0x4fc0da['fromVersion']===_0x3442d0['fromVersion']?(_0x43f921=!0x0,this['_preventResendingRevisionData'](_0x3442d0)):_0x3442d0['toVersion']===_0x54d083&&_0x3442d0['fromVersion']===_0x5c3070?_0x43f921=!0x1:(_0x4fc0da['toVersion']===_0x54d083&&_0x4fc0da['fromVersion']===_0x5c3070||this['_fixRevision']({'revision':_0x4fc0da,'from':_0x5c3070,'to':_0x54d083}),_0x43f921=!0x0),_0x43f921&&(delete _0x3442d0['fromVersion'],delete _0x3442d0['toVersion'],delete _0x3442d0['diffData'],delete _0x3442d0['createdAt'],delete _0x3442d0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3442d0),this['_preventResendingRevisionData'](_0x3442d0);}else this['_revisionTracker']['addRevisionData'](_0x3442d0);}const _0x51792d=_0x25a90f['getRevisions']();_0x51792d['reverse']();for(let _0x1592c5=0x0;_0x1592c5<_0x51792d['length']-0x1;_0x1592c5++){const _0x530c3c=_0x51792d[_0x1592c5],_0x1dc6d6=_0x51792d[_0x1592c5+0x1];if(_0x530c3c['fromVersion']<_0x1dc6d6['toVersion']){const _0x5d0e69=_0x1dc6d6['toVersion'],_0x49e43d=Math['max'](_0x5d0e69,_0x530c3c['toVersion']);this['_fixRevision']({'revision':_0x530c3c,'from':_0x5d0e69,'to':_0x49e43d});}}}['_fixRevision']({revision:_0x52b6e7,from:_0x4dfceb,to:_0x1d136a}={}){const _0x3fd3ee=this['editor']['plugins']['get'](_0x2c4aec),_0x6fa669=this['_revisionTracker']['buildRevisionData']({'revision':_0x52b6e7,'from':_0x4dfceb,'to':_0x1d136a});_0x6fa669['authors']=_0x6fa669['authorsIds']['map'](_0x21760a=>_0x3fd3ee['getUser'](_0x21760a)),_0x52b6e7['_update'](_0x6fa669);}['_preventResendingRevisionData'](_0x196174){const _0x3379de={};_0x3379de['id']=_0x196174['id'];for(const _0xbf2b66 of Object['keys'](_0x196174))'id'!==_0xbf2b66&&(_0x3379de[_0xbf2b66]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3379de['id'],_0x3379de,!0x0);}async['_fetchMissingUsers'](_0x14c401){const _0x4e4e7c=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x25fa5f}=this['editor']['plugins']['get'](z),_0x3298ce=new Set();for(const _0x4c5f35 of _0x14c401){for(const _0x17bac5 of _0x4c5f35['authorsIds'])_0x2daec4(_0x17bac5);_0x4c5f35['creatorId']&&_0x2daec4(_0x4c5f35['creatorId']);}if(0x0===_0x3298ce['size'])return;const _0x38b804=await _0x3fdc75['getMany'](_0x25fa5f,Array['from'](_0x3298ce));for(const _0x37f14c of _0x38b804)_0x4e4e7c['getUser'](_0x37f14c['id'])||_0x4e4e7c['addUser'](_0x37f14c);function _0x2daec4(_0x79747c){_0x4e4e7c['getUser'](_0x79747c)||_0x3298ce['add'](_0x79747c);}}};function pt(_0x438a68){return _0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55f077{static get['requires'](){return[_0x278f20,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x734c23{['_collapseAt'];constructor(_0x3fed50,_0x2d740d=0x6){super(_0x3fed50);const _0x12cb6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2d740d,this['bind']('isHidden')['to'](this,'usersCount',_0x4f6d7a=>_0x4f6d7a<_0x2d740d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x12cb6d['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':_0x12cb6d['to']('usersCount',_0x24a406=>'+'+(_0x24a406-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x734c23{['items'];['keystrokes'];constructor(_0x1b450e){super(_0x1b450e);const _0x397d56=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x8e2249(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x397d56['if']('hasPopup'),'aria-expanded':_0x397d56['to']('isExpanded',_0x37f221=>this['hasPopup']&&String(_0x37f221)),'aria-label':_0x397d56['to']('hasPopup',_0x377101=>X(_0x1b450e,_0x377101?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x397d56['to']('hasPopup',_0x488ceb=>!!_0x488ceb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x397d56['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x397d56['to'](_0x568583=>{const _0x45ed57=_0x568583,_0x52352f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c72a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52352f?.['contains'](_0x45ed57['relatedTarget'])||_0x1c72a9?.['contains'](_0x45ed57['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x372d1f,_0x3c477c,_0x172e30)=>{this['element']&&(_0x172e30?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 _0x734c23{['counterView'];['inlineListView'];constructor(_0x87e391,_0x1c8724=0x6){super(_0x87e391);const _0x56119d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c8724),this['inlineListView']=new vt(_0x87e391),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d3d51 of this['inlineListView']['items'])_0x3d3d51['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',_0x56119d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x734c23{['listWrapperView'];constructor(_0x177741,_0xd6e9e4){super(_0x177741);const _0x3f73b=this['bindTemplate'];this['listWrapperView']=new bt(_0x177741,_0xd6e9e4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x177741,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3f73b['to'](_0x34dc11=>{const _0xe97126=_0x34dc11,_0x1ea7f3=document['querySelector']('.ck-presence-list__list'),_0x52f205=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ea7f3?.['contains'](_0xe97126['relatedTarget'])||_0x52f205?.['contains'](_0xe97126['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x41f256{constructor(_0x48d134,_0x367b08){super(_0x48d134);const _0x357b31=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x367b08?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x357b31['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x357b31['to']('role'),'aria-label':_0x357b31['to']('ariaLabel'),'aria-labelledby':_0x357b31['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3de184['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xe88a55=this['element'];_0xe88a55&&(this['_isScrollable']=Math['max'](_0xe88a55['scrollHeight'],_0xe88a55['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x81bb6c{['userView'];constructor(_0x2b1a84,_0x18e7f2,_0x123ddf){super(_0x2b1a84);const _0xc89086=this['bindTemplate'];this['userView']=new _0x111a61(_0x2b1a84,_0x18e7f2);const _0xff1192={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18e7f2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18e7f2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18e7f2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18e7f2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18e7f2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123ddf&&(_0xff1192['tag']='button',_0xff1192['on']={'click':_0xc89086['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xff1192);}['focus'](){this['element']['focus']();}},It=class extends _0x734c23{['userView'];['markerView'];constructor(_0x5e57da,_0x3355da,_0x545c38){super(_0x5e57da);const _0x59e596=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x111a61(_0x5e57da,_0x3355da),this['markerView']=new St(_0x5e57da,_0x3355da);const _0x4f19a6=new _0x4b0e72(_0x5e57da);_0x4f19a6['template']['tag']='span',_0x4f19a6['text']=_0x3355da['name'];const _0x382ffc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x59e596['to']('isFocusable',_0x63b34=>!!_0x63b34&&0x0),'aria-labelledby':_0x4f19a6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x59e596['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x59e596['to']('hasTooltip',_0x5c1753=>!_0x5c1753),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4f19a6]};_0x545c38&&(_0x382ffc['tag']='button',_0x382ffc['on']={'click':_0x59e596['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x382ffc);}},St=class extends _0x734c23{constructor(_0x30dcfe,_0x361b55){super(_0x30dcfe),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x361b55['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x361b55['color']['getColorVariable'](),'--ck-user-color-alpha':_0x361b55['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x198b15{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565955){super(_0x565955),this['context']['config']['define']('presenceList',Tt);const _0x2bc697=_0x565955['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2bc697)throw new _0x247b99('presencelist-collapseat-invalid-format',this);if(_0x2bc697<0x1)throw new _0x247b99('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x306590(),this['balloonPanelView']=new _0x40139a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5ac2dd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ac2dd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1469d4,_0xc29b14)=>{this['_handleUserAdd'](_0xc29b14);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x338862,_0x2256f6)=>{this['_handleUserRemove'](_0x2256f6);});}['_createView'](){const _0x1b5655=this['context'],_0x4754db=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x197bd6=this['balloonPanelView'];if(!_0x368f5b(_0x1b5655['config']['get']('presenceList.container')))throw new _0x247b99('presencelist-missing-container',this);return _0x4754db['counterView']['bind']('usersCount')['to'](this),_0x4754db['bind']('isCollapsed')['to'](this,'usersCount',_0x48949b=>{const {collapseAt:_0x6a7e4f}=_0x1b5655['config']['get']('presenceList'),_0x24d4b9=_0x48949b>=_0x6a7e4f;if(_0x24d4b9&&!_0x4754db['inlineListView']['items']['find'](_0x21b0a4=>_0x21b0a4 instanceof wt)){const _0x56e4ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x56e4ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4754db['inlineListView']['items']['add'](_0x4754db['counterView']);}return _0x24d4b9||this['hideDropdown'](),_0x24d4b9;}),_0x4754db['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x45a28c=>{const _0x36fcd2=_0x1b5655['config']['get']('presenceList'),_0x53f563=new It(_0x1b5655['locale'],_0x45a28c,!!_0x36fcd2['onClick']);return _0x53f563['bind']('hasTooltip')['to'](_0x4754db,'isCollapsed',_0x5b6246=>!_0x5b6246),_0x53f563['bind']('isFocusable')['to'](_0x4754db,'isCollapsed',_0x2a510e=>!_0x2a510e),_0x36fcd2['onClick']&&this['listenTo'](_0x53f563,'execute',()=>{this['view']['isCollapsed']||_0x36fcd2['onClick'](_0x45a28c,_0x53f563['element']);}),_0x53f563;}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4754db['inlineListView']['keystrokes']['set']('Enter',(_0x336c65,_0x23faaa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23faaa());}),_0x4754db['render'](),_0x197bd6['render'](),_0x955340({'emitter':_0x4754db,'activator':()=>_0x197bd6['isVisible'],'contextElements':[_0x197bd6['element'],_0x4754db['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1b5655['config']['get']('presenceList.container')['appendChild'](_0x4754db['element']),this['_bodyCollection']=new _0x34295a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4754db;}['_handleUserAdd'](_0x709d4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x709d4['isMe'])return;const _0x27be9d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x27be9d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5652db=_0x709d4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x709d4,_0x5652db);}['_handleUserRemove'](_0x37757c){this['usersCount']--;const {collapseAt:_0x4d4e81}=this['context']['config']['get']('presenceList'),_0x50f3ce=this['usersCount']>=_0x4d4e81;if(this['currentDisplayedUsers']['get'](_0x37757c['id']))this['currentDisplayedUsers']['remove'](_0x37757c['id']);else{if(_0x50f3ce&&this['currentDisplayedUsers']['length']+0x1===_0x4d4e81-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)<this['usersCount']){for(const _0x3ee291 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3ee291['id'])&&(this['currentDisplayedUsers']['add'](_0x3ee291,Math['min'](this['currentDisplayedUsers']['length']-(_0x50f3ce?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)===_0x4d4e81-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1a3846=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1a3846['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4af046}=this['presenceDropdownView'];_0x4af046['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x321aae=>{if(!_0x1a3846['displayMe']&&_0x321aae['isMe'])return null;const _0x5569c5=new kt(this['context']['locale'],_0x321aae,!!_0x1a3846['onClick']);return _0x1a3846['onClick']&&this['listenTo'](_0x5569c5,'execute',()=>{_0x1a3846['onClick'](_0x321aae,_0x5569c5['element']);}),_0x5569c5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4af046['focus'](),_0x4af046['checkIfScrollable']();const _0xe32af7=(_0x5227e5,_0xc6c471)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc6c471();};_0x4af046['keystrokes']['set']('Esc',_0xe32af7),_0x4af046['keystrokes']['set']('Shift+Tab',_0xe32af7),_0x4af046['keystrokes']['set']('Tab',(_0x42c890,_0x223629)=>{!function(_0x3466cd){const _0x4f2c49=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a92ab=>_0x3a92ab+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e6845=[...document['body']['querySelectorAll'](_0x4f2c49)]['filter'](_0x5f425=>_0x5f425===document['activeElement']||_0x5f425['offsetWidth']+_0x5f425['offsetHeight']>0x0)['sort']((_0x43f9ab,_0x85f105)=>(_0x43f9ab['tabIndex']||0x0)-(_0x85f105['tabIndex']||0x0)),_0x384053=_0x5e6845[(_0x5e6845['indexOf'](_0x3466cd)+0x1)%_0x5e6845['length']];_0x384053&&_0x384053['focus']();}(this['view']['element']),this['hideDropdown'](),_0x223629();}),_0x4af046['focusTracker']['add'](this['view']['element']),_0x4af046['focusTracker']['on']('change:isFocused',(_0x14d557,_0x2080e5,_0x1e3091)=>{_0x1e3091||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 _0x198b15{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 _0x40965d,ContextPlugin as _0x2818ba,PendingActions as _0x13e9ee,Plugin as _0x3eef9e}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x39cc72,Collection as _0x533d03,DomEmitterMixin as _0x3ad2ae,KeystrokeHandler as _0x1b9bbc,global as _0x5de4cf,uid as _0x26c87e,version as _0x2ff48a}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x35ff59,BodyCollection as _0x39c0cb,LabelView as _0x5cd191,ListItemView as _0x537ded,ListView as _0x63033d,Notification as _0x27b27a,View as _0x118b39,clickOutsideHandler as _0x125654}from'@ckeditor/ckeditor5-ui';import{History as _0x4783e9,InsertOperation as _0x27aa6e,MarkerOperation as _0x30954d,ModelLiveRange as _0x4175bc,NoOperation as _0xf768d9,OperationFactory as _0x44800b,RootAttributeOperation as _0x2727f3,transformOperationSets as _0x50af1d}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5f118b}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x396cfa,CommentsService as _0x1e5c77,EditorService as _0x57c6a6,RevisionHistoryService as _0x25482a,TrackChangesService as _0x2f8ee3,User as _0x2b182d,WEB_SOCKET_GATEWAY_STATES as _0xe7bc04,WebSocketGateway as _0xce0c00}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x2710e6,Users as _0x436e7d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x510ebc}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x54c3b7,TrackChangesEditing as _0x36b9ab}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x401e20,CommentsEditing as _0x2a3ec7,CommentsRepository as _0x5e513f}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2f5675}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x7e36a1}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x2818ba{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0xce0c00)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f118b,_0x27b27a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b2633){super(_0x1b2633),this['set']('state',_0xe7bc04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3ad2ae())();}['init'](){const _0x3059b5=this['context'],_0x32dd85=_0x3059b5['plugins']['get'](_0x5f118b),_0x163784=_0x3059b5['plugins']['get'](_0x27b27a);if(!_0x32dd85['token'])throw new _0x39cc72('websocketgateway-missing-token',this);if(!_0x32dd85['webSocketUrl'])throw new _0x39cc72('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'](_0x32dd85['token'],_0x32dd85['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x724530=>{if(this['connection']=_0x724530,this['bind']('state')['to'](_0x724530,'state',this,'_isBrowserOffline',(_0x243e23,_0x5ea164)=>('connected'!==_0x243e23&&(this['_shouldPluginsReconnect']=!0x0),_0x5ea164||_0x243e23!==_0xe7bc04['CONNECTED']?_0xe7bc04['DISCONNECTED']:this['state']==_0xe7bc04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe7bc04['CONNECTING']):_0xe7bc04['CONNECTED'])),this['connection']['on']('error',(_0x846e6a,_0x56ed11)=>{if('limitExceeded'!==_0x56ed11['code'])throw console['error'](_0x56ed11),new _0x39cc72('cloudservices-init',null,{'originalError':_0x56ed11});_0x163784['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'});}),!_0x724530['me'])return new Promise(_0x1398fb=>_0x724530['on']('change:me',_0x1398fb));})['catch'](_0x5af219=>{throw console['error'](_0x5af219),new _0x39cc72('cloudservices-init',null,{'originalError':_0x5af219});});}['addToReconnectionStack'](_0x47b666){if('function'!=typeof _0x47b666['reconnect'])throw new _0x39cc72('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47b666))throw new _0x39cc72('websocketgateway-plugin-already-registered',this,{'name':_0x47b666['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47b666);}['removeFromReconnectionStack'](_0x2522ad){this['_reconnectionStack']['delete'](_0x2522ad);}['isInReconnectionStack'](_0x4868e9){return this['_reconnectionStack']['has'](_0x4868e9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59f2ac=>_0x59f2ac['reconnect']())))['then'](()=>this['state']=_0xe7bc04['CONNECTED'])['catch'](_0x591aca=>{throw console['error'](_0x591aca),new _0x39cc72('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe7bc04['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x2818ba{['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,_0x436e7d];}constructor(_0x100925){super(_0x100925),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x533d03(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x436e7d);}['init'](){const _0x107333=this['context']['plugins']['get'](z);this['listenTo'](_0x107333,'change:state',(_0x22246d,_0x5933c2,_0x7f775b)=>{if('connected'!==_0x7f775b)this['channelSessions']['forEach'](_0x2ecfc8=>_0x2ecfc8['clear']()),this['channelConnectedUsers']['forEach'](_0x4492d9=>_0x4492d9['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5834db,_0x3ef91c]of this['_registeredSessions'])for(const _0x518e59 of _0x3ef91c)this['_handleSessionAdd'](_0x5834db,_0x518e59);}}),this['_createUser'](_0x107333['connection']['me'],!0x0);}['register'](_0x24b9a4,_0x237da1){if(this['_registeredSessions']['has'](_0x24b9a4))throw new _0x39cc72('sessions-register-already-registered',null,{'channelId':_0x24b9a4});this['_registeredSessions']['set'](_0x24b9a4,_0x237da1),this['channelSessions']['set'](_0x24b9a4,new _0x533d03()),this['channelConnectedUsers']['set'](_0x24b9a4,new _0x533d03()),this['listenTo'](_0x237da1,'add',(_0x51d456,_0x3632fb)=>this['_handleSessionAdd'](_0x24b9a4,_0x3632fb)),this['listenTo'](_0x237da1,'remove',(_0x18e85f,_0xe37586)=>this['_handleSessionRemove'](_0x24b9a4,_0xe37586));for(const _0x11a028 of _0x237da1)this['_handleSessionAdd'](_0x24b9a4,_0x11a028);}['unregister'](_0x171f75){if(!this['_registeredSessions']['has'](_0x171f75))throw new _0x39cc72('sessions-unregister-not-exist',null,{'channelId':_0x171f75});const _0x5047b1=this['_registeredSessions']['get'](_0x171f75);this['stopListening'](_0x5047b1);for(const _0x5e6a63 of _0x5047b1)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x171f75,_0x5e6a63);this['_registeredSessions']['delete'](_0x171f75),this['channelSessions']['delete'](_0x171f75),this['channelConnectedUsers']['delete'](_0x171f75);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5372bf){for(const _0x5ceebf of this['channelSessions']['values']())for(const _0xcd53c3 of _0x5ceebf)if(_0xcd53c3['id']===_0x5372bf)return _0xcd53c3['user'];}['getUserSessions'](_0x2053f8,_0x8daca9){const _0x3fea1e=_0x8daca9?[this['channelSessions']['get'](_0x8daca9)]:this['channelSessions']['values'](),_0x555afc=new Set();for(const _0x3f5d93 of _0x3fea1e)for(const _0x3f8827 of _0x3f5d93)_0x3f8827['user']['id']===_0x2053f8['id']&&_0x555afc['add'](_0x3f8827['id']);return _0x555afc;}['getUserRole'](_0x54a789){for(const _0xad31d3 of this['channelSessions']['values']())for(const _0x14ec6b of _0xad31d3)if(_0x14ec6b['user']===_0x54a789)return _0x14ec6b['role'];}['_handleSessionAdd'](_0x498192,_0x45aa78){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1147b0=_0x45aa78['user'],_0x453597=this['_users']['getUser'](_0x1147b0['id'])||this['_createUser'](_0x1147b0),_0x59097c=Object['assign']({},_0x45aa78,{'user':_0x453597});if(this['channelSessions']['get'](_0x498192)['add'](_0x59097c),!_0x1147b0['hiddenInPresenceList']){const _0x1ca3d9=this['channelConnectedUsers']['get'](_0x498192);_0x1ca3d9['has'](_0x453597['id'])||_0x1ca3d9['add'](_0x453597),this['allConnectedUsers']['has'](_0x453597['id'])||_0x1147b0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x453597,_0x453597['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x498192,{'channelId':_0x498192,'session':_0x59097c});}['_handleSessionRemove'](_0x4f6022,_0x3c11ea){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x509632=this['channelConnectedUsers']['get'](_0x4f6022),_0x2c0e73=_0x3c11ea['user'];_0x2c0e73['id']&&(this['channelSessions']['get'](_0x4f6022)['remove'](_0x3c11ea['id']),_0x509632['has'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73,_0x4f6022)['size']&&_0x509632['remove'](_0x2c0e73['id']),this['allConnectedUsers']['get'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73)['size']&&this['allConnectedUsers']['remove'](_0x2c0e73['id']));}['_createUser'](_0x3c795b,_0x52e998){const _0x4624f5=this['_users']['addUser'](_0x3c795b);return _0x52e998&&this['_users']['defineMe'](_0x3c795b['id']),_0x4624f5['orderNumber']=this['_uniqueUsersCount']++,_0x4624f5;}},K=class extends _0x3eef9e{['_domEmitter']=new(_0x3ad2ae())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x110846=this['editor'],_0x232fa0=_0x110846['plugins']['get'](Y);_0x110846['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x28cae4,{writer:_0x4904f5})=>function(_0x4040c4,_0x626049,_0xf317ff,_0x4989c7){const _0x18ca19=_0x4040c4['markerName']['split'](':')[0x2],_0x1ea1b4=_0xf317ff['getUserBySessionId'](_0x18ca19);if(!_0x1ea1b4||_0x18ca19===_0xf317ff['mySessionId'])return;if(!_0x4989c7['model']['schema']['checkChild'](_0x4040c4['markerRange']['start'],'$text'))return;const _0x4881fd={'class':'ck-user__marker\x20'+_0x1ea1b4['color']['getMarkerClass'](),'style':Q(_0x1ea1b4),'data-name':_0x1ea1b4['name'],'data-session-id':_0x18ca19},_0x48916d=_0x4989c7['model']['markers']['get'](_0x4040c4['markerName'])['getStart'](),_0x3e3992=_0x48916d['nodeAfter'],_0x3f5436=_0x4989c7['model']['schema'];if(_0x3e3992&&_0x3f5436['isObject'](_0x3e3992)&&_0x3f5436['isInline'](_0x3e3992)&&!_0x4989c7['model']['markers']['get']('user:range:'+_0x18ca19)['getRange']()['isCollapsed'])return;const _0x580541=_0x48916d['parent'];return _0x4989c7['model']['schema']['isLimit'](_0x580541)&&!_0x4989c7['model']['hasContent'](_0x580541)&&(_0x4881fd['contenteditable']=!0x1),function(_0x414b3b,_0x1c1a2b,_0x4f2516){const _0x1f5687=_0x414b3b['createUIElement']('span',_0x1c1a2b);return _0x414b3b['setCustomProperty']('userPositionMarker',!0x0,_0x1f5687),_0x1f5687['render']=function(_0x3610e3){const _0x35b6c6=this['toDomElement'](_0x3610e3),_0x468113=document['createElement']('span');return _0x468113['classList']['add']('ck-user__marker-tooltip'),_0x468113['setAttribute']('contenteditable','false'),_0x468113['setAttribute']('spellcheck','false'),_0x468113['textContent']=_0x4f2516['name'],_0x35b6c6['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x468113['outerHTML']+'⁠',_0x35b6c6['addEventListener']('mouseenter',()=>{_0x35b6c6['classList']['add']('ck-user__marker_hovered');}),_0x35b6c6['addEventListener']('mouseleave',()=>{_0x35b6c6['classList']['remove']('ck-user__marker_hovered');}),_0x35b6c6;},_0x1f5687['isSimilar']=function(_0x28c817){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28c817['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28c817['getAttribute']('data-session-id'));},_0x1f5687;}(_0x626049,_0x4881fd,_0x1ea1b4);}(_0x28cae4,_0x4904f5,_0x232fa0,_0x110846)}),_0x110846['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2ac7a9=>function(_0x271651,_0x5dbd7c){const _0x32682d=_0x271651['markerName']['split'](':')[0x2];if(_0x32682d===_0x5dbd7c['mySessionId'])return null;const _0x2591bb=_0x5dbd7c['getUserBySessionId'](_0x32682d);return _0x2591bb?{'id':_0x32682d,'classes':['ck-user__selection',_0x2591bb['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2591bb),'data-session-id':_0x32682d},'priority':0x7d0+_0x2591bb['orderNumber']}:{'id':_0x32682d,'classes':[]};}(_0x2ac7a9,_0x232fa0)}),function(_0x53a50f){const _0x50b416=_0x53a50f['model'],_0x4485fc=new Map(),_0x3fbd21=_0x53a50f['plugins']['get'](Y);_0x50b416['markers']['on']('update:user:range',(_0x4e36fa,_0x308ab9,_0x3d0afd,_0x49c3e8)=>{if(!_0x49c3e8&&_0x4485fc['get'](_0x308ab9['name']))return _0x4485fc['get'](_0x308ab9['name'])['detach'](),void _0x4485fc['delete'](_0x308ab9['name']);const _0x2e6889=_0x308ab9['name']['split'](':')[0x2];if(_0x2e6889===_0x3fbd21['mySessionId'])return;const _0x31abe6='user:position:'+_0x2e6889;_0x50b416['markers']['has'](_0x31abe6)&&_0x53a50f['editing']['reconvertMarker'](_0x31abe6),_0x308ab9['on']('change:range',(_0x15a547,_0x1364b6,_0x7be478)=>{if('$graveyard'!=_0x1364b6['root']['rootName']&&'$graveyard'==_0x308ab9['getRange']()['root']['rootName']&&!_0x4485fc['has'](_0x308ab9['name'])){const _0x3c076f=_0x50b416['schema']['getNearestSelectionRange'](_0x7be478['deletionPosition']);if(_0x3c076f){const _0x535023=_0x4175bc['fromRange'](_0x3c076f);_0x4485fc['set'](_0x308ab9['name'],_0x535023),_0x535023['on']('change:range',(_0x511f23,_0x499089,_0x34f2aa)=>{if('$graveyard'==_0x535023['root']['rootName']){const _0x107fab=_0x50b416['schema']['getNearestSelectionRange'](_0x34f2aa['deletionPosition']);_0x107fab?(_0x535023['start']=_0x107fab['start'],_0x535023['end']=_0x107fab['end']):(_0x4485fc['delete'](_0x308ab9['name']),_0x535023['detach']());}});}}});}),_0x50b416['document']['on']('change',()=>{_0x4485fc['size']>0x0&&_0x50b416['enqueueChange']({'isUndoable':!0x1},_0x1cf3fa=>{for(const [_0x2311ea,_0x539be3]of _0x4485fc)'$graveyard'==_0x50b416['markers']['get'](_0x2311ea)['getRange']()['root']['rootName']&&(J(_0x2311ea['split'](':')[0x2],_0x539be3['toRange'](),_0x50b416,_0x1cf3fa),_0x539be3['detach']());_0x4485fc['clear']();});});}(_0x110846),this['_domEmitter']['listenTo'](_0x5de4cf['document'],'keydown',(_0x281ce5,{key:_0x480f94})=>{'Escape'===_0x480f94&&function(_0x317a47){_0x317a47['editing']['view']['change'](_0x4a2c2d=>{for(const _0x210b23 of _0x317a47['model']['markers']){if(!_0x210b23['name']['startsWith']('user:position'))continue;const _0x25b9ca=_0x317a47['editing']['mapper']['markerNameToElements'](_0x210b23['name']);if(_0x25b9ca){for(const _0xe7f269 of _0x25b9ca)_0x4a2c2d['removeClass']('ck-user__marker_hovered',_0xe7f269);}}});}(_0x110846);},{'useCapture':!0x0});}['afterInit'](){const _0x30bb1c=this['editor'],_0x3b6b41=_0x30bb1c['commands']['get']('undo');_0x3b6b41&&_0x30bb1c['model']['on']('applyOperation',(_0x314cc8,_0x3de63f)=>{const _0x304756=_0x3de63f[0x0];if(!_0x304756['isDocumentOperation'])return;if('marker'!=_0x304756['type']||!_0x304756['name']['startsWith']('user:'))return;const _0x58cec5=_0x304756['batch'];_0x3b6b41['_createdBatches']['has'](_0x58cec5)&&(_0x304756['newRange']=_0x304756['oldRange']?_0x30bb1c['model']['createRange'](_0x304756['oldRange']['start'],_0x304756['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x128b28=this['editor'],_0x47ba5e=_0x128b28['model']['document'],_0x5f5940=_0x128b28['plugins']['get'](Y);_0x128b28['model']['enqueueChange']({'isUndoable':!0x1},_0x4e2f28=>{const _0x109da2='user:range:'+_0x5f5940['mySessionId'],_0x30442e='user:position:'+_0x5f5940['mySessionId'],_0x565f66=_0x128b28['model']['markers']['has'](_0x109da2);_0x128b28['editing']['view']['hasDomSelection']?J(_0x5f5940['mySessionId'],_0x47ba5e['selection']['getFirstRange'](),_0x128b28['model'],_0x4e2f28):_0x565f66&&(_0x4e2f28['removeMarker'](_0x109da2),_0x4e2f28['removeMarker'](_0x30442e));});}};function J(_0x4ac527,_0x1fd616,_0x1fd7ac,_0x3cdcb0){const _0x3e66ea='user:range:'+_0x4ac527,_0x1c97bb='user:position:'+_0x4ac527,_0x99be11=_0x1fd616['getContainedElement']();let _0x17ebe0=_0x1fd616['start'];if(_0x99be11&&_0x99be11['is']('element','tableCell')){const _0x21eb73=function(_0xb94e4c,_0x40c3f4){for(const _0x1380cb of _0xb94e4c['getPositions']())if(_0x40c3f4['schema']['checkChild'](_0x1380cb,'$text'))return _0x1380cb;}(_0x1fd616,_0x1fd7ac);_0x21eb73&&(_0x17ebe0=_0x21eb73,_0x1fd616=_0x3cdcb0['createRange'](_0x17ebe0));}const _0x43cad0=_0x3cdcb0['createRange'](_0x17ebe0);_0x1fd7ac['markers']['has'](_0x3e66ea)?(_0x3cdcb0['updateMarker'](_0x3e66ea,{'range':_0x1fd616}),_0x3cdcb0['updateMarker'](_0x1c97bb,{'range':_0x43cad0})):(_0x3cdcb0['addMarker'](_0x3e66ea,{'range':_0x1fd616,'usingOperation':!0x0}),_0x3cdcb0['addMarker'](_0x1c97bb,{'range':_0x43cad0,'usingOperation':!0x0}));}function Q(_0x33a1c3){return'--ck-user-color:'+_0x33a1c3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x33a1c3['color']['getColorAlphaVariable']()+';';}function X(_0x31961a,_0x134050,_0x5631f1){const _0x5b6061=_0x31961a['t'],t=_0x31961a['t'];switch(_0x134050){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 _0x5b6061({'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'},_0x5631f1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x3eef9e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x396cfa)());['_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,_0x13e9ee,_0x436e7d,_0x27b27a];}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 _0x57bb73=this['serverHistory']['getOperations']();for(let _0xa806a5=_0x57bb73['length']-0x1;_0xa806a5>=0x0;_0xa806a5--){const _0x3a11d1=_0x57bb73[_0xa806a5];if(!this['_disconnectionOperations']['has'](_0x3a11d1))return _0x3a11d1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47bfc8){if(super(_0x47bfc8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4783e9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x39cc72('collaboration-missing-channelid',this);const _0x52d9a5=_0x47bfc8['config']['get']('cloudServices.bundleVersion')||_0x2ff48a;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x52d9a5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x510ebc(),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 _0x51923b=this['editor'],_0x44036e=_0x51923b['plugins']['get'](_0x436e7d),_0x903b4f=_0x51923b['plugins']['get'](z);this['listenTo'](_0x44036e,'getOperationAuthor',(_0x4e4c36,_0x1de97)=>{const _0x3b21bb=_0x1de97[0x0];_0x3b21bb['_authorId']&&(_0x4e4c36['return']=_0x44036e['getUser'](_0x3b21bb['_authorId']),_0x4e4c36['stop']()),null===_0x3b21bb['_authorId']&&(_0x4e4c36['return']=null,_0x4e4c36['stop']());},{'priority':'high'}),this['listenTo'](_0x51923b['model']['document']['selection'],'change:range',(_0x379fe6,_0x3e22de)=>{_0x3e22de['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x51923b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x51923b['model']['on']('applyOperation',(_0x4eeb3b,_0x3b566f)=>{const _0x5a1047=_0x3b566f[0x0];_0x5a1047['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a1047),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x903b4f,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x2aa08f,_0x40674b,_0x5d3545)=>'connected'===_0x2aa08f&&!_0x40674b&&!_0x5d3545),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1872d1=this['editor']['plugins']['get'](Y),_0x7e8705=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1872d1['unregister'](this['_channelId']);const _0x1e8c35=await this['_service']['reconnect'](_0x7e8705['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e8c35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1081b9=await this['_service']['getConnectedSessions']();_0x1872d1['register'](this['_channelId'],_0x1081b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x544f02){if(function(_0x3f93f8){return'404'===_0x3f93f8['code'];}(_0x544f02)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4c625c){return'409'===_0x4c625c['code'];}(_0x544f02)){const _0x41e992=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'](_0x41e992);}else{if(!(_0x544f02 instanceof et))throw _0x544f02;this['_handleReconnectionError']();}}}}['destroy'](){const _0x260cae=this['editor']['plugins']['get'](z),_0x5c8200=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c8200['channelSessions']['has'](this['_channelId'])&&_0x5c8200['unregister'](this['_channelId']),_0x260cae['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c6746){if(this['sessionId']!==_0x2c6746['sessionId']&&this['_lastSyncedOperationId']!==_0x2c6746['lastOperationId'])throw new et();return this['sessionId']=_0x2c6746['sessionId'],this['_handleServerResponse']([],{..._0x2c6746,'wereChangesApplied':!0x1,'data':_0x2c6746['data']},'reconnect');}async['_connectService'](_0x462396,_0x5070ec=!0x1){const {connection:_0x262d2a}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x262d2a,this['_channelId'])['then'](_0x27e0ca=>this['_initSessionsHandling'](_0x27e0ca))['catch'](_0x222b43=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x222b43);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1d1986,_0x2bfdb2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2bfdb2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x4a007f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x462396);this['_isPendingUpdate']=!0x0;const _0x108111=await this['_service']['connect'](_0x262d2a,this['_compressOperations'](_0x462396),_0x4a007f);if(this['sessionId']=_0x108111['sessionId'],_0x5070ec){if(!_0x108111['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x108111['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x462396,_0x108111,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x108111,_0x462396);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5367f1=this['editor']['plugins']['get'](Y),_0x57f004=this['editor']['plugins']['get'](K),_0x5e810f=_0x5367f1['channelSessions']['get'](this['_channelId']);_0x5e810f&&_0x5e810f['length']>0x1?_0x57f004['createUserMarkerOperations']():this['listenTo'](_0x5367f1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5367f1['channelSessions']['get'](this['_channelId'])['length']&&_0x57f004['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x584f92,_0x29a09f,_0x50fd57,_0x303abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29a09f){const _0x3e2e6a=this['_decompressOperations'](_0x50fd57,_0x303abc);await this['_fetchMissingUsers'](_0x3e2e6a),this['_handleExternalOperations'](_0x3e2e6a,_0x29a09f,_0x50fd57['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x44be12}=this['editor'];let _0x47b248;try{_0x47b248=await this['_service']['getDocumentDetails']();}catch{const _0x512087=X(_0x44be12,'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'](_0x512087);}const _0x59db4e=_0x47b248['currentDocumentSession']||_0x47b248['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x59db4e['lastOperationId']){const _0x4e434c=X(_0x44be12,'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'](_0x4e434c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x223b53=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x223b53['connection']||'connected'!==_0x223b53['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x5124f8=this['editor']['plugins']['get'](Y);_0x5124f8['channelSessions']['has'](this['_channelId'])&&_0x5124f8['unregister'](this['_channelId']),_0x223b53['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43b4ca){const _0x3dab4a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3dab4a,'sessionAdd:'+this['_channelId'],(_0x259dd7,{session:_0x2dbdb7})=>{if(_0x2dbdb7['id']===_0x3dab4a['mySessionId']){_0x259dd7['off']();const _0x389f59=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x494f1f=_0x2dbdb7['permissions'];_0x389f59&&_0x389f59['isEnabled']&&(_0x494f1f=_0x494f1f['filter'](_0x5871b3=>'document:write'!==_0x5871b3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x494f1f,this['_channelId']);}}),_0x3dab4a['register'](this['_channelId'],_0x43b4ca);}['_initThrowingOnDataSet'](){const _0x2e79d6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1bdd69)=>{if(!_0x1bdd69[_0x1bdd69['length']-0x1]['suppressErrorInCollaboration'])throw new _0x39cc72('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e79d6['apply'](this['editor']['data'],_0x1bdd69);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2de49e,[_0xde231e])=>{if(this['_document']['version'])throw new _0x39cc72('realtimecollaborationclient-init-document-already-initialized',this);_0x2de49e['stop'](),this['_setPendingAction']();const _0x36f8a2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x35d85e])=>!_0x35d85e['lazyLoad'])['map'](([_0x192def,_0x56d2cb])=>[_0x192def,_0x56d2cb['modelAttributes']||{}])),_0x4ba5f6=this['_getOperationsFromInitData'](_0xde231e,_0x36f8a2);0x0==_0x4ba5f6['length']&&_0x4ba5f6['push'](new _0xf768d9(0x0)),_0x2de49e['return']=this['_connectService'](_0x4ba5f6)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x20dca7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x20dca7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xc86271,[_0x25d92d,_0x1aaeb1])=>{_0xc86271['stop']();const _0x46fa80=this['editor']['model']['document']['getRoot'](_0x25d92d);if(!this['_knownRootNames']['has'](_0x25d92d)){const _0xbaebe5=_0x1aaeb1&&_0x1aaeb1['data']?_0x1aaeb1['data']:'',_0x397517=_0x1aaeb1&&_0x1aaeb1['attributes']?_0x1aaeb1['attributes']:{};await this['_loadRoot'](_0x25d92d,_0xbaebe5,_0x397517);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x46fa80['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x46fa80);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x113074){const _0x8f944d=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x32483b}=this['editor']['plugins']['get'](z),_0x5d00ba=new Set();for(const _0x3cf74e of _0x113074){const _0x10a97c=_0x3cf74e['_authorId'];_0x10a97c&&!_0x8f944d['getUser'](_0x10a97c)&&_0x5d00ba['add'](_0x10a97c);}if(0x0===_0x5d00ba['size'])return;const _0x269e17=await _0x2b182d['getMany'](_0x32483b,Array['from'](_0x5d00ba));for(const _0x4a5b66 of _0x269e17)_0x8f944d['getUser'](_0x4a5b66['id'])||_0x8f944d['addUser'](_0x4a5b66);}['_getOperationsFromInitData'](_0x4d92c9,_0x1467bd={}){const _0x5ce742=this['editor']['model'],_0x2f4c58=[];let _0x34337e=0x0;const _0x5e9738='string'==typeof _0x4d92c9?{'main':_0x4d92c9}:_0x4d92c9;for(const _0x338807 of Object['keys'](_0x5e9738)){if(!this['_document']['roots']['has'](_0x338807))throw new _0x39cc72('realtimecollaborationclient-init-non-existent-root',this);const _0x237c70=this['_document']['getRoot'](_0x338807),_0x507919=this['editor']['data']['parse'](_0x5e9738[_0x338807],_0x237c70),_0x352d79=new _0x27aa6e(_0x5ce742['createPositionAt'](_0x237c70,0x0),_0x507919,_0x34337e++);_0x2f4c58['push'](_0x352d79);for(const [_0xd3cb3a,_0x2fd41b]of _0x507919['markers']){const _0x3f072f=new _0x30954d(_0xd3cb3a,null,_0x5ce742['createRange'](_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['start']['path']['slice']()),_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['end']['path']['slice']())),_0x5ce742['markers'],!0x0,_0x34337e++);_0x2f4c58['push'](_0x3f072f);}}if(_0x1467bd)for(const [_0x14fc54,_0x22ed5a]of Object['entries'](_0x1467bd)){const _0x54ae53=_0x5ce742['document']['getRoot'](_0x14fc54);if(!_0x54ae53)throw new _0x39cc72('multi-root-editor-root-attributes-no-root',null);for(const [_0x5d0795,_0x37ca7b]of Object['entries'](_0x22ed5a))if(null!==_0x37ca7b){const _0x5a518f=new _0x2727f3(_0x54ae53,_0x5d0795,null,_0x37ca7b,_0x34337e++);_0x2f4c58['push'](_0x5a518f);}}return _0x2f4c58;}async['_loadRoot'](_0xee4ec1,_0x161ab4,_0x1b1a0c){this['_getOperationsFromInitData']({[_0xee4ec1]:_0x161ab4},{[_0xee4ec1]:_0x1b1a0c})['forEach']((_0x320fb3,_0x390c0b)=>{_0x320fb3['baseVersion']=this['_document']['version']+_0x390c0b,_0x320fb3['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x320fb3);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2c1d65,_0x4e8418){let _0x3d8eb4;this['_offset']=_0x2c1d65['offset'];const _0x463986=_0x2c1d65['wereChangesApplied']&&!_0x2c1d65['initData'],_0x17edcd=_0x463986?0x0:_0x2c1d65['data']['baseVersion'];if(_0x4e8418['forEach'](_0x3df212=>{_0x3df212['_isInit']=!0x0,_0x3df212['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x3df212['_authorId']=null;}),_0x463986)_0x3d8eb4=_0x4e8418,this['_applyOperationsSet'](_0x3d8eb4,_0x463986);else{if(_0x2c1d65['initData']){const _0x5442c1=this['_getOperationsFromInitData'](_0x2c1d65['initData']);this['_document']['history']['version']=-_0x5442c1['length'],_0x5442c1['forEach'](_0x94a570=>{_0x94a570['baseVersion']-=_0x5442c1['length'],_0x94a570['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x94a570['_isInit']=!0x0,_0x94a570['_authorId']=null;}),this['_applyOperationsSet'](_0x5442c1,!0x0),this['serverHistory']['version']=-_0x5442c1['length']+this['_offset'],this['_updateServerHistory'](_0x5442c1);}this['_document']['history']['version']=_0x17edcd,_0x3d8eb4=this['_decompressOperations'](_0x2c1d65['data'],_0x2c1d65['metadata']),await this['_fetchMissingUsers'](_0x3d8eb4),this['_applyOperationsSet'](_0x3d8eb4,_0x463986);}_0x2c1d65['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d8eb4,_0x2c1d65['lastOperationId']),this['_lastSyncedOperationId']=_0x2c1d65['lastOperationId']),this['serverHistory']['version']=_0x17edcd+this['_offset'],this['_updateServerHistory'](_0x3d8eb4),_0x4e8418['filter'](_0x138fc9=>{const _0x524b43=this['_getAffectedRoot'](_0x138fc9);return _0x524b43&&!this['_knownRootNames']['has'](_0x524b43);})['forEach']((_0x6c5eea,_0x299c2f)=>{_0x6c5eea['baseVersion']=this['_document']['version']+_0x299c2f,this['_saveOperationInBuffer'](_0x6c5eea);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c047,_0x21137e){const _0xbe8bac=_0x21137e&&_0x21137e['message'];if(_0xbe8bac&&_0xbe8bac['startsWith']('realtimecollaborationclient'))throw _0x21137e;const _0x35c0f2=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x35c0f2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x39cc72(_0x14c047,this['editor'],_0xbe8bac?{'originalError':_0xbe8bac}:void 0x0);}['_saveOperationInBuffer'](_0x4b2126){this['_knownOperations']['has'](_0x4b2126)||(this['_knownOperations']['add'](_0x4b2126),this['_bufferedOperations']['push'](_0x4b2126),this['_pendingAction']||'marker'==_0x4b2126['type']&&!_0x4b2126['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x303c07=!0x1){!_0x303c07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x30432b=>{_0x30432b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x506ede=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1448b7){return _0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x506ede)||this['_crash'](_0x506ede['message'],_0x506ede);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xc982a5=>{this['on']('change:_isPendingUpdate',()=>{_0xc982a5();});});}async['_sendBufferedOperations'](){const _0xa1b1fc=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xa1b1fc['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfd068=[...this['_bufferedOperations']];for(const _0xc0aca4 of _0xcfd068)_0xc0aca4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc0aca4);const _0x4fdeb3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfd068),_0x15de04=Z++,_0x1490ca=this['_compressOperations'](_0xcfd068),_0x3d971e=await this['_service']['sendOperations'](_0x1490ca,_0x1490ca['baseVersion'],_0x4fdeb3);try{return await this['_handleServerResponse'](_0xcfd068,_0x3d971e,_0x15de04);}catch(_0x4b4271){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4b4271);}}async['_handleServerResponse'](_0x3a7407,_0x4d36a3,_0x33a342){if('error'in _0x4d36a3)throw _0x4d36a3['error'];let _0x34d345=!0x1;if(_0x4d36a3['wereChangesApplied']){_0x4d36a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4d36a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1e1c81=>!_0x3a7407['includes'](_0x1e1c81));for(const _0x4f5845 of _0x3a7407)_0x4f5845['createdAt']='lastOperationAcceptedAt'in _0x4d36a3&&_0x4d36a3['lastOperationAcceptedAt']||void 0x0;st(_0x3a7407,_0x4d36a3['version']-_0x3a7407['length']),this['_updateServerHistory'](_0x3a7407);const _0x1b4a76=_0x3a7407['filter'](_0x348846=>{if(!_0x348846['_isInit'])return!0x1;const _0x48ccf4=this['_getAffectedRoot'](_0x348846);return _0x48ccf4&&!this['_knownRootNames']['has'](_0x48ccf4);});st(_0x1b4a76,this['_document']['version']),this['_applyOperationsSet'](_0x1b4a76),_0x34d345=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x107aea=this['_decompressOperations'](_0x4d36a3['data'],_0x4d36a3['metadata'])['filter'](_0x1ec125=>_0x1ec125['baseVersion']>=this['_lastServerVersion']);_0x107aea['forEach'](_0x77016d=>this['_addKnownRoot'](_0x77016d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2542bb=>!_0x2542bb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2542bb))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x107aea),_0x34d345=this['_handleExternalOperations'](_0x107aea,_0x4d36a3['version'],_0x4d36a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x34d345?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181dfc,_0x532221,_0xe04648){try{const _0x4c8f2a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xf3366b,operationsB:_0x100706,originalOperations:_0x324b73}=_0x50af1d(_0x181dfc,this['_bufferedOperations'],_0x4c8f2a);st(_0xf3366b,this['_document']['version']),st(_0x100706,_0x532221);for(const _0x3abeb2 of _0xf3366b){const _0x477bb4=_0x324b73['get'](_0x3abeb2);_0x477bb4?(_0x3abeb2['_authorId']=_0x477bb4['_authorId'],'noop'!==_0x3abeb2['type']&&(_0x3abeb2['_aiSource']=_0x477bb4['_aiSource'])):_0x3abeb2['_authorId']=null;}for(const _0xd84ac6 of _0x100706)'noop'!==_0xd84ac6['type']&&(_0xd84ac6['_aiSource']=_0x324b73['get'](_0xd84ac6)?.['_aiSource']);_0xe04648&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181dfc,_0xe04648),this['_lastSyncedOperationId']=_0xe04648),this['_bufferedOperations']=[..._0x100706],this['_applyOperationsSet'](_0xf3366b),this['_updateServerHistory'](_0x181dfc);}catch(_0x2f6087){return console['error'](_0x2f6087),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb19183,_0x5d8236=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a0090=>{for(const _0x20503c of _0xb19183)this['_knownOperations']['add'](_0x20503c),this['_addKnownRoot'](_0x20503c),_0x3a0090['batch']['addOperation'](_0x20503c),this['editor']['model']['applyOperation'](_0x20503c);});}['_addKnownRoot'](_0x56559a){const _0x54b50f=this['_getAffectedRoot'](_0x56559a);_0x54b50f&&this['_knownRootNames']['add'](_0x54b50f);}['_getAffectedRoot'](_0xa39fe3){let _0x55770f,_0x427f78;switch(_0xa39fe3['type']){case'insert':_0x55770f=_0xa39fe3['position']['root'];break;case'marker':if(_0x427f78=_0xa39fe3['newRange'],!_0x427f78)return null;_0x55770f=_0x427f78['root'];break;case'addRootAttribute':_0x55770f=_0xa39fe3['root'];break;case'addRoot':_0x55770f=_0xa39fe3['affectedSelectable'];break;case'move':_0x55770f=_0xa39fe3['targetPosition']['root'];break;default:return null;}return _0x55770f['rootName'];}['_updateServerHistory'](_0x5802d2){_0x5802d2['forEach'](_0x1dc40c=>{const _0x47e492=_0x1dc40c['clone']();_0x47e492['_authorId']=_0x1dc40c['_authorId'],_0x47e492['_isInit']=!!_0x1dc40c['_isInit'],_0x47e492['_aiSource']=_0x1dc40c['_aiSource'],_0x47e492['createdAt']=_0x1dc40c['createdAt'],_0x47e492['baseVersion']+=this['_offset'],_0x1dc40c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x47e492),this['serverHistory']['addOperation'](_0x47e492);});}['_handleReconnectionError'](_0x5cd03f){const _0x226c9c=this['editor']['plugins']['get']('Notification'),_0x48f524=this['editor']['locale'];_0x5cd03f||(_0x5cd03f=X(_0x48f524,'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.')),_0x226c9c['showWarning'](_0x5cd03f,{'title':X(_0x48f524,'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'](_0x13e9ee)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x13e9ee)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4785bd){const _0x4bb87e=_0x4785bd['map'](_0x17cd4f=>_0x17cd4f['toJSON']());return this['_compressor']['compress'](_0x4bb87e);}['_decompressOperations'](_0x5d1078,_0x19c827){return this['_compressor']['decompress'](_0x5d1078)['map']((_0x28aac6,_0x28dbcb)=>{const _0x39d8e4='init'==_0x19c827[_0x28dbcb]['type'];if('InsertOperation'==_0x28aac6['__className']){const _0x1d47c9=_0x28aac6['position']['root'];!this['_document']['getRoot'](_0x1d47c9)&&(this['_document']['createRoot']('$unknown',_0x1d47c9)['_isAttached']=!0x1);}else{if('RootOperation'==_0x28aac6['__className']){const _0x3e8f9e=this['_document']['getRoot'](_0x28aac6['rootName']);_0x3e8f9e&&'$unknown'==_0x3e8f9e['name']&&_0x28aac6['elementName']!=_0x3e8f9e['name']&&(_0x3e8f9e['name']=_0x28aac6['elementName']);}}const _0x45c5f2=_0x44800b['fromJSON'](_0x28aac6,this['_document']);return _0x45c5f2['wasUndone']=_0x28aac6['wasUndone'],_0x45c5f2['_isInit']=_0x39d8e4,_0x45c5f2['_authorId']=_0x39d8e4?null:_0x19c827[_0x28dbcb]['userId'],_0x45c5f2['_isDisconnection']='cs:removeUser'===_0x19c827[_0x28dbcb]['type'],_0x45c5f2['_aiSource']=_0x28aac6['_aiSource']||void 0x0,_0x45c5f2['createdAt']=_0x19c827[_0x28dbcb]['createdAt'],_0x45c5f2;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5b4987=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5b4987&&_0x5b4987['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x495750,_0x3f6a68){for(const _0x2f3335 of _0x495750)_0x2f3335['baseVersion']=_0x3f6a68++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x1bb619){this['_ignoredOperations']=_0x1bb619,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2696c2){let _0xc5f13f=_0x2696c2['length'];for(;_0xc5f13f--;){const _0x57c1b5=_0x2696c2[_0xc5f13f];if(!this['_ignoredOperations']['has'](_0x57c1b5)){if(!this['_operationToId']['has'](_0x57c1b5)){const _0x5c226a=_0x26c87e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x57c1b5,_0x5c226a);}return this['_operationToId']['get'](_0x57c1b5);}}}['setIdForTheLastOperation'](_0x19922f,_0x529b43){if(!_0x529b43)return;let _0x5864fe=_0x19922f['length'];for(;_0x5864fe--;){const _0x10e467=_0x19922f[_0x5864fe];this['_ignoredOperations']['has'](_0x10e467)||this['_operationToId']['set'](_0x10e467,_0x529b43);}}},nt=class extends _0x3eef9e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x2818ba{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1e5c77)());['_services'];static get['requires'](){return[z,_0x5e513f,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ab80c){super(_0x3ab80c),this['_services']=new Map();}async['init'](){const _0xb660f2=this['context'],_0x22d23d=_0xb660f2['plugins']['get'](_0x5e513f);if(_0xb660f2['plugins']['get'](z)['addToReconnectionStack'](this),_0x22d23d['adapter']={'addCommentThread':async({channelId:_0x1a812d,threadId:_0x25634f,comments:_0x4bebb9,resolvedAt:_0x415d4d,resolvedBy:_0x4e262a,context:_0x4eeee5,attributes:_0x2706a5})=>{const _0x34be43=await this['_getService'](_0x1a812d)['addCommentThread']({'commentThreadId':_0x25634f,'comments':_0x4bebb9['map'](_0x27b8c1=>function(_0x585f7c,_0x5a78c3,_0x2079d3){return{'commentThreadId':_0x2079d3,'commentId':_0x585f7c['commentId'],'userId':_0x585f7c['authorId'],'content':_0x585f7c['content'],'documentId':_0x5a78c3,'createdAt':_0x585f7c['createdAt'],'attributes':_0x585f7c['attributes']||{}};}(_0x27b8c1,_0x1a812d,_0x25634f)),'resolvedAt':_0x415d4d,'resolvedBy':_0x4e262a,'context':_0x4eeee5,'attributes':_0x2706a5})['catch'](ct);return{'threadId':_0x34be43['commentThreadId'],'comments':_0x34be43['comments']};},'getCommentThread':async({channelId:_0x5ebf78,threadId:_0x2440a9})=>{const _0x35fa01=await this['_getService'](_0x5ebf78)['getCommentThread'](_0x2440a9)['catch'](rt)['catch'](ct);return _0x35fa01?_0x35fa01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x35fa01]),{'threadId':_0x35fa01['commentThreadId'],'comments':_0x35fa01['comments']['map'](at),'context':_0x35fa01['context'],'resolvedAt':_0x35fa01['resolvedAt'],'resolvedBy':_0x35fa01['resolvedBy'],'attributes':_0x35fa01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3fbfb9,threadId:_0x133ff8,context:_0x21521c,unlinkedAt:_0x342eb8,attributes:_0x2548fd})=>this['_getService'](_0x3fbfb9)['updateCommentThread']({'commentThreadId':_0x133ff8,'context':_0x21521c,'attributes':_0x2548fd,'unlinkedAt':_0x342eb8})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x28e3c5,threadId:_0x15b706})=>{const _0x52ccfb=await this['_getService'](_0x28e3c5)['resolveCommentThread'](_0x15b706)['catch'](rt)['catch'](ct);return{'threadId':_0x52ccfb['commentThreadId'],'resolvedAt':_0x52ccfb['resolvedAt'],'resolvedBy':_0x52ccfb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b411e,threadId:_0x5ad93a})=>this['_getService'](_0x2b411e)['reopenCommentThread'](_0x5ad93a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x16eaf7,threadId:_0x45e12a})=>this['_getService'](_0x16eaf7)['removeCommentThread'](_0x45e12a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58330e,threadId:_0x154da5,commentId:_0x1746c7,content:_0x1b53e7,attributes:_0x201197})=>this['_getService'](_0x58330e)['addComment'](_0x154da5,_0x1746c7,_0x1b53e7,_0x201197)['catch'](ct),'updateComment':({channelId:_0x9e18a4,threadId:_0xd0cb0b,commentId:_0x5ccb17,content:_0x4cd8c5,attributes:_0x7857a0})=>this['_getService'](_0x9e18a4)['updateComment'](_0xd0cb0b,_0x5ccb17,_0x4cd8c5,_0x7857a0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x26df0f,threadId:_0x6eb929,commentId:_0x45bf47})=>this['_getService'](_0x26df0f)['removeComment'](_0x6eb929,_0x45bf47)['catch'](rt)['catch'](ct)},_0xb660f2 instanceof _0x40965d){const _0x3c9239=_0xb660f2['config']['get']('collaboration.channelId'),_0x628412=_0xb660f2['plugins']['get'](Y);await this['_setUpService'](_0x3c9239);const _0x36edf2=await this['_services']['get'](_0x3c9239)['getConnectedSessions']();this['listenTo'](_0x628412,'sessionAdd:'+_0x3c9239,(_0x1bac54,{session:_0x11fb11})=>{_0x11fb11['id']===_0x628412['mySessionId']&&(_0x1bac54['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x11fb11['permissions'],_0x3c9239));}),_0x628412['register'](_0x3c9239,_0x36edf2);}}async['_setUpService'](_0x734660){if(this['_services']['has'](_0x734660))throw new _0x39cc72('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x734660});const _0x4098d6=this['context']['plugins']['get'](_0x5e513f),_0x2e9c66=new CloudServicesCommentsAdapter['CommentsService'](_0x734660);this['_services']['set'](_0x734660,_0x2e9c66),this['listenTo'](_0x2e9c66,'commentThreadAdded',(_0x1539b6,_0x4a7d29)=>{const {commentThreadId:_0x29a00f,documentId:_0x4a1d16,context:_0x52b102,attributes:_0x49c549,resolvedAt:_0x2b2b11,resolvedBy:_0x2002e3,comments:_0x1fde00}=_0x4a7d29;_0x4098d6['getCommentThread'](_0x29a00f)||_0x4098d6['addCommentThread']({'threadId':_0x29a00f,'channelId':_0x4a1d16,'comments':_0x1fde00?_0x1fde00['map'](at):[],'context':_0x52b102,'attributes':_0x49c549,'resolvedAt':_0x2b2b11,'resolvedBy':_0x2002e3,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadUpdated',(_0x2e9016,{commentThreadId:_0x3ddb78,documentId:_0x14bd07,context:_0x504bc3,unlinkedAt:_0x525333,attributes:_0x22d1fc})=>{_0x4098d6['getCommentThread'](_0x3ddb78)&&_0x4098d6['updateCommentThread']({'threadId':_0x3ddb78,'channelId':_0x14bd07,'context':_0x504bc3,'unlinkedAt':_0x525333,'attributes':_0x22d1fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadResolved',(_0x27b308,{commentThreadId:_0x52f288,resolvedBy:_0x2cd706,resolvedAt:_0x4cf39d})=>{const _0x262a93=_0x4098d6['getCommentThread'](_0x52f288);_0x262a93&&_0x262a93['resolve']({'resolvedBy':_0x2cd706,'resolvedAt':_0x4cf39d,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadReopened',(_0x52f726,{commentThreadId:_0x1da074})=>{const _0x64f385=_0x4098d6['getCommentThread'](_0x1da074);_0x64f385&&_0x64f385['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadRemoved',(_0x1b64e2,{commentThreadId:_0x5549e3})=>{const _0xe694fc=_0x4098d6['getCommentThread'](_0x5549e3);_0xe694fc&&_0xe694fc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentAdded',(_0x2e7ae8,_0x1246f2)=>{const _0x4f4093=_0x1246f2['commentThreadId'],_0x9cc1ba=_0x4098d6['getCommentThread'](_0x4f4093);_0x9cc1ba&&_0x9cc1ba['addComment']({...at(_0x1246f2),'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentUpdated',(_0x56349d,{commentThreadId:_0x10c488,commentId:_0x1f8c38,content:_0x3679bf,attributes:_0x505b7e})=>{const _0x496e94=_0x4098d6['getCommentThread'](_0x10c488);if(_0x496e94){const _0x2edee5=_0x496e94['getComment'](_0x1f8c38);_0x2edee5&&_0x2edee5['update']({'content':_0x3679bf,'attributes':_0x505b7e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'commentRemoved',(_0x3581a4,{commentThreadId:_0x2e3cd9,commentId:_0x4a3c70})=>{const _0x597a14=_0x4098d6['getCommentThread'](_0x2e3cd9);if(_0x597a14){const _0x5f4cdd=_0x597a14['getComment'](_0x4a3c70);_0x5f4cdd&&_0x5f4cdd['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x734660),this['stopListening'](_0x2e9c66));}),await this['_connectService'](_0x734660);}['destroy'](){if(this['context']instanceof _0x40965d){const _0x29cd53=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x29cd53)&&this['_terminateService'](_0x29cd53);}}['_terminateService'](_0x32784d){if(!this['_services']['has'](_0x32784d))throw new _0x39cc72('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x32784d});this['_getService'](_0x32784d)['disconnect'](),this['_services']['delete'](_0x32784d);}async['reconnect'](){for(const _0x5ddac3 of this['_services']['keys']())await this['_connectService'](_0x5ddac3);if(this['context']instanceof _0x40965d){const _0x41bcad=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x41bcad)){const _0x3f08fa=this['context']['plugins']['get'](Y);_0x3f08fa['unregister'](_0x41bcad);const _0xdc2128=await this['_services']['get'](_0x41bcad)['getConnectedSessions']();_0x3f08fa['register'](_0x41bcad,_0xdc2128);}}}async['_connectService'](_0x260f89){const {connection:_0x42ed73}=this['context']['plugins']['get'](z),_0x213736=this['context']['plugins']['get'](_0x5e513f),_0x2d6b84=await this['_services']['get'](_0x260f89)['connect'](_0x42ed73);await this['_fetchMissingUsersForThreads'](_0x2d6b84);const _0x240d26=new Set(Array['from'](_0x213736['getCommentThreads']({'channelId':_0x260f89}),_0x24dbef=>_0x24dbef['id']));for(const _0x8f8cf1 of _0x2d6b84)_0x8f8cf1['deletedAt']||_0x240d26['delete'](_0x8f8cf1['commentThreadId']);for(const _0x467c82 of _0x240d26)_0x213736['getCommentThread'](_0x467c82)['remove']({'isFromAdapter':!0x0});for(const _0x47bb37 of _0x2d6b84){let _0x49bfde=_0x213736['getCommentThread'](_0x47bb37['commentThreadId']);const {commentThreadId:_0x1f110f,context:_0x5662fd,attributes:_0x297470,resolvedBy:_0x599034,resolvedAt:_0x4306d8,unlinkedAt:_0x28d130,deletedAt:_0x56aee0}=_0x47bb37;if(_0x56aee0)continue;_0x49bfde||(_0x49bfde=_0x213736['addCommentThread']({'channelId':_0x260f89,'threadId':_0x1f110f,'context':_0x5662fd,'attributes':_0x297470||{},'resolvedBy':_0x599034,'resolvedAt':_0x4306d8,'unlinkedAt':_0x28d130,'isFromAdapter':!0x0}));const _0x26d9d8=new Set(Array['from'](_0x49bfde['comments'],_0x27b10b=>_0x27b10b['id']));for(const _0x154956 of _0x47bb37['comments'])_0x26d9d8['delete'](_0x154956['commentId']);for(const _0x5a5946 of _0x26d9d8)_0x49bfde['getComment'](_0x5a5946)['remove']({'isFromAdapter':!0x0});for(const _0x41dafe of _0x47bb37['comments']){const _0x16b332=_0x49bfde['getComment'](_0x41dafe['commentId']);_0x16b332?_0x16b332['content']!==_0x41dafe['content']&&_0x16b332['update']({'content':_0x41dafe['content'],'isFromAdapter':!0x0}):_0x49bfde['addComment'](Object['assign'](at(_0x41dafe),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2ecb65){if(!this['_services']['has'](_0x2ecb65))throw new _0x39cc72('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2ecb65});return this['_services']['get'](_0x2ecb65);}async['_fetchMissingUsersForThreads'](_0x155dbf){const _0x2e1748=this['context']['plugins']['get'](_0x436e7d),{connection:_0x25ad6b}=this['context']['plugins']['get'](z),_0x3e6fa4=new Set();for(const {resolvedBy:_0x548409,comments:_0x55d53e}of _0x155dbf){_0x548409&&!_0x2e1748['getUser'](_0x548409)&&_0x3e6fa4['add'](_0x548409);for(const {userId:_0x158064}of _0x55d53e)_0x2e1748['getUser'](_0x158064)||_0x3e6fa4['add'](_0x158064);}if(0x0===_0x3e6fa4['size'])return;const _0x358b15=await _0x2b182d['getMany'](_0x25ad6b,Array['from'](_0x3e6fa4));for(const _0x27f76 of _0x358b15)_0x2e1748['getUser'](_0x27f76['id'])||_0x2e1748['addUser'](_0x27f76);}};async function rt(_0x2bd83d){if('404'!==_0x2bd83d['code'])throw _0x2bd83d;}function ct(_0x5808a9){if((_0x40d67c=_0x5808a9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40d67c;throw _0x5808a9;}function at(_0x5e6805){return{'threadId':_0x5e6805['commentThreadId'],'commentId':_0x5e6805['commentId'],'content':_0x5e6805['content'],'createdAt':_0x5e6805['createdAt'],'authorId':_0x5e6805['userId'],'attributes':_0x5e6805['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x3eef9e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x2f8ee3)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x36b9ab,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x21a7a7){super(_0x21a7a7);const _0x3cc969=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3cc969);}['init'](){const _0x3dae75=this['editor']['plugins']['get'](z),_0x332b72=this['editor']['plugins']['get'](_0x36b9ab);return _0x332b72['adapter']={'getSuggestion':async _0x2be680=>{await this['_waitForServiceReady']();const _0x3953c6=await this['_trackChangesService']['get'](_0x2be680)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3953c6]),_0x3953c6;},'addSuggestion':async({id:_0x329008,type:_0x228515,data:_0x17399e,originalSuggestionId:_0x103cef,attributes:_0x3db99c})=>{await this['_waitForServiceReady']();const _0x1f91cb={'id':_0x329008,'type':_0x228515,'data':_0x17399e,'originalSuggestionId':_0x103cef,'attributes':_0x3db99c},_0x447c6b=await this['_trackChangesService']['add'](_0x329008,_0x228515,_0x17399e,_0x103cef,_0x3db99c)['catch'](_0x50b23a=>{if(dt(_0x50b23a))return new Promise(_0x2fc249=>{this['_bufferedRequests']['set'](_0x329008,{'resolve':_0x2fc249,'suggestionData':_0x1f91cb});});throw _0x50b23a;});return this['_bufferedRequests']['delete'](_0x329008),_0x447c6b;},'updateSuggestion':async(_0x4794ca,_0x33f57e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33f57e['state'])return this['_trackChangesService']['update'](_0x4794ca,_0x33f57e)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4b59c7,_0x335c74)=>{_0x332b72['hasSuggestion'](_0x335c74['id'])&&(_0x332b72['getSuggestion'](_0x335c74['id'])['attributes']=_0x335c74['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3dae75['connection']?.['state']&&(_0x3dae75['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3dae75['connection'])['then'](_0x4be32c=>(_0x3dae75['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4be32c)['then'](()=>{for(const _0x54727f of _0x4be32c){_0x332b72['addSuggestionData'](_0x54727f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2e8ab9=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d2990}=this['editor']['plugins']['get'](z),_0x26f2d4=await this['_trackChangesService']['connect'](_0x3d2990);await this['_fetchMissingUsersForThreads'](_0x26f2d4);for(const {suggestionData:_0xd5c1b5,resolve:_0x24e32b}of this['_bufferedRequests']['values']()){let _0x4079de=_0x26f2d4['find'](_0x12d987=>_0x12d987['id']===_0xd5c1b5['id']);_0x4079de||(_0x4079de=await this['_trackChangesService']['add'](_0xd5c1b5['id'],_0xd5c1b5['type'],_0xd5c1b5['data'],_0xd5c1b5['originalSuggestionId'])),_0x24e32b(_0x4079de);}for(const _0x4f1f74 of _0x26f2d4)_0x2e8ab9['hasSuggestion'](_0x4f1f74['id'])||_0x2e8ab9['addSuggestionData'](_0x4f1f74);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4b37de=>{this['listenTo'](this['_trackChangesService'],'connected',_0x38a853=>{_0x38a853['off'](),_0x4b37de();});});}async['_fetchMissingUsersForThreads'](_0x230169){const _0x65e882=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x47f891}=this['editor']['plugins']['get'](z),_0x1822c7=new Set();for(const {authorId:_0x3c480d}of _0x230169)_0x65e882['getUser'](_0x3c480d)||_0x1822c7['add'](_0x3c480d);if(0x0===_0x1822c7['size'])return;const _0x3081a7=await _0x2b182d['getMany'](_0x47f891,Array['from'](_0x1822c7));for(const _0x5d2c59 of _0x3081a7)_0x65e882['getUser'](_0x5d2c59['id'])||_0x65e882['addUser'](_0x5d2c59);}};function lt(_0xd1c8cb){if(dt(_0xd1c8cb))return new Promise(()=>{});throw _0xd1c8cb;}function dt(_0x56b7e6){return _0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x3eef9e{static get['requires'](){return[_0x401e20,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46debd=this['editor']['plugins']['get'](z),_0x406421=this['editor']['plugins']['get'](_0x2a3ec7),_0x375e98=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x46debd,'change:state',(_0x24619e,_0x12f402,_0x3290ec)=>{_0x406421['isThreadsLoadingPaused']='connected'!==_0x3290ec;});}),this['listenTo'](_0x46debd,'change:state',(_0x182736,_0x310d20,_0x502c22)=>{this['editor']['plugins']['get'](_0x5e513f)['switchReadOnly']('connected'!==_0x502c22);}),_0x375e98['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3c741e=this['editor']['plugins']['get'](ot),_0x56c994=this['editor']['config']['get']('collaboration.channelId');_0x3c741e['_services']['has'](_0x56c994)&&_0x3c741e['_terminateService'](_0x56c994),super['destroy']();}},ft=class extends _0x3eef9e{static get['requires'](){return[ut,ht,_0x54c3b7];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x3eef9e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x25482a)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2f5675,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219837){super(_0x219837);const _0x4bc179=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4bc179);}async['init'](){const _0x5b0c87=this['editor']['plugins']['get'](tt),_0xa1044c=_0x5b0c87['serverHistory'],_0x460a4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xa1044c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5b0c87['sessionId']});const _0x4a24a7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2ff48a,_0x1c0163=await _0x57c6a6['isBundleUploaded'](_0x460a4a['connection'],_0x4a24a7);this['editor']['plugins']['get'](_0x2f5675)['adapter']={'getRevision':async({revisionId:_0x43d435})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x43d435)),'updateRevisions':async _0x48c2d6=>{await this['_waitForServiceReady']();const _0x2ab224=this['_revisionTracker']['currentRevision'];if(_0x1c0163&&0x1===_0x48c2d6['length']&&_0x48c2d6[0x0]['id']===_0x2ab224['id'])return _0x48c2d6;for(const _0x42f9f6 of _0x48c2d6)_0x42f9f6['id']===_0x2ab224['id']&&(_0x42f9f6['isEmptyCurrent']=_0x42f9f6['fromVersion']===_0x42f9f6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x48c2d6,this['_lastRequestId'])['then'](_0x471449=>(this['_lastRequestId']=_0x471449,_0x48c2d6))['catch'](_0x401f92=>{if(pt(_0x401f92)||'400'===_0x401f92['code']&&void 0x0!==_0x401f92['data']['wrongRequestId']){for(const _0x24e92c of _0x48c2d6)this['_revisionTracker']['repository']['getRevision'](_0x24e92c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x24e92c['id'],_0x24e92c,!0x1);if(pt(_0x401f92)&&'destroyed'!==this['editor']['state'])throw _0x401f92;return _0x48c2d6;}throw _0x401f92;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x58ccdf,{revisionsData:_0x3b2754,requestId:_0x824db3})=>{Math['max'](..._0x3b2754['map'](_0x466f92=>_0x466f92['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}):this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x460a4a['connection']?.['state']&&(_0x460a4a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x23b416,requestId:_0x2851fe}=await this['_revisionHistoryService']['connect'](_0x460a4a['connection']);_0x460a4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x2851fe,await this['_fetchMissingUsers'](_0x23b416);for(const _0x2c2669 of _0x23b416)this['_revisionTracker']['addRevisionData'](_0x2c2669);this['listenTo'](_0x5b0c87,'change:_isConnected',(_0x4c7a83,_0x112d92,_0x12389d)=>{_0x12389d&&(this['_oldOffset']=_0x5b0c87['_offset'],_0x4c7a83['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x572216=this['editor']['plugins']['get'](z),_0x5ab988=this['editor']['plugins']['get'](tt),_0x5e87a0=async()=>{const _0x402351=this['_revisionTracker']['currentRevision'],_0x5bdf79=_0x402351['id'],_0xceecb8=_0x5bdf79!==_0x5ab988['sessionId'];if(_0xceecb8){const _0x2b2e23=_0x5ab988['_offset']-this['_oldOffset'],_0x478fa6=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x402351['toVersion']+_0x2b2e23!==_0x478fa6){const _0x233db7=_0x402351['fromVersion']+_0x2b2e23,_0x34ef5d=this['editor']['plugins']['get'](_0x436e7d),_0x3ad6c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x402351,'from':_0x233db7,'to':_0x478fa6});_0x3ad6c4['id']=_0x402351['id'];const _0x1a0dc6=_0x3ad6c4['authorsIds']['map'](_0xa0cb1a=>_0x34ef5d['getUser'](_0xa0cb1a));_0x402351['_update']({..._0x3ad6c4,'authors':_0x1a0dc6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x402351['id'],_0x3ad6c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x478fa6,_0x402351['toVersion']!==_0x402351['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5bdf79)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5bdf79),this['_revisionTracker']['_createCurrentRevision'](_0x478fa6);}const {revisions:_0xb60280,requestId:_0x253ee4}=await this['_revisionHistoryService']['reconnect'](_0x572216['connection'],this['_lastRequestId']);_0xceecb8&&_0xb60280['length']>0x0?_0x5ab988['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xb60280),this['_handleRevisionsUpdate'](_0xb60280,_0x253ee4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5ab988['_isConnected']?_0x5e87a0():new Promise((_0x4b46fc,_0x521a6e)=>{_0x5ab988['once']('change:_isConnected',()=>{_0x5e87a0()['then'](_0x4b46fc)['catch'](_0x521a6e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x431d6b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15c4ef=>{_0x15c4ef['off'](),_0x431d6b();});});}['_getLatestVersionFromServerOperations'](){const _0x44e38d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17b6ef of _0x44e38d)if('marker'!==_0x17b6ef['type']||_0x17b6ef['affectsData'])return _0x17b6ef['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4c1459=this['editor']['plugins']['get'](tt);return new Promise(_0x2967e9=>{_0x4c1459['_isPendingUpdate']?_0x4c1459['once']('change:_isPendingUpdate',()=>{_0x2967e9(this['_getLatestVersionFromServerOperations']());}):_0x2967e9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1a9cf0,_0x37e1e5){const _0x1da30a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x37e1e5;for(const _0x582acd of _0x1a9cf0){const _0x2babd6=_0x1da30a['getRevision'](_0x582acd['id']);if(_0x2babd6){if((_0x582acd['fromVersion']||_0x582acd['toVersion'])&&(_0x582acd['diffData']=null),_0x2babd6===this['_revisionTracker']['currentRevision']){const _0xc6469d=Math['max'](_0x2babd6['toVersion'],_0x582acd['toVersion']),_0x4e706f=Math['max'](_0x2babd6['fromVersion'],_0x582acd['fromVersion']);let _0x206e0a;_0x2babd6['toVersion']===_0x582acd['toVersion']&&_0x2babd6['fromVersion']===_0x582acd['fromVersion']?(_0x206e0a=!0x0,this['_preventResendingRevisionData'](_0x582acd)):_0x582acd['toVersion']===_0xc6469d&&_0x582acd['fromVersion']===_0x4e706f?_0x206e0a=!0x1:(_0x2babd6['toVersion']===_0xc6469d&&_0x2babd6['fromVersion']===_0x4e706f||this['_fixRevision']({'revision':_0x2babd6,'from':_0x4e706f,'to':_0xc6469d}),_0x206e0a=!0x0),_0x206e0a&&(delete _0x582acd['fromVersion'],delete _0x582acd['toVersion'],delete _0x582acd['diffData'],delete _0x582acd['createdAt'],delete _0x582acd['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x582acd),this['_preventResendingRevisionData'](_0x582acd);}else this['_revisionTracker']['addRevisionData'](_0x582acd);}const _0x279e89=_0x1da30a['getRevisions']();_0x279e89['reverse']();for(let _0xd8f136=0x0;_0xd8f136<_0x279e89['length']-0x1;_0xd8f136++){const _0x352cae=_0x279e89[_0xd8f136],_0xc29ca3=_0x279e89[_0xd8f136+0x1];if(_0x352cae['fromVersion']<_0xc29ca3['toVersion']){const _0x40b238=_0xc29ca3['toVersion'],_0x192082=Math['max'](_0x40b238,_0x352cae['toVersion']);this['_fixRevision']({'revision':_0x352cae,'from':_0x40b238,'to':_0x192082});}}}['_fixRevision']({revision:_0x2b43c6,from:_0x5e4761,to:_0x3e3959}={}){const _0x4a644d=this['editor']['plugins']['get'](_0x436e7d),_0x125072=this['_revisionTracker']['buildRevisionData']({'revision':_0x2b43c6,'from':_0x5e4761,'to':_0x3e3959});_0x125072['authors']=_0x125072['authorsIds']['map'](_0x4b0c87=>_0x4a644d['getUser'](_0x4b0c87)),_0x2b43c6['_update'](_0x125072);}['_preventResendingRevisionData'](_0x35d90c){const _0x41abec={};_0x41abec['id']=_0x35d90c['id'];for(const _0x543d1c of Object['keys'](_0x35d90c))'id'!==_0x543d1c&&(_0x41abec[_0x543d1c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x41abec['id'],_0x41abec,!0x0);}async['_fetchMissingUsers'](_0xe61c58){const _0x19aead=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x4a9c6e}=this['editor']['plugins']['get'](z),_0x40c4fe=new Set();for(const _0x1f456b of _0xe61c58){for(const _0x63f10f of _0x1f456b['authorsIds'])_0x2a8fbf(_0x63f10f);_0x1f456b['creatorId']&&_0x2a8fbf(_0x1f456b['creatorId']);}if(0x0===_0x40c4fe['size'])return;const _0x4ac468=await _0x2b182d['getMany'](_0x4a9c6e,Array['from'](_0x40c4fe));for(const _0x9df97e of _0x4ac468)_0x19aead['getUser'](_0x9df97e['id'])||_0x19aead['addUser'](_0x9df97e);function _0x2a8fbf(_0x369a56){_0x19aead['getUser'](_0x369a56)||_0x40c4fe['add'](_0x369a56);}}};function pt(_0xa9b60f){return _0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x3eef9e{static get['requires'](){return[_0x2f5675,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x118b39{['_collapseAt'];constructor(_0x896550,_0x55540d=0x6){super(_0x896550);const _0x5f11e2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x55540d,this['bind']('isHidden')['to'](this,'usersCount',_0xd2ca01=>_0xd2ca01<_0x55540d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5f11e2['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':_0x5f11e2['to']('usersCount',_0xf8ac44=>'+'+(_0xf8ac44-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x118b39{['items'];['keystrokes'];constructor(_0x106610){super(_0x106610);const _0xb7830b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1b9bbc(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb7830b['if']('hasPopup'),'aria-expanded':_0xb7830b['to']('isExpanded',_0x371977=>this['hasPopup']&&String(_0x371977)),'aria-label':_0xb7830b['to']('hasPopup',_0x19ea53=>X(_0x106610,_0x19ea53?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb7830b['to']('hasPopup',_0xcfa072=>!!_0xcfa072&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xb7830b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xb7830b['to'](_0x56b748=>{const _0x18c69b=_0x56b748,_0xde48eb=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5c34f3=document['querySelector']('.ck-balloon-panel_with-arrow');_0xde48eb?.['contains'](_0x18c69b['relatedTarget'])||_0x5c34f3?.['contains'](_0x18c69b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4b39df,_0x1aae65,_0x3af195)=>{this['element']&&(_0x3af195?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 _0x118b39{['counterView'];['inlineListView'];constructor(_0x2a4901,_0x174abb=0x6){super(_0x2a4901);const _0x54101a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x174abb),this['inlineListView']=new vt(_0x2a4901),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x14671b of this['inlineListView']['items'])_0x14671b['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',_0x54101a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x118b39{['listWrapperView'];constructor(_0x5cfff2,_0x1bb302){super(_0x5cfff2);const _0x4ae741=this['bindTemplate'];this['listWrapperView']=new bt(_0x5cfff2,_0x1bb302),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5cfff2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4ae741['to'](_0x4decec=>{const _0xdd5b0f=_0x4decec,_0x4a0e85=document['querySelector']('.ck-presence-list__list'),_0xf3f576=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a0e85?.['contains'](_0xdd5b0f['relatedTarget'])||_0xf3f576?.['contains'](_0xdd5b0f['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x63033d{constructor(_0x195ae4,_0x1ea244){super(_0x195ae4);const _0x5bb89b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1ea244?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5bb89b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5bb89b['to']('role'),'aria-label':_0x5bb89b['to']('ariaLabel'),'aria-labelledby':_0x5bb89b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5de4cf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x524c99=this['element'];_0x524c99&&(this['_isScrollable']=Math['max'](_0x524c99['scrollHeight'],_0x524c99['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x537ded{['userView'];constructor(_0x5ef706,_0x30536f,_0x944c9d){super(_0x5ef706);const _0x3d86ac=this['bindTemplate'];this['userView']=new _0x2710e6(_0x5ef706,_0x30536f);const _0x58d55c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x30536f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x30536f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x30536f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x30536f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x30536f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x944c9d&&(_0x58d55c['tag']='button',_0x58d55c['on']={'click':_0x3d86ac['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x58d55c);}['focus'](){this['element']['focus']();}},It=class extends _0x118b39{['userView'];['markerView'];constructor(_0xf0507d,_0x32e45b,_0x54db38){super(_0xf0507d);const _0x5be7c2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2710e6(_0xf0507d,_0x32e45b),this['markerView']=new St(_0xf0507d,_0x32e45b);const _0x370d7d=new _0x5cd191(_0xf0507d);_0x370d7d['template']['tag']='span',_0x370d7d['text']=_0x32e45b['name'];const _0x57eecc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5be7c2['to']('isFocusable',_0x2352f1=>!!_0x2352f1&&0x0),'aria-labelledby':_0x370d7d['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5be7c2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5be7c2['to']('hasTooltip',_0x50cbb6=>!_0x50cbb6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x370d7d]};_0x54db38&&(_0x57eecc['tag']='button',_0x57eecc['on']={'click':_0x5be7c2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x57eecc);}},St=class extends _0x118b39{constructor(_0x6dc400,_0x3dc24a){super(_0x6dc400),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3dc24a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3dc24a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3dc24a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x2818ba{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x16ab25){super(_0x16ab25),this['context']['config']['define']('presenceList',Tt);const _0x440e68=_0x16ab25['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x440e68)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);if(_0x440e68<0x1)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x533d03(),this['balloonPanelView']=new _0x35ff59(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xb0027f of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb0027f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x357543,_0x2a45d3)=>{this['_handleUserAdd'](_0x2a45d3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x177429,_0x37b898)=>{this['_handleUserRemove'](_0x37b898);});}['_createView'](){const _0x20a7fe=this['context'],_0xe887ab=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1d664a=this['balloonPanelView'];if(!_0x7e36a1(_0x20a7fe['config']['get']('presenceList.container')))throw new _0x39cc72('presencelist-missing-container',this);return _0xe887ab['counterView']['bind']('usersCount')['to'](this),_0xe887ab['bind']('isCollapsed')['to'](this,'usersCount',_0x4614a7=>{const {collapseAt:_0x1c9c63}=_0x20a7fe['config']['get']('presenceList'),_0x3467e6=_0x4614a7>=_0x1c9c63;if(_0x3467e6&&!_0xe887ab['inlineListView']['items']['find'](_0x122f32=>_0x122f32 instanceof wt)){const _0x5ddeb9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5ddeb9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xe887ab['inlineListView']['items']['add'](_0xe887ab['counterView']);}return _0x3467e6||this['hideDropdown'](),_0x3467e6;}),_0xe887ab['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x521766=>{const _0x2b2b53=_0x20a7fe['config']['get']('presenceList'),_0x1ab9fd=new It(_0x20a7fe['locale'],_0x521766,!!_0x2b2b53['onClick']);return _0x1ab9fd['bind']('hasTooltip')['to'](_0xe887ab,'isCollapsed',_0x44d142=>!_0x44d142),_0x1ab9fd['bind']('isFocusable')['to'](_0xe887ab,'isCollapsed',_0xe472f=>!_0xe472f),_0x2b2b53['onClick']&&this['listenTo'](_0x1ab9fd,'execute',()=>{this['view']['isCollapsed']||_0x2b2b53['onClick'](_0x521766,_0x1ab9fd['element']);}),_0x1ab9fd;}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xe887ab['inlineListView']['keystrokes']['set']('Enter',(_0x505fa2,_0x5b6c9e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b6c9e());}),_0xe887ab['render'](),_0x1d664a['render'](),_0x125654({'emitter':_0xe887ab,'activator':()=>_0x1d664a['isVisible'],'contextElements':[_0x1d664a['element'],_0xe887ab['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20a7fe['config']['get']('presenceList.container')['appendChild'](_0xe887ab['element']),this['_bodyCollection']=new _0x39c0cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xe887ab;}['_handleUserAdd'](_0x29d2e9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x29d2e9['isMe'])return;const _0x58b8dd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x58b8dd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x33b5bf=_0x29d2e9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x29d2e9,_0x33b5bf);}['_handleUserRemove'](_0x13663f){this['usersCount']--;const {collapseAt:_0x1f6808}=this['context']['config']['get']('presenceList'),_0x30572e=this['usersCount']>=_0x1f6808;if(this['currentDisplayedUsers']['get'](_0x13663f['id']))this['currentDisplayedUsers']['remove'](_0x13663f['id']);else{if(_0x30572e&&this['currentDisplayedUsers']['length']+0x1===_0x1f6808-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)<this['usersCount']){for(const _0x5e426e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e426e['id'])&&(this['currentDisplayedUsers']['add'](_0x5e426e,Math['min'](this['currentDisplayedUsers']['length']-(_0x30572e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)===_0x1f6808-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x265562=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x265562['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5b0981}=this['presenceDropdownView'];_0x5b0981['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3a24fa=>{if(!_0x265562['displayMe']&&_0x3a24fa['isMe'])return null;const _0x505cee=new kt(this['context']['locale'],_0x3a24fa,!!_0x265562['onClick']);return _0x265562['onClick']&&this['listenTo'](_0x505cee,'execute',()=>{_0x265562['onClick'](_0x3a24fa,_0x505cee['element']);}),_0x505cee;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5b0981['focus'](),_0x5b0981['checkIfScrollable']();const _0x43c7ab=(_0x47a5f1,_0x504d3b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x504d3b();};_0x5b0981['keystrokes']['set']('Esc',_0x43c7ab),_0x5b0981['keystrokes']['set']('Shift+Tab',_0x43c7ab),_0x5b0981['keystrokes']['set']('Tab',(_0x23e302,_0x3a4ceb)=>{!function(_0x1d042e){const _0x679c11=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21c49d=>_0x21c49d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x83405a=[...document['body']['querySelectorAll'](_0x679c11)]['filter'](_0x24c05a=>_0x24c05a===document['activeElement']||_0x24c05a['offsetWidth']+_0x24c05a['offsetHeight']>0x0)['sort']((_0x224e27,_0x5949fa)=>(_0x224e27['tabIndex']||0x0)-(_0x5949fa['tabIndex']||0x0)),_0xa0d5e=_0x83405a[(_0x83405a['indexOf'](_0x1d042e)+0x1)%_0x83405a['length']];_0xa0d5e&&_0xa0d5e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a4ceb();}),_0x5b0981['focusTracker']['add'](this['view']['element']),_0x5b0981['focusTracker']['on']('change:isFocused',(_0x5ba22c,_0x10e3a9,_0x2a4399)=>{_0x2a4399||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 _0x2818ba{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};