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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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{ContextPlugin as _0xfc25ee,Plugin as _0x7d5606,PendingActions as _0x266219,Context as _0x18f807}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2fb07c,CKEditorError as _0x235139,Collection as _0x40b8f5,global as _0x4ae62f,version as _0x3cbd76,uid as _0x53efbe,KeystrokeHandler as _0x2c5ed1}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2ea787,View as _0x200324,ListView as _0x36060f,ListItemView as _0x2cee63,LabelView as _0x1bd5a2,BalloonPanelView as _0x2807ba,clickOutsideHandler as _0x39a237,BodyCollection as _0x9ad684}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3a785a,History as _0x4c61b2,NoOperation as _0x4b1528,InsertOperation as _0x3c46a8,MarkerOperation as _0x13a98e,RootAttributeOperation as _0x6eb12,transformOperationSets as _0x399d51,OperationFactory as _0x683b24}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x3e849f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x463117,WEB_SOCKET_GATEWAY_STATES as _0x125ccb,CollaborativeEditingService as _0x27da54,User as _0x532341,CommentsService as _0x421f5f,TrackChangesService as _0x5a855e,RevisionHistoryService as _0x4c05e4,EditorService as _0x1358ea}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x262a12,UserView as _0x5ca895}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x40c2f3}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x1d859c,TrackChanges as _0x17a835}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x2c2141,Comments as _0x4aaf32,CommentsEditing as _0x9ff058}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x2d0829}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x28d487}from'es-toolkit/compat';class z extends _0xfc25ee{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x463117)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x3e849f,_0x2ea787];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x146a48){super(_0x146a48),this['set']('state',_0x125ccb['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2fb07c())();}['init'](){const _0x2edb39=this['context'],_0x950b5e=_0x2edb39['plugins']['get'](_0x3e849f),_0x398dcf=_0x2edb39['plugins']['get'](_0x2ea787);if(!_0x950b5e['token'])throw new _0x235139('websocketgateway-missing-token',this);if(!_0x950b5e['webSocketUrl'])throw new _0x235139('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),z['WebSocketGateway']['connect'](_0x950b5e['token'],_0x950b5e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x303c8d=>{if(this['connection']=_0x303c8d,this['bind']('state')['to'](_0x303c8d,'state',this,'_isBrowserOffline',(_0x4309c0,_0x3ff228)=>('connected'!==_0x4309c0&&(this['_shouldPluginsReconnect']=!0x0),_0x3ff228||_0x4309c0!==_0x125ccb['CONNECTED']?_0x125ccb['DISCONNECTED']:this['state']==_0x125ccb['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x125ccb['CONNECTING']):_0x125ccb['CONNECTED'])),this['connection']['on']('error',(_0x1d2262,_0x41b3e2)=>{if('limitExceeded'!==_0x41b3e2['code'])throw console['error'](_0x41b3e2),new _0x235139('cloudservices-init',null,{'originalError':_0x41b3e2});_0x398dcf['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'});}),!_0x303c8d['me'])return new Promise(_0x204b9e=>_0x303c8d['on']('change:me',_0x204b9e));})['catch'](_0x4a6ddd=>{throw console['error'](_0x4a6ddd),new _0x235139('cloudservices-init',null,{'originalError':_0x4a6ddd});});}['addToReconnectionStack'](_0x313349){if('function'!=typeof _0x313349['reconnect'])throw new _0x235139('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x313349))throw new _0x235139('websocketgateway-plugin-already-registered',this,{'name':_0x313349['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x313349);}['removeFromReconnectionStack'](_0x3d5ad2){this['_reconnectionStack']['delete'](_0x3d5ad2);}['isInReconnectionStack'](_0x4159d5){return this['_reconnectionStack']['has'](_0x4159d5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4d9617=>_0x4d9617['reconnect']())))['then'](()=>this['state']=_0x125ccb['CONNECTED'])['catch'](_0x3b4d70=>{throw console['error'](_0x3b4d70),new _0x235139('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x125ccb['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xfc25ee{['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,_0x262a12];}constructor(_0x296178){super(_0x296178),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x40b8f5(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x262a12);}['init'](){const _0x1f4252=this['context']['plugins']['get'](z);this['listenTo'](_0x1f4252,'change:state',(_0x27becb,_0x336ec5,_0x5bf115)=>{if('connected'!==_0x5bf115)this['channelSessions']['forEach'](_0x374b41=>_0x374b41['clear']()),this['channelConnectedUsers']['forEach'](_0x3c5e1f=>_0x3c5e1f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4ae6f0,_0x370ce2]of this['_registeredSessions'])for(const _0x1eeb0e of _0x370ce2)this['_handleSessionAdd'](_0x4ae6f0,_0x1eeb0e);}}),this['_createUser'](_0x1f4252['connection']['me'],!0x0);}['register'](_0x4294cf,_0x3bf052){if(this['_registeredSessions']['has'](_0x4294cf))throw new _0x235139('sessions-register-already-registered',null,{'channelId':_0x4294cf});this['_registeredSessions']['set'](_0x4294cf,_0x3bf052),this['channelSessions']['set'](_0x4294cf,new _0x40b8f5()),this['channelConnectedUsers']['set'](_0x4294cf,new _0x40b8f5()),this['listenTo'](_0x3bf052,'add',(_0x304b66,_0x1dc4e2)=>this['_handleSessionAdd'](_0x4294cf,_0x1dc4e2)),this['listenTo'](_0x3bf052,'remove',(_0x5380ce,_0x6ee790)=>this['_handleSessionRemove'](_0x4294cf,_0x6ee790));for(const _0x3f188f of _0x3bf052)this['_handleSessionAdd'](_0x4294cf,_0x3f188f);}['unregister'](_0x5f3fe6){if(!this['_registeredSessions']['has'](_0x5f3fe6))throw new _0x235139('sessions-unregister-not-exist',null,{'channelId':_0x5f3fe6});const _0x22202f=this['_registeredSessions']['get'](_0x5f3fe6);this['stopListening'](_0x22202f);for(const _0x3da6f1 of _0x22202f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5f3fe6,_0x3da6f1);this['_registeredSessions']['delete'](_0x5f3fe6),this['channelSessions']['delete'](_0x5f3fe6),this['channelConnectedUsers']['delete'](_0x5f3fe6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2c4f9a){for(const _0x27b0d8 of this['channelSessions']['values']())for(const _0x6c290b of _0x27b0d8)if(_0x6c290b['id']===_0x2c4f9a)return _0x6c290b['user'];}['getUserSessions'](_0x128aa1,_0x16d129){const _0x16a033=_0x16d129?[this['channelSessions']['get'](_0x16d129)]:this['channelSessions']['values'](),_0x157df5=new Set();for(const _0x1daff5 of _0x16a033)for(const _0x316535 of _0x1daff5)_0x316535['user']['id']===_0x128aa1['id']&&_0x157df5['add'](_0x316535['id']);return _0x157df5;}['getUserRole'](_0x1289b3){for(const _0x14d487 of this['channelSessions']['values']())for(const _0x2808f2 of _0x14d487)if(_0x2808f2['user']===_0x1289b3)return _0x2808f2['role'];}['_handleSessionAdd'](_0x44cef1,_0x5a9e18){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e26e=_0x5a9e18['user'],_0x250fc9=this['_users']['getUser'](_0x5e26e['id'])||this['_createUser'](_0x5e26e),_0x5d5fa1=Object['assign']({},_0x5a9e18,{'user':_0x250fc9});if(this['channelSessions']['get'](_0x44cef1)['add'](_0x5d5fa1),!_0x5e26e['hiddenInPresenceList']){const _0x48a238=this['channelConnectedUsers']['get'](_0x44cef1);_0x48a238['has'](_0x250fc9['id'])||_0x48a238['add'](_0x250fc9),this['allConnectedUsers']['has'](_0x250fc9['id'])||_0x5e26e['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x250fc9,_0x250fc9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x44cef1,{'channelId':_0x44cef1,'session':_0x5d5fa1});}['_handleSessionRemove'](_0xab08d0,_0x2b1672){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x37802c=this['channelConnectedUsers']['get'](_0xab08d0),_0x1ad6fd=_0x2b1672['user'];_0x1ad6fd['id']&&(this['channelSessions']['get'](_0xab08d0)['remove'](_0x2b1672['id']),_0x37802c['has'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd,_0xab08d0)['size']&&_0x37802c['remove'](_0x1ad6fd['id']),this['allConnectedUsers']['get'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd)['size']&&this['allConnectedUsers']['remove'](_0x1ad6fd['id']));}['_createUser'](_0x24d032,_0x175066){const _0x3fca0b=this['_users']['addUser'](_0x24d032);return _0x175066&&this['_users']['defineMe'](_0x24d032['id']),_0x3fca0b['orderNumber']=this['_uniqueUsersCount']++,_0x3fca0b;}}class K extends _0x7d5606{['_domEmitter']=new(_0x2fb07c())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x546c23=this['editor'],_0x45623e=_0x546c23['plugins']['get'](Y);_0x546c23['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x565e70,{writer:_0x1e9193})=>function(_0x59b555,_0x5320be,_0x3538c6,_0x6cf500){const _0x332016=_0x59b555['markerName']['split'](':')[0x2],_0x13807d=_0x3538c6['getUserBySessionId'](_0x332016);if(!_0x13807d||_0x332016===_0x3538c6['mySessionId'])return;if(!_0x6cf500['model']['schema']['checkChild'](_0x59b555['markerRange']['start'],'$text'))return;const _0x795258={'class':'ck-user__marker\x20'+_0x13807d['color']['getMarkerClass'](),'style':Q(_0x13807d),'data-name':_0x13807d['name'],'data-session-id':_0x332016},_0x492dbd=_0x6cf500['model']['markers']['get'](_0x59b555['markerName']),_0x22ed78=_0x492dbd['getStart'](),_0x3a40b0=_0x22ed78['nodeAfter'],_0x3e8565=_0x6cf500['model']['schema'];if(_0x3a40b0&&_0x3e8565['isObject'](_0x3a40b0)&&_0x3e8565['isInline'](_0x3a40b0)&&!_0x6cf500['model']['markers']['get']('user:range:'+_0x332016)['getRange']()['isCollapsed'])return;const _0x31ac1e=_0x22ed78['parent'];return _0x6cf500['model']['schema']['isLimit'](_0x31ac1e)&&!_0x6cf500['model']['hasContent'](_0x31ac1e)&&(_0x795258['contenteditable']=!0x1),function(_0xef1507,_0x326683,_0x38add8){const _0x3b843d=_0xef1507['createUIElement']('span',_0x326683);return _0xef1507['setCustomProperty']('userPositionMarker',!0x0,_0x3b843d),_0x3b843d['render']=function(_0x31570b){const _0x5672c7=this['toDomElement'](_0x31570b),_0x424b08=document['createElement']('span');return _0x424b08['classList']['add']('ck-user__marker-tooltip'),_0x424b08['setAttribute']('contenteditable','false'),_0x424b08['setAttribute']('spellcheck','false'),_0x424b08['textContent']=_0x38add8['name'],_0x5672c7['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x424b08['outerHTML']+'⁠',_0x5672c7['addEventListener']('mouseenter',()=>{_0x5672c7['classList']['add']('ck-user__marker_hovered');}),_0x5672c7['addEventListener']('mouseleave',()=>{_0x5672c7['classList']['remove']('ck-user__marker_hovered');}),_0x5672c7;},_0x3b843d['isSimilar']=function(_0x3a6ed0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3a6ed0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3a6ed0['getAttribute']('data-session-id'));},_0x3b843d;}(_0x5320be,_0x795258,_0x13807d);}(_0x565e70,_0x1e9193,_0x45623e,_0x546c23)}),_0x546c23['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40316e=>function(_0x78e925,_0x1c37a0){const _0x201bc3=_0x78e925['markerName']['split'](':')[0x2];if(_0x201bc3===_0x1c37a0['mySessionId'])return null;const _0x50df26=_0x1c37a0['getUserBySessionId'](_0x201bc3);if(!_0x50df26)return{'id':_0x201bc3,'classes':[]};return{'id':_0x201bc3,'classes':['ck-user__selection',_0x50df26['color']['getSelectionClass']()],'attributes':{'style':Q(_0x50df26),'data-session-id':_0x201bc3},'priority':0x7d0+_0x50df26['orderNumber']};}(_0x40316e,_0x45623e)}),function(_0x430ad2){const _0x11e7ba=_0x430ad2['model'],_0x5837e5=new Map(),_0x2c0215=_0x430ad2['plugins']['get'](Y);_0x11e7ba['markers']['on']('update:user:range',(_0x26158c,_0x5c65f8,_0x3951d1,_0x3a14f3)=>{if(!_0x3a14f3&&_0x5837e5['get'](_0x5c65f8['name']))return _0x5837e5['get'](_0x5c65f8['name'])['detach'](),void _0x5837e5['delete'](_0x5c65f8['name']);const _0x4cb220=_0x5c65f8['name']['split'](':')[0x2];if(_0x4cb220===_0x2c0215['mySessionId'])return;const _0x26744e='user:position:'+_0x4cb220;_0x11e7ba['markers']['has'](_0x26744e)&&_0x430ad2['editing']['reconvertMarker'](_0x26744e),_0x5c65f8['on']('change:range',(_0xa8ae4b,_0x4569b2,_0x49805d)=>{if('$graveyard'!=_0x4569b2['root']['rootName']&&'$graveyard'==_0x5c65f8['getRange']()['root']['rootName']&&!_0x5837e5['has'](_0x5c65f8['name'])){const _0x136d60=_0x11e7ba['schema']['getNearestSelectionRange'](_0x49805d['deletionPosition']);if(_0x136d60){const _0xe70484=_0x3a785a['fromRange'](_0x136d60);_0x5837e5['set'](_0x5c65f8['name'],_0xe70484),_0xe70484['on']('change:range',(_0x41da28,_0x3e5b49,_0x35cda8)=>{if('$graveyard'==_0xe70484['root']['rootName']){const _0x53ff4f=_0x11e7ba['schema']['getNearestSelectionRange'](_0x35cda8['deletionPosition']);_0x53ff4f?(_0xe70484['start']=_0x53ff4f['start'],_0xe70484['end']=_0x53ff4f['end']):(_0x5837e5['delete'](_0x5c65f8['name']),_0xe70484['detach']());}});}}});}),_0x11e7ba['document']['on']('change',()=>{_0x5837e5['size']>0x0&&_0x11e7ba['enqueueChange']({'isUndoable':!0x1},_0x239966=>{for(const [_0x32e51c,_0x57a1f2]of _0x5837e5)'$graveyard'==_0x11e7ba['markers']['get'](_0x32e51c)['getRange']()['root']['rootName']&&(J(_0x32e51c['split'](':')[0x2],_0x57a1f2['toRange'](),_0x11e7ba,_0x239966),_0x57a1f2['detach']());_0x5837e5['clear']();});});}(_0x546c23),this['_domEmitter']['listenTo'](_0x4ae62f['document'],'keydown',(_0x2958f4,{key:_0x1d82ca})=>{'Escape'===_0x1d82ca&&function(_0x2c174b){_0x2c174b['editing']['view']['change'](_0x58c7a3=>{for(const _0x16832b of _0x2c174b['model']['markers']){if(!_0x16832b['name']['startsWith']('user:position'))continue;const _0x3c257e=_0x2c174b['editing']['mapper']['markerNameToElements'](_0x16832b['name']);if(_0x3c257e){for(const _0x208e20 of _0x3c257e)_0x58c7a3['removeClass']('ck-user__marker_hovered',_0x208e20);}}});}(_0x546c23);},{'useCapture':!0x0});}['afterInit'](){const _0x243df7=this['editor'],_0x23c380=_0x243df7['commands']['get']('undo');_0x23c380&&_0x243df7['model']['on']('applyOperation',(_0x1340db,_0x9f76c0)=>{const _0x44be5b=_0x9f76c0[0x0];if(!_0x44be5b['isDocumentOperation'])return;if('marker'!=_0x44be5b['type']||!_0x44be5b['name']['startsWith']('user:'))return;const _0x1e6307=_0x44be5b['batch'];_0x23c380['_createdBatches']['has'](_0x1e6307)&&(_0x44be5b['newRange']=_0x44be5b['oldRange']?_0x243df7['model']['createRange'](_0x44be5b['oldRange']['start'],_0x44be5b['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x459a24=this['editor'],_0xeec206=_0x459a24['model']['document'],_0x1e591f=_0x459a24['plugins']['get'](Y);_0x459a24['model']['enqueueChange']({'isUndoable':!0x1},_0x9a98e7=>{const _0x3c4eba='user:range:'+_0x1e591f['mySessionId'],_0x2eb016='user:position:'+_0x1e591f['mySessionId'],_0x4a6268=_0x459a24['model']['markers']['has'](_0x3c4eba);_0x459a24['editing']['view']['hasDomSelection']?J(_0x1e591f['mySessionId'],_0xeec206['selection']['getFirstRange'](),_0x459a24['model'],_0x9a98e7):_0x4a6268&&(_0x9a98e7['removeMarker'](_0x3c4eba),_0x9a98e7['removeMarker'](_0x2eb016));});}}function J(_0xaada55,_0x178131,_0x1ef82a,_0x5c101c){const _0x561216='user:range:'+_0xaada55,_0x165a34='user:position:'+_0xaada55,_0x43bc44=_0x178131['getContainedElement']();let _0x33f69d=_0x178131['start'];if(_0x43bc44&&_0x43bc44['is']('element','tableCell')){const _0x1ba06d=function(_0x1e939e,_0x425392){for(const _0x1ddc09 of _0x1e939e['getPositions']())if(_0x425392['schema']['checkChild'](_0x1ddc09,'$text'))return _0x1ddc09;}(_0x178131,_0x1ef82a);_0x1ba06d&&(_0x33f69d=_0x1ba06d,_0x178131=_0x5c101c['createRange'](_0x33f69d));}const _0x2e3bb6=_0x5c101c['createRange'](_0x33f69d);_0x1ef82a['markers']['has'](_0x561216)?(_0x5c101c['updateMarker'](_0x561216,{'range':_0x178131}),_0x5c101c['updateMarker'](_0x165a34,{'range':_0x2e3bb6})):(_0x5c101c['addMarker'](_0x561216,{'range':_0x178131,'usingOperation':!0x0}),_0x5c101c['addMarker'](_0x165a34,{'range':_0x2e3bb6,'usingOperation':!0x0}));}function Q(_0x3b110f){return'--ck-user-color:'+_0x3b110f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3b110f['color']['getColorAlphaVariable']()+';';}function X(_0x37b9cd,_0x1d4a08,_0x27d10a){const _0x5a1407=_0x37b9cd['t'],t=_0x37b9cd['t'];switch(_0x1d4a08){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 _0x5a1407({'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'},_0x27d10a);default:return'';}}let Z=0x1;class tt extends _0x7d5606{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x27da54)());['_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,_0x266219,_0x262a12,_0x2ea787];}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 _0x3e3599=this['serverHistory']['getOperations']();for(let _0x6d360=_0x3e3599['length']-0x1;_0x6d360>=0x0;_0x6d360--){const _0x48bcd8=_0x3e3599[_0x6d360];if(!this['_disconnectionOperations']['has'](_0x48bcd8))return _0x48bcd8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xc9151){if(super(_0xc9151),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4c61b2(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x235139('collaboration-missing-channelid',this);const _0x5030c8=_0xc9151['config']['get']('cloudServices.bundleVersion')||_0x3cbd76;this['_service']=new tt['CollaborativeEditingService'](_0x5030c8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x40c2f3(),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 _0x32d2b7=this['editor'],_0x74d8eb=_0x32d2b7['plugins']['get'](_0x262a12),_0x35e56e=_0x32d2b7['plugins']['get'](z);this['listenTo'](_0x74d8eb,'getOperationAuthor',(_0x4b1999,_0x12860a)=>{const _0x36101f=_0x12860a[0x0];_0x36101f['_authorId']&&(_0x4b1999['return']=_0x74d8eb['getUser'](_0x36101f['_authorId']),_0x4b1999['stop']()),null===_0x36101f['_authorId']&&(_0x4b1999['return']=null,_0x4b1999['stop']());},{'priority':'high'}),this['listenTo'](_0x32d2b7['model']['document']['selection'],'change:range',(_0x2a6ff0,_0x13793e)=>{_0x13793e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x32d2b7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x32d2b7['model']['on']('applyOperation',(_0x118621,_0x98019a)=>{const _0x31c2f1=_0x98019a[0x0];_0x31c2f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x31c2f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x35e56e,'state',this,'_hasSynchronizationProblem',(_0x5b2f95,_0x232191)=>'connected'===_0x5b2f95&&!_0x232191),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edc8e=this['editor']['plugins']['get'](Y),_0x494a99=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edc8e['unregister'](this['_channelId']);const _0x5d4af1=await this['_service']['reconnect'](_0x494a99['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5d4af1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x106afc=await this['_service']['getConnectedSessions']();_0x3edc8e['register'](this['_channelId'],_0x106afc),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x12b92f){if(function(_0xa8a6e8){return'404'===_0xa8a6e8['code'];}(_0x12b92f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x596562){return'409'===_0x596562['code'];}(_0x12b92f)){const _0x2c52f3=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'](_0x2c52f3);}else{if(!(_0x12b92f instanceof et))throw _0x12b92f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3272df=this['editor']['plugins']['get'](z),_0x446998=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x446998['channelSessions']['has'](this['_channelId'])&&_0x446998['unregister'](this['_channelId']),_0x3272df['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5b3b04){if(this['sessionId']!==_0x5b3b04['sessionId']&&this['_lastSyncedOperationId']!==_0x5b3b04['lastOperationId'])throw new et();return this['sessionId']=_0x5b3b04['sessionId'],this['_handleServerResponse']([],{..._0x5b3b04,'wereChangesApplied':!0x1,'data':_0x5b3b04['data']},'reconnect');}async['_connectService'](_0x4fc730,_0x10b90c=!0x1){const {connection:_0x3a2145}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x3a2145,this['_channelId'])['then'](_0x360e52=>this['_initSessionsHandling'](_0x360e52))['catch'](_0x3a6d22=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3a6d22);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1f9d1d,_0xd1b0ab)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xd1b0ab);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x44484d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4fc730);this['_isPendingUpdate']=!0x0;const _0x3f4dae=await this['_service']['connect'](_0x3a2145,this['_compressOperations'](_0x4fc730),_0x44484d);if(this['sessionId']=_0x3f4dae['sessionId'],_0x10b90c){if(!_0x3f4dae['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3f4dae['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4fc730,_0x3f4dae,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3f4dae,_0x4fc730);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x66c165=this['editor']['plugins']['get'](Y),_0x5d9c50=this['editor']['plugins']['get'](K),_0x2f8580=_0x66c165['channelSessions']['get'](this['_channelId']);_0x2f8580&&_0x2f8580['length']>0x1?_0x5d9c50['createUserMarkerOperations']():this['listenTo'](_0x66c165,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x66c165['channelSessions']['get'](this['_channelId'])['length']&&_0x5d9c50['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1217ab,_0x439314,_0x4d5c2d,_0x3f0c16){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x439314){const _0x3cf2e9=this['_decompressOperations'](_0x4d5c2d,_0x3f0c16);await this['_fetchMissingUsers'](_0x3cf2e9),this['_handleExternalOperations'](_0x3cf2e9,_0x439314,_0x4d5c2d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xbe41a3}=this['editor'];let _0x324da7;try{_0x324da7=await this['_service']['getDocumentDetails']();}catch{const _0x19f200=X(_0xbe41a3,'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'](_0x19f200);}const _0x14d78b=_0x324da7['currentDocumentSession']||_0x324da7['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x14d78b['lastOperationId']){const _0x39342a=X(_0xbe41a3,'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'](_0x39342a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3786ab){const _0x5e4be0=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5e4be0,'sessionAdd:'+this['_channelId'],(_0x4f3675,{session:_0x3a3134})=>{if(_0x3a3134['id']===_0x5e4be0['mySessionId']){_0x4f3675['off']();const _0x46af86=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xae109f=_0x3a3134['permissions'];_0x46af86&&_0x46af86['isEnabled']&&(_0xae109f=_0xae109f['filter'](_0x24bdfe=>'document:write'!==_0x24bdfe)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xae109f,this['_channelId']);}}),_0x5e4be0['register'](this['_channelId'],_0x3786ab);}['_initThrowingOnDataSet'](){const _0xf5d1d9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2f2f51)=>{if(!_0x2f2f51[_0x2f2f51['length']-0x1]['suppressErrorInCollaboration'])throw new _0x235139('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xf5d1d9['apply'](this['editor']['data'],_0x2f2f51);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1264ab,[_0x4253c4])=>{if(this['_document']['version'])throw new _0x235139('realtimecollaborationclient-init-document-already-initialized',this);_0x1264ab['stop'](),this['_setPendingAction']();const _0x4dabd6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1f48ad])=>!_0x1f48ad['lazyLoad'])['map'](([_0x34ecec,_0x239acf])=>[_0x34ecec,_0x239acf['modelAttributes']||{}])),_0x9e5bf2=this['_getOperationsFromInitData'](_0x4253c4,_0x4dabd6);0x0==_0x9e5bf2['length']&&_0x9e5bf2['push'](new _0x4b1528(0x0)),_0x1264ab['return']=this['_connectService'](_0x9e5bf2)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x113b8b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x113b8b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1d9ae3,[_0x515e9f,_0x5ddc58])=>{_0x1d9ae3['stop']();const _0x27b435=this['editor']['model']['document']['getRoot'](_0x515e9f);if(!this['_knownRootNames']['has'](_0x515e9f)){const _0xe53e71=_0x5ddc58&&_0x5ddc58['data']?_0x5ddc58['data']:'',_0x1e3f09=_0x5ddc58&&_0x5ddc58['attributes']?_0x5ddc58['attributes']:{};await this['_loadRoot'](_0x515e9f,_0xe53e71,_0x1e3f09);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x27b435['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x27b435);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x284dab){const _0x40d2a0=this['editor']['plugins']['get'](_0x262a12),{connection:_0x1bff8d}=this['editor']['plugins']['get'](z),_0x1d19bc=new Set();for(const _0x187310 of _0x284dab){const _0x2cf1f5=_0x187310['_authorId'];_0x2cf1f5&&!_0x40d2a0['getUser'](_0x2cf1f5)&&_0x1d19bc['add'](_0x2cf1f5);}if(0x0===_0x1d19bc['size'])return;const _0x5ace0f=await _0x532341['getMany'](_0x1bff8d,Array['from'](_0x1d19bc));for(const _0x34aea6 of _0x5ace0f)_0x40d2a0['getUser'](_0x34aea6['id'])||_0x40d2a0['addUser'](_0x34aea6);}['_getOperationsFromInitData'](_0x53fd01,_0x35c58b={}){const _0x4476f1=this['editor']['model'],_0x1fd324=[];let _0x3c2b07=0x0;const _0x13d9db='string'==typeof _0x53fd01?{'main':_0x53fd01}:_0x53fd01;for(const _0x271d24 of Object['keys'](_0x13d9db)){if(!this['_document']['roots']['has'](_0x271d24))throw new _0x235139('realtimecollaborationclient-init-non-existent-root',this);const _0x540756=this['editor']['data']['parse'](_0x13d9db[_0x271d24]),_0x2a00cf=this['_document']['getRoot'](_0x271d24),_0x7ff511=new _0x3c46a8(_0x4476f1['createPositionAt'](_0x2a00cf,0x0),_0x540756,_0x3c2b07++);_0x1fd324['push'](_0x7ff511);for(const [_0x27b084,_0x4b4681]of _0x540756['markers']){const _0x58a734=_0x4476f1['createRange'](_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['start']['path']['slice']()),_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['end']['path']['slice']())),_0x3e573e=new _0x13a98e(_0x27b084,null,_0x58a734,_0x4476f1['markers'],!0x0,_0x3c2b07++);_0x1fd324['push'](_0x3e573e);}}if(_0x35c58b)for(const [_0x3a41a9,_0x566218]of Object['entries'](_0x35c58b)){const _0x4eef69=_0x4476f1['document']['getRoot'](_0x3a41a9);if(!_0x4eef69)throw new _0x235139('multi-root-editor-root-attributes-no-root',null);for(const [_0x413777,_0x5dd6b1]of Object['entries'](_0x566218))if(null!==_0x5dd6b1){const _0x5a854a=new _0x6eb12(_0x4eef69,_0x413777,null,_0x5dd6b1,_0x3c2b07++);_0x1fd324['push'](_0x5a854a);}}return _0x1fd324;}async['_loadRoot'](_0x278e4f,_0x412f3b,_0x2e085c){this['_getOperationsFromInitData']({[_0x278e4f]:_0x412f3b},{[_0x278e4f]:_0x2e085c})['forEach']((_0x379a4d,_0x9b2e01)=>{_0x379a4d['baseVersion']=this['_document']['version']+_0x9b2e01,_0x379a4d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x379a4d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x23fc88,_0x66722a){let _0x3c6fa7;this['_offset']=_0x23fc88['offset'];const _0xae23=_0x23fc88['wereChangesApplied']&&!_0x23fc88['initData'],_0x1861d0=_0xae23?0x0:_0x23fc88['data']['baseVersion'];if(_0x66722a['forEach'](_0x8231ca=>{_0x8231ca['_isInit']=!0x0,_0x8231ca['createdAt']=_0x23fc88['sessionCreatedAt'],_0x8231ca['_authorId']=null;}),_0xae23)_0x3c6fa7=_0x66722a,this['_applyOperationsSet'](_0x3c6fa7,_0xae23);else{if(_0x23fc88['initData']){const _0x4cd0f9=this['_getOperationsFromInitData'](_0x23fc88['initData']);this['_document']['history']['version']=-_0x4cd0f9['length'],_0x4cd0f9['forEach'](_0x3d8d8d=>{_0x3d8d8d['baseVersion']-=_0x4cd0f9['length'],_0x3d8d8d['createdAt']=_0x23fc88['sessionCreatedAt'],_0x3d8d8d['_isInit']=!0x0,_0x3d8d8d['_authorId']=null;}),this['_applyOperationsSet'](_0x4cd0f9,!0x0),this['serverHistory']['version']=-_0x4cd0f9['length']+this['_offset'],this['_updateServerHistory'](_0x4cd0f9);}this['_document']['history']['version']=_0x1861d0,_0x3c6fa7=this['_decompressOperations'](_0x23fc88['data'],_0x23fc88['metadata']),await this['_fetchMissingUsers'](_0x3c6fa7),this['_applyOperationsSet'](_0x3c6fa7,_0xae23);}_0x23fc88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3c6fa7,_0x23fc88['lastOperationId']),this['_lastSyncedOperationId']=_0x23fc88['lastOperationId']),this['serverHistory']['version']=_0x1861d0+this['_offset'],this['_updateServerHistory'](_0x3c6fa7),_0x66722a['filter'](_0x220f63=>{const _0x1e0163=this['_getAffectedRoot'](_0x220f63);return _0x1e0163&&!this['_knownRootNames']['has'](_0x1e0163);})['forEach']((_0x56d95a,_0x293ea0)=>{_0x56d95a['baseVersion']=this['_document']['version']+_0x293ea0,this['_saveOperationInBuffer'](_0x56d95a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x462c89,_0x3178b1){const _0x4be109=_0x3178b1&&_0x3178b1['message'];if(_0x4be109&&_0x4be109['startsWith']('realtimecollaborationclient'))throw _0x3178b1;const _0x246c00=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x246c00['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x235139(_0x462c89,this['editor'],_0x4be109?{'originalError':_0x4be109}:void 0x0);}['_saveOperationInBuffer'](_0x382b98){this['_knownOperations']['has'](_0x382b98)||(this['_knownOperations']['add'](_0x382b98),this['_bufferedOperations']['push'](_0x382b98),this['_pendingAction']||'marker'==_0x382b98['type']&&!_0x382b98['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5e9b2b=!0x1){!_0x5e9b2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x576fc9=>{_0x576fc9&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x525dda=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x20921d){return _0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x525dda)||this['_crash'](_0x525dda['message'],_0x525dda);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x27051a=>{this['on']('change:_isPendingUpdate',()=>{_0x27051a();});});}async['_sendBufferedOperations'](){const _0x4dac0f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dac0f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x769f11=[...this['_bufferedOperations']];for(const _0x423b92 of _0x769f11)_0x423b92['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x423b92);const _0xc7d0f7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x769f11),_0x1e30c0=Z++,_0x3a8518=this['_compressOperations'](_0x769f11),_0x5a2f37=await this['_service']['sendOperations'](_0x3a8518,_0x3a8518['baseVersion'],_0xc7d0f7);try{return await this['_handleServerResponse'](_0x769f11,_0x5a2f37,_0x1e30c0);}catch(_0x1d577f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1d577f);}}async['_handleServerResponse'](_0x4c2061,_0x20f3c4,_0x5357c1){if('error'in _0x20f3c4)throw _0x20f3c4['error'];let _0x5bd38b=!0x1;if(_0x20f3c4['wereChangesApplied']){_0x20f3c4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x20f3c4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x273acb=>!_0x4c2061['includes'](_0x273acb));for(const _0x2d69a4 of _0x4c2061)_0x2d69a4['createdAt']='lastOperationAcceptedAt'in _0x20f3c4&&_0x20f3c4['lastOperationAcceptedAt']||void 0x0;st(_0x4c2061,_0x20f3c4['version']-_0x4c2061['length']),this['_updateServerHistory'](_0x4c2061);const _0x515261=_0x4c2061['filter'](_0x105992=>{if(!_0x105992['_isInit'])return!0x1;const _0x302c07=this['_getAffectedRoot'](_0x105992);return _0x302c07&&!this['_knownRootNames']['has'](_0x302c07);});st(_0x515261,this['_document']['version']),this['_applyOperationsSet'](_0x515261),_0x5bd38b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x833508=this['_decompressOperations'](_0x20f3c4['data'],_0x20f3c4['metadata'])['filter'](_0x3edcbf=>_0x3edcbf['baseVersion']>=this['_lastServerVersion']);_0x833508['forEach'](_0x31e0f9=>this['_addKnownRoot'](_0x31e0f9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x37c144=>!_0x37c144['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x37c144))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x833508),_0x5bd38b=this['_handleExternalOperations'](_0x833508,_0x20f3c4['version'],_0x20f3c4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5bd38b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x210a66,_0x5d05eb,_0x300daf){try{const _0x4569a1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x46e363,operationsB:_0x2b1190,originalOperations:_0x44fb08}=_0x399d51(_0x210a66,this['_bufferedOperations'],_0x4569a1);st(_0x46e363,this['_document']['version']),st(_0x2b1190,_0x5d05eb);for(const _0x10f2ef of _0x46e363){const _0x351bed=_0x44fb08['get'](_0x10f2ef);_0x10f2ef['_authorId']=_0x351bed?_0x351bed['_authorId']:null;}_0x300daf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x210a66,_0x300daf),this['_lastSyncedOperationId']=_0x300daf),this['_bufferedOperations']=[..._0x2b1190],this['_applyOperationsSet'](_0x46e363),this['_updateServerHistory'](_0x210a66);}catch(_0x4e7985){return console['error'](_0x4e7985),!0x1;}return!0x0;}['_applyOperationsSet'](_0x48abdb,_0x5d2c25=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x29ee53=>{for(const _0x29798b of _0x48abdb)this['_knownOperations']['add'](_0x29798b),this['_addKnownRoot'](_0x29798b),_0x29ee53['batch']['addOperation'](_0x29798b),this['editor']['model']['applyOperation'](_0x29798b);});}['_addKnownRoot'](_0x50361e){const _0x467d51=this['_getAffectedRoot'](_0x50361e);_0x467d51&&this['_knownRootNames']['add'](_0x467d51);}['_getAffectedRoot'](_0x40b9df){let _0x34cd25,_0x57c20e;switch(_0x40b9df['type']){case'insert':_0x34cd25=_0x40b9df['position']['root'];break;case'marker':if(_0x57c20e=_0x40b9df['newRange'],!_0x57c20e)return null;_0x34cd25=_0x57c20e['root'];break;case'addRootAttribute':_0x34cd25=_0x40b9df['root'];break;case'addRoot':_0x34cd25=_0x40b9df['affectedSelectable'];break;case'move':_0x34cd25=_0x40b9df['targetPosition']['root'];break;default:return null;}return _0x34cd25['rootName'];}['_updateServerHistory'](_0x25af4d){_0x25af4d['forEach'](_0x434efc=>{const _0x5ec0ff=_0x434efc['clone']();_0x5ec0ff['_authorId']=_0x434efc['_authorId'],_0x5ec0ff['_isInit']=!!_0x434efc['_isInit'],_0x5ec0ff['createdAt']=_0x434efc['createdAt'],_0x5ec0ff['baseVersion']+=this['_offset'],_0x434efc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ec0ff),this['serverHistory']['addOperation'](_0x5ec0ff);});}['_handleReconnectionError'](_0x16defb){const _0x1a326a=this['editor']['plugins']['get']('Notification'),_0x1af3ad=this['editor']['locale'];_0x16defb||(_0x16defb=X(_0x1af3ad,'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.')),_0x1a326a['showWarning'](_0x16defb,{'title':X(_0x1af3ad,'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'](_0x266219)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x266219)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xd69bdc){const _0x1f2095=_0xd69bdc['map'](_0x2e98e4=>_0x2e98e4['toJSON']());return this['_compressor']['compress'](_0x1f2095);}['_decompressOperations'](_0x7a9802,_0x47be79){return this['_compressor']['decompress'](_0x7a9802)['map']((_0x19045e,_0x112860)=>{const _0x11fc83='init'==_0x47be79[_0x112860]['type'];if('InsertOperation'==_0x19045e['__className']){const _0xd8f310=_0x19045e['position']['root'];!this['_document']['getRoot'](_0xd8f310)&&(this['_document']['createRoot']('$root',_0xd8f310)['_isAttached']=!0x1);}const _0x58c7f4=_0x683b24['fromJSON'](_0x19045e,this['_document']);return _0x58c7f4['wasUndone']=_0x19045e['wasUndone'],_0x58c7f4['_isInit']=_0x11fc83,_0x58c7f4['_authorId']=_0x11fc83?null:_0x47be79[_0x112860]['userId'],_0x58c7f4['_isDisconnection']='cs:removeUser'===_0x47be79[_0x112860]['type'],_0x58c7f4['createdAt']=_0x47be79[_0x112860]['createdAt'],_0x58c7f4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x340e64=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x340e64&&_0x340e64['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x352250,_0x3b6a34){for(const _0x294da0 of _0x352250)_0x294da0['baseVersion']=_0x3b6a34++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x17fe99){this['_ignoredOperations']=_0x17fe99,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1920da){let _0x2485b5=_0x1920da['length'];for(;_0x2485b5--;){const _0x3445cc=_0x1920da[_0x2485b5];if(!this['_ignoredOperations']['has'](_0x3445cc)){if(!this['_operationToId']['has'](_0x3445cc)){const _0x2536b6=_0x53efbe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3445cc,_0x2536b6);}return this['_operationToId']['get'](_0x3445cc);}}}['setIdForTheLastOperation'](_0x245cdd,_0x49d316){if(!_0x49d316)return;let _0x147bcc=_0x245cdd['length'];for(;_0x147bcc--;){const _0x1ac92b=_0x245cdd[_0x147bcc];this['_ignoredOperations']['has'](_0x1ac92b)||this['_operationToId']['set'](_0x1ac92b,_0x49d316);}}}class nt extends _0x7d5606{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xfc25ee{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x421f5f)());['_services'];static get['requires'](){return[z,_0x2c2141,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72c440){super(_0x72c440),this['_services']=new Map();}async['init'](){const _0xff69ff=this['context'],_0x1c9618=_0xff69ff['plugins']['get'](_0x2c2141);if(_0xff69ff['plugins']['get'](z)['addToReconnectionStack'](this),_0x1c9618['adapter']={'addCommentThread':async({channelId:_0x30595e,threadId:_0x38b3bb,comments:_0x19a7a5,resolvedAt:_0x71ef45,resolvedBy:_0x362d0a,context:_0x17dbae,attributes:_0x241157})=>{const _0x5417b5=await this['_getService'](_0x30595e)['addCommentThread']({'commentThreadId':_0x38b3bb,'comments':_0x19a7a5['map'](_0x366f7c=>function(_0x26526f,_0x31ef42,_0x402bd8){return{'commentThreadId':_0x402bd8,'commentId':_0x26526f['commentId'],'userId':_0x26526f['authorId'],'content':_0x26526f['content'],'documentId':_0x31ef42,'createdAt':_0x26526f['createdAt'],'attributes':_0x26526f['attributes']||{}};}(_0x366f7c,_0x30595e,_0x38b3bb)),'resolvedAt':_0x71ef45,'resolvedBy':_0x362d0a,'context':_0x17dbae,'attributes':_0x241157})['catch'](ct);return{'threadId':_0x5417b5['commentThreadId'],'comments':_0x5417b5['comments']};},'getCommentThread':async({channelId:_0x2ecbec,threadId:_0x84c347})=>{const _0x4e5168=await this['_getService'](_0x2ecbec)['getCommentThread'](_0x84c347)['catch'](rt)['catch'](ct);return _0x4e5168?_0x4e5168['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4e5168]),{'threadId':_0x4e5168['commentThreadId'],'comments':_0x4e5168['comments']['map'](at),'context':_0x4e5168['context'],'resolvedAt':_0x4e5168['resolvedAt'],'resolvedBy':_0x4e5168['resolvedBy'],'attributes':_0x4e5168['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x32e36c,threadId:_0x260a68,context:_0x4bfa0a,unlinkedAt:_0x467efa,attributes:_0x458137})=>this['_getService'](_0x32e36c)['updateCommentThread']({'commentThreadId':_0x260a68,'context':_0x4bfa0a,'attributes':_0x458137,'unlinkedAt':_0x467efa})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x575c13,threadId:_0x3d1d01})=>{const _0x36d000=await this['_getService'](_0x575c13)['resolveCommentThread'](_0x3d1d01)['catch'](rt)['catch'](ct);return{'threadId':_0x36d000['commentThreadId'],'resolvedAt':_0x36d000['resolvedAt'],'resolvedBy':_0x36d000['resolvedBy']};},'reopenCommentThread':async({channelId:_0x178d56,threadId:_0xe57d3d})=>this['_getService'](_0x178d56)['reopenCommentThread'](_0xe57d3d)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x162c11,threadId:_0x5839b0})=>this['_getService'](_0x162c11)['removeCommentThread'](_0x5839b0)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x51aadb,threadId:_0xe098d4,commentId:_0x35be12,content:_0x20dcf2,attributes:_0x2de18d})=>this['_getService'](_0x51aadb)['addComment'](_0xe098d4,_0x35be12,_0x20dcf2,_0x2de18d)['catch'](ct),'updateComment':({channelId:_0x228e4b,threadId:_0x558bdc,commentId:_0x40cdc5,content:_0x583dfa,attributes:_0x4ca7c4})=>this['_getService'](_0x228e4b)['updateComment'](_0x558bdc,_0x40cdc5,_0x583dfa,_0x4ca7c4)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5625ae,threadId:_0x547f37,commentId:_0x4734e5})=>this['_getService'](_0x5625ae)['removeComment'](_0x547f37,_0x4734e5)['catch'](rt)['catch'](ct)},_0xff69ff instanceof _0x18f807){const _0x44500d=_0xff69ff['config']['get']('collaboration.channelId'),_0x3b79f3=_0xff69ff['plugins']['get'](Y);await this['_setUpService'](_0x44500d);const _0x1f092d=await this['_services']['get'](_0x44500d)['getConnectedSessions']();this['listenTo'](_0x3b79f3,'sessionAdd:'+_0x44500d,(_0x3e12e5,{session:_0x5ee973})=>{_0x5ee973['id']===_0x3b79f3['mySessionId']&&(_0x3e12e5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5ee973['permissions'],_0x44500d));}),_0x3b79f3['register'](_0x44500d,_0x1f092d);}}async['_setUpService'](_0x20545e){if(this['_services']['has'](_0x20545e))throw new _0x235139('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x20545e});const _0x240629=this['context']['plugins']['get'](_0x2c2141),_0x5758fa=new ot['CommentsService'](_0x20545e);this['_services']['set'](_0x20545e,_0x5758fa),this['listenTo'](_0x5758fa,'commentThreadAdded',(_0x63541c,_0x3eaff5)=>{const {commentThreadId:_0x448a8d,documentId:_0x3520c3,context:_0xfed4b6,attributes:_0x21de7f,resolvedAt:_0x5416b1,resolvedBy:_0xd077ab,comments:_0x4e489d}=_0x3eaff5;_0x240629['getCommentThread'](_0x448a8d)||_0x240629['addCommentThread']({'threadId':_0x448a8d,'channelId':_0x3520c3,'comments':_0x4e489d?_0x4e489d['map'](at):[],'context':_0xfed4b6,'attributes':_0x21de7f,'resolvedAt':_0x5416b1,'resolvedBy':_0xd077ab,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadUpdated',(_0x15c69a,{commentThreadId:_0x15f64a,documentId:_0x19461f,context:_0x46534c,unlinkedAt:_0x48d51c,attributes:_0x5393e4})=>{_0x240629['getCommentThread'](_0x15f64a)&&_0x240629['updateCommentThread']({'threadId':_0x15f64a,'channelId':_0x19461f,'context':_0x46534c,'unlinkedAt':_0x48d51c,'attributes':_0x5393e4,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadResolved',(_0x11aea4,{commentThreadId:_0x238c2d,resolvedBy:_0x579624,resolvedAt:_0x7642b8})=>{const _0x574c8f=_0x240629['getCommentThread'](_0x238c2d);_0x574c8f&&_0x574c8f['resolve']({'resolvedBy':_0x579624,'resolvedAt':_0x7642b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadReopened',(_0xc717c6,{commentThreadId:_0x5653ce})=>{const _0x3dc73a=_0x240629['getCommentThread'](_0x5653ce);_0x3dc73a&&_0x3dc73a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadRemoved',(_0x2b137c,{commentThreadId:_0x31d363})=>{const _0x4c99b8=_0x240629['getCommentThread'](_0x31d363);_0x4c99b8&&_0x4c99b8['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentAdded',(_0x4f168a,_0x3eb3e7)=>{const _0x4af4d0=_0x3eb3e7['commentThreadId'],_0xb2066a=_0x240629['getCommentThread'](_0x4af4d0);_0xb2066a&&_0xb2066a['addComment']({...at(_0x3eb3e7),'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentUpdated',(_0x9245ec,{commentThreadId:_0x1e20b4,commentId:_0x5e5ea4,content:_0x3d038e,attributes:_0x1e1e75})=>{const _0x522aec=_0x240629['getCommentThread'](_0x1e20b4);if(_0x522aec){const _0x5ddcee=_0x522aec['getComment'](_0x5e5ea4);_0x5ddcee&&_0x5ddcee['update']({'content':_0x3d038e,'attributes':_0x1e1e75,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5758fa,'commentRemoved',(_0x3ea1d9,{commentThreadId:_0x33dab6,commentId:_0x28f511})=>{const _0x17d3d4=_0x240629['getCommentThread'](_0x33dab6);if(_0x17d3d4){const _0x5fc17d=_0x17d3d4['getComment'](_0x28f511);_0x5fc17d&&_0x5fc17d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x20545e);}['destroy'](){if(this['context']instanceof _0x18f807){const _0x57f7e4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x57f7e4);}}['_terminateService'](_0x1e7e3b){if(!this['_services']['has'](_0x1e7e3b))throw new _0x235139('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1e7e3b});this['_getService'](_0x1e7e3b)['disconnect'](),this['_services']['delete'](_0x1e7e3b);}async['reconnect'](){for(const _0x471124 of this['_services']['keys']())await this['_connectService'](_0x471124);if(this['context']instanceof _0x18f807){const _0xfd5197=this['context']['config']['get']('collaboration.channelId'),_0x3fc919=this['context']['plugins']['get'](Y);_0x3fc919['unregister'](_0xfd5197);const _0x507715=await this['_services']['get'](_0xfd5197)['getConnectedSessions']();_0x3fc919['register'](_0xfd5197,_0x507715);}}async['_connectService'](_0x5e1bbe){const {connection:_0x2e3708}=this['context']['plugins']['get'](z),_0x2b0dbc=this['context']['plugins']['get'](_0x2c2141),_0x576f56=this['_services']['get'](_0x5e1bbe),_0x42e0c8=await _0x576f56['connect'](_0x2e3708);await this['_fetchMissingUsersForThreads'](_0x42e0c8);const _0x1e2879=new Set(Array['from'](_0x2b0dbc['getCommentThreads']({'channelId':_0x5e1bbe}),_0x45675d=>_0x45675d['id']));for(const _0x21d79a of _0x42e0c8)_0x21d79a['deletedAt']||_0x1e2879['delete'](_0x21d79a['commentThreadId']);for(const _0x6d33c3 of _0x1e2879)_0x2b0dbc['getCommentThread'](_0x6d33c3)['remove']({'isFromAdapter':!0x0});for(const _0x1a2b57 of _0x42e0c8){let _0xd14ba3=_0x2b0dbc['getCommentThread'](_0x1a2b57['commentThreadId']);const {commentThreadId:_0x22d6cc,context:_0x1e0a35,attributes:_0x4e13ae,resolvedBy:_0x2cf6fc,resolvedAt:_0x475a8c,unlinkedAt:_0x59bd5d,deletedAt:_0x570142}=_0x1a2b57;if(_0x570142)continue;_0xd14ba3||(_0xd14ba3=_0x2b0dbc['addCommentThread']({'channelId':_0x5e1bbe,'threadId':_0x22d6cc,'context':_0x1e0a35,'attributes':_0x4e13ae||{},'resolvedBy':_0x2cf6fc,'resolvedAt':_0x475a8c,'unlinkedAt':_0x59bd5d,'isFromAdapter':!0x0}));const _0x27720a=new Set(Array['from'](_0xd14ba3['comments'],_0xb3c463=>_0xb3c463['id']));for(const _0x348a4b of _0x1a2b57['comments'])_0x27720a['delete'](_0x348a4b['commentId']);for(const _0x1d1988 of _0x27720a)_0xd14ba3['getComment'](_0x1d1988)['remove']({'isFromAdapter':!0x0});for(const _0x53245a of _0x1a2b57['comments']){const _0x4a4a7e=_0xd14ba3['getComment'](_0x53245a['commentId']);_0x4a4a7e?_0x4a4a7e['content']!==_0x53245a['content']&&_0x4a4a7e['update']({'content':_0x53245a['content'],'isFromAdapter':!0x0}):_0xd14ba3['addComment'](Object['assign'](at(_0x53245a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x74a8aa){if(!this['_services']['has'](_0x74a8aa))throw new _0x235139('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x74a8aa});return this['_services']['get'](_0x74a8aa);}async['_fetchMissingUsersForThreads'](_0x4992a2){const _0x32bffe=this['context']['plugins']['get'](_0x262a12),{connection:_0x10ee09}=this['context']['plugins']['get'](z),_0x53935f=new Set();for(const {resolvedBy:_0x5992b4,comments:_0x5f00f7}of _0x4992a2){_0x5992b4&&!_0x32bffe['getUser'](_0x5992b4)&&_0x53935f['add'](_0x5992b4);for(const {userId:_0x493660}of _0x5f00f7)_0x32bffe['getUser'](_0x493660)||_0x53935f['add'](_0x493660);}if(0x0===_0x53935f['size'])return;const _0x1c7fdb=await _0x532341['getMany'](_0x10ee09,Array['from'](_0x53935f));for(const _0x3d432d of _0x1c7fdb)_0x32bffe['getUser'](_0x3d432d['id'])||_0x32bffe['addUser'](_0x3d432d);}}async function rt(_0x520b01){if('404'!==_0x520b01['code'])throw _0x520b01;}function ct(_0x1670db){if((_0x3e7b1f=_0x1670db)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e7b1f;throw _0x1670db;}function at(_0x10400d){return{'threadId':_0x10400d['commentThreadId'],'commentId':_0x10400d['commentId'],'content':_0x10400d['content'],'createdAt':_0x10400d['createdAt'],'authorId':_0x10400d['userId'],'attributes':_0x10400d['attributes']||{}};}class ht extends _0x7d5606{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x5a855e)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x1d859c,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2064e4){super(_0x2064e4);const _0x804fc5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x804fc5);}['init'](){const _0x4d337f=this['editor']['plugins']['get'](z),_0xb19804=this['editor']['plugins']['get'](_0x1d859c);return _0xb19804['adapter']={'getSuggestion':async _0x2e0d4d=>{await this['_waitForServiceReady']();const _0x23fec7=await this['_trackChangesService']['get'](_0x2e0d4d)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x23fec7]),_0x23fec7;},'addSuggestion':async({id:_0x3cb55d,type:_0x57089a,data:_0x5d732a,originalSuggestionId:_0x52790e,attributes:_0x1568d0})=>{await this['_waitForServiceReady']();const _0x24bc33={'id':_0x3cb55d,'type':_0x57089a,'data':_0x5d732a,'originalSuggestionId':_0x52790e,'attributes':_0x1568d0},_0x273eda=await this['_trackChangesService']['add'](_0x3cb55d,_0x57089a,_0x5d732a,_0x52790e,_0x1568d0)['catch'](_0x38606f=>{if(dt(_0x38606f))return new Promise(_0x1e99be=>{this['_bufferedRequests']['set'](_0x3cb55d,{'resolve':_0x1e99be,'suggestionData':_0x24bc33});});throw _0x38606f;});return this['_bufferedRequests']['delete'](_0x3cb55d),_0x273eda;},'updateSuggestion':async(_0x17795d,_0x185876)=>{if(await this['_waitForServiceReady'](),'open'!==_0x185876['state'])return this['_trackChangesService']['update'](_0x17795d,_0x185876)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x37b1fa,_0x40a46b)=>{_0xb19804['hasSuggestion'](_0x40a46b['id'])&&(_0xb19804['getSuggestion'](_0x40a46b['id'])['attributes']=_0x40a46b['attributes']);}),this['_trackChangesService']['connect'](_0x4d337f['connection'])['then'](_0x4a5020=>(_0x4d337f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4a5020)['then'](()=>{for(const _0x4eb6a0 of _0x4a5020){_0xb19804['addSuggestionData'](_0x4eb6a0)['_saved']=!0x0;}})));}async['reconnect'](){const _0x15f18e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1174dc}=this['editor']['plugins']['get'](z),_0x4b4afd=await this['_trackChangesService']['connect'](_0x1174dc);await this['_fetchMissingUsersForThreads'](_0x4b4afd);for(const {suggestionData:_0x18cbcc,resolve:_0xe07a71}of this['_bufferedRequests']['values']()){let _0x796d7c=_0x4b4afd['find'](_0x2456f5=>_0x2456f5['id']===_0x18cbcc['id']);_0x796d7c||(_0x796d7c=await this['_trackChangesService']['add'](_0x18cbcc['id'],_0x18cbcc['type'],_0x18cbcc['data'],_0x18cbcc['originalSuggestionId'])),_0xe07a71(_0x796d7c);}for(const _0x37b65d of _0x4b4afd)_0x15f18e['hasSuggestion'](_0x37b65d['id'])||_0x15f18e['addSuggestionData'](_0x37b65d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x435cc0=>{this['listenTo'](this['_trackChangesService'],'connected',_0x537f99=>{_0x537f99['off'](),_0x435cc0();});});}async['_fetchMissingUsersForThreads'](_0x466d97){const _0x5d1a91=this['editor']['plugins']['get'](_0x262a12),{connection:_0x5a1a8d}=this['editor']['plugins']['get'](z),_0xb96fa9=new Set();for(const {authorId:_0x4353c9}of _0x466d97)_0x5d1a91['getUser'](_0x4353c9)||_0xb96fa9['add'](_0x4353c9);if(0x0===_0xb96fa9['size'])return;const _0x40d282=await _0x532341['getMany'](_0x5a1a8d,Array['from'](_0xb96fa9));for(const _0x4145dc of _0x40d282)_0x5d1a91['getUser'](_0x4145dc['id'])||_0x5d1a91['addUser'](_0x4145dc);}}function lt(_0x3e0514){if(dt(_0x3e0514))return new Promise(()=>{});throw _0x3e0514;}function dt(_0xd3e969){return _0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x7d5606{static get['requires'](){return[_0x4aaf32,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19b515=this['editor']['plugins']['get'](z),_0x489a62=this['editor']['plugins']['get'](_0x9ff058),_0x682d70=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19b515,'change:state',(_0xbf2487,_0x50dd74,_0x4ea096)=>{_0x489a62['isThreadsLoadingPaused']='connected'!==_0x4ea096;});}),this['listenTo'](_0x19b515,'change:state',(_0x51a858,_0x50f44f,_0x987e32)=>{this['editor']['plugins']['get'](_0x2c2141)['switchReadOnly']('connected'!==_0x987e32);}),_0x682d70['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x7d5606{static get['requires'](){return[ut,ht,_0x17a835];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x7d5606{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4c05e4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2d0829,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292044){super(_0x292044);const _0x33a272=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x33a272);}async['init'](){const _0x531cab=this['editor']['plugins']['get'](tt),_0xdccfe1=_0x531cab['serverHistory'],_0x2f895d=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xdccfe1,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x531cab['sessionId']});const _0x5a0628=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3cbd76,_0x17ec2b=await _0x1358ea['isBundleUploaded'](_0x2f895d['connection'],_0x5a0628);this['editor']['plugins']['get'](_0x2d0829)['adapter']={'getRevision':async({revisionId:_0x5d3d4f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5d3d4f)),'updateRevisions':async _0x1c5cb3=>{await this['_waitForServiceReady']();const _0x405ad0=this['_revisionTracker']['currentRevision'];if(_0x17ec2b&&0x1===_0x1c5cb3['length']&&_0x1c5cb3[0x0]['id']===_0x405ad0['id'])return _0x1c5cb3;for(const _0x1a7578 of _0x1c5cb3)_0x1a7578['id']===_0x405ad0['id']&&(_0x1a7578['isEmptyCurrent']=_0x1a7578['fromVersion']===_0x1a7578['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1c5cb3,this['_lastRequestId'])['then'](_0xe311df=>(this['_lastRequestId']=_0xe311df,_0x1c5cb3))['catch'](_0x58cc27=>{if(pt(_0x58cc27)||'400'===_0x58cc27['code']&&void 0x0!==_0x58cc27['data']['wrongRequestId']){for(const _0x1418d7 of _0x1c5cb3){!this['_revisionTracker']['repository']['getRevision'](_0x1418d7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1418d7['id'],_0x1418d7,!0x1);}if(pt(_0x58cc27)&&'destroyed'!==this['editor']['state'])throw _0x58cc27;return _0x1c5cb3;}throw _0x58cc27;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x56dbf5,{revisionsData:_0x69d7b4,requestId:_0x15eed3})=>{Math['max'](..._0x69d7b4['map'](_0x186876=>_0x186876['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);}):this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);});const {revisions:_0x58e320,requestId:_0x17bf0f}=await this['_revisionHistoryService']['connect'](_0x2f895d['connection']);_0x2f895d['addToReconnectionStack'](this),this['_lastRequestId']=_0x17bf0f,await this['_fetchMissingUsers'](_0x58e320);for(const _0x564039 of _0x58e320)this['_revisionTracker']['addRevisionData'](_0x564039);this['listenTo'](_0x531cab,'change:_isConnected',(_0x1e4060,_0x5722a0,_0x3c795d)=>{_0x3c795d&&(this['_oldOffset']=_0x531cab['_offset'],_0x1e4060['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2f895d,'state',_0x3c6aae=>_0x3c6aae===_0x125ccb['CONNECTED']);}async['reconnect'](){const _0x571ce4=this['editor']['plugins']['get'](z),_0x6682a5=this['editor']['plugins']['get'](tt),_0x536b33=async()=>{const _0x3e99af=this['_revisionTracker']['currentRevision'],_0x3fe9e1=_0x3e99af['id'],_0x1be83c=_0x3fe9e1!==_0x6682a5['sessionId'];if(_0x1be83c){const _0x5de455=_0x6682a5['_offset']-this['_oldOffset'],_0x11592b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3e99af['toVersion']+_0x5de455!==_0x11592b){const _0x23d9b3=_0x3e99af['fromVersion']+_0x5de455,_0x44fc43=this['editor']['plugins']['get'](_0x262a12),_0x122e57=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e99af,'from':_0x23d9b3,'to':_0x11592b});_0x122e57['id']=_0x3e99af['id'];const _0x20361a=_0x122e57['authorsIds']['map'](_0x1790bf=>_0x44fc43['getUser'](_0x1790bf));_0x3e99af['_update']({..._0x122e57,'authors':_0x20361a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3e99af['id'],_0x122e57,!0x0);}this['_revisionTracker']['_startingVersion']=_0x11592b,(_0x3e99af['toVersion']===_0x3e99af['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3fe9e1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3fe9e1),this['_revisionTracker']['_createCurrentRevision'](_0x11592b));}const {revisions:_0x2c46bf,requestId:_0x54be60}=await this['_revisionHistoryService']['reconnect'](_0x571ce4['connection'],this['_lastRequestId']);_0x1be83c&&_0x2c46bf['length']>0x0?_0x6682a5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2c46bf),this['_handleRevisionsUpdate'](_0x2c46bf,_0x54be60),this['_revisionTracker']['sendBufferedUpdates']());};return _0x6682a5['_isConnected']?_0x536b33():new Promise((_0x477049,_0xdb1856)=>{_0x6682a5['once']('change:_isConnected',()=>{_0x536b33()['then'](_0x477049)['catch'](_0xdb1856);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x44cdcf=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5023b1=>{_0x5023b1['off'](),_0x44cdcf();});});}['_getLatestVersionFromServerOperations'](){const _0x1e7a70=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x131538 of _0x1e7a70)if('marker'!==_0x131538['type']||_0x131538['affectsData'])return _0x131538['baseVersion']+0x1;}['_getLatestVersion'](){const _0x416bf0=this['editor']['plugins']['get'](tt);return new Promise(_0xf6bab1=>{_0x416bf0['_isPendingUpdate']?_0x416bf0['once']('change:_isPendingUpdate',()=>{_0xf6bab1(this['_getLatestVersionFromServerOperations']());}):_0xf6bab1(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1c27c1,_0x3da8e9){const _0x2d7292=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3da8e9;for(const _0x1d3380 of _0x1c27c1){const _0x4424da=_0x2d7292['getRevision'](_0x1d3380['id']);if(_0x4424da){if((_0x1d3380['fromVersion']||_0x1d3380['toVersion'])&&(_0x1d3380['diffData']=null),_0x4424da===this['_revisionTracker']['currentRevision']){const _0xc2868d=Math['max'](_0x4424da['toVersion'],_0x1d3380['toVersion']),_0x2a80dd=Math['max'](_0x4424da['fromVersion'],_0x1d3380['fromVersion']);let _0x58d529;_0x4424da['toVersion']===_0x1d3380['toVersion']&&_0x4424da['fromVersion']===_0x1d3380['fromVersion']?(_0x58d529=!0x0,this['_preventResendingRevisionData'](_0x1d3380)):_0x1d3380['toVersion']===_0xc2868d&&_0x1d3380['fromVersion']===_0x2a80dd?_0x58d529=!0x1:(_0x4424da['toVersion']===_0xc2868d&&_0x4424da['fromVersion']===_0x2a80dd||this['_fixRevision']({'revision':_0x4424da,'from':_0x2a80dd,'to':_0xc2868d}),_0x58d529=!0x0),_0x58d529&&(delete _0x1d3380['fromVersion'],delete _0x1d3380['toVersion'],delete _0x1d3380['diffData'],delete _0x1d3380['createdAt'],delete _0x1d3380['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1d3380),this['_preventResendingRevisionData'](_0x1d3380);}else this['_revisionTracker']['addRevisionData'](_0x1d3380);}const _0x40b7a6=_0x2d7292['getRevisions']();_0x40b7a6['reverse']();for(let _0x127880=0x0;_0x127880<_0x40b7a6['length']-0x1;_0x127880++){const _0x5916a9=_0x40b7a6[_0x127880],_0x45bef7=_0x40b7a6[_0x127880+0x1];if(_0x5916a9['fromVersion']<_0x45bef7['toVersion']){const _0x565c0b=_0x45bef7['toVersion'],_0x416db9=Math['max'](_0x565c0b,_0x5916a9['toVersion']);this['_fixRevision']({'revision':_0x5916a9,'from':_0x565c0b,'to':_0x416db9});}}}['_fixRevision']({revision:_0x1c3185,from:_0x190b84,to:_0x2dc98c}={}){const _0x466f12=this['editor']['plugins']['get'](_0x262a12),_0x1075b1=this['_revisionTracker']['buildRevisionData']({'revision':_0x1c3185,'from':_0x190b84,'to':_0x2dc98c});_0x1075b1['authors']=_0x1075b1['authorsIds']['map'](_0xbe8dcf=>_0x466f12['getUser'](_0xbe8dcf)),_0x1c3185['_update'](_0x1075b1);}['_preventResendingRevisionData'](_0x32d134){const _0x4b480d={};_0x4b480d['id']=_0x32d134['id'];for(const _0x1bab62 of Object['keys'](_0x32d134))'id'!==_0x1bab62&&(_0x4b480d[_0x1bab62]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b480d['id'],_0x4b480d,!0x0);}async['_fetchMissingUsers'](_0x3067e4){const _0x2f307a=this['editor']['plugins']['get'](_0x262a12),{connection:_0x4b1866}=this['editor']['plugins']['get'](z),_0x51bb25=new Set();for(const _0x3a5bae of _0x3067e4){for(const _0x5f07b6 of _0x3a5bae['authorsIds'])_0x652cf(_0x5f07b6);_0x3a5bae['creatorId']&&_0x652cf(_0x3a5bae['creatorId']);}if(0x0===_0x51bb25['size'])return;const _0x32ebf4=await _0x532341['getMany'](_0x4b1866,Array['from'](_0x51bb25));for(const _0x5978dd of _0x32ebf4)_0x2f307a['getUser'](_0x5978dd['id'])||_0x2f307a['addUser'](_0x5978dd);function _0x652cf(_0x470921){_0x2f307a['getUser'](_0x470921)||_0x51bb25['add'](_0x470921);}}}function pt(_0x17fbd2){return _0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7d5606{static get['requires'](){return[_0x2d0829,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x200324{['_collapseAt'];constructor(_0x43d953,_0x5c8e9a=0x6){super(_0x43d953);const _0x31f666=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5c8e9a,this['bind']('isHidden')['to'](this,'usersCount',_0x209cb9=>_0x209cb9<_0x5c8e9a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x31f666['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':_0x31f666['to']('usersCount',_0x2d2d63=>'+'+(_0x2d2d63-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x200324{['items'];['keystrokes'];constructor(_0x15483a){super(_0x15483a);const _0x4a77d5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2c5ed1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4a77d5['if']('hasPopup'),'aria-expanded':_0x4a77d5['to']('isExpanded',_0x934b84=>this['hasPopup']&&String(_0x934b84)),'aria-label':_0x4a77d5['to']('hasPopup',_0x427d4a=>X(_0x15483a,_0x427d4a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4a77d5['to']('hasPopup',_0x2b3472=>!!_0x2b3472&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4a77d5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4a77d5['to'](_0x1a4e7c=>{const _0x5e18b0=_0x1a4e7c,_0x2d20a1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3f6abb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2d20a1?.['contains'](_0x5e18b0['relatedTarget'])||_0x3f6abb?.['contains'](_0x5e18b0['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26d6a3,_0x5a7cd5,_0x2ba3f1)=>{this['element']&&(_0x2ba3f1?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']);}}class _t extends _0x200324{['counterView'];['inlineListView'];constructor(_0x5ccae3,_0x159b6b=0x6){super(_0x5ccae3);const _0x46f584=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x159b6b),this['inlineListView']=new vt(_0x5ccae3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x22bf37 of this['inlineListView']['items'])_0x22bf37['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',_0x46f584['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x200324{['listWrapperView'];constructor(_0xb12aa2,_0x1d3169){super(_0xb12aa2);const _0xa18c14=this['bindTemplate'];this['listWrapperView']=new bt(_0xb12aa2,_0x1d3169),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xb12aa2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xa18c14['to'](_0xc8c03f=>{const _0x127129=_0xc8c03f,_0x34ad4b=document['querySelector']('.ck-presence-list__list'),_0xf8f0e1=document['querySelector']('.ck-balloon-panel_with-arrow');_0x34ad4b?.['contains'](_0x127129['relatedTarget'])||_0xf8f0e1?.['contains'](_0x127129['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x36060f{constructor(_0x46c084,_0x53b95d){super(_0x46c084);const _0x11cfe0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53b95d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x11cfe0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x11cfe0['to']('role'),'aria-label':_0x11cfe0['to']('ariaLabel'),'aria-labelledby':_0x11cfe0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4ae62f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x172a81=this['element'];_0x172a81&&(this['_isScrollable']=Math['max'](_0x172a81['scrollHeight'],_0x172a81['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2cee63{['userView'];constructor(_0x5858df,_0x2a8684,_0x36585a){super(_0x5858df);const _0x138927=this['bindTemplate'];this['userView']=new _0x5ca895(_0x5858df,_0x2a8684);const _0x173643={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2a8684['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2a8684['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a8684['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2a8684['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2a8684['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x36585a&&(_0x173643['tag']='button',_0x173643['on']={'click':_0x138927['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x173643);}['focus'](){this['element']['focus']();}}class It extends _0x200324{['userView'];['markerView'];constructor(_0x1d53c2,_0x57fe15,_0x4dcaf2){super(_0x1d53c2);const _0x2db4de=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5ca895(_0x1d53c2,_0x57fe15),this['markerView']=new St(_0x1d53c2,_0x57fe15);const _0x548837=new _0x1bd5a2(_0x1d53c2);_0x548837['template']['tag']='span',_0x548837['text']=_0x57fe15['name'];const _0x275bcb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2db4de['to']('isFocusable',_0x3ed67d=>!!_0x3ed67d&&0x0),'aria-labelledby':_0x548837['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2db4de['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2db4de['to']('hasTooltip',_0x49d346=>!_0x49d346),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x548837]};_0x4dcaf2&&(_0x275bcb['tag']='button',_0x275bcb['on']={'click':_0x2db4de['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x275bcb);}}class St extends _0x200324{constructor(_0x2c375a,_0x594f9f){super(_0x2c375a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x594f9f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x594f9f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x594f9f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xfc25ee{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327119){super(_0x327119),this['context']['config']['define']('presenceList',Tt);const _0xd8c960=_0x327119['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xd8c960)throw new _0x235139('presencelist-collapseat-invalid-format',this);if(_0xd8c960<0x1)throw new _0x235139('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x40b8f5(),this['balloonPanelView']=new _0x2807ba(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf4b638 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf4b638);this['listenTo'](this['_allConnectedUsers'],'add',(_0x47431e,_0x4f1a63)=>{this['_handleUserAdd'](_0x4f1a63);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x264a5e,_0x5a6d2d)=>{this['_handleUserRemove'](_0x5a6d2d);});}['_createView'](){const _0x502c92=this['context'],_0x36647e=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6d879c=this['balloonPanelView'];if(!_0x28d487(_0x502c92['config']['get']('presenceList.container')))throw new _0x235139('presencelist-missing-container',this);return _0x36647e['counterView']['bind']('usersCount')['to'](this),_0x36647e['bind']('isCollapsed')['to'](this,'usersCount',_0xa4932e=>{const {collapseAt:_0x40df3e}=_0x502c92['config']['get']('presenceList'),_0x57599d=_0xa4932e>=_0x40df3e;if(_0x57599d&&!_0x36647e['inlineListView']['items']['find'](_0x5b6f1b=>_0x5b6f1b instanceof wt)){const _0x32cb5b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x32cb5b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x36647e['inlineListView']['items']['add'](_0x36647e['counterView']);}return _0x57599d||this['hideDropdown'](),_0x57599d;}),_0x36647e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x49184c=>{const _0x3411b7=_0x502c92['config']['get']('presenceList'),_0x42d0d6=new It(_0x502c92['locale'],_0x49184c,!!_0x3411b7['onClick']);return _0x42d0d6['bind']('hasTooltip')['to'](_0x36647e,'isCollapsed',_0xb2552a=>!_0xb2552a),_0x42d0d6['bind']('isFocusable')['to'](_0x36647e,'isCollapsed',_0x4aad9d=>!_0x4aad9d),_0x3411b7['onClick']&&this['listenTo'](_0x42d0d6,'execute',()=>{this['view']['isCollapsed']||_0x3411b7['onClick'](_0x49184c,_0x42d0d6['element']);}),_0x42d0d6;}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x36647e['inlineListView']['keystrokes']['set']('Enter',(_0x2d0190,_0x17f0f0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x17f0f0());}),_0x36647e['render'](),_0x6d879c['render'](),_0x39a237({'emitter':_0x36647e,'activator':()=>_0x6d879c['isVisible'],'contextElements':[_0x6d879c['element'],_0x36647e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x502c92['config']['get']('presenceList.container')['appendChild'](_0x36647e['element']),this['_bodyCollection']=new _0x9ad684(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x36647e;}['_handleUserAdd'](_0xa6d5ae){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xa6d5ae['isMe'])return;const _0x4d1e13=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4d1e13-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x43e981=_0xa6d5ae['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xa6d5ae,_0x43e981);}['_handleUserRemove'](_0x1dcd2f){this['usersCount']--;const {collapseAt:_0x205ffa}=this['context']['config']['get']('presenceList'),_0x52e62b=this['usersCount']>=_0x205ffa;if(this['currentDisplayedUsers']['get'](_0x1dcd2f['id']))this['currentDisplayedUsers']['remove'](_0x1dcd2f['id']);else{if(_0x52e62b&&this['currentDisplayedUsers']['length']+0x1===_0x205ffa-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)<this['usersCount']){for(const _0x1b18df of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1b18df['id'])&&(this['currentDisplayedUsers']['add'](_0x1b18df,Math['min'](this['currentDisplayedUsers']['length']-(_0x52e62b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)===_0x205ffa-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xac9c2e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0xac9c2e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2162b0}=this['presenceDropdownView'];_0x2162b0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x41bf45=>{if(!_0xac9c2e['displayMe']&&_0x41bf45['isMe'])return null;const _0x236c83=new kt(this['context']['locale'],_0x41bf45,!!_0xac9c2e['onClick']);return _0xac9c2e['onClick']&&this['listenTo'](_0x236c83,'execute',()=>{_0xac9c2e['onClick'](_0x41bf45,_0x236c83['element']);}),_0x236c83;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2162b0['focus'](),_0x2162b0['checkIfScrollable']();const _0xa307c2=(_0x578062,_0x2176d2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2176d2();};_0x2162b0['keystrokes']['set']('Esc',_0xa307c2),_0x2162b0['keystrokes']['set']('Shift+Tab',_0xa307c2),_0x2162b0['keystrokes']['set']('Tab',(_0x2254b0,_0x39c3a6)=>{!function(_0x5290c1){const _0x1c76b1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x567b66=>_0x567b66+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x19959f=[...document['body']['querySelectorAll'](_0x1c76b1)]['filter'](_0x43b1cd=>_0x43b1cd===document['activeElement']||_0x43b1cd['offsetWidth']+_0x43b1cd['offsetHeight']>0x0)['sort']((_0x54f954,_0x371e81)=>(_0x54f954['tabIndex']||0x0)-(_0x371e81['tabIndex']||0x0)),_0x202724=_0x19959f['indexOf'](_0x5290c1),_0x5b9c03=_0x19959f[(_0x202724+0x1)%_0x19959f['length']];_0x5b9c03&&_0x5b9c03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39c3a6();}),_0x2162b0['focusTracker']['add'](this['view']['element']),_0x2162b0['focusTracker']['on']('change:isFocused',(_0x9ebf8b,_0x301063,_0x9f1b23)=>{_0x9f1b23||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);}}class Pt extends _0xfc25ee{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At 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{ContextPlugin as _0x5cca81,Plugin as _0x539c3e,PendingActions as _0xd9ea96,Context as _0x285430}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x236293,CKEditorError as _0x2b1db2,Collection as _0x442047,global as _0x3feea9,version as _0x5f4d8d,uid as _0x243793,KeystrokeHandler as _0x473501}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3beb50,View as _0xaa5d78,ListView as _0x44faf1,ListItemView as _0x4a4ec4,LabelView as _0x169be3,BalloonPanelView as _0x1723fd,clickOutsideHandler as _0x13b972,BodyCollection as _0x25513e}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x468486,History as _0x2d26a6,NoOperation as _0x3e327f,InsertOperation as _0x3841a2,MarkerOperation as _0x4ed2d7,RootAttributeOperation as _0x57bef9,transformOperationSets as _0x16312c,OperationFactory as _0x10370b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x359e6e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d3563,WEB_SOCKET_GATEWAY_STATES as _0xf9333a,CollaborativeEditingService as _0x35e047,User as _0x1ca5f7,CommentsService as _0x55b714,TrackChangesService as _0x1c8aeb,RevisionHistoryService as _0x44cd6b,EditorService as _0x553943}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15d62c,UserView as _0x31b224}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5a3d56}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x45a080,TrackChanges as _0x527e70}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5383ad,Comments as _0x403d11,CommentsEditing as _0x37e082}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x40c931}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x573df8}from'es-toolkit/compat';class z extends _0x5cca81{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2d3563)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x359e6e,_0x3beb50];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cac25){super(_0x3cac25),this['set']('state',_0xf9333a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x236293())();}['init'](){const _0x3e0781=this['context'],_0x5038d6=_0x3e0781['plugins']['get'](_0x359e6e),_0x1fd44d=_0x3e0781['plugins']['get'](_0x3beb50);if(!_0x5038d6['token'])throw new _0x2b1db2('websocketgateway-missing-token',this);if(!_0x5038d6['webSocketUrl'])throw new _0x2b1db2('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),z['WebSocketGateway']['connect'](_0x5038d6['token'],_0x5038d6['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5b810e=>{if(this['connection']=_0x5b810e,this['bind']('state')['to'](_0x5b810e,'state',this,'_isBrowserOffline',(_0x84a0b9,_0x236b5a)=>('connected'!==_0x84a0b9&&(this['_shouldPluginsReconnect']=!0x0),_0x236b5a||_0x84a0b9!==_0xf9333a['CONNECTED']?_0xf9333a['DISCONNECTED']:this['state']==_0xf9333a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xf9333a['CONNECTING']):_0xf9333a['CONNECTED'])),this['connection']['on']('error',(_0x1da72a,_0x55a5c5)=>{if('limitExceeded'!==_0x55a5c5['code'])throw console['error'](_0x55a5c5),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x55a5c5});_0x1fd44d['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'});}),!_0x5b810e['me'])return new Promise(_0x373909=>_0x5b810e['on']('change:me',_0x373909));})['catch'](_0x6539bc=>{throw console['error'](_0x6539bc),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x6539bc});});}['addToReconnectionStack'](_0x33b4c3){if('function'!=typeof _0x33b4c3['reconnect'])throw new _0x2b1db2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33b4c3))throw new _0x2b1db2('websocketgateway-plugin-already-registered',this,{'name':_0x33b4c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33b4c3);}['removeFromReconnectionStack'](_0x5686c3){this['_reconnectionStack']['delete'](_0x5686c3);}['isInReconnectionStack'](_0xacdf21){return this['_reconnectionStack']['has'](_0xacdf21);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2a269e=>_0x2a269e['reconnect']())))['then'](()=>this['state']=_0xf9333a['CONNECTED'])['catch'](_0x25a624=>{throw console['error'](_0x25a624),new _0x2b1db2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xf9333a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x5cca81{['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,_0x15d62c];}constructor(_0xbfb5e9){super(_0xbfb5e9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x442047(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d62c);}['init'](){const _0x4ff35c=this['context']['plugins']['get'](z);this['listenTo'](_0x4ff35c,'change:state',(_0x6fa848,_0x16d014,_0x11fa3b)=>{if('connected'!==_0x11fa3b)this['channelSessions']['forEach'](_0x4ef392=>_0x4ef392['clear']()),this['channelConnectedUsers']['forEach'](_0x263e64=>_0x263e64['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xafb147,_0x36ab52]of this['_registeredSessions'])for(const _0x404635 of _0x36ab52)this['_handleSessionAdd'](_0xafb147,_0x404635);}}),this['_createUser'](_0x4ff35c['connection']['me'],!0x0);}['register'](_0x3b3b80,_0x167d2d){if(this['_registeredSessions']['has'](_0x3b3b80))throw new _0x2b1db2('sessions-register-already-registered',null,{'channelId':_0x3b3b80});this['_registeredSessions']['set'](_0x3b3b80,_0x167d2d),this['channelSessions']['set'](_0x3b3b80,new _0x442047()),this['channelConnectedUsers']['set'](_0x3b3b80,new _0x442047()),this['listenTo'](_0x167d2d,'add',(_0x5b8d1e,_0x383b03)=>this['_handleSessionAdd'](_0x3b3b80,_0x383b03)),this['listenTo'](_0x167d2d,'remove',(_0x217da0,_0x3ea400)=>this['_handleSessionRemove'](_0x3b3b80,_0x3ea400));for(const _0x2f0468 of _0x167d2d)this['_handleSessionAdd'](_0x3b3b80,_0x2f0468);}['unregister'](_0x50b9af){if(!this['_registeredSessions']['has'](_0x50b9af))throw new _0x2b1db2('sessions-unregister-not-exist',null,{'channelId':_0x50b9af});const _0x2d6517=this['_registeredSessions']['get'](_0x50b9af);this['stopListening'](_0x2d6517);for(const _0x36a9c9 of _0x2d6517)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x50b9af,_0x36a9c9);this['_registeredSessions']['delete'](_0x50b9af),this['channelSessions']['delete'](_0x50b9af),this['channelConnectedUsers']['delete'](_0x50b9af);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5a1805){for(const _0x2a0d18 of this['channelSessions']['values']())for(const _0x4bb55d of _0x2a0d18)if(_0x4bb55d['id']===_0x5a1805)return _0x4bb55d['user'];}['getUserSessions'](_0x16bfcc,_0xd578f2){const _0x17860e=_0xd578f2?[this['channelSessions']['get'](_0xd578f2)]:this['channelSessions']['values'](),_0x5c972b=new Set();for(const _0x1cadba of _0x17860e)for(const _0x8f0e85 of _0x1cadba)_0x8f0e85['user']['id']===_0x16bfcc['id']&&_0x5c972b['add'](_0x8f0e85['id']);return _0x5c972b;}['getUserRole'](_0x512102){for(const _0x4663d6 of this['channelSessions']['values']())for(const _0x5d1bca of _0x4663d6)if(_0x5d1bca['user']===_0x512102)return _0x5d1bca['role'];}['_handleSessionAdd'](_0x6bc086,_0x56a7cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x342fbf=_0x56a7cf['user'],_0x5d4c75=this['_users']['getUser'](_0x342fbf['id'])||this['_createUser'](_0x342fbf),_0x1e6f92=Object['assign']({},_0x56a7cf,{'user':_0x5d4c75});if(this['channelSessions']['get'](_0x6bc086)['add'](_0x1e6f92),!_0x342fbf['hiddenInPresenceList']){const _0x18a3e9=this['channelConnectedUsers']['get'](_0x6bc086);_0x18a3e9['has'](_0x5d4c75['id'])||_0x18a3e9['add'](_0x5d4c75),this['allConnectedUsers']['has'](_0x5d4c75['id'])||_0x342fbf['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5d4c75,_0x5d4c75['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x6bc086,{'channelId':_0x6bc086,'session':_0x1e6f92});}['_handleSessionRemove'](_0x3c1f83,_0x394ec5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1eb51e=this['channelConnectedUsers']['get'](_0x3c1f83),_0x40eadd=_0x394ec5['user'];_0x40eadd['id']&&(this['channelSessions']['get'](_0x3c1f83)['remove'](_0x394ec5['id']),_0x1eb51e['has'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd,_0x3c1f83)['size']&&_0x1eb51e['remove'](_0x40eadd['id']),this['allConnectedUsers']['get'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd)['size']&&this['allConnectedUsers']['remove'](_0x40eadd['id']));}['_createUser'](_0x1003c7,_0x2c49fd){const _0x503480=this['_users']['addUser'](_0x1003c7);return _0x2c49fd&&this['_users']['defineMe'](_0x1003c7['id']),_0x503480['orderNumber']=this['_uniqueUsersCount']++,_0x503480;}}class K extends _0x539c3e{['_domEmitter']=new(_0x236293())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x40ebba=this['editor'],_0x22d6a8=_0x40ebba['plugins']['get'](Y);_0x40ebba['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x27218b,{writer:_0x176ffc})=>function(_0x366f8f,_0x3bdd5b,_0x5e82ae,_0x186185){const _0x4eccef=_0x366f8f['markerName']['split'](':')[0x2],_0xb661bc=_0x5e82ae['getUserBySessionId'](_0x4eccef);if(!_0xb661bc||_0x4eccef===_0x5e82ae['mySessionId'])return;if(!_0x186185['model']['schema']['checkChild'](_0x366f8f['markerRange']['start'],'$text'))return;const _0x420fa9={'class':'ck-user__marker\x20'+_0xb661bc['color']['getMarkerClass'](),'style':Q(_0xb661bc),'data-name':_0xb661bc['name'],'data-session-id':_0x4eccef},_0x3b2636=_0x186185['model']['markers']['get'](_0x366f8f['markerName']),_0x501d2b=_0x3b2636['getStart'](),_0x1d4d36=_0x501d2b['nodeAfter'],_0x29c4f6=_0x186185['model']['schema'];if(_0x1d4d36&&_0x29c4f6['isObject'](_0x1d4d36)&&_0x29c4f6['isInline'](_0x1d4d36)&&!_0x186185['model']['markers']['get']('user:range:'+_0x4eccef)['getRange']()['isCollapsed'])return;const _0x17fc03=_0x501d2b['parent'];return _0x186185['model']['schema']['isLimit'](_0x17fc03)&&!_0x186185['model']['hasContent'](_0x17fc03)&&(_0x420fa9['contenteditable']=!0x1),function(_0x2d7319,_0x22ccc8,_0x37076e){const _0x5a9632=_0x2d7319['createUIElement']('span',_0x22ccc8);return _0x2d7319['setCustomProperty']('userPositionMarker',!0x0,_0x5a9632),_0x5a9632['render']=function(_0x3d2e01){const _0x2b9536=this['toDomElement'](_0x3d2e01),_0x5c4d4d=document['createElement']('span');return _0x5c4d4d['classList']['add']('ck-user__marker-tooltip'),_0x5c4d4d['setAttribute']('contenteditable','false'),_0x5c4d4d['setAttribute']('spellcheck','false'),_0x5c4d4d['textContent']=_0x37076e['name'],_0x2b9536['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c4d4d['outerHTML']+'⁠',_0x2b9536['addEventListener']('mouseenter',()=>{_0x2b9536['classList']['add']('ck-user__marker_hovered');}),_0x2b9536['addEventListener']('mouseleave',()=>{_0x2b9536['classList']['remove']('ck-user__marker_hovered');}),_0x2b9536;},_0x5a9632['isSimilar']=function(_0x2a9728){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2a9728['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2a9728['getAttribute']('data-session-id'));},_0x5a9632;}(_0x3bdd5b,_0x420fa9,_0xb661bc);}(_0x27218b,_0x176ffc,_0x22d6a8,_0x40ebba)}),_0x40ebba['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40e573=>function(_0x2a2e0c,_0x4029dd){const _0x117c0c=_0x2a2e0c['markerName']['split'](':')[0x2];if(_0x117c0c===_0x4029dd['mySessionId'])return null;const _0x566429=_0x4029dd['getUserBySessionId'](_0x117c0c);if(!_0x566429)return{'id':_0x117c0c,'classes':[]};return{'id':_0x117c0c,'classes':['ck-user__selection',_0x566429['color']['getSelectionClass']()],'attributes':{'style':Q(_0x566429),'data-session-id':_0x117c0c},'priority':0x7d0+_0x566429['orderNumber']};}(_0x40e573,_0x22d6a8)}),function(_0x7c0789){const _0x54b355=_0x7c0789['model'],_0x256777=new Map(),_0x2bcb09=_0x7c0789['plugins']['get'](Y);_0x54b355['markers']['on']('update:user:range',(_0x4e023a,_0x4378c7,_0x283fc8,_0x4feeab)=>{if(!_0x4feeab&&_0x256777['get'](_0x4378c7['name']))return _0x256777['get'](_0x4378c7['name'])['detach'](),void _0x256777['delete'](_0x4378c7['name']);const _0x3d8780=_0x4378c7['name']['split'](':')[0x2];if(_0x3d8780===_0x2bcb09['mySessionId'])return;const _0x31573a='user:position:'+_0x3d8780;_0x54b355['markers']['has'](_0x31573a)&&_0x7c0789['editing']['reconvertMarker'](_0x31573a),_0x4378c7['on']('change:range',(_0x16649f,_0x3fbc44,_0x5d2fcf)=>{if('$graveyard'!=_0x3fbc44['root']['rootName']&&'$graveyard'==_0x4378c7['getRange']()['root']['rootName']&&!_0x256777['has'](_0x4378c7['name'])){const _0x3d0fbe=_0x54b355['schema']['getNearestSelectionRange'](_0x5d2fcf['deletionPosition']);if(_0x3d0fbe){const _0x46b224=_0x468486['fromRange'](_0x3d0fbe);_0x256777['set'](_0x4378c7['name'],_0x46b224),_0x46b224['on']('change:range',(_0x23c1a2,_0x5a3306,_0xfc58ee)=>{if('$graveyard'==_0x46b224['root']['rootName']){const _0x22e106=_0x54b355['schema']['getNearestSelectionRange'](_0xfc58ee['deletionPosition']);_0x22e106?(_0x46b224['start']=_0x22e106['start'],_0x46b224['end']=_0x22e106['end']):(_0x256777['delete'](_0x4378c7['name']),_0x46b224['detach']());}});}}});}),_0x54b355['document']['on']('change',()=>{_0x256777['size']>0x0&&_0x54b355['enqueueChange']({'isUndoable':!0x1},_0x488068=>{for(const [_0x488bd4,_0x599b33]of _0x256777)'$graveyard'==_0x54b355['markers']['get'](_0x488bd4)['getRange']()['root']['rootName']&&(J(_0x488bd4['split'](':')[0x2],_0x599b33['toRange'](),_0x54b355,_0x488068),_0x599b33['detach']());_0x256777['clear']();});});}(_0x40ebba),this['_domEmitter']['listenTo'](_0x3feea9['document'],'keydown',(_0x2ab889,{key:_0x9be9b7})=>{'Escape'===_0x9be9b7&&function(_0x3bae0a){_0x3bae0a['editing']['view']['change'](_0x1adc9b=>{for(const _0x4daf2b of _0x3bae0a['model']['markers']){if(!_0x4daf2b['name']['startsWith']('user:position'))continue;const _0x279157=_0x3bae0a['editing']['mapper']['markerNameToElements'](_0x4daf2b['name']);if(_0x279157){for(const _0x4618d9 of _0x279157)_0x1adc9b['removeClass']('ck-user__marker_hovered',_0x4618d9);}}});}(_0x40ebba);},{'useCapture':!0x0});}['afterInit'](){const _0x30558e=this['editor'],_0x15f85a=_0x30558e['commands']['get']('undo');_0x15f85a&&_0x30558e['model']['on']('applyOperation',(_0x38fe86,_0x306190)=>{const _0x4e6629=_0x306190[0x0];if(!_0x4e6629['isDocumentOperation'])return;if('marker'!=_0x4e6629['type']||!_0x4e6629['name']['startsWith']('user:'))return;const _0x4d1225=_0x4e6629['batch'];_0x15f85a['_createdBatches']['has'](_0x4d1225)&&(_0x4e6629['newRange']=_0x4e6629['oldRange']?_0x30558e['model']['createRange'](_0x4e6629['oldRange']['start'],_0x4e6629['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x203c9d=this['editor'],_0x14627f=_0x203c9d['model']['document'],_0x5a68a4=_0x203c9d['plugins']['get'](Y);_0x203c9d['model']['enqueueChange']({'isUndoable':!0x1},_0x546daf=>{const _0x1d79e0='user:range:'+_0x5a68a4['mySessionId'],_0x5cd4c5='user:position:'+_0x5a68a4['mySessionId'],_0x3aaa3e=_0x203c9d['model']['markers']['has'](_0x1d79e0);_0x203c9d['editing']['view']['hasDomSelection']?J(_0x5a68a4['mySessionId'],_0x14627f['selection']['getFirstRange'](),_0x203c9d['model'],_0x546daf):_0x3aaa3e&&(_0x546daf['removeMarker'](_0x1d79e0),_0x546daf['removeMarker'](_0x5cd4c5));});}}function J(_0x586b37,_0xb4a11a,_0x19ea86,_0x518786){const _0x1a150e='user:range:'+_0x586b37,_0x499285='user:position:'+_0x586b37,_0x15a5ef=_0xb4a11a['getContainedElement']();let _0x2c4925=_0xb4a11a['start'];if(_0x15a5ef&&_0x15a5ef['is']('element','tableCell')){const _0x2eafd1=function(_0x1d0501,_0x59917f){for(const _0x42d0f9 of _0x1d0501['getPositions']())if(_0x59917f['schema']['checkChild'](_0x42d0f9,'$text'))return _0x42d0f9;}(_0xb4a11a,_0x19ea86);_0x2eafd1&&(_0x2c4925=_0x2eafd1,_0xb4a11a=_0x518786['createRange'](_0x2c4925));}const _0x2e1bb5=_0x518786['createRange'](_0x2c4925);_0x19ea86['markers']['has'](_0x1a150e)?(_0x518786['updateMarker'](_0x1a150e,{'range':_0xb4a11a}),_0x518786['updateMarker'](_0x499285,{'range':_0x2e1bb5})):(_0x518786['addMarker'](_0x1a150e,{'range':_0xb4a11a,'usingOperation':!0x0}),_0x518786['addMarker'](_0x499285,{'range':_0x2e1bb5,'usingOperation':!0x0}));}function Q(_0x4cfa44){return'--ck-user-color:'+_0x4cfa44['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cfa44['color']['getColorAlphaVariable']()+';';}function X(_0xa89946,_0x59cfb5,_0xc7ff08){const _0xb0700b=_0xa89946['t'],t=_0xa89946['t'];switch(_0x59cfb5){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 _0xb0700b({'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'},_0xc7ff08);default:return'';}}let Z=0x1;class tt extends _0x539c3e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x35e047)());['_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,_0xd9ea96,_0x15d62c,_0x3beb50];}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 _0x1ea482=this['serverHistory']['getOperations']();for(let _0x205b89=_0x1ea482['length']-0x1;_0x205b89>=0x0;_0x205b89--){const _0x13646f=_0x1ea482[_0x205b89];if(!this['_disconnectionOperations']['has'](_0x13646f))return _0x13646f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x390202){if(super(_0x390202),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d26a6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b1db2('collaboration-missing-channelid',this);const _0x273bfe=_0x390202['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d;this['_service']=new tt['CollaborativeEditingService'](_0x273bfe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5a3d56(),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 _0x153a80=this['editor'],_0x29033f=_0x153a80['plugins']['get'](_0x15d62c),_0x294a13=_0x153a80['plugins']['get'](z);this['listenTo'](_0x29033f,'getOperationAuthor',(_0x167ec8,_0xec2b14)=>{const _0x46d9e5=_0xec2b14[0x0];_0x46d9e5['_authorId']&&(_0x167ec8['return']=_0x29033f['getUser'](_0x46d9e5['_authorId']),_0x167ec8['stop']()),null===_0x46d9e5['_authorId']&&(_0x167ec8['return']=null,_0x167ec8['stop']());},{'priority':'high'}),this['listenTo'](_0x153a80['model']['document']['selection'],'change:range',(_0x28be37,_0x3744b3)=>{_0x3744b3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x153a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x153a80['model']['on']('applyOperation',(_0x565bb0,_0x1521d4)=>{const _0x4c80a8=_0x1521d4[0x0];_0x4c80a8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c80a8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x294a13,'state',this,'_hasSynchronizationProblem',(_0xd24138,_0x394b3)=>'connected'===_0xd24138&&!_0x394b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4c5241=this['editor']['plugins']['get'](Y),_0x5be913=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4c5241['unregister'](this['_channelId']);const _0x54a203=await this['_service']['reconnect'](_0x5be913['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x54a203)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x49c534=await this['_service']['getConnectedSessions']();_0x4c5241['register'](this['_channelId'],_0x49c534),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5d18f7){if(function(_0xed42d0){return'404'===_0xed42d0['code'];}(_0x5d18f7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32a64d){return'409'===_0x32a64d['code'];}(_0x5d18f7)){const _0x59e69e=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'](_0x59e69e);}else{if(!(_0x5d18f7 instanceof et))throw _0x5d18f7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x9773dd=this['editor']['plugins']['get'](z),_0x41bb4e=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x41bb4e['channelSessions']['has'](this['_channelId'])&&_0x41bb4e['unregister'](this['_channelId']),_0x9773dd['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46939d){if(this['sessionId']!==_0x46939d['sessionId']&&this['_lastSyncedOperationId']!==_0x46939d['lastOperationId'])throw new et();return this['sessionId']=_0x46939d['sessionId'],this['_handleServerResponse']([],{..._0x46939d,'wereChangesApplied':!0x1,'data':_0x46939d['data']},'reconnect');}async['_connectService'](_0x5dc94e,_0x304ac5=!0x1){const {connection:_0x162a74}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x162a74,this['_channelId'])['then'](_0x38620b=>this['_initSessionsHandling'](_0x38620b))['catch'](_0x35a2b6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x35a2b6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5af7cf,_0x110094)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x110094);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x128439=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dc94e);this['_isPendingUpdate']=!0x0;const _0x2b3dd0=await this['_service']['connect'](_0x162a74,this['_compressOperations'](_0x5dc94e),_0x128439);if(this['sessionId']=_0x2b3dd0['sessionId'],_0x304ac5){if(!_0x2b3dd0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b3dd0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5dc94e,_0x2b3dd0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b3dd0,_0x5dc94e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x119e14=this['editor']['plugins']['get'](Y),_0x51dd8d=this['editor']['plugins']['get'](K),_0x1f0b92=_0x119e14['channelSessions']['get'](this['_channelId']);_0x1f0b92&&_0x1f0b92['length']>0x1?_0x51dd8d['createUserMarkerOperations']():this['listenTo'](_0x119e14,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x119e14['channelSessions']['get'](this['_channelId'])['length']&&_0x51dd8d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x398210,_0x54096a,_0x31f06a,_0x1f925d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x54096a){const _0x5369c7=this['_decompressOperations'](_0x31f06a,_0x1f925d);await this['_fetchMissingUsers'](_0x5369c7),this['_handleExternalOperations'](_0x5369c7,_0x54096a,_0x31f06a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x36e22f}=this['editor'];let _0x5661cd;try{_0x5661cd=await this['_service']['getDocumentDetails']();}catch{const _0xaed56f=X(_0x36e22f,'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'](_0xaed56f);}const _0x529ce6=_0x5661cd['currentDocumentSession']||_0x5661cd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x529ce6['lastOperationId']){const _0x5e9071=X(_0x36e22f,'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'](_0x5e9071);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12313b){const _0x306a7a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x306a7a,'sessionAdd:'+this['_channelId'],(_0x34936f,{session:_0x2deb06})=>{if(_0x2deb06['id']===_0x306a7a['mySessionId']){_0x34936f['off']();const _0x2124b5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x88fa83=_0x2deb06['permissions'];_0x2124b5&&_0x2124b5['isEnabled']&&(_0x88fa83=_0x88fa83['filter'](_0x6d42f6=>'document:write'!==_0x6d42f6)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x88fa83,this['_channelId']);}}),_0x306a7a['register'](this['_channelId'],_0x12313b);}['_initThrowingOnDataSet'](){const _0x48d8ed=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3ff46c)=>{if(!_0x3ff46c[_0x3ff46c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b1db2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x48d8ed['apply'](this['editor']['data'],_0x3ff46c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x440741,[_0x35bb91])=>{if(this['_document']['version'])throw new _0x2b1db2('realtimecollaborationclient-init-document-already-initialized',this);_0x440741['stop'](),this['_setPendingAction']();const _0xd693fc=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x23b06f])=>!_0x23b06f['lazyLoad'])['map'](([_0x32bbb6,_0x2671a6])=>[_0x32bbb6,_0x2671a6['modelAttributes']||{}])),_0x5f46e9=this['_getOperationsFromInitData'](_0x35bb91,_0xd693fc);0x0==_0x5f46e9['length']&&_0x5f46e9['push'](new _0x3e327f(0x0)),_0x440741['return']=this['_connectService'](_0x5f46e9)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xaad939=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xaad939))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xe84be9,[_0x17eb56,_0x2271f0])=>{_0xe84be9['stop']();const _0x245c41=this['editor']['model']['document']['getRoot'](_0x17eb56);if(!this['_knownRootNames']['has'](_0x17eb56)){const _0x59ca91=_0x2271f0&&_0x2271f0['data']?_0x2271f0['data']:'',_0x27f592=_0x2271f0&&_0x2271f0['attributes']?_0x2271f0['attributes']:{};await this['_loadRoot'](_0x17eb56,_0x59ca91,_0x27f592);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x245c41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x245c41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x15c068){const _0x48a53f=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x7b35f9}=this['editor']['plugins']['get'](z),_0x32640e=new Set();for(const _0x2f4905 of _0x15c068){const _0x2c7492=_0x2f4905['_authorId'];_0x2c7492&&!_0x48a53f['getUser'](_0x2c7492)&&_0x32640e['add'](_0x2c7492);}if(0x0===_0x32640e['size'])return;const _0x22da8e=await _0x1ca5f7['getMany'](_0x7b35f9,Array['from'](_0x32640e));for(const _0x2faa12 of _0x22da8e)_0x48a53f['getUser'](_0x2faa12['id'])||_0x48a53f['addUser'](_0x2faa12);}['_getOperationsFromInitData'](_0x14e66c,_0x4df968={}){const _0x462514=this['editor']['model'],_0x475e2f=[];let _0x464b13=0x0;const _0x792f5f='string'==typeof _0x14e66c?{'main':_0x14e66c}:_0x14e66c;for(const _0x75d5b5 of Object['keys'](_0x792f5f)){if(!this['_document']['roots']['has'](_0x75d5b5))throw new _0x2b1db2('realtimecollaborationclient-init-non-existent-root',this);const _0x926c5=this['editor']['data']['parse'](_0x792f5f[_0x75d5b5]),_0x2611e2=this['_document']['getRoot'](_0x75d5b5),_0x352301=new _0x3841a2(_0x462514['createPositionAt'](_0x2611e2,0x0),_0x926c5,_0x464b13++);_0x475e2f['push'](_0x352301);for(const [_0x56e5a0,_0x98b941]of _0x926c5['markers']){const _0x3d9675=_0x462514['createRange'](_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['start']['path']['slice']()),_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['end']['path']['slice']())),_0x2d1069=new _0x4ed2d7(_0x56e5a0,null,_0x3d9675,_0x462514['markers'],!0x0,_0x464b13++);_0x475e2f['push'](_0x2d1069);}}if(_0x4df968)for(const [_0x43eb06,_0x2d6a21]of Object['entries'](_0x4df968)){const _0x332b75=_0x462514['document']['getRoot'](_0x43eb06);if(!_0x332b75)throw new _0x2b1db2('multi-root-editor-root-attributes-no-root',null);for(const [_0x4ab22f,_0x52c58d]of Object['entries'](_0x2d6a21))if(null!==_0x52c58d){const _0x346517=new _0x57bef9(_0x332b75,_0x4ab22f,null,_0x52c58d,_0x464b13++);_0x475e2f['push'](_0x346517);}}return _0x475e2f;}async['_loadRoot'](_0x1b4f23,_0x29125f,_0x5c9e25){this['_getOperationsFromInitData']({[_0x1b4f23]:_0x29125f},{[_0x1b4f23]:_0x5c9e25})['forEach']((_0x29208d,_0x348c2c)=>{_0x29208d['baseVersion']=this['_document']['version']+_0x348c2c,_0x29208d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x29208d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x336930,_0x443d3f){let _0x21714e;this['_offset']=_0x336930['offset'];const _0x48e93a=_0x336930['wereChangesApplied']&&!_0x336930['initData'],_0x39a089=_0x48e93a?0x0:_0x336930['data']['baseVersion'];if(_0x443d3f['forEach'](_0x10cd8b=>{_0x10cd8b['_isInit']=!0x0,_0x10cd8b['createdAt']=_0x336930['sessionCreatedAt'],_0x10cd8b['_authorId']=null;}),_0x48e93a)_0x21714e=_0x443d3f,this['_applyOperationsSet'](_0x21714e,_0x48e93a);else{if(_0x336930['initData']){const _0x5e2a18=this['_getOperationsFromInitData'](_0x336930['initData']);this['_document']['history']['version']=-_0x5e2a18['length'],_0x5e2a18['forEach'](_0x15476e=>{_0x15476e['baseVersion']-=_0x5e2a18['length'],_0x15476e['createdAt']=_0x336930['sessionCreatedAt'],_0x15476e['_isInit']=!0x0,_0x15476e['_authorId']=null;}),this['_applyOperationsSet'](_0x5e2a18,!0x0),this['serverHistory']['version']=-_0x5e2a18['length']+this['_offset'],this['_updateServerHistory'](_0x5e2a18);}this['_document']['history']['version']=_0x39a089,_0x21714e=this['_decompressOperations'](_0x336930['data'],_0x336930['metadata']),await this['_fetchMissingUsers'](_0x21714e),this['_applyOperationsSet'](_0x21714e,_0x48e93a);}_0x336930['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x21714e,_0x336930['lastOperationId']),this['_lastSyncedOperationId']=_0x336930['lastOperationId']),this['serverHistory']['version']=_0x39a089+this['_offset'],this['_updateServerHistory'](_0x21714e),_0x443d3f['filter'](_0x4d9850=>{const _0x465694=this['_getAffectedRoot'](_0x4d9850);return _0x465694&&!this['_knownRootNames']['has'](_0x465694);})['forEach']((_0x4f6e03,_0x3134bc)=>{_0x4f6e03['baseVersion']=this['_document']['version']+_0x3134bc,this['_saveOperationInBuffer'](_0x4f6e03);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x32b820,_0x355f66){const _0x333cbc=_0x355f66&&_0x355f66['message'];if(_0x333cbc&&_0x333cbc['startsWith']('realtimecollaborationclient'))throw _0x355f66;const _0x1e101b=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1e101b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b1db2(_0x32b820,this['editor'],_0x333cbc?{'originalError':_0x333cbc}:void 0x0);}['_saveOperationInBuffer'](_0x437bbc){this['_knownOperations']['has'](_0x437bbc)||(this['_knownOperations']['add'](_0x437bbc),this['_bufferedOperations']['push'](_0x437bbc),this['_pendingAction']||'marker'==_0x437bbc['type']&&!_0x437bbc['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a72ce=!0x1){!_0x3a72ce&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3b6c4e=>{_0x3b6c4e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1c87c3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x56348f){return _0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1c87c3)||this['_crash'](_0x1c87c3['message'],_0x1c87c3);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3ebe5d=>{this['on']('change:_isPendingUpdate',()=>{_0x3ebe5d();});});}async['_sendBufferedOperations'](){const _0x17c750=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x17c750['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xfc6821=[...this['_bufferedOperations']];for(const _0x3dd349 of _0xfc6821)_0x3dd349['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dd349);const _0x16f444=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xfc6821),_0x34a16d=Z++,_0x472adf=this['_compressOperations'](_0xfc6821),_0x50f436=await this['_service']['sendOperations'](_0x472adf,_0x472adf['baseVersion'],_0x16f444);try{return await this['_handleServerResponse'](_0xfc6821,_0x50f436,_0x34a16d);}catch(_0x408309){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x408309);}}async['_handleServerResponse'](_0x410371,_0x451677,_0x4aa97c){if('error'in _0x451677)throw _0x451677['error'];let _0xc7d12=!0x1;if(_0x451677['wereChangesApplied']){_0x451677['lastOperationId']&&(this['_lastSyncedOperationId']=_0x451677['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x295796=>!_0x410371['includes'](_0x295796));for(const _0xf6b500 of _0x410371)_0xf6b500['createdAt']='lastOperationAcceptedAt'in _0x451677&&_0x451677['lastOperationAcceptedAt']||void 0x0;st(_0x410371,_0x451677['version']-_0x410371['length']),this['_updateServerHistory'](_0x410371);const _0x3460c4=_0x410371['filter'](_0x5f3da2=>{if(!_0x5f3da2['_isInit'])return!0x1;const _0xff370d=this['_getAffectedRoot'](_0x5f3da2);return _0xff370d&&!this['_knownRootNames']['has'](_0xff370d);});st(_0x3460c4,this['_document']['version']),this['_applyOperationsSet'](_0x3460c4),_0xc7d12=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x186bf0=this['_decompressOperations'](_0x451677['data'],_0x451677['metadata'])['filter'](_0x28e519=>_0x28e519['baseVersion']>=this['_lastServerVersion']);_0x186bf0['forEach'](_0x1ff73a=>this['_addKnownRoot'](_0x1ff73a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dd34=>!_0x4dd34['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4dd34))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x186bf0),_0xc7d12=this['_handleExternalOperations'](_0x186bf0,_0x451677['version'],_0x451677['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc7d12?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x466527,_0x37f814,_0x2d594e){try{const _0x22dd18={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x367c05,operationsB:_0xb6e25a,originalOperations:_0x179182}=_0x16312c(_0x466527,this['_bufferedOperations'],_0x22dd18);st(_0x367c05,this['_document']['version']),st(_0xb6e25a,_0x37f814);for(const _0x255597 of _0x367c05){const _0x4b9c28=_0x179182['get'](_0x255597);_0x255597['_authorId']=_0x4b9c28?_0x4b9c28['_authorId']:null;}_0x2d594e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x466527,_0x2d594e),this['_lastSyncedOperationId']=_0x2d594e),this['_bufferedOperations']=[..._0xb6e25a],this['_applyOperationsSet'](_0x367c05),this['_updateServerHistory'](_0x466527);}catch(_0x1b13eb){return console['error'](_0x1b13eb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2e271e,_0x1f8b6a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x8c4919=>{for(const _0x656b1d of _0x2e271e)this['_knownOperations']['add'](_0x656b1d),this['_addKnownRoot'](_0x656b1d),_0x8c4919['batch']['addOperation'](_0x656b1d),this['editor']['model']['applyOperation'](_0x656b1d);});}['_addKnownRoot'](_0x416295){const _0x54179f=this['_getAffectedRoot'](_0x416295);_0x54179f&&this['_knownRootNames']['add'](_0x54179f);}['_getAffectedRoot'](_0x3758e8){let _0x8a32cb,_0x2cef06;switch(_0x3758e8['type']){case'insert':_0x8a32cb=_0x3758e8['position']['root'];break;case'marker':if(_0x2cef06=_0x3758e8['newRange'],!_0x2cef06)return null;_0x8a32cb=_0x2cef06['root'];break;case'addRootAttribute':_0x8a32cb=_0x3758e8['root'];break;case'addRoot':_0x8a32cb=_0x3758e8['affectedSelectable'];break;case'move':_0x8a32cb=_0x3758e8['targetPosition']['root'];break;default:return null;}return _0x8a32cb['rootName'];}['_updateServerHistory'](_0x5887fb){_0x5887fb['forEach'](_0x3b8429=>{const _0x354604=_0x3b8429['clone']();_0x354604['_authorId']=_0x3b8429['_authorId'],_0x354604['_isInit']=!!_0x3b8429['_isInit'],_0x354604['createdAt']=_0x3b8429['createdAt'],_0x354604['baseVersion']+=this['_offset'],_0x3b8429['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x354604),this['serverHistory']['addOperation'](_0x354604);});}['_handleReconnectionError'](_0x1ff3e1){const _0x22593a=this['editor']['plugins']['get']('Notification'),_0x4ae177=this['editor']['locale'];_0x1ff3e1||(_0x1ff3e1=X(_0x4ae177,'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.')),_0x22593a['showWarning'](_0x1ff3e1,{'title':X(_0x4ae177,'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'](_0xd9ea96)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xd9ea96)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5ca940){const _0x695fa3=_0x5ca940['map'](_0x2b30b2=>_0x2b30b2['toJSON']());return this['_compressor']['compress'](_0x695fa3);}['_decompressOperations'](_0x312944,_0x207290){return this['_compressor']['decompress'](_0x312944)['map']((_0xd6c219,_0x224f4c)=>{const _0x18feb4='init'==_0x207290[_0x224f4c]['type'];if('InsertOperation'==_0xd6c219['__className']){const _0xbe14a5=_0xd6c219['position']['root'];!this['_document']['getRoot'](_0xbe14a5)&&(this['_document']['createRoot']('$root',_0xbe14a5)['_isAttached']=!0x1);}const _0x7dcd3=_0x10370b['fromJSON'](_0xd6c219,this['_document']);return _0x7dcd3['wasUndone']=_0xd6c219['wasUndone'],_0x7dcd3['_isInit']=_0x18feb4,_0x7dcd3['_authorId']=_0x18feb4?null:_0x207290[_0x224f4c]['userId'],_0x7dcd3['_isDisconnection']='cs:removeUser'===_0x207290[_0x224f4c]['type'],_0x7dcd3['createdAt']=_0x207290[_0x224f4c]['createdAt'],_0x7dcd3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x7c3f50=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x7c3f50&&_0x7c3f50['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x42e3c0,_0x15ed94){for(const _0x288d54 of _0x42e3c0)_0x288d54['baseVersion']=_0x15ed94++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x30b15){this['_ignoredOperations']=_0x30b15,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41fcc0){let _0x519de5=_0x41fcc0['length'];for(;_0x519de5--;){const _0x3a07cd=_0x41fcc0[_0x519de5];if(!this['_ignoredOperations']['has'](_0x3a07cd)){if(!this['_operationToId']['has'](_0x3a07cd)){const _0x121d16=_0x243793()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3a07cd,_0x121d16);}return this['_operationToId']['get'](_0x3a07cd);}}}['setIdForTheLastOperation'](_0x5c84b0,_0xdb152d){if(!_0xdb152d)return;let _0x5de669=_0x5c84b0['length'];for(;_0x5de669--;){const _0x22317c=_0x5c84b0[_0x5de669];this['_ignoredOperations']['has'](_0x22317c)||this['_operationToId']['set'](_0x22317c,_0xdb152d);}}}class nt extends _0x539c3e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x5cca81{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x55b714)());['_services'];static get['requires'](){return[z,_0x5383ad,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27c7c6){super(_0x27c7c6),this['_services']=new Map();}async['init'](){const _0x402c86=this['context'],_0xa84af0=_0x402c86['plugins']['get'](_0x5383ad);if(_0x402c86['plugins']['get'](z)['addToReconnectionStack'](this),_0xa84af0['adapter']={'addCommentThread':async({channelId:_0xd5e818,threadId:_0x3d8126,comments:_0x5c13a8,resolvedAt:_0x46a8fd,resolvedBy:_0x1baf0f,context:_0x15aa1d,attributes:_0x1b29e6})=>{const _0x1291d4=await this['_getService'](_0xd5e818)['addCommentThread']({'commentThreadId':_0x3d8126,'comments':_0x5c13a8['map'](_0x54a1a0=>function(_0x32d5d9,_0x20c330,_0x2598cb){return{'commentThreadId':_0x2598cb,'commentId':_0x32d5d9['commentId'],'userId':_0x32d5d9['authorId'],'content':_0x32d5d9['content'],'documentId':_0x20c330,'createdAt':_0x32d5d9['createdAt'],'attributes':_0x32d5d9['attributes']||{}};}(_0x54a1a0,_0xd5e818,_0x3d8126)),'resolvedAt':_0x46a8fd,'resolvedBy':_0x1baf0f,'context':_0x15aa1d,'attributes':_0x1b29e6})['catch'](ct);return{'threadId':_0x1291d4['commentThreadId'],'comments':_0x1291d4['comments']};},'getCommentThread':async({channelId:_0x31ae82,threadId:_0x94777a})=>{const _0x340841=await this['_getService'](_0x31ae82)['getCommentThread'](_0x94777a)['catch'](rt)['catch'](ct);return _0x340841?_0x340841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x340841]),{'threadId':_0x340841['commentThreadId'],'comments':_0x340841['comments']['map'](at),'context':_0x340841['context'],'resolvedAt':_0x340841['resolvedAt'],'resolvedBy':_0x340841['resolvedBy'],'attributes':_0x340841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x25c821,threadId:_0x5795a8,context:_0x526c71,unlinkedAt:_0x15f264,attributes:_0x58671d})=>this['_getService'](_0x25c821)['updateCommentThread']({'commentThreadId':_0x5795a8,'context':_0x526c71,'attributes':_0x58671d,'unlinkedAt':_0x15f264})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xdefeb4,threadId:_0x4ee7d4})=>{const _0x43f6f7=await this['_getService'](_0xdefeb4)['resolveCommentThread'](_0x4ee7d4)['catch'](rt)['catch'](ct);return{'threadId':_0x43f6f7['commentThreadId'],'resolvedAt':_0x43f6f7['resolvedAt'],'resolvedBy':_0x43f6f7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x301b3c,threadId:_0x9463e})=>this['_getService'](_0x301b3c)['reopenCommentThread'](_0x9463e)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413ef2,threadId:_0x43bf8b})=>this['_getService'](_0x413ef2)['removeCommentThread'](_0x43bf8b)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x373364,threadId:_0x317781,commentId:_0x337519,content:_0x420e79,attributes:_0xf618ec})=>this['_getService'](_0x373364)['addComment'](_0x317781,_0x337519,_0x420e79,_0xf618ec)['catch'](ct),'updateComment':({channelId:_0x441d35,threadId:_0x5a376d,commentId:_0x625764,content:_0x576878,attributes:_0x23027b})=>this['_getService'](_0x441d35)['updateComment'](_0x5a376d,_0x625764,_0x576878,_0x23027b)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x135445,threadId:_0x54732d,commentId:_0x2dde49})=>this['_getService'](_0x135445)['removeComment'](_0x54732d,_0x2dde49)['catch'](rt)['catch'](ct)},_0x402c86 instanceof _0x285430){const _0x2ab922=_0x402c86['config']['get']('collaboration.channelId'),_0x460caa=_0x402c86['plugins']['get'](Y);await this['_setUpService'](_0x2ab922);const _0x72e775=await this['_services']['get'](_0x2ab922)['getConnectedSessions']();this['listenTo'](_0x460caa,'sessionAdd:'+_0x2ab922,(_0x2915d7,{session:_0xe4a4a8})=>{_0xe4a4a8['id']===_0x460caa['mySessionId']&&(_0x2915d7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xe4a4a8['permissions'],_0x2ab922));}),_0x460caa['register'](_0x2ab922,_0x72e775);}}async['_setUpService'](_0x2648db){if(this['_services']['has'](_0x2648db))throw new _0x2b1db2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2648db});const _0x412544=this['context']['plugins']['get'](_0x5383ad),_0x2d8c65=new ot['CommentsService'](_0x2648db);this['_services']['set'](_0x2648db,_0x2d8c65),this['listenTo'](_0x2d8c65,'commentThreadAdded',(_0x31dd29,_0x337bee)=>{const {commentThreadId:_0x1f5da1,documentId:_0xb50c55,context:_0x4e95e5,attributes:_0x3005a5,resolvedAt:_0x5af5f2,resolvedBy:_0x41d79e,comments:_0x19651b}=_0x337bee;_0x412544['getCommentThread'](_0x1f5da1)||_0x412544['addCommentThread']({'threadId':_0x1f5da1,'channelId':_0xb50c55,'comments':_0x19651b?_0x19651b['map'](at):[],'context':_0x4e95e5,'attributes':_0x3005a5,'resolvedAt':_0x5af5f2,'resolvedBy':_0x41d79e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadUpdated',(_0x585ff6,{commentThreadId:_0xb552be,documentId:_0x16e1a5,context:_0x451b9a,unlinkedAt:_0x2377e5,attributes:_0x334d4c})=>{_0x412544['getCommentThread'](_0xb552be)&&_0x412544['updateCommentThread']({'threadId':_0xb552be,'channelId':_0x16e1a5,'context':_0x451b9a,'unlinkedAt':_0x2377e5,'attributes':_0x334d4c,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadResolved',(_0x531f51,{commentThreadId:_0x2f13f2,resolvedBy:_0x251552,resolvedAt:_0x1b0574})=>{const _0x5f13b4=_0x412544['getCommentThread'](_0x2f13f2);_0x5f13b4&&_0x5f13b4['resolve']({'resolvedBy':_0x251552,'resolvedAt':_0x1b0574,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadReopened',(_0xbe81dc,{commentThreadId:_0x294b6f})=>{const _0xea5873=_0x412544['getCommentThread'](_0x294b6f);_0xea5873&&_0xea5873['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadRemoved',(_0x23d537,{commentThreadId:_0x38893e})=>{const _0x364394=_0x412544['getCommentThread'](_0x38893e);_0x364394&&_0x364394['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentAdded',(_0x43caab,_0x5e23a0)=>{const _0x284999=_0x5e23a0['commentThreadId'],_0x15048c=_0x412544['getCommentThread'](_0x284999);_0x15048c&&_0x15048c['addComment']({...at(_0x5e23a0),'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentUpdated',(_0x392ce7,{commentThreadId:_0x406b63,commentId:_0x4ae33a,content:_0x2e6761,attributes:_0x372523})=>{const _0x416b63=_0x412544['getCommentThread'](_0x406b63);if(_0x416b63){const _0x48bd7c=_0x416b63['getComment'](_0x4ae33a);_0x48bd7c&&_0x48bd7c['update']({'content':_0x2e6761,'attributes':_0x372523,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d8c65,'commentRemoved',(_0x5ad25a,{commentThreadId:_0x49c83b,commentId:_0x8cc84e})=>{const _0x461e8c=_0x412544['getCommentThread'](_0x49c83b);if(_0x461e8c){const _0x3eef99=_0x461e8c['getComment'](_0x8cc84e);_0x3eef99&&_0x3eef99['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2648db);}['destroy'](){if(this['context']instanceof _0x285430){const _0x4f241b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4f241b);}}['_terminateService'](_0x13afc1){if(!this['_services']['has'](_0x13afc1))throw new _0x2b1db2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x13afc1});this['_getService'](_0x13afc1)['disconnect'](),this['_services']['delete'](_0x13afc1);}async['reconnect'](){for(const _0x4fa1c6 of this['_services']['keys']())await this['_connectService'](_0x4fa1c6);if(this['context']instanceof _0x285430){const _0x4120fd=this['context']['config']['get']('collaboration.channelId'),_0x8d775f=this['context']['plugins']['get'](Y);_0x8d775f['unregister'](_0x4120fd);const _0x27b028=await this['_services']['get'](_0x4120fd)['getConnectedSessions']();_0x8d775f['register'](_0x4120fd,_0x27b028);}}async['_connectService'](_0x21d34e){const {connection:_0x4c0971}=this['context']['plugins']['get'](z),_0x4349a1=this['context']['plugins']['get'](_0x5383ad),_0x31c901=this['_services']['get'](_0x21d34e),_0x1be2dd=await _0x31c901['connect'](_0x4c0971);await this['_fetchMissingUsersForThreads'](_0x1be2dd);const _0x340da6=new Set(Array['from'](_0x4349a1['getCommentThreads']({'channelId':_0x21d34e}),_0x4988c0=>_0x4988c0['id']));for(const _0x1caecd of _0x1be2dd)_0x1caecd['deletedAt']||_0x340da6['delete'](_0x1caecd['commentThreadId']);for(const _0x259aa7 of _0x340da6)_0x4349a1['getCommentThread'](_0x259aa7)['remove']({'isFromAdapter':!0x0});for(const _0x5580d1 of _0x1be2dd){let _0x21d313=_0x4349a1['getCommentThread'](_0x5580d1['commentThreadId']);const {commentThreadId:_0x230a11,context:_0x2448c0,attributes:_0x5639fa,resolvedBy:_0x2754e2,resolvedAt:_0x84852f,unlinkedAt:_0x243b7c,deletedAt:_0x256647}=_0x5580d1;if(_0x256647)continue;_0x21d313||(_0x21d313=_0x4349a1['addCommentThread']({'channelId':_0x21d34e,'threadId':_0x230a11,'context':_0x2448c0,'attributes':_0x5639fa||{},'resolvedBy':_0x2754e2,'resolvedAt':_0x84852f,'unlinkedAt':_0x243b7c,'isFromAdapter':!0x0}));const _0x1f2492=new Set(Array['from'](_0x21d313['comments'],_0x55a59d=>_0x55a59d['id']));for(const _0x23cc9f of _0x5580d1['comments'])_0x1f2492['delete'](_0x23cc9f['commentId']);for(const _0x55b717 of _0x1f2492)_0x21d313['getComment'](_0x55b717)['remove']({'isFromAdapter':!0x0});for(const _0x4f1647 of _0x5580d1['comments']){const _0x4904b9=_0x21d313['getComment'](_0x4f1647['commentId']);_0x4904b9?_0x4904b9['content']!==_0x4f1647['content']&&_0x4904b9['update']({'content':_0x4f1647['content'],'isFromAdapter':!0x0}):_0x21d313['addComment'](Object['assign'](at(_0x4f1647),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1f32e0){if(!this['_services']['has'](_0x1f32e0))throw new _0x2b1db2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1f32e0});return this['_services']['get'](_0x1f32e0);}async['_fetchMissingUsersForThreads'](_0x37a912){const _0x4e23f3=this['context']['plugins']['get'](_0x15d62c),{connection:_0x1d9361}=this['context']['plugins']['get'](z),_0x5045c8=new Set();for(const {resolvedBy:_0x36f96a,comments:_0x2dd5d9}of _0x37a912){_0x36f96a&&!_0x4e23f3['getUser'](_0x36f96a)&&_0x5045c8['add'](_0x36f96a);for(const {userId:_0x31ced6}of _0x2dd5d9)_0x4e23f3['getUser'](_0x31ced6)||_0x5045c8['add'](_0x31ced6);}if(0x0===_0x5045c8['size'])return;const _0x2c1f37=await _0x1ca5f7['getMany'](_0x1d9361,Array['from'](_0x5045c8));for(const _0x1b78ac of _0x2c1f37)_0x4e23f3['getUser'](_0x1b78ac['id'])||_0x4e23f3['addUser'](_0x1b78ac);}}async function rt(_0x4638dd){if('404'!==_0x4638dd['code'])throw _0x4638dd;}function ct(_0x35c777){if((_0x23c953=_0x35c777)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x23c953;throw _0x35c777;}function at(_0x225330){return{'threadId':_0x225330['commentThreadId'],'commentId':_0x225330['commentId'],'content':_0x225330['content'],'createdAt':_0x225330['createdAt'],'authorId':_0x225330['userId'],'attributes':_0x225330['attributes']||{}};}class ht extends _0x539c3e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1c8aeb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x45a080,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2cd0a2){super(_0x2cd0a2);const _0x1d9323=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x1d9323);}['init'](){const _0x2aba71=this['editor']['plugins']['get'](z),_0x19cc5c=this['editor']['plugins']['get'](_0x45a080);return _0x19cc5c['adapter']={'getSuggestion':async _0x4e39d9=>{await this['_waitForServiceReady']();const _0x12002f=await this['_trackChangesService']['get'](_0x4e39d9)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x12002f]),_0x12002f;},'addSuggestion':async({id:_0x39ffa1,type:_0x338111,data:_0x37b3bf,originalSuggestionId:_0x32b72f,attributes:_0x196f12})=>{await this['_waitForServiceReady']();const _0x13af7b={'id':_0x39ffa1,'type':_0x338111,'data':_0x37b3bf,'originalSuggestionId':_0x32b72f,'attributes':_0x196f12},_0x3d027a=await this['_trackChangesService']['add'](_0x39ffa1,_0x338111,_0x37b3bf,_0x32b72f,_0x196f12)['catch'](_0x546283=>{if(dt(_0x546283))return new Promise(_0x21f342=>{this['_bufferedRequests']['set'](_0x39ffa1,{'resolve':_0x21f342,'suggestionData':_0x13af7b});});throw _0x546283;});return this['_bufferedRequests']['delete'](_0x39ffa1),_0x3d027a;},'updateSuggestion':async(_0x21c188,_0x5e869b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5e869b['state'])return this['_trackChangesService']['update'](_0x21c188,_0x5e869b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x30ed82,_0xfc64f0)=>{_0x19cc5c['hasSuggestion'](_0xfc64f0['id'])&&(_0x19cc5c['getSuggestion'](_0xfc64f0['id'])['attributes']=_0xfc64f0['attributes']);}),this['_trackChangesService']['connect'](_0x2aba71['connection'])['then'](_0xd2f0e0=>(_0x2aba71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd2f0e0)['then'](()=>{for(const _0x20406f of _0xd2f0e0){_0x19cc5c['addSuggestionData'](_0x20406f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3a7cc8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x219efc}=this['editor']['plugins']['get'](z),_0x466a65=await this['_trackChangesService']['connect'](_0x219efc);await this['_fetchMissingUsersForThreads'](_0x466a65);for(const {suggestionData:_0xbc1385,resolve:_0x28eda5}of this['_bufferedRequests']['values']()){let _0x682f4f=_0x466a65['find'](_0x2af48c=>_0x2af48c['id']===_0xbc1385['id']);_0x682f4f||(_0x682f4f=await this['_trackChangesService']['add'](_0xbc1385['id'],_0xbc1385['type'],_0xbc1385['data'],_0xbc1385['originalSuggestionId'])),_0x28eda5(_0x682f4f);}for(const _0x4f6dc9 of _0x466a65)_0x3a7cc8['hasSuggestion'](_0x4f6dc9['id'])||_0x3a7cc8['addSuggestionData'](_0x4f6dc9);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x59363a=>{this['listenTo'](this['_trackChangesService'],'connected',_0xac67c9=>{_0xac67c9['off'](),_0x59363a();});});}async['_fetchMissingUsersForThreads'](_0x29d938){const _0x397055=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x185d31}=this['editor']['plugins']['get'](z),_0x48f62f=new Set();for(const {authorId:_0x50b2d1}of _0x29d938)_0x397055['getUser'](_0x50b2d1)||_0x48f62f['add'](_0x50b2d1);if(0x0===_0x48f62f['size'])return;const _0x2754ce=await _0x1ca5f7['getMany'](_0x185d31,Array['from'](_0x48f62f));for(const _0x3c6087 of _0x2754ce)_0x397055['getUser'](_0x3c6087['id'])||_0x397055['addUser'](_0x3c6087);}}function lt(_0x42335c){if(dt(_0x42335c))return new Promise(()=>{});throw _0x42335c;}function dt(_0x3eeb1e){return _0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x539c3e{static get['requires'](){return[_0x403d11,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xa2bd91=this['editor']['plugins']['get'](z),_0xfc184d=this['editor']['plugins']['get'](_0x37e082),_0x405c16=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xa2bd91,'change:state',(_0x151251,_0x5e24b6,_0x366a81)=>{_0xfc184d['isThreadsLoadingPaused']='connected'!==_0x366a81;});}),this['listenTo'](_0xa2bd91,'change:state',(_0x43d43c,_0x2025bb,_0x425dcf)=>{this['editor']['plugins']['get'](_0x5383ad)['switchReadOnly']('connected'!==_0x425dcf);}),_0x405c16['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x539c3e{static get['requires'](){return[ut,ht,_0x527e70];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x539c3e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x44cd6b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x40c931,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x6a17fc){super(_0x6a17fc);const _0x1d3513=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1d3513);}async['init'](){const _0x2dd0ae=this['editor']['plugins']['get'](tt),_0x4b8b1a=_0x2dd0ae['serverHistory'],_0x3cb8e7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4b8b1a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2dd0ae['sessionId']});const _0x7ce184=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d,_0x17577d=await _0x553943['isBundleUploaded'](_0x3cb8e7['connection'],_0x7ce184);this['editor']['plugins']['get'](_0x40c931)['adapter']={'getRevision':async({revisionId:_0x20a806})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x20a806)),'updateRevisions':async _0x5a31fa=>{await this['_waitForServiceReady']();const _0x33bd4e=this['_revisionTracker']['currentRevision'];if(_0x17577d&&0x1===_0x5a31fa['length']&&_0x5a31fa[0x0]['id']===_0x33bd4e['id'])return _0x5a31fa;for(const _0x534ca3 of _0x5a31fa)_0x534ca3['id']===_0x33bd4e['id']&&(_0x534ca3['isEmptyCurrent']=_0x534ca3['fromVersion']===_0x534ca3['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a31fa,this['_lastRequestId'])['then'](_0x5da16f=>(this['_lastRequestId']=_0x5da16f,_0x5a31fa))['catch'](_0x236ca9=>{if(pt(_0x236ca9)||'400'===_0x236ca9['code']&&void 0x0!==_0x236ca9['data']['wrongRequestId']){for(const _0x842250 of _0x5a31fa){!this['_revisionTracker']['repository']['getRevision'](_0x842250['id'])||this['_revisionTracker']['_bufferUpdate'](_0x842250['id'],_0x842250,!0x1);}if(pt(_0x236ca9)&&'destroyed'!==this['editor']['state'])throw _0x236ca9;return _0x5a31fa;}throw _0x236ca9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xfe70f6,{revisionsData:_0x56e8d6,requestId:_0xec025e})=>{Math['max'](..._0x56e8d6['map'](_0x43f917=>_0x43f917['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);}):this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);});const {revisions:_0x1b8156,requestId:_0x492231}=await this['_revisionHistoryService']['connect'](_0x3cb8e7['connection']);_0x3cb8e7['addToReconnectionStack'](this),this['_lastRequestId']=_0x492231,await this['_fetchMissingUsers'](_0x1b8156);for(const _0x2ff806 of _0x1b8156)this['_revisionTracker']['addRevisionData'](_0x2ff806);this['listenTo'](_0x2dd0ae,'change:_isConnected',(_0x35a34a,_0x122f5f,_0x26879d)=>{_0x26879d&&(this['_oldOffset']=_0x2dd0ae['_offset'],_0x35a34a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3cb8e7,'state',_0x2fe627=>_0x2fe627===_0xf9333a['CONNECTED']);}async['reconnect'](){const _0x2e45c6=this['editor']['plugins']['get'](z),_0x536ec3=this['editor']['plugins']['get'](tt),_0x252c5a=async()=>{const _0xcac4d5=this['_revisionTracker']['currentRevision'],_0x34f1f9=_0xcac4d5['id'],_0x122d55=_0x34f1f9!==_0x536ec3['sessionId'];if(_0x122d55){const _0x476c6b=_0x536ec3['_offset']-this['_oldOffset'],_0x13a66d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xcac4d5['toVersion']+_0x476c6b!==_0x13a66d){const _0x2091df=_0xcac4d5['fromVersion']+_0x476c6b,_0x36567b=this['editor']['plugins']['get'](_0x15d62c),_0x87dd=this['_revisionTracker']['buildRevisionData']({'revision':_0xcac4d5,'from':_0x2091df,'to':_0x13a66d});_0x87dd['id']=_0xcac4d5['id'];const _0x5d4833=_0x87dd['authorsIds']['map'](_0x322b68=>_0x36567b['getUser'](_0x322b68));_0xcac4d5['_update']({..._0x87dd,'authors':_0x5d4833},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xcac4d5['id'],_0x87dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x13a66d,(_0xcac4d5['toVersion']===_0xcac4d5['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x34f1f9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x34f1f9),this['_revisionTracker']['_createCurrentRevision'](_0x13a66d));}const {revisions:_0x42aaf8,requestId:_0x52668b}=await this['_revisionHistoryService']['reconnect'](_0x2e45c6['connection'],this['_lastRequestId']);_0x122d55&&_0x42aaf8['length']>0x0?_0x536ec3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42aaf8),this['_handleRevisionsUpdate'](_0x42aaf8,_0x52668b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x536ec3['_isConnected']?_0x252c5a():new Promise((_0x34d13a,_0x313c03)=>{_0x536ec3['once']('change:_isConnected',()=>{_0x252c5a()['then'](_0x34d13a)['catch'](_0x313c03);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4bb135=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x43d87e=>{_0x43d87e['off'](),_0x4bb135();});});}['_getLatestVersionFromServerOperations'](){const _0x160295=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1e8a1f of _0x160295)if('marker'!==_0x1e8a1f['type']||_0x1e8a1f['affectsData'])return _0x1e8a1f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x17c5b1=this['editor']['plugins']['get'](tt);return new Promise(_0x2a2f20=>{_0x17c5b1['_isPendingUpdate']?_0x17c5b1['once']('change:_isPendingUpdate',()=>{_0x2a2f20(this['_getLatestVersionFromServerOperations']());}):_0x2a2f20(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3d63c2,_0x463206){const _0x3b359f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x463206;for(const _0xc5d19f of _0x3d63c2){const _0xf958d7=_0x3b359f['getRevision'](_0xc5d19f['id']);if(_0xf958d7){if((_0xc5d19f['fromVersion']||_0xc5d19f['toVersion'])&&(_0xc5d19f['diffData']=null),_0xf958d7===this['_revisionTracker']['currentRevision']){const _0x196fe0=Math['max'](_0xf958d7['toVersion'],_0xc5d19f['toVersion']),_0x57bc7=Math['max'](_0xf958d7['fromVersion'],_0xc5d19f['fromVersion']);let _0x461b82;_0xf958d7['toVersion']===_0xc5d19f['toVersion']&&_0xf958d7['fromVersion']===_0xc5d19f['fromVersion']?(_0x461b82=!0x0,this['_preventResendingRevisionData'](_0xc5d19f)):_0xc5d19f['toVersion']===_0x196fe0&&_0xc5d19f['fromVersion']===_0x57bc7?_0x461b82=!0x1:(_0xf958d7['toVersion']===_0x196fe0&&_0xf958d7['fromVersion']===_0x57bc7||this['_fixRevision']({'revision':_0xf958d7,'from':_0x57bc7,'to':_0x196fe0}),_0x461b82=!0x0),_0x461b82&&(delete _0xc5d19f['fromVersion'],delete _0xc5d19f['toVersion'],delete _0xc5d19f['diffData'],delete _0xc5d19f['createdAt'],delete _0xc5d19f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc5d19f),this['_preventResendingRevisionData'](_0xc5d19f);}else this['_revisionTracker']['addRevisionData'](_0xc5d19f);}const _0x4ea790=_0x3b359f['getRevisions']();_0x4ea790['reverse']();for(let _0x239e6d=0x0;_0x239e6d<_0x4ea790['length']-0x1;_0x239e6d++){const _0x403fdc=_0x4ea790[_0x239e6d],_0x478d5c=_0x4ea790[_0x239e6d+0x1];if(_0x403fdc['fromVersion']<_0x478d5c['toVersion']){const _0x21d3cf=_0x478d5c['toVersion'],_0x5afe04=Math['max'](_0x21d3cf,_0x403fdc['toVersion']);this['_fixRevision']({'revision':_0x403fdc,'from':_0x21d3cf,'to':_0x5afe04});}}}['_fixRevision']({revision:_0x5046ff,from:_0x17c5ad,to:_0x3d80ab}={}){const _0x3348a7=this['editor']['plugins']['get'](_0x15d62c),_0x45969b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5046ff,'from':_0x17c5ad,'to':_0x3d80ab});_0x45969b['authors']=_0x45969b['authorsIds']['map'](_0x4efcc9=>_0x3348a7['getUser'](_0x4efcc9)),_0x5046ff['_update'](_0x45969b);}['_preventResendingRevisionData'](_0x120880){const _0x39af6d={};_0x39af6d['id']=_0x120880['id'];for(const _0x45c482 of Object['keys'](_0x120880))'id'!==_0x45c482&&(_0x39af6d[_0x45c482]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x39af6d['id'],_0x39af6d,!0x0);}async['_fetchMissingUsers'](_0x1f21a2){const _0x3268c6=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x16072a}=this['editor']['plugins']['get'](z),_0x50d1b2=new Set();for(const _0x1d8db0 of _0x1f21a2){for(const _0x5c2f63 of _0x1d8db0['authorsIds'])_0x28b8bb(_0x5c2f63);_0x1d8db0['creatorId']&&_0x28b8bb(_0x1d8db0['creatorId']);}if(0x0===_0x50d1b2['size'])return;const _0x577bf1=await _0x1ca5f7['getMany'](_0x16072a,Array['from'](_0x50d1b2));for(const _0x405065 of _0x577bf1)_0x3268c6['getUser'](_0x405065['id'])||_0x3268c6['addUser'](_0x405065);function _0x28b8bb(_0x2dbbee){_0x3268c6['getUser'](_0x2dbbee)||_0x50d1b2['add'](_0x2dbbee);}}}function pt(_0x521e9e){return _0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x539c3e{static get['requires'](){return[_0x40c931,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0xaa5d78{['_collapseAt'];constructor(_0x509c97,_0x38e32b=0x6){super(_0x509c97);const _0x19520b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x38e32b,this['bind']('isHidden')['to'](this,'usersCount',_0x2036fb=>_0x2036fb<_0x38e32b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19520b['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':_0x19520b['to']('usersCount',_0x597e8c=>'+'+(_0x597e8c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0xaa5d78{['items'];['keystrokes'];constructor(_0x17e884){super(_0x17e884);const _0x390496=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x473501(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x390496['if']('hasPopup'),'aria-expanded':_0x390496['to']('isExpanded',_0x260420=>this['hasPopup']&&String(_0x260420)),'aria-label':_0x390496['to']('hasPopup',_0x26326c=>X(_0x17e884,_0x26326c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x390496['to']('hasPopup',_0x290c86=>!!_0x290c86&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x390496['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x390496['to'](_0x39c96c=>{const _0x3eba79=_0x39c96c,_0x4cc264=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1a899d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4cc264?.['contains'](_0x3eba79['relatedTarget'])||_0x1a899d?.['contains'](_0x3eba79['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x58a3df,_0x675cb6,_0x4aef65)=>{this['element']&&(_0x4aef65?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']);}}class _t extends _0xaa5d78{['counterView'];['inlineListView'];constructor(_0x597b7b,_0x57d6d9=0x6){super(_0x597b7b);const _0x3fde1b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x57d6d9),this['inlineListView']=new vt(_0x597b7b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x43ef46 of this['inlineListView']['items'])_0x43ef46['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',_0x3fde1b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0xaa5d78{['listWrapperView'];constructor(_0x577822,_0xe2fe95){super(_0x577822);const _0x539ad4=this['bindTemplate'];this['listWrapperView']=new bt(_0x577822,_0xe2fe95),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x577822,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x539ad4['to'](_0x25c88c=>{const _0x424d49=_0x25c88c,_0x435cc2=document['querySelector']('.ck-presence-list__list'),_0x585323=document['querySelector']('.ck-balloon-panel_with-arrow');_0x435cc2?.['contains'](_0x424d49['relatedTarget'])||_0x585323?.['contains'](_0x424d49['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x44faf1{constructor(_0x407d5a,_0x23ba3d){super(_0x407d5a);const _0x2ff51b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x23ba3d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2ff51b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2ff51b['to']('role'),'aria-label':_0x2ff51b['to']('ariaLabel'),'aria-labelledby':_0x2ff51b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3feea9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc34036=this['element'];_0xc34036&&(this['_isScrollable']=Math['max'](_0xc34036['scrollHeight'],_0xc34036['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x4a4ec4{['userView'];constructor(_0x1eac99,_0x5210cc,_0x4967de){super(_0x1eac99);const _0x187e2c=this['bindTemplate'];this['userView']=new _0x31b224(_0x1eac99,_0x5210cc);const _0xed7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5210cc['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5210cc['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5210cc['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5210cc['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5210cc['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4967de&&(_0xed7885['tag']='button',_0xed7885['on']={'click':_0x187e2c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xed7885);}['focus'](){this['element']['focus']();}}class It extends _0xaa5d78{['userView'];['markerView'];constructor(_0x5c9432,_0x42b9f5,_0x43cbbf){super(_0x5c9432);const _0x431f72=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x31b224(_0x5c9432,_0x42b9f5),this['markerView']=new St(_0x5c9432,_0x42b9f5);const _0x3770a7=new _0x169be3(_0x5c9432);_0x3770a7['template']['tag']='span',_0x3770a7['text']=_0x42b9f5['name'];const _0x831aab={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x431f72['to']('isFocusable',_0x3eb3a9=>!!_0x3eb3a9&&0x0),'aria-labelledby':_0x3770a7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x431f72['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x431f72['to']('hasTooltip',_0x11dccf=>!_0x11dccf),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3770a7]};_0x43cbbf&&(_0x831aab['tag']='button',_0x831aab['on']={'click':_0x431f72['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x831aab);}}class St extends _0xaa5d78{constructor(_0x4404e6,_0x1108b3){super(_0x4404e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1108b3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1108b3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1108b3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x5cca81{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e32a0){super(_0x4e32a0),this['context']['config']['define']('presenceList',Tt);const _0x27b9bd=_0x4e32a0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x27b9bd)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);if(_0x27b9bd<0x1)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x442047(),this['balloonPanelView']=new _0x1723fd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x50b6f0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x50b6f0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5c05b2,_0x11e7f3)=>{this['_handleUserAdd'](_0x11e7f3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x404cd2,_0x48b1a0)=>{this['_handleUserRemove'](_0x48b1a0);});}['_createView'](){const _0x42e1f7=this['context'],_0x498a07=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49fed5=this['balloonPanelView'];if(!_0x573df8(_0x42e1f7['config']['get']('presenceList.container')))throw new _0x2b1db2('presencelist-missing-container',this);return _0x498a07['counterView']['bind']('usersCount')['to'](this),_0x498a07['bind']('isCollapsed')['to'](this,'usersCount',_0x2532dc=>{const {collapseAt:_0x51c34d}=_0x42e1f7['config']['get']('presenceList'),_0x189484=_0x2532dc>=_0x51c34d;if(_0x189484&&!_0x498a07['inlineListView']['items']['find'](_0x46d1df=>_0x46d1df instanceof wt)){const _0x1eff08=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1eff08&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x498a07['inlineListView']['items']['add'](_0x498a07['counterView']);}return _0x189484||this['hideDropdown'](),_0x189484;}),_0x498a07['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2026e8=>{const _0x1985b2=_0x42e1f7['config']['get']('presenceList'),_0x56ec7a=new It(_0x42e1f7['locale'],_0x2026e8,!!_0x1985b2['onClick']);return _0x56ec7a['bind']('hasTooltip')['to'](_0x498a07,'isCollapsed',_0x54fd10=>!_0x54fd10),_0x56ec7a['bind']('isFocusable')['to'](_0x498a07,'isCollapsed',_0x1465f0=>!_0x1465f0),_0x1985b2['onClick']&&this['listenTo'](_0x56ec7a,'execute',()=>{this['view']['isCollapsed']||_0x1985b2['onClick'](_0x2026e8,_0x56ec7a['element']);}),_0x56ec7a;}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x498a07['inlineListView']['keystrokes']['set']('Enter',(_0x5184b3,_0x273bb6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x273bb6());}),_0x498a07['render'](),_0x49fed5['render'](),_0x13b972({'emitter':_0x498a07,'activator':()=>_0x49fed5['isVisible'],'contextElements':[_0x49fed5['element'],_0x498a07['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42e1f7['config']['get']('presenceList.container')['appendChild'](_0x498a07['element']),this['_bodyCollection']=new _0x25513e(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x498a07;}['_handleUserAdd'](_0x276e47){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x276e47['isMe'])return;const _0xa5dc5e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa5dc5e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5c145c=_0x276e47['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x276e47,_0x5c145c);}['_handleUserRemove'](_0x1616da){this['usersCount']--;const {collapseAt:_0x5661b2}=this['context']['config']['get']('presenceList'),_0xa3a8a9=this['usersCount']>=_0x5661b2;if(this['currentDisplayedUsers']['get'](_0x1616da['id']))this['currentDisplayedUsers']['remove'](_0x1616da['id']);else{if(_0xa3a8a9&&this['currentDisplayedUsers']['length']+0x1===_0x5661b2-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)<this['usersCount']){for(const _0x5cdf3b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5cdf3b['id'])&&(this['currentDisplayedUsers']['add'](_0x5cdf3b,Math['min'](this['currentDisplayedUsers']['length']-(_0xa3a8a9?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)===_0x5661b2-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x318c9c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x318c9c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41bdb3}=this['presenceDropdownView'];_0x41bdb3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5a9e46=>{if(!_0x318c9c['displayMe']&&_0x5a9e46['isMe'])return null;const _0x37bb77=new kt(this['context']['locale'],_0x5a9e46,!!_0x318c9c['onClick']);return _0x318c9c['onClick']&&this['listenTo'](_0x37bb77,'execute',()=>{_0x318c9c['onClick'](_0x5a9e46,_0x37bb77['element']);}),_0x37bb77;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41bdb3['focus'](),_0x41bdb3['checkIfScrollable']();const _0x345d57=(_0x147032,_0x5523e7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5523e7();};_0x41bdb3['keystrokes']['set']('Esc',_0x345d57),_0x41bdb3['keystrokes']['set']('Shift+Tab',_0x345d57),_0x41bdb3['keystrokes']['set']('Tab',(_0x1433a0,_0x1a4bd2)=>{!function(_0x1e38d8){const _0x5a399a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2c0592=>_0x2c0592+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10c3e7=[...document['body']['querySelectorAll'](_0x5a399a)]['filter'](_0x50c4cc=>_0x50c4cc===document['activeElement']||_0x50c4cc['offsetWidth']+_0x50c4cc['offsetHeight']>0x0)['sort']((_0x2ed92c,_0x540a5c)=>(_0x2ed92c['tabIndex']||0x0)-(_0x540a5c['tabIndex']||0x0)),_0x5058a2=_0x10c3e7['indexOf'](_0x1e38d8),_0x389450=_0x10c3e7[(_0x5058a2+0x1)%_0x10c3e7['length']];_0x389450&&_0x389450['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1a4bd2();}),_0x41bdb3['focusTracker']['add'](this['view']['element']),_0x41bdb3['focusTracker']['on']('change:isFocused',(_0xa888dc,_0x2db752,_0x4580ea)=>{_0x4580ea||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);}}class Pt extends _0x5cca81{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x3e9755=>0x1!=_0x3e9755}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x448a53=>0x1!=_0x448a53}};