@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.5 → 48.0.0-alpha.6

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 _0x13ca54,Plugin as _0x187028,PendingActions as _0x1e7548,Context as _0x5e5361}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3bbed4,CKEditorError as _0x507e58,Collection as _0x9d002f,global as _0x21dcd6,version as _0x55d473,uid as _0x419e75,KeystrokeHandler as _0x53ba1a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1d722e,View as _0x505882,ListView as _0x436ba1,ListItemView as _0x5cb889,LabelView as _0x39d214,BalloonPanelView as _0x1f3554,clickOutsideHandler as _0x47b0a2,BodyCollection as _0x12e684}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x320800,History as _0x52633f,NoOperation as _0x38defe,InsertOperation as _0x59c069,MarkerOperation as _0x1440b2,RootAttributeOperation as _0x197775,transformOperationSets as _0x6ca77d,OperationFactory as _0x571bc6}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xf01e70}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x1d3401,WEB_SOCKET_GATEWAY_STATES as _0x13e39c,CollaborativeEditingService as _0x15b5d4,User as _0x2963a9,CommentsService as _0xb95732,TrackChangesService as _0x11f100,RevisionHistoryService as _0x58043c,EditorService as _0x309b2e}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x51a3a4,UserView as _0x250800}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5d3188}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x5adc1b,TrackChanges as _0x240be3}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3a4131,Comments as _0x241fc5,CommentsEditing as _0x12f924}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x5c8eb1}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x4dd61a}from'es-toolkit/compat';class z extends _0x13ca54{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x1d3401)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xf01e70,_0x1d722e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b115c){super(_0x5b115c),this['set']('state',_0x13e39c['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3bbed4())();}['init'](){const _0x3168a8=this['context'],_0x3c564e=_0x3168a8['plugins']['get'](_0xf01e70),_0x5f2187=_0x3168a8['plugins']['get'](_0x1d722e);if(!_0x3c564e['token'])throw new _0x507e58('websocketgateway-missing-token',this);if(!_0x3c564e['webSocketUrl'])throw new _0x507e58('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'](_0x3c564e['token'],_0x3c564e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xf729bb=>{if(this['connection']=_0xf729bb,this['bind']('state')['to'](_0xf729bb,'state',this,'_isBrowserOffline',(_0x3700d2,_0x5650ee)=>('connected'!==_0x3700d2&&(this['_shouldPluginsReconnect']=!0x0),_0x5650ee||_0x3700d2!==_0x13e39c['CONNECTED']?_0x13e39c['DISCONNECTED']:this['state']==_0x13e39c['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x13e39c['CONNECTING']):_0x13e39c['CONNECTED'])),this['connection']['on']('error',(_0x11b117,_0x7eda74)=>{if('limitExceeded'!==_0x7eda74['code'])throw console['error'](_0x7eda74),new _0x507e58('cloudservices-init',null,{'originalError':_0x7eda74});_0x5f2187['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'});}),!_0xf729bb['me'])return new Promise(_0x56a3f1=>_0xf729bb['on']('change:me',_0x56a3f1));})['catch'](_0xbb64ac=>{throw console['error'](_0xbb64ac),new _0x507e58('cloudservices-init',null,{'originalError':_0xbb64ac});});}['addToReconnectionStack'](_0x2de8c1){if('function'!=typeof _0x2de8c1['reconnect'])throw new _0x507e58('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2de8c1))throw new _0x507e58('websocketgateway-plugin-already-registered',this,{'name':_0x2de8c1['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2de8c1);}['removeFromReconnectionStack'](_0xc7d90){this['_reconnectionStack']['delete'](_0xc7d90);}['isInReconnectionStack'](_0x2db78f){return this['_reconnectionStack']['has'](_0x2db78f);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x547815=>_0x547815['reconnect']())))['then'](()=>this['state']=_0x13e39c['CONNECTED'])['catch'](_0x1d9665=>{throw console['error'](_0x1d9665),new _0x507e58('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x13e39c['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x13ca54{['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,_0x51a3a4];}constructor(_0x4b0a15){super(_0x4b0a15),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x9d002f(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x51a3a4);}['init'](){const _0x1cc9db=this['context']['plugins']['get'](z);this['listenTo'](_0x1cc9db,'change:state',(_0x543162,_0x49f82d,_0x4a7192)=>{if('connected'!==_0x4a7192)this['channelSessions']['forEach'](_0x292adb=>_0x292adb['clear']()),this['channelConnectedUsers']['forEach'](_0x1d5335=>_0x1d5335['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x50f8fc,_0x4180b4]of this['_registeredSessions'])for(const _0x6dffbc of _0x4180b4)this['_handleSessionAdd'](_0x50f8fc,_0x6dffbc);}}),this['_createUser'](_0x1cc9db['connection']['me'],!0x0);}['register'](_0x33f538,_0x1b0e48){if(this['_registeredSessions']['has'](_0x33f538))throw new _0x507e58('sessions-register-already-registered',null,{'channelId':_0x33f538});this['_registeredSessions']['set'](_0x33f538,_0x1b0e48),this['channelSessions']['set'](_0x33f538,new _0x9d002f()),this['channelConnectedUsers']['set'](_0x33f538,new _0x9d002f()),this['listenTo'](_0x1b0e48,'add',(_0x3d631b,_0x5b6c34)=>this['_handleSessionAdd'](_0x33f538,_0x5b6c34)),this['listenTo'](_0x1b0e48,'remove',(_0x3ef548,_0xb40f00)=>this['_handleSessionRemove'](_0x33f538,_0xb40f00));for(const _0x3aa1f6 of _0x1b0e48)this['_handleSessionAdd'](_0x33f538,_0x3aa1f6);}['unregister'](_0x18467a){if(!this['_registeredSessions']['has'](_0x18467a))throw new _0x507e58('sessions-unregister-not-exist',null,{'channelId':_0x18467a});const _0x544a30=this['_registeredSessions']['get'](_0x18467a);this['stopListening'](_0x544a30);for(const _0x30d12b of _0x544a30)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x18467a,_0x30d12b);this['_registeredSessions']['delete'](_0x18467a),this['channelSessions']['delete'](_0x18467a),this['channelConnectedUsers']['delete'](_0x18467a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2b88a1){for(const _0x508f92 of this['channelSessions']['values']())for(const _0x16be40 of _0x508f92)if(_0x16be40['id']===_0x2b88a1)return _0x16be40['user'];}['getUserSessions'](_0x444587,_0x40c995){const _0xda723f=_0x40c995?[this['channelSessions']['get'](_0x40c995)]:this['channelSessions']['values'](),_0x36c6c7=new Set();for(const _0x615de7 of _0xda723f)for(const _0x4165f9 of _0x615de7)_0x4165f9['user']['id']===_0x444587['id']&&_0x36c6c7['add'](_0x4165f9['id']);return _0x36c6c7;}['getUserRole'](_0x1d9839){for(const _0x548d18 of this['channelSessions']['values']())for(const _0x5b3afe of _0x548d18)if(_0x5b3afe['user']===_0x1d9839)return _0x5b3afe['role'];}['_handleSessionAdd'](_0x4b6f90,_0x5c7998){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4f42a3=_0x5c7998['user'],_0x1350e0=this['_users']['getUser'](_0x4f42a3['id'])||this['_createUser'](_0x4f42a3),_0x4329c9=Object['assign']({},_0x5c7998,{'user':_0x1350e0});if(this['channelSessions']['get'](_0x4b6f90)['add'](_0x4329c9),!_0x4f42a3['hiddenInPresenceList']){const _0x51e5c2=this['channelConnectedUsers']['get'](_0x4b6f90);_0x51e5c2['has'](_0x1350e0['id'])||_0x51e5c2['add'](_0x1350e0),this['allConnectedUsers']['has'](_0x1350e0['id'])||_0x4f42a3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1350e0,_0x1350e0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4b6f90,{'channelId':_0x4b6f90,'session':_0x4329c9});}['_handleSessionRemove'](_0x132df6,_0x599bf0){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x264439=this['channelConnectedUsers']['get'](_0x132df6),_0x414223=_0x599bf0['user'];_0x414223['id']&&(this['channelSessions']['get'](_0x132df6)['remove'](_0x599bf0['id']),_0x264439['has'](_0x414223['id'])&&!this['getUserSessions'](_0x414223,_0x132df6)['size']&&_0x264439['remove'](_0x414223['id']),this['allConnectedUsers']['get'](_0x414223['id'])&&!this['getUserSessions'](_0x414223)['size']&&this['allConnectedUsers']['remove'](_0x414223['id']));}['_createUser'](_0x1cff98,_0x27ee88){const _0x1cfc80=this['_users']['addUser'](_0x1cff98);return _0x27ee88&&this['_users']['defineMe'](_0x1cff98['id']),_0x1cfc80['orderNumber']=this['_uniqueUsersCount']++,_0x1cfc80;}}class K extends _0x187028{['_domEmitter']=new(_0x3bbed4())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5b1e3b=this['editor'],_0x71bc42=_0x5b1e3b['plugins']['get'](Y);_0x5b1e3b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x398f98,{writer:_0x5693fb})=>function(_0x484cd4,_0x2c4aa4,_0x1ef5b5,_0x3fc131){const _0x1627a1=_0x484cd4['markerName']['split'](':')[0x2],_0x3c3699=_0x1ef5b5['getUserBySessionId'](_0x1627a1);if(!_0x3c3699||_0x1627a1===_0x1ef5b5['mySessionId'])return;if(!_0x3fc131['model']['schema']['checkChild'](_0x484cd4['markerRange']['start'],'$text'))return;const _0x90b170={'class':'ck-user__marker\x20'+_0x3c3699['color']['getMarkerClass'](),'style':Q(_0x3c3699),'data-name':_0x3c3699['name'],'data-session-id':_0x1627a1},_0x590cec=_0x3fc131['model']['markers']['get'](_0x484cd4['markerName']),_0x6f57f2=_0x590cec['getStart'](),_0x5c3aab=_0x6f57f2['nodeAfter'],_0x45625d=_0x3fc131['model']['schema'];if(_0x5c3aab&&_0x45625d['isObject'](_0x5c3aab)&&_0x45625d['isInline'](_0x5c3aab)&&!_0x3fc131['model']['markers']['get']('user:range:'+_0x1627a1)['getRange']()['isCollapsed'])return;const _0x39e20f=_0x6f57f2['parent'];return _0x3fc131['model']['schema']['isLimit'](_0x39e20f)&&!_0x3fc131['model']['hasContent'](_0x39e20f)&&(_0x90b170['contenteditable']=!0x1),function(_0x5115eb,_0x1ffd2d,_0x2ac807){const _0x4dd6d5=_0x5115eb['createUIElement']('span',_0x1ffd2d);return _0x5115eb['setCustomProperty']('userPositionMarker',!0x0,_0x4dd6d5),_0x4dd6d5['render']=function(_0x3703ef){const _0x2be1e8=this['toDomElement'](_0x3703ef),_0x3b48b7=document['createElement']('span');return _0x3b48b7['classList']['add']('ck-user__marker-tooltip'),_0x3b48b7['setAttribute']('contenteditable','false'),_0x3b48b7['setAttribute']('spellcheck','false'),_0x3b48b7['textContent']=_0x2ac807['name'],_0x2be1e8['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3b48b7['outerHTML']+'⁠',_0x2be1e8['addEventListener']('mouseenter',()=>{_0x2be1e8['classList']['add']('ck-user__marker_hovered');}),_0x2be1e8['addEventListener']('mouseleave',()=>{_0x2be1e8['classList']['remove']('ck-user__marker_hovered');}),_0x2be1e8;},_0x4dd6d5['isSimilar']=function(_0x150aa3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x150aa3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x150aa3['getAttribute']('data-session-id'));},_0x4dd6d5;}(_0x2c4aa4,_0x90b170,_0x3c3699);}(_0x398f98,_0x5693fb,_0x71bc42,_0x5b1e3b)}),_0x5b1e3b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x11b32f=>function(_0x4cdb4d,_0xedd7e8){const _0x2b577b=_0x4cdb4d['markerName']['split'](':')[0x2];if(_0x2b577b===_0xedd7e8['mySessionId'])return null;const _0x951756=_0xedd7e8['getUserBySessionId'](_0x2b577b);if(!_0x951756)return{'id':_0x2b577b,'classes':[]};return{'id':_0x2b577b,'classes':['ck-user__selection',_0x951756['color']['getSelectionClass']()],'attributes':{'style':Q(_0x951756),'data-session-id':_0x2b577b},'priority':0x7d0+_0x951756['orderNumber']};}(_0x11b32f,_0x71bc42)}),function(_0xae2ebc){const _0x2fd06d=_0xae2ebc['model'],_0x4cafa=new Map(),_0x467c4f=_0xae2ebc['plugins']['get'](Y);_0x2fd06d['markers']['on']('update:user:range',(_0x265cb1,_0x284b7f,_0x339561,_0x51fbe5)=>{if(!_0x51fbe5&&_0x4cafa['get'](_0x284b7f['name']))return _0x4cafa['get'](_0x284b7f['name'])['detach'](),void _0x4cafa['delete'](_0x284b7f['name']);const _0x4929e1=_0x284b7f['name']['split'](':')[0x2];if(_0x4929e1===_0x467c4f['mySessionId'])return;const _0x4dfa43='user:position:'+_0x4929e1;_0x2fd06d['markers']['has'](_0x4dfa43)&&_0xae2ebc['editing']['reconvertMarker'](_0x4dfa43),_0x284b7f['on']('change:range',(_0xe88ab9,_0x1b9dc8,_0x18a6ee)=>{if('$graveyard'!=_0x1b9dc8['root']['rootName']&&'$graveyard'==_0x284b7f['getRange']()['root']['rootName']&&!_0x4cafa['has'](_0x284b7f['name'])){const _0x160263=_0x2fd06d['schema']['getNearestSelectionRange'](_0x18a6ee['deletionPosition']);if(_0x160263){const _0x2f3599=_0x320800['fromRange'](_0x160263);_0x4cafa['set'](_0x284b7f['name'],_0x2f3599),_0x2f3599['on']('change:range',(_0x216e1c,_0x14864c,_0x18ff85)=>{if('$graveyard'==_0x2f3599['root']['rootName']){const _0x500024=_0x2fd06d['schema']['getNearestSelectionRange'](_0x18ff85['deletionPosition']);_0x500024?(_0x2f3599['start']=_0x500024['start'],_0x2f3599['end']=_0x500024['end']):(_0x4cafa['delete'](_0x284b7f['name']),_0x2f3599['detach']());}});}}});}),_0x2fd06d['document']['on']('change',()=>{_0x4cafa['size']>0x0&&_0x2fd06d['enqueueChange']({'isUndoable':!0x1},_0x2979a4=>{for(const [_0x230eda,_0x4178a4]of _0x4cafa)'$graveyard'==_0x2fd06d['markers']['get'](_0x230eda)['getRange']()['root']['rootName']&&(J(_0x230eda['split'](':')[0x2],_0x4178a4['toRange'](),_0x2fd06d,_0x2979a4),_0x4178a4['detach']());_0x4cafa['clear']();});});}(_0x5b1e3b),this['_domEmitter']['listenTo'](_0x21dcd6['document'],'keydown',(_0x2c1f3d,{key:_0x1463be})=>{'Escape'===_0x1463be&&function(_0xb5a48c){_0xb5a48c['editing']['view']['change'](_0x1989a5=>{for(const _0xa960a5 of _0xb5a48c['model']['markers']){if(!_0xa960a5['name']['startsWith']('user:position'))continue;const _0x2b693b=_0xb5a48c['editing']['mapper']['markerNameToElements'](_0xa960a5['name']);if(_0x2b693b){for(const _0x4632eb of _0x2b693b)_0x1989a5['removeClass']('ck-user__marker_hovered',_0x4632eb);}}});}(_0x5b1e3b);},{'useCapture':!0x0});}['afterInit'](){const _0x561618=this['editor'],_0x234af9=_0x561618['commands']['get']('undo');_0x234af9&&_0x561618['model']['on']('applyOperation',(_0x76607,_0x214bde)=>{const _0x154028=_0x214bde[0x0];if(!_0x154028['isDocumentOperation'])return;if('marker'!=_0x154028['type']||!_0x154028['name']['startsWith']('user:'))return;const _0x4ab962=_0x154028['batch'];_0x234af9['_createdBatches']['has'](_0x4ab962)&&(_0x154028['newRange']=_0x154028['oldRange']?_0x561618['model']['createRange'](_0x154028['oldRange']['start'],_0x154028['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x189979=this['editor'],_0x3522ff=_0x189979['model']['document'],_0x3a90db=_0x189979['plugins']['get'](Y);_0x189979['model']['enqueueChange']({'isUndoable':!0x1},_0x4ef0b2=>{const _0x488242='user:range:'+_0x3a90db['mySessionId'],_0x3e6562='user:position:'+_0x3a90db['mySessionId'],_0x8287eb=_0x189979['model']['markers']['has'](_0x488242);_0x189979['editing']['view']['hasDomSelection']?J(_0x3a90db['mySessionId'],_0x3522ff['selection']['getFirstRange'](),_0x189979['model'],_0x4ef0b2):_0x8287eb&&(_0x4ef0b2['removeMarker'](_0x488242),_0x4ef0b2['removeMarker'](_0x3e6562));});}}function J(_0x4f8ad9,_0x25d316,_0x5cd1cc,_0x91de45){const _0x1eb03f='user:range:'+_0x4f8ad9,_0x278dfa='user:position:'+_0x4f8ad9,_0x3f0f98=_0x25d316['getContainedElement']();let _0x2a8b87=_0x25d316['start'];if(_0x3f0f98&&_0x3f0f98['is']('element','tableCell')){const _0x290c96=function(_0x496dda,_0x30a401){for(const _0x363666 of _0x496dda['getPositions']())if(_0x30a401['schema']['checkChild'](_0x363666,'$text'))return _0x363666;}(_0x25d316,_0x5cd1cc);_0x290c96&&(_0x2a8b87=_0x290c96,_0x25d316=_0x91de45['createRange'](_0x2a8b87));}const _0x47021b=_0x91de45['createRange'](_0x2a8b87);_0x5cd1cc['markers']['has'](_0x1eb03f)?(_0x91de45['updateMarker'](_0x1eb03f,{'range':_0x25d316}),_0x91de45['updateMarker'](_0x278dfa,{'range':_0x47021b})):(_0x91de45['addMarker'](_0x1eb03f,{'range':_0x25d316,'usingOperation':!0x0}),_0x91de45['addMarker'](_0x278dfa,{'range':_0x47021b,'usingOperation':!0x0}));}function Q(_0x565cb9){return'--ck-user-color:'+_0x565cb9['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x565cb9['color']['getColorAlphaVariable']()+';';}function X(_0x24e9c0,_0x19cac5,_0x5c79f4){const _0x548af9=_0x24e9c0['t'],t=_0x24e9c0['t'];switch(_0x19cac5){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 _0x548af9({'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'},_0x5c79f4);default:return'';}}let Z=0x1;class tt extends _0x187028{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x15b5d4)());['_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,_0x1e7548,_0x51a3a4,_0x1d722e];}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 _0x36bdee=this['serverHistory']['getOperations']();for(let _0x34580f=_0x36bdee['length']-0x1;_0x34580f>=0x0;_0x34580f--){const _0x135bae=_0x36bdee[_0x34580f];if(!this['_disconnectionOperations']['has'](_0x135bae))return _0x135bae['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5e9063){if(super(_0x5e9063),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x52633f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x507e58('collaboration-missing-channelid',this);const _0x42405f=_0x5e9063['config']['get']('cloudServices.bundleVersion')||_0x55d473;this['_service']=new tt['CollaborativeEditingService'](_0x42405f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d3188(),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 _0x3b31e2=this['editor'],_0x4c69d8=_0x3b31e2['plugins']['get'](_0x51a3a4),_0x132732=_0x3b31e2['plugins']['get'](z);this['listenTo'](_0x4c69d8,'getOperationAuthor',(_0x37b54f,_0x2b4861)=>{const _0x4b5638=_0x2b4861[0x0];_0x4b5638['_authorId']&&(_0x37b54f['return']=_0x4c69d8['getUser'](_0x4b5638['_authorId']),_0x37b54f['stop']()),null===_0x4b5638['_authorId']&&(_0x37b54f['return']=null,_0x37b54f['stop']());},{'priority':'high'}),this['listenTo'](_0x3b31e2['model']['document']['selection'],'change:range',(_0x415806,_0x85587d)=>{_0x85587d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3b31e2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3b31e2['model']['on']('applyOperation',(_0x190e12,_0x12ad78)=>{const _0x114bcf=_0x12ad78[0x0];_0x114bcf['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x114bcf),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x132732,'state',this,'_hasSynchronizationProblem',(_0x538da,_0x59a095)=>'connected'===_0x538da&&!_0x59a095),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3b31e2['disableReadOnlyMode']('rtc-offline'):_0x3b31e2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3b31e2['disableReadOnlyMode']('rtc-offline'):_0x3b31e2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xd74998=this['editor']['plugins']['get'](Y),_0xc87a56=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0xd74998['unregister'](this['_channelId']);const _0x3d3fb6=await this['_service']['reconnect'](_0xc87a56['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d3fb6)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1c1994=await this['_service']['getConnectedSessions']();_0xd74998['register'](this['_channelId'],_0x1c1994),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x477e33){if(function(_0x214bd8){return'404'===_0x214bd8['code'];}(_0x477e33)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32b699){return'409'===_0x32b699['code'];}(_0x477e33)){const _0x2ca4e4=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'](_0x2ca4e4);}else{if(!(_0x477e33 instanceof et))throw _0x477e33;this['_handleReconnectionError']();}}}}['destroy'](){const _0x195479=this['editor']['plugins']['get'](z),_0x477db2=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x477db2['channelSessions']['has'](this['_channelId'])&&_0x477db2['unregister'](this['_channelId']),_0x195479['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1ae83e){if(this['sessionId']!==_0x1ae83e['sessionId']&&this['_lastSyncedOperationId']!==_0x1ae83e['lastOperationId'])throw new et();return this['sessionId']=_0x1ae83e['sessionId'],this['_handleServerResponse']([],{..._0x1ae83e,'wereChangesApplied':!0x1,'data':_0x1ae83e['data']},'reconnect');}async['_connectService'](_0x1dbb86,_0x332ada=!0x1){const {connection:_0x36321a}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x36321a,this['_channelId'])['then'](_0x5303d5=>this['_initSessionsHandling'](_0x5303d5))['catch'](_0x27fa31=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x27fa31);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x424f25,_0x45a200)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x45a200);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x25f9fa=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1dbb86);this['_isPendingUpdate']=!0x0;const _0x492a33=await this['_service']['connect'](_0x36321a,this['_compressOperations'](_0x1dbb86),_0x25f9fa);if(this['sessionId']=_0x492a33['sessionId'],_0x332ada){if(!_0x492a33['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x492a33['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1dbb86,_0x492a33,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x492a33,_0x1dbb86);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x20c8ac=this['editor']['plugins']['get'](Y),_0x2ecb80=this['editor']['plugins']['get'](K),_0x47c1b5=_0x20c8ac['channelSessions']['get'](this['_channelId']);_0x47c1b5&&_0x47c1b5['length']>0x1?_0x2ecb80['createUserMarkerOperations']():this['listenTo'](_0x20c8ac,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20c8ac['channelSessions']['get'](this['_channelId'])['length']&&_0x2ecb80['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x202021,_0x1b1488,_0x3610e3,_0x2ba78f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1b1488){const _0x22ef47=this['_decompressOperations'](_0x3610e3,_0x2ba78f);await this['_fetchMissingUsers'](_0x22ef47),this['_handleExternalOperations'](_0x22ef47,_0x1b1488,_0x3610e3['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2dc984}=this['editor'];let _0x34bde3;try{_0x34bde3=await this['_service']['getDocumentDetails']();}catch{const _0x7a5eac=X(_0x2dc984,'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'](_0x7a5eac);}const _0x2d87cb=_0x34bde3['currentDocumentSession']||_0x34bde3['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2d87cb['lastOperationId']){const _0x22d223=X(_0x2dc984,'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'](_0x22d223);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2aec6f){const _0x17cc58=this['editor']['plugins']['get'](Y);this['listenTo'](_0x17cc58,'sessionAdd:'+this['_channelId'],(_0x42da6c,{session:_0x57418d})=>{if(_0x57418d['id']===_0x17cc58['mySessionId']){_0x42da6c['off']();const _0x301e3b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x22329d=_0x57418d['permissions'];_0x301e3b&&_0x301e3b['isEnabled']&&(_0x22329d=_0x22329d['filter'](_0x51d9ad=>'document:write'!==_0x51d9ad)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x22329d,this['_channelId']);}}),_0x17cc58['register'](this['_channelId'],_0x2aec6f);}['_initThrowingOnDataSet'](){const _0x40fca4=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2af78a)=>{if(!_0x2af78a[_0x2af78a['length']-0x1]['suppressErrorInCollaboration'])throw new _0x507e58('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x40fca4['apply'](this['editor']['data'],_0x2af78a);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x31ebb9,[_0x4f4877])=>{if(this['_document']['version'])throw new _0x507e58('realtimecollaborationclient-init-document-already-initialized',this);_0x31ebb9['stop'](),this['_setPendingAction']();const _0x335263=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4b78d4])=>!_0x4b78d4['lazyLoad'])['map'](([_0xf304fc,_0x519355])=>[_0xf304fc,_0x519355['modelAttributes']||{}])),_0x331401=this['_getOperationsFromInitData'](_0x4f4877,_0x335263);0x0==_0x331401['length']&&_0x331401['push'](new _0x38defe(0x0)),_0x31ebb9['return']=this['_connectService'](_0x331401)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5b5e7e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5b5e7e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x416f8b,[_0xc57327,_0x275120])=>{_0x416f8b['stop']();const _0x347ab9=this['editor']['model']['document']['getRoot'](_0xc57327);if(!this['_knownRootNames']['has'](_0xc57327)){const _0x51d1b0=_0x275120&&_0x275120['data']?_0x275120['data']:'',_0x935c08=_0x275120&&_0x275120['attributes']?_0x275120['attributes']:{};await this['_loadRoot'](_0xc57327,_0x51d1b0,_0x935c08);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x347ab9['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x347ab9);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x253269){const _0x5f033e=this['editor']['plugins']['get'](_0x51a3a4),{connection:_0x57aa5f}=this['editor']['plugins']['get'](z),_0x7b1724=new Set();for(const _0x2e3aa1 of _0x253269){const _0x280bf7=_0x2e3aa1['_authorId'];_0x280bf7&&!_0x5f033e['getUser'](_0x280bf7)&&_0x7b1724['add'](_0x280bf7);}if(0x0===_0x7b1724['size'])return;const _0x418a68=await _0x2963a9['getMany'](_0x57aa5f,Array['from'](_0x7b1724));for(const _0x5c91da of _0x418a68)_0x5f033e['getUser'](_0x5c91da['id'])||_0x5f033e['addUser'](_0x5c91da);}['_getOperationsFromInitData'](_0x2c5eab,_0x288859={}){const _0x34ecd1=this['editor']['model'],_0x4d589a=[];let _0x1b7757=0x0;const _0x36049a='string'==typeof _0x2c5eab?{'main':_0x2c5eab}:_0x2c5eab;for(const _0x43be14 of Object['keys'](_0x36049a)){if(!this['_document']['roots']['has'](_0x43be14))throw new _0x507e58('realtimecollaborationclient-init-non-existent-root',this);const _0x2e678e=this['editor']['data']['parse'](_0x36049a[_0x43be14]),_0x5df345=this['_document']['getRoot'](_0x43be14),_0x3af96e=new _0x59c069(_0x34ecd1['createPositionAt'](_0x5df345,0x0),_0x2e678e,_0x1b7757++);_0x4d589a['push'](_0x3af96e);for(const [_0x4d52ea,_0x363fda]of _0x2e678e['markers']){const _0x5222c4=_0x34ecd1['createRange'](_0x34ecd1['createPositionFromPath'](_0x5df345,_0x363fda['start']['path']['slice']()),_0x34ecd1['createPositionFromPath'](_0x5df345,_0x363fda['end']['path']['slice']())),_0x45fc1a=new _0x1440b2(_0x4d52ea,null,_0x5222c4,_0x34ecd1['markers'],!0x0,_0x1b7757++);_0x4d589a['push'](_0x45fc1a);}}if(_0x288859)for(const [_0x4d8acc,_0x24c532]of Object['entries'](_0x288859)){const _0x26f23a=_0x34ecd1['document']['getRoot'](_0x4d8acc);if(!_0x26f23a)throw new _0x507e58('multi-root-editor-root-attributes-no-root',null);for(const [_0x26077f,_0x1064d6]of Object['entries'](_0x24c532))if(null!==_0x1064d6){const _0x3db87a=new _0x197775(_0x26f23a,_0x26077f,null,_0x1064d6,_0x1b7757++);_0x4d589a['push'](_0x3db87a);}}return _0x4d589a;}async['_loadRoot'](_0x27319e,_0x4ca66a,_0x356169){this['_getOperationsFromInitData']({[_0x27319e]:_0x4ca66a},{[_0x27319e]:_0x356169})['forEach']((_0x468810,_0x31a510)=>{_0x468810['baseVersion']=this['_document']['version']+_0x31a510,_0x468810['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x468810);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5f325d,_0xba0a30){let _0x7733a7;this['_offset']=_0x5f325d['offset'];const _0x3369ae=_0x5f325d['wereChangesApplied']&&!_0x5f325d['initData'],_0x496dab=_0x3369ae?0x0:_0x5f325d['data']['baseVersion'];if(_0xba0a30['forEach'](_0x4ddaf9=>{_0x4ddaf9['_isInit']=!0x0,_0x4ddaf9['createdAt']=_0x5f325d['sessionCreatedAt'],_0x4ddaf9['_authorId']=null;}),_0x3369ae)_0x7733a7=_0xba0a30,this['_applyOperationsSet'](_0x7733a7,_0x3369ae);else{if(_0x5f325d['initData']){const _0xbd95c3=this['_getOperationsFromInitData'](_0x5f325d['initData']);this['_document']['history']['version']=-_0xbd95c3['length'],_0xbd95c3['forEach'](_0x229771=>{_0x229771['baseVersion']-=_0xbd95c3['length'],_0x229771['createdAt']=_0x5f325d['sessionCreatedAt'],_0x229771['_isInit']=!0x0,_0x229771['_authorId']=null;}),this['_applyOperationsSet'](_0xbd95c3,!0x0),this['serverHistory']['version']=-_0xbd95c3['length']+this['_offset'],this['_updateServerHistory'](_0xbd95c3);}this['_document']['history']['version']=_0x496dab,_0x7733a7=this['_decompressOperations'](_0x5f325d['data'],_0x5f325d['metadata']),await this['_fetchMissingUsers'](_0x7733a7),this['_applyOperationsSet'](_0x7733a7,_0x3369ae);}_0x5f325d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x7733a7,_0x5f325d['lastOperationId']),this['_lastSyncedOperationId']=_0x5f325d['lastOperationId']),this['serverHistory']['version']=_0x496dab+this['_offset'],this['_updateServerHistory'](_0x7733a7),_0xba0a30['filter'](_0xad893e=>{const _0x5c6ec9=this['_getAffectedRoot'](_0xad893e);return _0x5c6ec9&&!this['_knownRootNames']['has'](_0x5c6ec9);})['forEach']((_0x37673d,_0x28bc72)=>{_0x37673d['baseVersion']=this['_document']['version']+_0x28bc72,this['_saveOperationInBuffer'](_0x37673d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x394139,_0x14c969){const _0x4c4903=_0x14c969&&_0x14c969['message'];if(_0x4c4903&&_0x4c4903['startsWith']('realtimecollaborationclient'))throw _0x14c969;const _0x41b05a=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x41b05a['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x507e58(_0x394139,this['editor'],_0x4c4903?{'originalError':_0x4c4903}:void 0x0);}['_saveOperationInBuffer'](_0x367478){this['_knownOperations']['has'](_0x367478)||(this['_knownOperations']['add'](_0x367478),this['_bufferedOperations']['push'](_0x367478),this['_pendingAction']||'marker'==_0x367478['type']&&!_0x367478['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x314c8c=!0x1){!_0x314c8c&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xc150ea=>{_0xc150ea&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2faaa8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x29cf72){return _0x29cf72['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x29cf72['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x29cf72['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2faaa8)||this['_crash'](_0x2faaa8['message'],_0x2faaa8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3be819=>{this['on']('change:_isPendingUpdate',()=>{_0x3be819();});});}async['_sendBufferedOperations'](){const _0x363942=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x363942['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a3ce7=[...this['_bufferedOperations']];for(const _0xc0ed3f of _0x5a3ce7)_0xc0ed3f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc0ed3f);const _0x2f1491=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a3ce7),_0xccfdbd=Z++,_0x36ca94=this['_compressOperations'](_0x5a3ce7),_0xc40684=await this['_service']['sendOperations'](_0x36ca94,_0x36ca94['baseVersion'],_0x2f1491);try{return await this['_handleServerResponse'](_0x5a3ce7,_0xc40684,_0xccfdbd);}catch(_0x1263ef){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1263ef);}}async['_handleServerResponse'](_0x289658,_0x57ec6c,_0x149ffe){if('error'in _0x57ec6c)throw _0x57ec6c['error'];let _0x3fc041=!0x1;if(_0x57ec6c['wereChangesApplied']){_0x57ec6c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x57ec6c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x52f249=>!_0x289658['includes'](_0x52f249));for(const _0x55350d of _0x289658)_0x55350d['createdAt']='lastOperationAcceptedAt'in _0x57ec6c&&_0x57ec6c['lastOperationAcceptedAt']||void 0x0;st(_0x289658,_0x57ec6c['version']-_0x289658['length']),this['_updateServerHistory'](_0x289658);const _0x1d176f=_0x289658['filter'](_0x350134=>{if(!_0x350134['_isInit'])return!0x1;const _0x25969b=this['_getAffectedRoot'](_0x350134);return _0x25969b&&!this['_knownRootNames']['has'](_0x25969b);});st(_0x1d176f,this['_document']['version']),this['_applyOperationsSet'](_0x1d176f),_0x3fc041=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4bf5b2=this['_decompressOperations'](_0x57ec6c['data'],_0x57ec6c['metadata'])['filter'](_0x331e27=>_0x331e27['baseVersion']>=this['_lastServerVersion']);_0x4bf5b2['forEach'](_0x53358c=>this['_addKnownRoot'](_0x53358c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41d5d5=>!_0x41d5d5['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x41d5d5))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4bf5b2),_0x3fc041=this['_handleExternalOperations'](_0x4bf5b2,_0x57ec6c['version'],_0x57ec6c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3fc041?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x52dd96,_0x72f3da,_0x5a2e5a){try{const _0x222af9={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5b731f,operationsB:_0x25e3ab,originalOperations:_0x38bd4b}=_0x6ca77d(_0x52dd96,this['_bufferedOperations'],_0x222af9);st(_0x5b731f,this['_document']['version']),st(_0x25e3ab,_0x72f3da);for(const _0xce2504 of _0x5b731f){const _0x6c439=_0x38bd4b['get'](_0xce2504);_0xce2504['_authorId']=_0x6c439?_0x6c439['_authorId']:null;}_0x5a2e5a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x52dd96,_0x5a2e5a),this['_lastSyncedOperationId']=_0x5a2e5a),this['_bufferedOperations']=[..._0x25e3ab],this['_applyOperationsSet'](_0x5b731f),this['_updateServerHistory'](_0x52dd96);}catch(_0x524650){return console['error'](_0x524650),!0x1;}return!0x0;}['_applyOperationsSet'](_0x26d52c,_0x11545a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x29db54=>{for(const _0x30df8f of _0x26d52c)this['_knownOperations']['add'](_0x30df8f),this['_addKnownRoot'](_0x30df8f),_0x29db54['batch']['addOperation'](_0x30df8f),this['editor']['model']['applyOperation'](_0x30df8f);});}['_addKnownRoot'](_0x23e0e9){const _0x1e02ba=this['_getAffectedRoot'](_0x23e0e9);_0x1e02ba&&this['_knownRootNames']['add'](_0x1e02ba);}['_getAffectedRoot'](_0xa7a063){let _0x3a0768,_0x14ce50;switch(_0xa7a063['type']){case'insert':_0x3a0768=_0xa7a063['position']['root'];break;case'marker':if(_0x14ce50=_0xa7a063['newRange'],!_0x14ce50)return null;_0x3a0768=_0x14ce50['root'];break;case'addRootAttribute':_0x3a0768=_0xa7a063['root'];break;case'addRoot':_0x3a0768=_0xa7a063['affectedSelectable'];break;case'move':_0x3a0768=_0xa7a063['targetPosition']['root'];break;default:return null;}return _0x3a0768['rootName'];}['_updateServerHistory'](_0x47355d){_0x47355d['forEach'](_0x276d4a=>{const _0x2d1782=_0x276d4a['clone']();_0x2d1782['_authorId']=_0x276d4a['_authorId'],_0x2d1782['_isInit']=!!_0x276d4a['_isInit'],_0x2d1782['createdAt']=_0x276d4a['createdAt'],_0x2d1782['baseVersion']+=this['_offset'],_0x276d4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2d1782),this['serverHistory']['addOperation'](_0x2d1782);});}['_handleReconnectionError'](_0x2c681d){const _0x57727e=this['editor']['plugins']['get']('Notification'),_0x38278f=this['editor']['locale'];_0x2c681d||(_0x2c681d=X(_0x38278f,'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.')),_0x57727e['showWarning'](_0x2c681d,{'title':X(_0x38278f,'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'](_0x1e7548)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1e7548)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x1d0948){const _0x4f6423=_0x1d0948['map'](_0x533a7c=>_0x533a7c['toJSON']());return this['_compressor']['compress'](_0x4f6423);}['_decompressOperations'](_0x202fbe,_0x4a73b4){return this['_compressor']['decompress'](_0x202fbe)['map']((_0xfbbe05,_0x543d20)=>{const _0x592e71='init'==_0x4a73b4[_0x543d20]['type'];if('InsertOperation'==_0xfbbe05['__className']){const _0x35a36a=_0xfbbe05['position']['root'];!this['_document']['getRoot'](_0x35a36a)&&(this['_document']['createRoot']('$root',_0x35a36a)['_isAttached']=!0x1);}const _0x2a4eaf=_0x571bc6['fromJSON'](_0xfbbe05,this['_document']);return _0x2a4eaf['wasUndone']=_0xfbbe05['wasUndone'],_0x2a4eaf['_isInit']=_0x592e71,_0x2a4eaf['_authorId']=_0x592e71?null:_0x4a73b4[_0x543d20]['userId'],_0x2a4eaf['_isDisconnection']='cs:removeUser'===_0x4a73b4[_0x543d20]['type'],_0x2a4eaf['createdAt']=_0x4a73b4[_0x543d20]['createdAt'],_0x2a4eaf;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xe7d6c6=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xe7d6c6&&_0xe7d6c6['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x970eae,_0x3c1d3c){for(const _0x15092e of _0x970eae)_0x15092e['baseVersion']=_0x3c1d3c++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x5eed77){this['_ignoredOperations']=_0x5eed77,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x56646e){let _0x57e7ba=_0x56646e['length'];for(;_0x57e7ba--;){const _0x5f1cb1=_0x56646e[_0x57e7ba];if(!this['_ignoredOperations']['has'](_0x5f1cb1)){if(!this['_operationToId']['has'](_0x5f1cb1)){const _0x3586c4=_0x419e75()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5f1cb1,_0x3586c4);}return this['_operationToId']['get'](_0x5f1cb1);}}}['setIdForTheLastOperation'](_0xd2ca8c,_0x231111){if(!_0x231111)return;let _0x5beb6e=_0xd2ca8c['length'];for(;_0x5beb6e--;){const _0x5cdea4=_0xd2ca8c[_0x5beb6e];this['_ignoredOperations']['has'](_0x5cdea4)||this['_operationToId']['set'](_0x5cdea4,_0x231111);}}}class nt extends _0x187028{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x13ca54{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0xb95732)());['_services'];static get['requires'](){return[z,_0x3a4131,Y,_0x51a3a4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x42aa8d){super(_0x42aa8d),this['_services']=new Map();}async['init'](){const _0x2795b6=this['context'],_0x5b90e9=_0x2795b6['plugins']['get'](_0x3a4131);if(_0x2795b6['plugins']['get'](z)['addToReconnectionStack'](this),_0x5b90e9['adapter']={'addCommentThread':async({channelId:_0x292f1b,threadId:_0x2b96fb,comments:_0x3c4e98,resolvedAt:_0x2a4295,resolvedBy:_0x415ff5,context:_0x14a902,attributes:_0x4bbac3})=>{const _0x2ea114=await this['_getService'](_0x292f1b)['addCommentThread']({'commentThreadId':_0x2b96fb,'comments':_0x3c4e98['map'](_0x7465ea=>function(_0x4cdced,_0x57d3a4,_0x39b1f3){return{'commentThreadId':_0x39b1f3,'commentId':_0x4cdced['commentId'],'userId':_0x4cdced['authorId'],'content':_0x4cdced['content'],'documentId':_0x57d3a4,'createdAt':_0x4cdced['createdAt'],'attributes':_0x4cdced['attributes']||{}};}(_0x7465ea,_0x292f1b,_0x2b96fb)),'resolvedAt':_0x2a4295,'resolvedBy':_0x415ff5,'context':_0x14a902,'attributes':_0x4bbac3})['catch'](ct);return{'threadId':_0x2ea114['commentThreadId'],'comments':_0x2ea114['comments']};},'getCommentThread':async({channelId:_0x5e9e5f,threadId:_0x41d6da})=>{const _0x22c695=await this['_getService'](_0x5e9e5f)['getCommentThread'](_0x41d6da)['catch'](rt)['catch'](ct);return _0x22c695?_0x22c695['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x22c695]),{'threadId':_0x22c695['commentThreadId'],'comments':_0x22c695['comments']['map'](at),'context':_0x22c695['context'],'resolvedAt':_0x22c695['resolvedAt'],'resolvedBy':_0x22c695['resolvedBy'],'attributes':_0x22c695['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2be6d7,threadId:_0x219df1,context:_0x55eb03,unlinkedAt:_0x12985b,attributes:_0x3caa47})=>this['_getService'](_0x2be6d7)['updateCommentThread']({'commentThreadId':_0x219df1,'context':_0x55eb03,'attributes':_0x3caa47,'unlinkedAt':_0x12985b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x25c63d,threadId:_0x1eed79})=>{const _0x24b551=await this['_getService'](_0x25c63d)['resolveCommentThread'](_0x1eed79)['catch'](rt)['catch'](ct);return{'threadId':_0x24b551['commentThreadId'],'resolvedAt':_0x24b551['resolvedAt'],'resolvedBy':_0x24b551['resolvedBy']};},'reopenCommentThread':async({channelId:_0x59e7f4,threadId:_0x3fc1af})=>this['_getService'](_0x59e7f4)['reopenCommentThread'](_0x3fc1af)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x160624,threadId:_0x159100})=>this['_getService'](_0x160624)['removeCommentThread'](_0x159100)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2b0c8c,threadId:_0x5797a2,commentId:_0x5dc790,content:_0x5e7f1c,attributes:_0x300dd2})=>this['_getService'](_0x2b0c8c)['addComment'](_0x5797a2,_0x5dc790,_0x5e7f1c,_0x300dd2)['catch'](ct),'updateComment':({channelId:_0x5a8802,threadId:_0x35234f,commentId:_0x55adb2,content:_0x4da745,attributes:_0x201903})=>this['_getService'](_0x5a8802)['updateComment'](_0x35234f,_0x55adb2,_0x4da745,_0x201903)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x2f6cec,threadId:_0x5b2bcf,commentId:_0x1fda54})=>this['_getService'](_0x2f6cec)['removeComment'](_0x5b2bcf,_0x1fda54)['catch'](rt)['catch'](ct)},_0x2795b6 instanceof _0x5e5361){const _0x2975d2=_0x2795b6['config']['get']('collaboration.channelId'),_0x4a2439=_0x2795b6['plugins']['get'](Y);await this['_setUpService'](_0x2975d2);const _0x28e632=await this['_services']['get'](_0x2975d2)['getConnectedSessions']();this['listenTo'](_0x4a2439,'sessionAdd:'+_0x2975d2,(_0x4c853b,{session:_0x2f32a6})=>{_0x2f32a6['id']===_0x4a2439['mySessionId']&&(_0x4c853b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2f32a6['permissions'],_0x2975d2));}),_0x4a2439['register'](_0x2975d2,_0x28e632);}}async['_setUpService'](_0x23bacf){if(this['_services']['has'](_0x23bacf))throw new _0x507e58('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x23bacf});const _0x55bab0=this['context']['plugins']['get'](_0x3a4131),_0x43911e=new ot['CommentsService'](_0x23bacf);this['_services']['set'](_0x23bacf,_0x43911e),this['listenTo'](_0x43911e,'commentThreadAdded',(_0x2298ad,_0x527c15)=>{const {commentThreadId:_0x5abda7,documentId:_0x17755f,context:_0x11106e,attributes:_0x56dd04,resolvedAt:_0x4e3f95,resolvedBy:_0x280953,comments:_0x13b2b8}=_0x527c15;_0x55bab0['getCommentThread'](_0x5abda7)||_0x55bab0['addCommentThread']({'threadId':_0x5abda7,'channelId':_0x17755f,'comments':_0x13b2b8?_0x13b2b8['map'](at):[],'context':_0x11106e,'attributes':_0x56dd04,'resolvedAt':_0x4e3f95,'resolvedBy':_0x280953,'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentThreadUpdated',(_0xd15ab2,{commentThreadId:_0x251fe1,documentId:_0x32b664,context:_0x1b509a,unlinkedAt:_0x5978ec,attributes:_0x3864d4})=>{_0x55bab0['getCommentThread'](_0x251fe1)&&_0x55bab0['updateCommentThread']({'threadId':_0x251fe1,'channelId':_0x32b664,'context':_0x1b509a,'unlinkedAt':_0x5978ec,'attributes':_0x3864d4,'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentThreadResolved',(_0x387eb8,{commentThreadId:_0x38f340,resolvedBy:_0x5609eb,resolvedAt:_0x2b5f35})=>{const _0x261f97=_0x55bab0['getCommentThread'](_0x38f340);_0x261f97&&_0x261f97['resolve']({'resolvedBy':_0x5609eb,'resolvedAt':_0x2b5f35,'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentThreadReopened',(_0x444842,{commentThreadId:_0x2812b9})=>{const _0x3e0828=_0x55bab0['getCommentThread'](_0x2812b9);_0x3e0828&&_0x3e0828['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentThreadRemoved',(_0x25fbbd,{commentThreadId:_0x423014})=>{const _0x4d6974=_0x55bab0['getCommentThread'](_0x423014);_0x4d6974&&_0x4d6974['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentAdded',(_0x329a98,_0x4ac616)=>{const _0x5ed89c=_0x4ac616['commentThreadId'],_0x50eec2=_0x55bab0['getCommentThread'](_0x5ed89c);_0x50eec2&&_0x50eec2['addComment']({...at(_0x4ac616),'isFromAdapter':!0x0});}),this['listenTo'](_0x43911e,'commentUpdated',(_0x5693e9,{commentThreadId:_0x10f563,commentId:_0x3eac20,content:_0x298098,attributes:_0x3f6f4c})=>{const _0x3dac18=_0x55bab0['getCommentThread'](_0x10f563);if(_0x3dac18){const _0x326241=_0x3dac18['getComment'](_0x3eac20);_0x326241&&_0x326241['update']({'content':_0x298098,'attributes':_0x3f6f4c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x43911e,'commentRemoved',(_0x4f09ff,{commentThreadId:_0x18569f,commentId:_0x131139})=>{const _0x5a1427=_0x55bab0['getCommentThread'](_0x18569f);if(_0x5a1427){const _0x21d34d=_0x5a1427['getComment'](_0x131139);_0x21d34d&&_0x21d34d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x23bacf);}['destroy'](){if(this['context']instanceof _0x5e5361){const _0x2be9ab=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2be9ab);}}['_terminateService'](_0xe4a414){if(!this['_services']['has'](_0xe4a414))throw new _0x507e58('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xe4a414});this['_getService'](_0xe4a414)['disconnect'](),this['_services']['delete'](_0xe4a414);}async['reconnect'](){for(const _0x310943 of this['_services']['keys']())await this['_connectService'](_0x310943);if(this['context']instanceof _0x5e5361){const _0x3227af=this['context']['config']['get']('collaboration.channelId'),_0x3725a2=this['context']['plugins']['get'](Y);_0x3725a2['unregister'](_0x3227af);const _0x340aa8=await this['_services']['get'](_0x3227af)['getConnectedSessions']();_0x3725a2['register'](_0x3227af,_0x340aa8);}}async['_connectService'](_0x3b870b){const {connection:_0x11257f}=this['context']['plugins']['get'](z),_0x3bc90e=this['context']['plugins']['get'](_0x3a4131),_0x5b3fef=this['_services']['get'](_0x3b870b),_0x225103=await _0x5b3fef['connect'](_0x11257f);await this['_fetchMissingUsersForThreads'](_0x225103);const _0x3ba66e=new Set(Array['from'](_0x3bc90e['getCommentThreads']({'channelId':_0x3b870b}),_0x395e2a=>_0x395e2a['id']));for(const _0x4e71c3 of _0x225103)_0x4e71c3['deletedAt']||_0x3ba66e['delete'](_0x4e71c3['commentThreadId']);for(const _0x4b7f1e of _0x3ba66e)_0x3bc90e['getCommentThread'](_0x4b7f1e)['remove']({'isFromAdapter':!0x0});for(const _0x1aed33 of _0x225103){let _0xf428a6=_0x3bc90e['getCommentThread'](_0x1aed33['commentThreadId']);const {commentThreadId:_0x58e2d4,context:_0x45c0f7,attributes:_0x142025,resolvedBy:_0x2795e1,resolvedAt:_0x2894fd,unlinkedAt:_0x2f6156,deletedAt:_0x3f4b9e}=_0x1aed33;if(_0x3f4b9e)continue;_0xf428a6||(_0xf428a6=_0x3bc90e['addCommentThread']({'channelId':_0x3b870b,'threadId':_0x58e2d4,'context':_0x45c0f7,'attributes':_0x142025||{},'resolvedBy':_0x2795e1,'resolvedAt':_0x2894fd,'unlinkedAt':_0x2f6156,'isFromAdapter':!0x0}));const _0x50b9e2=new Set(Array['from'](_0xf428a6['comments'],_0x2c50ab=>_0x2c50ab['id']));for(const _0x32a8bd of _0x1aed33['comments'])_0x50b9e2['delete'](_0x32a8bd['commentId']);for(const _0x1903be of _0x50b9e2)_0xf428a6['getComment'](_0x1903be)['remove']({'isFromAdapter':!0x0});for(const _0x25fde9 of _0x1aed33['comments']){const _0x3a7c62=_0xf428a6['getComment'](_0x25fde9['commentId']);_0x3a7c62?_0x3a7c62['content']!==_0x25fde9['content']&&_0x3a7c62['update']({'content':_0x25fde9['content'],'isFromAdapter':!0x0}):_0xf428a6['addComment'](Object['assign'](at(_0x25fde9),{'isFromAdapter':!0x0}));}}}['_getService'](_0x32e477){if(!this['_services']['has'](_0x32e477))throw new _0x507e58('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x32e477});return this['_services']['get'](_0x32e477);}async['_fetchMissingUsersForThreads'](_0x590d2f){const _0x30366f=this['context']['plugins']['get'](_0x51a3a4),{connection:_0x3f48bc}=this['context']['plugins']['get'](z),_0x1579a9=new Set();for(const {resolvedBy:_0x3e47cd,comments:_0x1f78d9}of _0x590d2f){_0x3e47cd&&!_0x30366f['getUser'](_0x3e47cd)&&_0x1579a9['add'](_0x3e47cd);for(const {userId:_0x45b5fd}of _0x1f78d9)_0x30366f['getUser'](_0x45b5fd)||_0x1579a9['add'](_0x45b5fd);}if(0x0===_0x1579a9['size'])return;const _0x968f4=await _0x2963a9['getMany'](_0x3f48bc,Array['from'](_0x1579a9));for(const _0x16f0fa of _0x968f4)_0x30366f['getUser'](_0x16f0fa['id'])||_0x30366f['addUser'](_0x16f0fa);}}async function rt(_0x4c97d3){if('404'!==_0x4c97d3['code'])throw _0x4c97d3;}function ct(_0x2dee55){if((_0xb28cd9=_0x2dee55)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xb28cd9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xb28cd9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xb28cd9;throw _0x2dee55;}function at(_0x22dbe8){return{'threadId':_0x22dbe8['commentThreadId'],'commentId':_0x22dbe8['commentId'],'content':_0x22dbe8['content'],'createdAt':_0x22dbe8['createdAt'],'authorId':_0x22dbe8['userId'],'attributes':_0x22dbe8['attributes']||{}};}class ht extends _0x187028{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x11f100)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x5adc1b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x46266b){super(_0x46266b);const _0x56d0d6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x56d0d6);}['init'](){const _0x2400be=this['editor']['plugins']['get'](z),_0x35cb0f=this['editor']['plugins']['get'](_0x5adc1b);return _0x35cb0f['adapter']={'getSuggestion':async _0x5c58b5=>{await this['_waitForServiceReady']();const _0x561194=await this['_trackChangesService']['get'](_0x5c58b5)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x561194]),_0x561194;},'addSuggestion':async({id:_0x355023,type:_0x59b6d6,data:_0x47e804,originalSuggestionId:_0x374dd2,attributes:_0x1ab2dc})=>{await this['_waitForServiceReady']();const _0x47ece5={'id':_0x355023,'type':_0x59b6d6,'data':_0x47e804,'originalSuggestionId':_0x374dd2,'attributes':_0x1ab2dc},_0x6567b0=await this['_trackChangesService']['add'](_0x355023,_0x59b6d6,_0x47e804,_0x374dd2,_0x1ab2dc)['catch'](_0x2fa236=>{if(dt(_0x2fa236))return new Promise(_0x508e92=>{this['_bufferedRequests']['set'](_0x355023,{'resolve':_0x508e92,'suggestionData':_0x47ece5});});throw _0x2fa236;});return this['_bufferedRequests']['delete'](_0x355023),_0x6567b0;},'updateSuggestion':async(_0x207d9e,_0x3f2397)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3f2397['state'])return this['_trackChangesService']['update'](_0x207d9e,_0x3f2397)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3e3d5c,_0x2d84c7)=>{_0x35cb0f['hasSuggestion'](_0x2d84c7['id'])&&(_0x35cb0f['getSuggestion'](_0x2d84c7['id'])['attributes']=_0x2d84c7['attributes']);}),this['_trackChangesService']['connect'](_0x2400be['connection'])['then'](_0x3e1083=>(_0x2400be['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3e1083)['then'](()=>{for(const _0x25a3ca of _0x3e1083){_0x35cb0f['addSuggestionData'](_0x25a3ca)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1872f3=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x226f2c}=this['editor']['plugins']['get'](z),_0x353b06=await this['_trackChangesService']['connect'](_0x226f2c);await this['_fetchMissingUsersForThreads'](_0x353b06);for(const {suggestionData:_0x46f8ca,resolve:_0x414378}of this['_bufferedRequests']['values']()){let _0x4faeb5=_0x353b06['find'](_0x50c6a4=>_0x50c6a4['id']===_0x46f8ca['id']);_0x4faeb5||(_0x4faeb5=await this['_trackChangesService']['add'](_0x46f8ca['id'],_0x46f8ca['type'],_0x46f8ca['data'],_0x46f8ca['originalSuggestionId'])),_0x414378(_0x4faeb5);}for(const _0x3f0586 of _0x353b06)_0x1872f3['hasSuggestion'](_0x3f0586['id'])||_0x1872f3['addSuggestionData'](_0x3f0586);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1a8b3b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5a688a=>{_0x5a688a['off'](),_0x1a8b3b();});});}async['_fetchMissingUsersForThreads'](_0x341d68){const _0x5a654d=this['editor']['plugins']['get'](_0x51a3a4),{connection:_0x313a45}=this['editor']['plugins']['get'](z),_0x48f768=new Set();for(const {authorId:_0x33ba7e}of _0x341d68)_0x5a654d['getUser'](_0x33ba7e)||_0x48f768['add'](_0x33ba7e);if(0x0===_0x48f768['size'])return;const _0x58c09=await _0x2963a9['getMany'](_0x313a45,Array['from'](_0x48f768));for(const _0x12340b of _0x58c09)_0x5a654d['getUser'](_0x12340b['id'])||_0x5a654d['addUser'](_0x12340b);}}function lt(_0x1e87e1){if(dt(_0x1e87e1))return new Promise(()=>{});throw _0x1e87e1;}function dt(_0x1e9542){return _0x1e9542['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1e9542['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x187028{static get['requires'](){return[_0x241fc5,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x22938f=this['editor']['plugins']['get'](z),_0x58b4d0=this['editor']['plugins']['get'](_0x12f924),_0x123116=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x22938f,'change:state',(_0x3563ff,_0x5053d7,_0x2158f0)=>{_0x58b4d0['isThreadsLoadingPaused']='connected'!==_0x2158f0;});}),this['listenTo'](_0x22938f,'change:state',(_0x5d279d,_0x1b73ad,_0x89b7b8)=>{this['editor']['plugins']['get'](_0x3a4131)['switchReadOnly']('connected'!==_0x89b7b8);}),_0x123116['_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 _0x187028{static get['requires'](){return[ut,ht,_0x240be3];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x187028{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x58043c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x5c8eb1,Y,_0x51a3a4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2c72aa){super(_0x2c72aa);const _0x4bdec0=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x4bdec0);}async['init'](){const _0x2cdc67=this['editor']['plugins']['get'](tt),_0x4f1e1b=_0x2cdc67['serverHistory'],_0x3a7d01=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4f1e1b,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2cdc67['sessionId']});const _0x1cc365=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x55d473,_0x5cd730=await _0x309b2e['isBundleUploaded'](_0x3a7d01['connection'],_0x1cc365);this['editor']['plugins']['get'](_0x5c8eb1)['adapter']={'getRevision':async({revisionId:_0x4b8d2a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4b8d2a)),'updateRevisions':async _0x403c35=>{await this['_waitForServiceReady']();const _0x13dcae=this['_revisionTracker']['currentRevision'];if(_0x5cd730&&0x1===_0x403c35['length']&&_0x403c35[0x0]['id']===_0x13dcae['id'])return _0x403c35;for(const _0x4ecc15 of _0x403c35)_0x4ecc15['id']===_0x13dcae['id']&&(_0x4ecc15['isEmptyCurrent']=_0x4ecc15['fromVersion']===_0x4ecc15['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x403c35,this['_lastRequestId'])['then'](_0x313629=>(this['_lastRequestId']=_0x313629,_0x403c35))['catch'](_0x464711=>{if(pt(_0x464711)||'400'===_0x464711['code']&&void 0x0!==_0x464711['data']['wrongRequestId']){for(const _0x4dc6d2 of _0x403c35){!this['_revisionTracker']['repository']['getRevision'](_0x4dc6d2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4dc6d2['id'],_0x4dc6d2,!0x1);}if(pt(_0x464711))throw _0x464711;return _0x403c35;}throw _0x464711;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x50f524,{revisionsData:_0x526211,requestId:_0x19d15b})=>{Math['max'](..._0x526211['map'](_0x521575=>_0x521575['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x526211,_0x19d15b);}):this['_handleRevisionsUpdate'](_0x526211,_0x19d15b);});const {revisions:_0x540453,requestId:_0x28a59f}=await this['_revisionHistoryService']['connect'](_0x3a7d01['connection']);_0x3a7d01['addToReconnectionStack'](this),this['_lastRequestId']=_0x28a59f,await this['_fetchMissingUsers'](_0x540453);for(const _0x28b1a6 of _0x540453)this['_revisionTracker']['addRevisionData'](_0x28b1a6);this['listenTo'](_0x2cdc67,'change:_isConnected',(_0x43f281,_0x4703a5,_0x5632a5)=>{_0x5632a5&&(this['_oldOffset']=_0x2cdc67['_offset'],_0x43f281['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3a7d01,'state',_0x2771e2=>_0x2771e2===_0x13e39c['CONNECTED']);}async['reconnect'](){const _0x2370f1=this['editor']['plugins']['get'](z),_0x21ff3f=this['editor']['plugins']['get'](tt),_0x186722=async()=>{const _0x75912f=this['_revisionTracker']['currentRevision'],_0x2fcacf=_0x75912f['id'],_0x247098=_0x2fcacf!==_0x21ff3f['sessionId'];if(_0x247098){const _0x445d58=_0x21ff3f['_offset']-this['_oldOffset'],_0x5f2b0c=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x75912f['toVersion']+_0x445d58!==_0x5f2b0c){const _0x48a86e=_0x75912f['fromVersion']+_0x445d58,_0x2b5d2c=this['editor']['plugins']['get'](_0x51a3a4),_0x3c409d=this['_revisionTracker']['buildRevisionData']({'revision':_0x75912f,'from':_0x48a86e,'to':_0x5f2b0c});_0x3c409d['id']=_0x75912f['id'];const _0x1e3c08=_0x3c409d['authorsIds']['map'](_0x3fcecd=>_0x2b5d2c['getUser'](_0x3fcecd));_0x75912f['_update']({..._0x3c409d,'authors':_0x1e3c08},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x75912f['id'],_0x3c409d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5f2b0c,(_0x75912f['toVersion']===_0x75912f['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2fcacf)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2fcacf),this['_revisionTracker']['_createCurrentRevision'](_0x5f2b0c));}const {revisions:_0x51b4d2,requestId:_0x38bff6}=await this['_revisionHistoryService']['reconnect'](_0x2370f1['connection'],this['_lastRequestId']);_0x247098&&_0x51b4d2['length']>0x0?_0x21ff3f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x51b4d2),this['_handleRevisionsUpdate'](_0x51b4d2,_0x38bff6),this['_revisionTracker']['sendBufferedUpdates']());};return _0x21ff3f['_isConnected']?_0x186722():new Promise((_0x4bffae,_0x16e286)=>{_0x21ff3f['once']('change:_isConnected',()=>{_0x186722()['then'](_0x4bffae)['catch'](_0x16e286);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1e984a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0xa86b9c=>{_0xa86b9c['off'](),_0x1e984a();});});}['_getLatestVersionFromServerOperations'](){const _0x226e76=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x3a5e65 of _0x226e76)if('marker'!==_0x3a5e65['type']||_0x3a5e65['affectsData'])return _0x3a5e65['baseVersion']+0x1;}['_getLatestVersion'](){const _0x330173=this['editor']['plugins']['get'](tt);return new Promise(_0x4c96e4=>{_0x330173['_isPendingUpdate']?_0x330173['once']('change:_isPendingUpdate',()=>{_0x4c96e4(this['_getLatestVersionFromServerOperations']());}):_0x4c96e4(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3031d9,_0x1470b2){const _0x440a8a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1470b2;for(const _0x13ae08 of _0x3031d9){const _0x42434b=_0x440a8a['getRevision'](_0x13ae08['id']);if(_0x42434b){if((_0x13ae08['fromVersion']||_0x13ae08['toVersion'])&&(_0x13ae08['diffData']=null),_0x42434b===this['_revisionTracker']['currentRevision']){const _0xc587b3=Math['max'](_0x42434b['toVersion'],_0x13ae08['toVersion']),_0x1ba016=Math['max'](_0x42434b['fromVersion'],_0x13ae08['fromVersion']);let _0x28bf99;_0x42434b['toVersion']===_0x13ae08['toVersion']&&_0x42434b['fromVersion']===_0x13ae08['fromVersion']?(_0x28bf99=!0x0,this['_preventResendingRevisionData'](_0x13ae08)):_0x13ae08['toVersion']===_0xc587b3&&_0x13ae08['fromVersion']===_0x1ba016?_0x28bf99=!0x1:(_0x42434b['toVersion']===_0xc587b3&&_0x42434b['fromVersion']===_0x1ba016||this['_fixRevision']({'revision':_0x42434b,'from':_0x1ba016,'to':_0xc587b3}),_0x28bf99=!0x0),_0x28bf99&&(delete _0x13ae08['fromVersion'],delete _0x13ae08['toVersion'],delete _0x13ae08['diffData'],delete _0x13ae08['createdAt'],delete _0x13ae08['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x13ae08),this['_preventResendingRevisionData'](_0x13ae08);}else this['_revisionTracker']['addRevisionData'](_0x13ae08);}const _0x3479c6=_0x440a8a['getRevisions']();_0x3479c6['reverse']();for(let _0x32b6cd=0x0;_0x32b6cd<_0x3479c6['length']-0x1;_0x32b6cd++){const _0x1dfbd5=_0x3479c6[_0x32b6cd],_0x5bc46f=_0x3479c6[_0x32b6cd+0x1];if(_0x1dfbd5['fromVersion']<_0x5bc46f['toVersion']){const _0x2c8dc3=_0x5bc46f['toVersion'],_0x40b723=Math['max'](_0x2c8dc3,_0x1dfbd5['toVersion']);this['_fixRevision']({'revision':_0x1dfbd5,'from':_0x2c8dc3,'to':_0x40b723});}}}['_fixRevision']({revision:_0x2ca0bb,from:_0x7e5e6e,to:_0x25c476}={}){const _0x563ead=this['editor']['plugins']['get'](_0x51a3a4),_0x3f463f=this['_revisionTracker']['buildRevisionData']({'revision':_0x2ca0bb,'from':_0x7e5e6e,'to':_0x25c476});_0x3f463f['authors']=_0x3f463f['authorsIds']['map'](_0x5b8ad1=>_0x563ead['getUser'](_0x5b8ad1)),_0x2ca0bb['_update'](_0x3f463f);}['_preventResendingRevisionData'](_0x306512){const _0x5b76bc={};_0x5b76bc['id']=_0x306512['id'];for(const _0x4005d9 of Object['keys'](_0x306512))'id'!==_0x4005d9&&(_0x5b76bc[_0x4005d9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5b76bc['id'],_0x5b76bc,!0x0);}async['_fetchMissingUsers'](_0x2ae31a){const _0x3c22b1=this['editor']['plugins']['get'](_0x51a3a4),{connection:_0x2efa4b}=this['editor']['plugins']['get'](z),_0x1d4b48=new Set();for(const _0x5b234d of _0x2ae31a){for(const _0x5a9d9a of _0x5b234d['authorsIds'])_0x34706a(_0x5a9d9a);_0x5b234d['creatorId']&&_0x34706a(_0x5b234d['creatorId']);}if(0x0===_0x1d4b48['size'])return;const _0x3a13fa=await _0x2963a9['getMany'](_0x2efa4b,Array['from'](_0x1d4b48));for(const _0x3afd41 of _0x3a13fa)_0x3c22b1['getUser'](_0x3afd41['id'])||_0x3c22b1['addUser'](_0x3afd41);function _0x34706a(_0x344095){_0x3c22b1['getUser'](_0x344095)||_0x1d4b48['add'](_0x344095);}}}function pt(_0x3a55d7){return _0x3a55d7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x3a55d7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3a55d7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x187028{static get['requires'](){return[_0x5c8eb1,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x505882{['_collapseAt'];constructor(_0x1326dd,_0x5e566e=0x6){super(_0x1326dd);const _0x9b758c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5e566e,this['bind']('isHidden')['to'](this,'usersCount',_0x8ec3d6=>_0x8ec3d6<_0x5e566e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x9b758c['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':_0x9b758c['to']('usersCount',_0x1acd2c=>'+'+(_0x1acd2c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x505882{['items'];['keystrokes'];constructor(_0x3db94c){super(_0x3db94c);const _0x88a339=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x53ba1a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x88a339['if']('hasPopup'),'aria-expanded':_0x88a339['to']('isExpanded',_0x5c37da=>this['hasPopup']&&String(_0x5c37da)),'aria-label':_0x88a339['to']('hasPopup',_0x4089e9=>X(_0x3db94c,_0x4089e9?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x88a339['to']('hasPopup',_0x4b8e71=>!!_0x4b8e71&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x88a339['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x88a339['to'](_0x5d8c11=>{const _0x2356c3=_0x5d8c11,_0x3382d6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2087e5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3382d6?.['contains'](_0x2356c3['relatedTarget'])||_0x2087e5?.['contains'](_0x2356c3['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x7b0d04,_0x43c19a,_0x57bf92)=>{this['element']&&(_0x57bf92?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 _0x505882{['counterView'];['inlineListView'];constructor(_0x39cd1f,_0x1de0db=0x6){super(_0x39cd1f);const _0x36af9e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1de0db),this['inlineListView']=new vt(_0x39cd1f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3b7f91 of this['inlineListView']['items'])_0x3b7f91['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',_0x36af9e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x505882{['listWrapperView'];constructor(_0x30c2ad,_0x122f23){super(_0x30c2ad);const _0x18ebe5=this['bindTemplate'];this['listWrapperView']=new bt(_0x30c2ad,_0x122f23),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x30c2ad,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x18ebe5['to'](_0x23926d=>{const _0x3d0f3b=_0x23926d,_0x2ec7c8=document['querySelector']('.ck-presence-list__list'),_0x3dce8d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2ec7c8?.['contains'](_0x3d0f3b['relatedTarget'])||_0x3dce8d?.['contains'](_0x3d0f3b['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x436ba1{constructor(_0x415f00,_0x247828){super(_0x415f00);const _0x139f2e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x247828?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x139f2e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x139f2e['to']('role'),'aria-label':_0x139f2e['to']('ariaLabel'),'aria-labelledby':_0x139f2e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x21dcd6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x264875=this['element'];_0x264875&&(this['_isScrollable']=Math['max'](_0x264875['scrollHeight'],_0x264875['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x5cb889{['userView'];constructor(_0x569b2c,_0x522e4c,_0x242c25){super(_0x569b2c);const _0x3d92e2=this['bindTemplate'];this['userView']=new _0x250800(_0x569b2c,_0x522e4c);const _0x477cd5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x522e4c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x522e4c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x522e4c['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x522e4c['color']['getColorVariable'](),'--ck-user-color-alpha':_0x522e4c['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x242c25&&(_0x477cd5['tag']='button',_0x477cd5['on']={'click':_0x3d92e2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x477cd5);}['focus'](){this['element']['focus']();}}class It extends _0x505882{['userView'];['markerView'];constructor(_0x5b9f0d,_0x550f72,_0x6dd8f2){super(_0x5b9f0d);const _0x1d19a8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x250800(_0x5b9f0d,_0x550f72),this['markerView']=new St(_0x5b9f0d,_0x550f72);const _0x2de9e8=new _0x39d214(_0x5b9f0d);_0x2de9e8['template']['tag']='span',_0x2de9e8['text']=_0x550f72['name'];const _0x4b4c17={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1d19a8['to']('isFocusable',_0xf787a7=>!!_0xf787a7&&0x0),'aria-labelledby':_0x2de9e8['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1d19a8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1d19a8['to']('hasTooltip',_0x2d7478=>!_0x2d7478),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2de9e8]};_0x6dd8f2&&(_0x4b4c17['tag']='button',_0x4b4c17['on']={'click':_0x1d19a8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b4c17);}}class St extends _0x505882{constructor(_0x51e4dd,_0x2281d4){super(_0x51e4dd),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2281d4['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2281d4['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2281d4['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x13ca54{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x11e361){super(_0x11e361),this['context']['config']['define']('presenceList',Tt);const _0x22e166=_0x11e361['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x22e166)throw new _0x507e58('presencelist-collapseat-invalid-format',this);if(_0x22e166<0x1)throw new _0x507e58('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x9d002f(),this['balloonPanelView']=new _0x1f3554(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x22af67 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x22af67);this['listenTo'](this['_allConnectedUsers'],'add',(_0x13ce0f,_0x5bb257)=>{this['_handleUserAdd'](_0x5bb257);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x29d325,_0x25129b)=>{this['_handleUserRemove'](_0x25129b);});}['_createView'](){const _0xbd6d01=this['context'],_0x2d6708=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x52e076=this['balloonPanelView'];if(!_0x4dd61a(_0xbd6d01['config']['get']('presenceList.container')))throw new _0x507e58('presencelist-missing-container',this);return _0x2d6708['counterView']['bind']('usersCount')['to'](this),_0x2d6708['bind']('isCollapsed')['to'](this,'usersCount',_0x58cf28=>{const {collapseAt:_0x19e88e}=_0xbd6d01['config']['get']('presenceList'),_0x313633=_0x58cf28>=_0x19e88e;if(_0x313633&&!_0x2d6708['inlineListView']['items']['find'](_0x14cef7=>_0x14cef7 instanceof wt)){const _0x4ade1b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4ade1b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2d6708['inlineListView']['items']['add'](_0x2d6708['counterView']);}return _0x313633||this['hideDropdown'](),_0x313633;}),_0x2d6708['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xfa6382=>{const _0x168423=_0xbd6d01['config']['get']('presenceList'),_0x14cd90=new It(_0xbd6d01['locale'],_0xfa6382,!!_0x168423['onClick']);return _0x14cd90['bind']('hasTooltip')['to'](_0x2d6708,'isCollapsed',_0x26b7e6=>!_0x26b7e6),_0x14cd90['bind']('isFocusable')['to'](_0x2d6708,'isCollapsed',_0x4415a6=>!_0x4415a6),_0x168423['onClick']&&this['listenTo'](_0x14cd90,'execute',()=>{this['view']['isCollapsed']||_0x168423['onClick'](_0xfa6382,_0x14cd90['element']);}),_0x14cd90;}),this['listenTo'](_0x2d6708['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2d6708['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2d6708['inlineListView']['keystrokes']['set']('Enter',(_0x4747ee,_0x5797ac)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5797ac());}),_0x2d6708['render'](),_0x52e076['render'](),_0x47b0a2({'emitter':_0x2d6708,'activator':()=>_0x52e076['isVisible'],'contextElements':[_0x52e076['element'],_0x2d6708['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xbd6d01['config']['get']('presenceList.container')['appendChild'](_0x2d6708['element']),this['_bodyCollection']=new _0x12e684(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2d6708;}['_handleUserAdd'](_0x4c3317){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4c3317['isMe'])return;const _0x5d6c33=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5d6c33-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3dcdb6=_0x4c3317['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4c3317,_0x3dcdb6);}['_handleUserRemove'](_0x197eea){this['usersCount']--;const {collapseAt:_0x4953bb}=this['context']['config']['get']('presenceList'),_0x559ed0=this['usersCount']>=_0x4953bb;if(this['currentDisplayedUsers']['get'](_0x197eea['id']))this['currentDisplayedUsers']['remove'](_0x197eea['id']);else{if(_0x559ed0&&this['currentDisplayedUsers']['length']+0x1===_0x4953bb-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x559ed0?0x1:0x0)<this['usersCount']){for(const _0x258c23 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x258c23['id'])&&(this['currentDisplayedUsers']['add'](_0x258c23,Math['min'](this['currentDisplayedUsers']['length']-(_0x559ed0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x559ed0?0x1:0x0)===_0x4953bb-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x217f22=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x217f22['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2d4249}=this['presenceDropdownView'];_0x2d4249['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1f0802=>{if(!_0x217f22['displayMe']&&_0x1f0802['isMe'])return null;const _0x49a55f=new kt(this['context']['locale'],_0x1f0802,!!_0x217f22['onClick']);return _0x217f22['onClick']&&this['listenTo'](_0x49a55f,'execute',()=>{_0x217f22['onClick'](_0x1f0802,_0x49a55f['element']);}),_0x49a55f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2d4249['focus'](),_0x2d4249['checkIfScrollable']();const _0x16bd95=(_0x5263c7,_0x6e25bb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x6e25bb();};_0x2d4249['keystrokes']['set']('Esc',_0x16bd95),_0x2d4249['keystrokes']['set']('Shift+Tab',_0x16bd95),_0x2d4249['keystrokes']['set']('Tab',(_0x436bec,_0x2267a3)=>{!function(_0x3ee1){const _0xf01ba2=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3b03d7=>_0x3b03d7+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2b8098=[...document['body']['querySelectorAll'](_0xf01ba2)]['filter'](_0x11b232=>_0x11b232===document['activeElement']||_0x11b232['offsetWidth']+_0x11b232['offsetHeight']>0x0)['sort']((_0x30e56a,_0x30757d)=>(_0x30e56a['tabIndex']||0x0)-(_0x30757d['tabIndex']||0x0)),_0x1d3eeb=_0x2b8098['indexOf'](_0x3ee1),_0xf7c5b3=_0x2b8098[(_0x1d3eeb+0x1)%_0x2b8098['length']];_0xf7c5b3&&_0xf7c5b3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x2267a3();}),_0x2d4249['focusTracker']['add'](this['view']['element']),_0x2d4249['focusTracker']['on']('change:isFocused',(_0xa7258b,_0x45cfa1,_0x49a28d)=>{_0x49a28d||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 _0x13ca54{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 _0x39cb58,Plugin as _0x1d5197,PendingActions as _0x2190b9,Context as _0x4dfce7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b8e4e,CKEditorError as _0x849088,Collection as _0x432b74,global as _0x29912a,version as _0x46501e,uid as _0x2fc7a9,KeystrokeHandler as _0x4efd8d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x14b5f4,View as _0x4465b8,ListView as _0x493848,ListItemView as _0x1aed03,LabelView as _0x1be434,BalloonPanelView as _0x49fda1,clickOutsideHandler as _0x5ef9f9,BodyCollection as _0x208c83}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x9e79df,History as _0x345ffc,NoOperation as _0x1882bb,InsertOperation as _0x2749a9,MarkerOperation as _0x27cc4a,RootAttributeOperation as _0x57eb66,transformOperationSets as _0x375ab1,OperationFactory as _0x5316e8}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x182132}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x3f1a19,WEB_SOCKET_GATEWAY_STATES as _0x169e89,CollaborativeEditingService as _0x51c0e8,User as _0xbe5ea0,CommentsService as _0x5b684f,TrackChangesService as _0xe7ce4c,RevisionHistoryService as _0x5ddde9,EditorService as _0x5a7399}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x48e39d,UserView as _0x4530a1}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x10c7fe}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x224462,TrackChanges as _0x5ca7c1}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x41e2b,Comments as _0x56dec7,CommentsEditing as _0x187167}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x640475}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2b54d6}from'es-toolkit/compat';class z extends _0x39cb58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x3f1a19)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x182132,_0x14b5f4];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e8679){super(_0x4e8679),this['set']('state',_0x169e89['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b8e4e())();}['init'](){const _0x222d68=this['context'],_0x3f4e5d=_0x222d68['plugins']['get'](_0x182132),_0x44af5f=_0x222d68['plugins']['get'](_0x14b5f4);if(!_0x3f4e5d['token'])throw new _0x849088('websocketgateway-missing-token',this);if(!_0x3f4e5d['webSocketUrl'])throw new _0x849088('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'](_0x3f4e5d['token'],_0x3f4e5d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7975de=>{if(this['connection']=_0x7975de,this['bind']('state')['to'](_0x7975de,'state',this,'_isBrowserOffline',(_0x2a6539,_0x1dd6ba)=>('connected'!==_0x2a6539&&(this['_shouldPluginsReconnect']=!0x0),_0x1dd6ba||_0x2a6539!==_0x169e89['CONNECTED']?_0x169e89['DISCONNECTED']:this['state']==_0x169e89['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x169e89['CONNECTING']):_0x169e89['CONNECTED'])),this['connection']['on']('error',(_0x56aada,_0x3c8798)=>{if('limitExceeded'!==_0x3c8798['code'])throw console['error'](_0x3c8798),new _0x849088('cloudservices-init',null,{'originalError':_0x3c8798});_0x44af5f['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'});}),!_0x7975de['me'])return new Promise(_0xb97afe=>_0x7975de['on']('change:me',_0xb97afe));})['catch'](_0xbc4d6c=>{throw console['error'](_0xbc4d6c),new _0x849088('cloudservices-init',null,{'originalError':_0xbc4d6c});});}['addToReconnectionStack'](_0x458889){if('function'!=typeof _0x458889['reconnect'])throw new _0x849088('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x458889))throw new _0x849088('websocketgateway-plugin-already-registered',this,{'name':_0x458889['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x458889);}['removeFromReconnectionStack'](_0xcbab5e){this['_reconnectionStack']['delete'](_0xcbab5e);}['isInReconnectionStack'](_0x353241){return this['_reconnectionStack']['has'](_0x353241);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x298c26=>_0x298c26['reconnect']())))['then'](()=>this['state']=_0x169e89['CONNECTED'])['catch'](_0x327b1e=>{throw console['error'](_0x327b1e),new _0x849088('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x169e89['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x39cb58{['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,_0x48e39d];}constructor(_0x131a36){super(_0x131a36),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x432b74(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x48e39d);}['init'](){const _0x110a06=this['context']['plugins']['get'](z);this['listenTo'](_0x110a06,'change:state',(_0x2977b0,_0x28e100,_0x4e6c31)=>{if('connected'!==_0x4e6c31)this['channelSessions']['forEach'](_0xb0bb3b=>_0xb0bb3b['clear']()),this['channelConnectedUsers']['forEach'](_0x102c61=>_0x102c61['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2a7e22,_0x26fc2e]of this['_registeredSessions'])for(const _0x4b9141 of _0x26fc2e)this['_handleSessionAdd'](_0x2a7e22,_0x4b9141);}}),this['_createUser'](_0x110a06['connection']['me'],!0x0);}['register'](_0x75c3df,_0x40c73b){if(this['_registeredSessions']['has'](_0x75c3df))throw new _0x849088('sessions-register-already-registered',null,{'channelId':_0x75c3df});this['_registeredSessions']['set'](_0x75c3df,_0x40c73b),this['channelSessions']['set'](_0x75c3df,new _0x432b74()),this['channelConnectedUsers']['set'](_0x75c3df,new _0x432b74()),this['listenTo'](_0x40c73b,'add',(_0x3091ce,_0x2f528e)=>this['_handleSessionAdd'](_0x75c3df,_0x2f528e)),this['listenTo'](_0x40c73b,'remove',(_0x590868,_0x297bfe)=>this['_handleSessionRemove'](_0x75c3df,_0x297bfe));for(const _0x10bb3d of _0x40c73b)this['_handleSessionAdd'](_0x75c3df,_0x10bb3d);}['unregister'](_0x1a8dc7){if(!this['_registeredSessions']['has'](_0x1a8dc7))throw new _0x849088('sessions-unregister-not-exist',null,{'channelId':_0x1a8dc7});const _0x268192=this['_registeredSessions']['get'](_0x1a8dc7);this['stopListening'](_0x268192);for(const _0x3f5fe7 of _0x268192)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1a8dc7,_0x3f5fe7);this['_registeredSessions']['delete'](_0x1a8dc7),this['channelSessions']['delete'](_0x1a8dc7),this['channelConnectedUsers']['delete'](_0x1a8dc7);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x28b5c5){for(const _0x2ad0f5 of this['channelSessions']['values']())for(const _0xb60976 of _0x2ad0f5)if(_0xb60976['id']===_0x28b5c5)return _0xb60976['user'];}['getUserSessions'](_0x5ca506,_0x5e40da){const _0x17a79b=_0x5e40da?[this['channelSessions']['get'](_0x5e40da)]:this['channelSessions']['values'](),_0x41480d=new Set();for(const _0x15a88d of _0x17a79b)for(const _0x20b490 of _0x15a88d)_0x20b490['user']['id']===_0x5ca506['id']&&_0x41480d['add'](_0x20b490['id']);return _0x41480d;}['getUserRole'](_0x533aae){for(const _0x1326b0 of this['channelSessions']['values']())for(const _0x1f50a4 of _0x1326b0)if(_0x1f50a4['user']===_0x533aae)return _0x1f50a4['role'];}['_handleSessionAdd'](_0x1f6e3a,_0x3ddd9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x120416=_0x3ddd9d['user'],_0xa02880=this['_users']['getUser'](_0x120416['id'])||this['_createUser'](_0x120416),_0x4fc5ba=Object['assign']({},_0x3ddd9d,{'user':_0xa02880});if(this['channelSessions']['get'](_0x1f6e3a)['add'](_0x4fc5ba),!_0x120416['hiddenInPresenceList']){const _0x2d6d2c=this['channelConnectedUsers']['get'](_0x1f6e3a);_0x2d6d2c['has'](_0xa02880['id'])||_0x2d6d2c['add'](_0xa02880),this['allConnectedUsers']['has'](_0xa02880['id'])||_0x120416['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0xa02880,_0xa02880['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1f6e3a,{'channelId':_0x1f6e3a,'session':_0x4fc5ba});}['_handleSessionRemove'](_0xc60043,_0x1990bc){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x10a5d4=this['channelConnectedUsers']['get'](_0xc60043),_0x4f658e=_0x1990bc['user'];_0x4f658e['id']&&(this['channelSessions']['get'](_0xc60043)['remove'](_0x1990bc['id']),_0x10a5d4['has'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e,_0xc60043)['size']&&_0x10a5d4['remove'](_0x4f658e['id']),this['allConnectedUsers']['get'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e)['size']&&this['allConnectedUsers']['remove'](_0x4f658e['id']));}['_createUser'](_0x37ac43,_0x30c26e){const _0x4b6257=this['_users']['addUser'](_0x37ac43);return _0x30c26e&&this['_users']['defineMe'](_0x37ac43['id']),_0x4b6257['orderNumber']=this['_uniqueUsersCount']++,_0x4b6257;}}class K extends _0x1d5197{['_domEmitter']=new(_0x5b8e4e())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe05e18=this['editor'],_0x397da3=_0xe05e18['plugins']['get'](Y);_0xe05e18['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3d127b,{writer:_0x540475})=>function(_0xc5db87,_0xb73e20,_0x2b7295,_0x18b10d){const _0x56ccbb=_0xc5db87['markerName']['split'](':')[0x2],_0x3f79c6=_0x2b7295['getUserBySessionId'](_0x56ccbb);if(!_0x3f79c6||_0x56ccbb===_0x2b7295['mySessionId'])return;if(!_0x18b10d['model']['schema']['checkChild'](_0xc5db87['markerRange']['start'],'$text'))return;const _0x4aec55={'class':'ck-user__marker\x20'+_0x3f79c6['color']['getMarkerClass'](),'style':Q(_0x3f79c6),'data-name':_0x3f79c6['name'],'data-session-id':_0x56ccbb},_0x648242=_0x18b10d['model']['markers']['get'](_0xc5db87['markerName']),_0x14e0a5=_0x648242['getStart'](),_0x53c9e9=_0x14e0a5['nodeAfter'],_0xff2017=_0x18b10d['model']['schema'];if(_0x53c9e9&&_0xff2017['isObject'](_0x53c9e9)&&_0xff2017['isInline'](_0x53c9e9)&&!_0x18b10d['model']['markers']['get']('user:range:'+_0x56ccbb)['getRange']()['isCollapsed'])return;const _0x5620cf=_0x14e0a5['parent'];return _0x18b10d['model']['schema']['isLimit'](_0x5620cf)&&!_0x18b10d['model']['hasContent'](_0x5620cf)&&(_0x4aec55['contenteditable']=!0x1),function(_0x448131,_0x42079e,_0x404240){const _0x4ed0dd=_0x448131['createUIElement']('span',_0x42079e);return _0x448131['setCustomProperty']('userPositionMarker',!0x0,_0x4ed0dd),_0x4ed0dd['render']=function(_0x2489f1){const _0xc82db3=this['toDomElement'](_0x2489f1),_0x52471a=document['createElement']('span');return _0x52471a['classList']['add']('ck-user__marker-tooltip'),_0x52471a['setAttribute']('contenteditable','false'),_0x52471a['setAttribute']('spellcheck','false'),_0x52471a['textContent']=_0x404240['name'],_0xc82db3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x52471a['outerHTML']+'⁠',_0xc82db3['addEventListener']('mouseenter',()=>{_0xc82db3['classList']['add']('ck-user__marker_hovered');}),_0xc82db3['addEventListener']('mouseleave',()=>{_0xc82db3['classList']['remove']('ck-user__marker_hovered');}),_0xc82db3;},_0x4ed0dd['isSimilar']=function(_0x19db32){return!(!this['getCustomProperty']('userPositionMarker')||!_0x19db32['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x19db32['getAttribute']('data-session-id'));},_0x4ed0dd;}(_0xb73e20,_0x4aec55,_0x3f79c6);}(_0x3d127b,_0x540475,_0x397da3,_0xe05e18)}),_0xe05e18['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3be15b=>function(_0x4b45dc,_0x12662f){const _0x50e9c1=_0x4b45dc['markerName']['split'](':')[0x2];if(_0x50e9c1===_0x12662f['mySessionId'])return null;const _0x2f844e=_0x12662f['getUserBySessionId'](_0x50e9c1);if(!_0x2f844e)return{'id':_0x50e9c1,'classes':[]};return{'id':_0x50e9c1,'classes':['ck-user__selection',_0x2f844e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2f844e),'data-session-id':_0x50e9c1},'priority':0x7d0+_0x2f844e['orderNumber']};}(_0x3be15b,_0x397da3)}),function(_0x150f94){const _0x5bbe57=_0x150f94['model'],_0x253e9e=new Map(),_0x2165fc=_0x150f94['plugins']['get'](Y);_0x5bbe57['markers']['on']('update:user:range',(_0x4d3216,_0x3cd39c,_0x1ae7a7,_0x5d9895)=>{if(!_0x5d9895&&_0x253e9e['get'](_0x3cd39c['name']))return _0x253e9e['get'](_0x3cd39c['name'])['detach'](),void _0x253e9e['delete'](_0x3cd39c['name']);const _0x52548c=_0x3cd39c['name']['split'](':')[0x2];if(_0x52548c===_0x2165fc['mySessionId'])return;const _0x1d7ad4='user:position:'+_0x52548c;_0x5bbe57['markers']['has'](_0x1d7ad4)&&_0x150f94['editing']['reconvertMarker'](_0x1d7ad4),_0x3cd39c['on']('change:range',(_0x3557c3,_0x2083ff,_0x3e4922)=>{if('$graveyard'!=_0x2083ff['root']['rootName']&&'$graveyard'==_0x3cd39c['getRange']()['root']['rootName']&&!_0x253e9e['has'](_0x3cd39c['name'])){const _0x23b56b=_0x5bbe57['schema']['getNearestSelectionRange'](_0x3e4922['deletionPosition']);if(_0x23b56b){const _0x328457=_0x9e79df['fromRange'](_0x23b56b);_0x253e9e['set'](_0x3cd39c['name'],_0x328457),_0x328457['on']('change:range',(_0xf53096,_0x33194e,_0x1b25b1)=>{if('$graveyard'==_0x328457['root']['rootName']){const _0xd44d3c=_0x5bbe57['schema']['getNearestSelectionRange'](_0x1b25b1['deletionPosition']);_0xd44d3c?(_0x328457['start']=_0xd44d3c['start'],_0x328457['end']=_0xd44d3c['end']):(_0x253e9e['delete'](_0x3cd39c['name']),_0x328457['detach']());}});}}});}),_0x5bbe57['document']['on']('change',()=>{_0x253e9e['size']>0x0&&_0x5bbe57['enqueueChange']({'isUndoable':!0x1},_0x4a9349=>{for(const [_0x130dc8,_0x53c161]of _0x253e9e)'$graveyard'==_0x5bbe57['markers']['get'](_0x130dc8)['getRange']()['root']['rootName']&&(J(_0x130dc8['split'](':')[0x2],_0x53c161['toRange'](),_0x5bbe57,_0x4a9349),_0x53c161['detach']());_0x253e9e['clear']();});});}(_0xe05e18),this['_domEmitter']['listenTo'](_0x29912a['document'],'keydown',(_0x494293,{key:_0x25327c})=>{'Escape'===_0x25327c&&function(_0x3abcfd){_0x3abcfd['editing']['view']['change'](_0x548613=>{for(const _0x5d50b1 of _0x3abcfd['model']['markers']){if(!_0x5d50b1['name']['startsWith']('user:position'))continue;const _0x5d0413=_0x3abcfd['editing']['mapper']['markerNameToElements'](_0x5d50b1['name']);if(_0x5d0413){for(const _0x3c6969 of _0x5d0413)_0x548613['removeClass']('ck-user__marker_hovered',_0x3c6969);}}});}(_0xe05e18);},{'useCapture':!0x0});}['afterInit'](){const _0x46e030=this['editor'],_0x1b73a6=_0x46e030['commands']['get']('undo');_0x1b73a6&&_0x46e030['model']['on']('applyOperation',(_0x13c552,_0x298fe9)=>{const _0x21d77e=_0x298fe9[0x0];if(!_0x21d77e['isDocumentOperation'])return;if('marker'!=_0x21d77e['type']||!_0x21d77e['name']['startsWith']('user:'))return;const _0x4465bc=_0x21d77e['batch'];_0x1b73a6['_createdBatches']['has'](_0x4465bc)&&(_0x21d77e['newRange']=_0x21d77e['oldRange']?_0x46e030['model']['createRange'](_0x21d77e['oldRange']['start'],_0x21d77e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ce292=this['editor'],_0x3f0d86=_0x5ce292['model']['document'],_0x57824c=_0x5ce292['plugins']['get'](Y);_0x5ce292['model']['enqueueChange']({'isUndoable':!0x1},_0x3b58ed=>{const _0x202fc1='user:range:'+_0x57824c['mySessionId'],_0x3d259a='user:position:'+_0x57824c['mySessionId'],_0x3bbea7=_0x5ce292['model']['markers']['has'](_0x202fc1);_0x5ce292['editing']['view']['hasDomSelection']?J(_0x57824c['mySessionId'],_0x3f0d86['selection']['getFirstRange'](),_0x5ce292['model'],_0x3b58ed):_0x3bbea7&&(_0x3b58ed['removeMarker'](_0x202fc1),_0x3b58ed['removeMarker'](_0x3d259a));});}}function J(_0x3c3dc0,_0x3f8d06,_0x24563c,_0x24cf42){const _0x47a8f4='user:range:'+_0x3c3dc0,_0x519d0e='user:position:'+_0x3c3dc0,_0x1c56fe=_0x3f8d06['getContainedElement']();let _0x27434d=_0x3f8d06['start'];if(_0x1c56fe&&_0x1c56fe['is']('element','tableCell')){const _0x1f4ab3=function(_0x299aa2,_0x57c598){for(const _0x28fa2b of _0x299aa2['getPositions']())if(_0x57c598['schema']['checkChild'](_0x28fa2b,'$text'))return _0x28fa2b;}(_0x3f8d06,_0x24563c);_0x1f4ab3&&(_0x27434d=_0x1f4ab3,_0x3f8d06=_0x24cf42['createRange'](_0x27434d));}const _0x102ab7=_0x24cf42['createRange'](_0x27434d);_0x24563c['markers']['has'](_0x47a8f4)?(_0x24cf42['updateMarker'](_0x47a8f4,{'range':_0x3f8d06}),_0x24cf42['updateMarker'](_0x519d0e,{'range':_0x102ab7})):(_0x24cf42['addMarker'](_0x47a8f4,{'range':_0x3f8d06,'usingOperation':!0x0}),_0x24cf42['addMarker'](_0x519d0e,{'range':_0x102ab7,'usingOperation':!0x0}));}function Q(_0x1595ad){return'--ck-user-color:'+_0x1595ad['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1595ad['color']['getColorAlphaVariable']()+';';}function X(_0x5c1740,_0x1a922b,_0x2fc176){const _0x4e993b=_0x5c1740['t'],t=_0x5c1740['t'];switch(_0x1a922b){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 _0x4e993b({'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'},_0x2fc176);default:return'';}}let Z=0x1;class tt extends _0x1d5197{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x51c0e8)());['_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,_0x2190b9,_0x48e39d,_0x14b5f4];}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 _0x41d83b=this['serverHistory']['getOperations']();for(let _0x2432ed=_0x41d83b['length']-0x1;_0x2432ed>=0x0;_0x2432ed--){const _0x17c884=_0x41d83b[_0x2432ed];if(!this['_disconnectionOperations']['has'](_0x17c884))return _0x17c884['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1b5794){if(super(_0x1b5794),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x345ffc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x849088('collaboration-missing-channelid',this);const _0x5a2215=_0x1b5794['config']['get']('cloudServices.bundleVersion')||_0x46501e;this['_service']=new tt['CollaborativeEditingService'](_0x5a2215,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10c7fe(),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 _0x133099=this['editor'],_0xc008d8=_0x133099['plugins']['get'](_0x48e39d),_0x284402=_0x133099['plugins']['get'](z);this['listenTo'](_0xc008d8,'getOperationAuthor',(_0x20cda4,_0x1ae839)=>{const _0x2ab220=_0x1ae839[0x0];_0x2ab220['_authorId']&&(_0x20cda4['return']=_0xc008d8['getUser'](_0x2ab220['_authorId']),_0x20cda4['stop']()),null===_0x2ab220['_authorId']&&(_0x20cda4['return']=null,_0x20cda4['stop']());},{'priority':'high'}),this['listenTo'](_0x133099['model']['document']['selection'],'change:range',(_0x3bac17,_0x426c33)=>{_0x426c33['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x133099['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x133099['model']['on']('applyOperation',(_0x5b7cd5,_0x3e02f7)=>{const _0x290184=_0x3e02f7[0x0];_0x290184['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x290184),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x284402,'state',this,'_hasSynchronizationProblem',(_0x2330ab,_0x3b02c8)=>'connected'===_0x2330ab&&!_0x3b02c8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x36802b=this['editor']['plugins']['get'](Y),_0x385b80=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x36802b['unregister'](this['_channelId']);const _0x5356d7=await this['_service']['reconnect'](_0x385b80['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5356d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1613ad=await this['_service']['getConnectedSessions']();_0x36802b['register'](this['_channelId'],_0x1613ad),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4970de){if(function(_0xfdc42e){return'404'===_0xfdc42e['code'];}(_0x4970de)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x53c573){return'409'===_0x53c573['code'];}(_0x4970de)){const _0x2e2c0e=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'](_0x2e2c0e);}else{if(!(_0x4970de instanceof et))throw _0x4970de;this['_handleReconnectionError']();}}}}['destroy'](){const _0xac068c=this['editor']['plugins']['get'](z),_0x68278f=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x68278f['channelSessions']['has'](this['_channelId'])&&_0x68278f['unregister'](this['_channelId']),_0xac068c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c1ae2){if(this['sessionId']!==_0x2c1ae2['sessionId']&&this['_lastSyncedOperationId']!==_0x2c1ae2['lastOperationId'])throw new et();return this['sessionId']=_0x2c1ae2['sessionId'],this['_handleServerResponse']([],{..._0x2c1ae2,'wereChangesApplied':!0x1,'data':_0x2c1ae2['data']},'reconnect');}async['_connectService'](_0x742b60,_0x2ada6f=!0x1){const {connection:_0x2bba4e}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x2bba4e,this['_channelId'])['then'](_0x536be9=>this['_initSessionsHandling'](_0x536be9))['catch'](_0x2396b4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2396b4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x51f36d,_0x2853bb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2853bb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x578403=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x742b60);this['_isPendingUpdate']=!0x0;const _0x5b3951=await this['_service']['connect'](_0x2bba4e,this['_compressOperations'](_0x742b60),_0x578403);if(this['sessionId']=_0x5b3951['sessionId'],_0x2ada6f){if(!_0x5b3951['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5b3951['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x742b60,_0x5b3951,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5b3951,_0x742b60);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1afba2=this['editor']['plugins']['get'](Y),_0x2728e0=this['editor']['plugins']['get'](K),_0x5f51a6=_0x1afba2['channelSessions']['get'](this['_channelId']);_0x5f51a6&&_0x5f51a6['length']>0x1?_0x2728e0['createUserMarkerOperations']():this['listenTo'](_0x1afba2,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1afba2['channelSessions']['get'](this['_channelId'])['length']&&_0x2728e0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x27fd1b,_0x280244,_0x5cd3f4,_0x425989){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x280244){const _0x161ee7=this['_decompressOperations'](_0x5cd3f4,_0x425989);await this['_fetchMissingUsers'](_0x161ee7),this['_handleExternalOperations'](_0x161ee7,_0x280244,_0x5cd3f4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b490b}=this['editor'];let _0x98cd22;try{_0x98cd22=await this['_service']['getDocumentDetails']();}catch{const _0x3522f3=X(_0x3b490b,'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'](_0x3522f3);}const _0x10575f=_0x98cd22['currentDocumentSession']||_0x98cd22['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x10575f['lastOperationId']){const _0x2ba3dd=X(_0x3b490b,'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'](_0x2ba3dd);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xf8318b){const _0x247102=this['editor']['plugins']['get'](Y);this['listenTo'](_0x247102,'sessionAdd:'+this['_channelId'],(_0x26f373,{session:_0x4fd0f6})=>{if(_0x4fd0f6['id']===_0x247102['mySessionId']){_0x26f373['off']();const _0x14f2ab=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2788fa=_0x4fd0f6['permissions'];_0x14f2ab&&_0x14f2ab['isEnabled']&&(_0x2788fa=_0x2788fa['filter'](_0x35c24b=>'document:write'!==_0x35c24b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2788fa,this['_channelId']);}}),_0x247102['register'](this['_channelId'],_0xf8318b);}['_initThrowingOnDataSet'](){const _0xda39b2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3c1170)=>{if(!_0x3c1170[_0x3c1170['length']-0x1]['suppressErrorInCollaboration'])throw new _0x849088('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xda39b2['apply'](this['editor']['data'],_0x3c1170);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4a96fa,[_0x300ba0])=>{if(this['_document']['version'])throw new _0x849088('realtimecollaborationclient-init-document-already-initialized',this);_0x4a96fa['stop'](),this['_setPendingAction']();const _0x4211e1=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xf5628])=>!_0xf5628['lazyLoad'])['map'](([_0x93fb36,_0x5c2cc4])=>[_0x93fb36,_0x5c2cc4['modelAttributes']||{}])),_0xd696ba=this['_getOperationsFromInitData'](_0x300ba0,_0x4211e1);0x0==_0xd696ba['length']&&_0xd696ba['push'](new _0x1882bb(0x0)),_0x4a96fa['return']=this['_connectService'](_0xd696ba)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x528c5d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x528c5d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3ced38,[_0x312467,_0x1d7327])=>{_0x3ced38['stop']();const _0x161f25=this['editor']['model']['document']['getRoot'](_0x312467);if(!this['_knownRootNames']['has'](_0x312467)){const _0x2c70da=_0x1d7327&&_0x1d7327['data']?_0x1d7327['data']:'',_0x4ea112=_0x1d7327&&_0x1d7327['attributes']?_0x1d7327['attributes']:{};await this['_loadRoot'](_0x312467,_0x2c70da,_0x4ea112);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x161f25['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x161f25);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x329354){const _0x5491b8=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x2a4957}=this['editor']['plugins']['get'](z),_0x263872=new Set();for(const _0xe0b10f of _0x329354){const _0x410aaf=_0xe0b10f['_authorId'];_0x410aaf&&!_0x5491b8['getUser'](_0x410aaf)&&_0x263872['add'](_0x410aaf);}if(0x0===_0x263872['size'])return;const _0xee256a=await _0xbe5ea0['getMany'](_0x2a4957,Array['from'](_0x263872));for(const _0x57a160 of _0xee256a)_0x5491b8['getUser'](_0x57a160['id'])||_0x5491b8['addUser'](_0x57a160);}['_getOperationsFromInitData'](_0x57b324,_0x52aa48={}){const _0x4e35b2=this['editor']['model'],_0x582d5a=[];let _0x4b692a=0x0;const _0x42e2e0='string'==typeof _0x57b324?{'main':_0x57b324}:_0x57b324;for(const _0x2f7b2f of Object['keys'](_0x42e2e0)){if(!this['_document']['roots']['has'](_0x2f7b2f))throw new _0x849088('realtimecollaborationclient-init-non-existent-root',this);const _0x5edca1=this['editor']['data']['parse'](_0x42e2e0[_0x2f7b2f]),_0x21a440=this['_document']['getRoot'](_0x2f7b2f),_0x3a2f46=new _0x2749a9(_0x4e35b2['createPositionAt'](_0x21a440,0x0),_0x5edca1,_0x4b692a++);_0x582d5a['push'](_0x3a2f46);for(const [_0x332f4b,_0x3422e0]of _0x5edca1['markers']){const _0x451515=_0x4e35b2['createRange'](_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['start']['path']['slice']()),_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['end']['path']['slice']())),_0xdd6506=new _0x27cc4a(_0x332f4b,null,_0x451515,_0x4e35b2['markers'],!0x0,_0x4b692a++);_0x582d5a['push'](_0xdd6506);}}if(_0x52aa48)for(const [_0x32bd23,_0x474a67]of Object['entries'](_0x52aa48)){const _0x4cd6da=_0x4e35b2['document']['getRoot'](_0x32bd23);if(!_0x4cd6da)throw new _0x849088('multi-root-editor-root-attributes-no-root',null);for(const [_0x573590,_0x25f39a]of Object['entries'](_0x474a67))if(null!==_0x25f39a){const _0x2da7a2=new _0x57eb66(_0x4cd6da,_0x573590,null,_0x25f39a,_0x4b692a++);_0x582d5a['push'](_0x2da7a2);}}return _0x582d5a;}async['_loadRoot'](_0x5107cc,_0x5bdf57,_0x4728f3){this['_getOperationsFromInitData']({[_0x5107cc]:_0x5bdf57},{[_0x5107cc]:_0x4728f3})['forEach']((_0x1d4647,_0x2c21ff)=>{_0x1d4647['baseVersion']=this['_document']['version']+_0x2c21ff,_0x1d4647['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1d4647);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x16e4b7,_0x7989cf){let _0x4ca621;this['_offset']=_0x16e4b7['offset'];const _0x823593=_0x16e4b7['wereChangesApplied']&&!_0x16e4b7['initData'],_0x7fe90b=_0x823593?0x0:_0x16e4b7['data']['baseVersion'];if(_0x7989cf['forEach'](_0x3341ae=>{_0x3341ae['_isInit']=!0x0,_0x3341ae['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x3341ae['_authorId']=null;}),_0x823593)_0x4ca621=_0x7989cf,this['_applyOperationsSet'](_0x4ca621,_0x823593);else{if(_0x16e4b7['initData']){const _0x15b69c=this['_getOperationsFromInitData'](_0x16e4b7['initData']);this['_document']['history']['version']=-_0x15b69c['length'],_0x15b69c['forEach'](_0x1f77da=>{_0x1f77da['baseVersion']-=_0x15b69c['length'],_0x1f77da['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x1f77da['_isInit']=!0x0,_0x1f77da['_authorId']=null;}),this['_applyOperationsSet'](_0x15b69c,!0x0),this['serverHistory']['version']=-_0x15b69c['length']+this['_offset'],this['_updateServerHistory'](_0x15b69c);}this['_document']['history']['version']=_0x7fe90b,_0x4ca621=this['_decompressOperations'](_0x16e4b7['data'],_0x16e4b7['metadata']),await this['_fetchMissingUsers'](_0x4ca621),this['_applyOperationsSet'](_0x4ca621,_0x823593);}_0x16e4b7['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4ca621,_0x16e4b7['lastOperationId']),this['_lastSyncedOperationId']=_0x16e4b7['lastOperationId']),this['serverHistory']['version']=_0x7fe90b+this['_offset'],this['_updateServerHistory'](_0x4ca621),_0x7989cf['filter'](_0x64daf0=>{const _0x5d648c=this['_getAffectedRoot'](_0x64daf0);return _0x5d648c&&!this['_knownRootNames']['has'](_0x5d648c);})['forEach']((_0x3e28cb,_0xd1b7c5)=>{_0x3e28cb['baseVersion']=this['_document']['version']+_0xd1b7c5,this['_saveOperationInBuffer'](_0x3e28cb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f423d,_0x239868){const _0x3a63eb=_0x239868&&_0x239868['message'];if(_0x3a63eb&&_0x3a63eb['startsWith']('realtimecollaborationclient'))throw _0x239868;const _0x236311=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x236311['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x849088(_0x2f423d,this['editor'],_0x3a63eb?{'originalError':_0x3a63eb}:void 0x0);}['_saveOperationInBuffer'](_0x347d2b){this['_knownOperations']['has'](_0x347d2b)||(this['_knownOperations']['add'](_0x347d2b),this['_bufferedOperations']['push'](_0x347d2b),this['_pendingAction']||'marker'==_0x347d2b['type']&&!_0x347d2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x6f3b08=!0x1){!_0x6f3b08&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x20387f=>{_0x20387f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x39fab8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x152058){return _0x152058['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x39fab8)||this['_crash'](_0x39fab8['message'],_0x39fab8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5e547f=>{this['on']('change:_isPendingUpdate',()=>{_0x5e547f();});});}async['_sendBufferedOperations'](){const _0x170ac7=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x170ac7['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x112160=[...this['_bufferedOperations']];for(const _0x3bb04b of _0x112160)_0x3bb04b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3bb04b);const _0x296694=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x112160),_0x22a2ba=Z++,_0x6c3ccc=this['_compressOperations'](_0x112160),_0x39b795=await this['_service']['sendOperations'](_0x6c3ccc,_0x6c3ccc['baseVersion'],_0x296694);try{return await this['_handleServerResponse'](_0x112160,_0x39b795,_0x22a2ba);}catch(_0x389682){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x389682);}}async['_handleServerResponse'](_0x161caf,_0x3dd35e,_0x2194bc){if('error'in _0x3dd35e)throw _0x3dd35e['error'];let _0x1f6983=!0x1;if(_0x3dd35e['wereChangesApplied']){_0x3dd35e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3dd35e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x501776=>!_0x161caf['includes'](_0x501776));for(const _0x2bc2a2 of _0x161caf)_0x2bc2a2['createdAt']='lastOperationAcceptedAt'in _0x3dd35e&&_0x3dd35e['lastOperationAcceptedAt']||void 0x0;st(_0x161caf,_0x3dd35e['version']-_0x161caf['length']),this['_updateServerHistory'](_0x161caf);const _0x2c97c8=_0x161caf['filter'](_0x2d182c=>{if(!_0x2d182c['_isInit'])return!0x1;const _0x57bdc9=this['_getAffectedRoot'](_0x2d182c);return _0x57bdc9&&!this['_knownRootNames']['has'](_0x57bdc9);});st(_0x2c97c8,this['_document']['version']),this['_applyOperationsSet'](_0x2c97c8),_0x1f6983=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4931a8=this['_decompressOperations'](_0x3dd35e['data'],_0x3dd35e['metadata'])['filter'](_0x50404c=>_0x50404c['baseVersion']>=this['_lastServerVersion']);_0x4931a8['forEach'](_0x4867fa=>this['_addKnownRoot'](_0x4867fa)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ed8de=>!_0x1ed8de['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1ed8de))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4931a8),_0x1f6983=this['_handleExternalOperations'](_0x4931a8,_0x3dd35e['version'],_0x3dd35e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f6983?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x8aa5fd,_0x3bc143,_0x5a003c){try{const _0x2b05c4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x521fa4,operationsB:_0x4c1a8d,originalOperations:_0x466478}=_0x375ab1(_0x8aa5fd,this['_bufferedOperations'],_0x2b05c4);st(_0x521fa4,this['_document']['version']),st(_0x4c1a8d,_0x3bc143);for(const _0x240190 of _0x521fa4){const _0x23acfb=_0x466478['get'](_0x240190);_0x240190['_authorId']=_0x23acfb?_0x23acfb['_authorId']:null;}_0x5a003c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8aa5fd,_0x5a003c),this['_lastSyncedOperationId']=_0x5a003c),this['_bufferedOperations']=[..._0x4c1a8d],this['_applyOperationsSet'](_0x521fa4),this['_updateServerHistory'](_0x8aa5fd);}catch(_0x216862){return console['error'](_0x216862),!0x1;}return!0x0;}['_applyOperationsSet'](_0xe305d5,_0x235ca0=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2d9a8d=>{for(const _0x3509c5 of _0xe305d5)this['_knownOperations']['add'](_0x3509c5),this['_addKnownRoot'](_0x3509c5),_0x2d9a8d['batch']['addOperation'](_0x3509c5),this['editor']['model']['applyOperation'](_0x3509c5);});}['_addKnownRoot'](_0x3d5d61){const _0x2ce7f1=this['_getAffectedRoot'](_0x3d5d61);_0x2ce7f1&&this['_knownRootNames']['add'](_0x2ce7f1);}['_getAffectedRoot'](_0x559d6b){let _0x2b483c,_0x10e173;switch(_0x559d6b['type']){case'insert':_0x2b483c=_0x559d6b['position']['root'];break;case'marker':if(_0x10e173=_0x559d6b['newRange'],!_0x10e173)return null;_0x2b483c=_0x10e173['root'];break;case'addRootAttribute':_0x2b483c=_0x559d6b['root'];break;case'addRoot':_0x2b483c=_0x559d6b['affectedSelectable'];break;case'move':_0x2b483c=_0x559d6b['targetPosition']['root'];break;default:return null;}return _0x2b483c['rootName'];}['_updateServerHistory'](_0x4b86f1){_0x4b86f1['forEach'](_0x4a7b41=>{const _0x5490ae=_0x4a7b41['clone']();_0x5490ae['_authorId']=_0x4a7b41['_authorId'],_0x5490ae['_isInit']=!!_0x4a7b41['_isInit'],_0x5490ae['createdAt']=_0x4a7b41['createdAt'],_0x5490ae['baseVersion']+=this['_offset'],_0x4a7b41['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5490ae),this['serverHistory']['addOperation'](_0x5490ae);});}['_handleReconnectionError'](_0x10055d){const _0x3c13ed=this['editor']['plugins']['get']('Notification'),_0x4034ac=this['editor']['locale'];_0x10055d||(_0x10055d=X(_0x4034ac,'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.')),_0x3c13ed['showWarning'](_0x10055d,{'title':X(_0x4034ac,'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'](_0x2190b9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2190b9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x28144c){const _0x44c711=_0x28144c['map'](_0xe054ee=>_0xe054ee['toJSON']());return this['_compressor']['compress'](_0x44c711);}['_decompressOperations'](_0x5cf400,_0x3688c4){return this['_compressor']['decompress'](_0x5cf400)['map']((_0x3dec33,_0x4c1a3c)=>{const _0x126885='init'==_0x3688c4[_0x4c1a3c]['type'];if('InsertOperation'==_0x3dec33['__className']){const _0x1d69eb=_0x3dec33['position']['root'];!this['_document']['getRoot'](_0x1d69eb)&&(this['_document']['createRoot']('$root',_0x1d69eb)['_isAttached']=!0x1);}const _0x2eb907=_0x5316e8['fromJSON'](_0x3dec33,this['_document']);return _0x2eb907['wasUndone']=_0x3dec33['wasUndone'],_0x2eb907['_isInit']=_0x126885,_0x2eb907['_authorId']=_0x126885?null:_0x3688c4[_0x4c1a3c]['userId'],_0x2eb907['_isDisconnection']='cs:removeUser'===_0x3688c4[_0x4c1a3c]['type'],_0x2eb907['createdAt']=_0x3688c4[_0x4c1a3c]['createdAt'],_0x2eb907;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58f1ea=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58f1ea&&_0x58f1ea['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x15fd10,_0x529fd3){for(const _0x45c853 of _0x15fd10)_0x45c853['baseVersion']=_0x529fd3++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x479c86){this['_ignoredOperations']=_0x479c86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4f6eed){let _0x94cb0a=_0x4f6eed['length'];for(;_0x94cb0a--;){const _0x48c9d0=_0x4f6eed[_0x94cb0a];if(!this['_ignoredOperations']['has'](_0x48c9d0)){if(!this['_operationToId']['has'](_0x48c9d0)){const _0x10216e=_0x2fc7a9()['slice'](0x1,0x12);this['_operationToId']['set'](_0x48c9d0,_0x10216e);}return this['_operationToId']['get'](_0x48c9d0);}}}['setIdForTheLastOperation'](_0x52ebe6,_0x241c06){if(!_0x241c06)return;let _0x1dd015=_0x52ebe6['length'];for(;_0x1dd015--;){const _0xb88fef=_0x52ebe6[_0x1dd015];this['_ignoredOperations']['has'](_0xb88fef)||this['_operationToId']['set'](_0xb88fef,_0x241c06);}}}class nt extends _0x1d5197{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x39cb58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5b684f)());['_services'];static get['requires'](){return[z,_0x41e2b,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x396af9){super(_0x396af9),this['_services']=new Map();}async['init'](){const _0x430933=this['context'],_0x2bbf6c=_0x430933['plugins']['get'](_0x41e2b);if(_0x430933['plugins']['get'](z)['addToReconnectionStack'](this),_0x2bbf6c['adapter']={'addCommentThread':async({channelId:_0x4dba4d,threadId:_0x13ca22,comments:_0x1f6456,resolvedAt:_0x1f20e5,resolvedBy:_0x164c97,context:_0x50a12b,attributes:_0x4e3795})=>{const _0x628cd9=await this['_getService'](_0x4dba4d)['addCommentThread']({'commentThreadId':_0x13ca22,'comments':_0x1f6456['map'](_0x569df5=>function(_0x2db08b,_0x57c6f4,_0x15b96b){return{'commentThreadId':_0x15b96b,'commentId':_0x2db08b['commentId'],'userId':_0x2db08b['authorId'],'content':_0x2db08b['content'],'documentId':_0x57c6f4,'createdAt':_0x2db08b['createdAt'],'attributes':_0x2db08b['attributes']||{}};}(_0x569df5,_0x4dba4d,_0x13ca22)),'resolvedAt':_0x1f20e5,'resolvedBy':_0x164c97,'context':_0x50a12b,'attributes':_0x4e3795})['catch'](ct);return{'threadId':_0x628cd9['commentThreadId'],'comments':_0x628cd9['comments']};},'getCommentThread':async({channelId:_0x2302f5,threadId:_0x5bb374})=>{const _0x19002d=await this['_getService'](_0x2302f5)['getCommentThread'](_0x5bb374)['catch'](rt)['catch'](ct);return _0x19002d?_0x19002d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x19002d]),{'threadId':_0x19002d['commentThreadId'],'comments':_0x19002d['comments']['map'](at),'context':_0x19002d['context'],'resolvedAt':_0x19002d['resolvedAt'],'resolvedBy':_0x19002d['resolvedBy'],'attributes':_0x19002d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x277874,threadId:_0x27c223,context:_0x5158e,unlinkedAt:_0xce7fee,attributes:_0xe564c9})=>this['_getService'](_0x277874)['updateCommentThread']({'commentThreadId':_0x27c223,'context':_0x5158e,'attributes':_0xe564c9,'unlinkedAt':_0xce7fee})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x2b4228,threadId:_0x28ac9e})=>{const _0x5c5373=await this['_getService'](_0x2b4228)['resolveCommentThread'](_0x28ac9e)['catch'](rt)['catch'](ct);return{'threadId':_0x5c5373['commentThreadId'],'resolvedAt':_0x5c5373['resolvedAt'],'resolvedBy':_0x5c5373['resolvedBy']};},'reopenCommentThread':async({channelId:_0x22f91f,threadId:_0x551a8f})=>this['_getService'](_0x22f91f)['reopenCommentThread'](_0x551a8f)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x29e970,threadId:_0x531a50})=>this['_getService'](_0x29e970)['removeCommentThread'](_0x531a50)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x3d9b26,threadId:_0x4a2a78,commentId:_0x299171,content:_0x4f841f,attributes:_0x1f9256})=>this['_getService'](_0x3d9b26)['addComment'](_0x4a2a78,_0x299171,_0x4f841f,_0x1f9256)['catch'](ct),'updateComment':({channelId:_0x56b8ba,threadId:_0x3d6f4c,commentId:_0x2b9358,content:_0x206d42,attributes:_0x4d8567})=>this['_getService'](_0x56b8ba)['updateComment'](_0x3d6f4c,_0x2b9358,_0x206d42,_0x4d8567)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1aae5c,threadId:_0x284df4,commentId:_0x16b9da})=>this['_getService'](_0x1aae5c)['removeComment'](_0x284df4,_0x16b9da)['catch'](rt)['catch'](ct)},_0x430933 instanceof _0x4dfce7){const _0x431af3=_0x430933['config']['get']('collaboration.channelId'),_0x3dbb5c=_0x430933['plugins']['get'](Y);await this['_setUpService'](_0x431af3);const _0x5390a3=await this['_services']['get'](_0x431af3)['getConnectedSessions']();this['listenTo'](_0x3dbb5c,'sessionAdd:'+_0x431af3,(_0x1200fc,{session:_0x52ee7b})=>{_0x52ee7b['id']===_0x3dbb5c['mySessionId']&&(_0x1200fc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x52ee7b['permissions'],_0x431af3));}),_0x3dbb5c['register'](_0x431af3,_0x5390a3);}}async['_setUpService'](_0x3586dc){if(this['_services']['has'](_0x3586dc))throw new _0x849088('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3586dc});const _0x2db107=this['context']['plugins']['get'](_0x41e2b),_0x23bcd4=new ot['CommentsService'](_0x3586dc);this['_services']['set'](_0x3586dc,_0x23bcd4),this['listenTo'](_0x23bcd4,'commentThreadAdded',(_0x2ecb45,_0x31866c)=>{const {commentThreadId:_0xd8f74c,documentId:_0x288012,context:_0x3905fb,attributes:_0x1e79ef,resolvedAt:_0x267dd9,resolvedBy:_0x10543c,comments:_0x4899f8}=_0x31866c;_0x2db107['getCommentThread'](_0xd8f74c)||_0x2db107['addCommentThread']({'threadId':_0xd8f74c,'channelId':_0x288012,'comments':_0x4899f8?_0x4899f8['map'](at):[],'context':_0x3905fb,'attributes':_0x1e79ef,'resolvedAt':_0x267dd9,'resolvedBy':_0x10543c,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadUpdated',(_0x38f679,{commentThreadId:_0x11434d,documentId:_0x16d802,context:_0x27e3cf,unlinkedAt:_0x3b8036,attributes:_0x35999a})=>{_0x2db107['getCommentThread'](_0x11434d)&&_0x2db107['updateCommentThread']({'threadId':_0x11434d,'channelId':_0x16d802,'context':_0x27e3cf,'unlinkedAt':_0x3b8036,'attributes':_0x35999a,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadResolved',(_0x28f264,{commentThreadId:_0x56358c,resolvedBy:_0x38d737,resolvedAt:_0x47d6c0})=>{const _0x57f936=_0x2db107['getCommentThread'](_0x56358c);_0x57f936&&_0x57f936['resolve']({'resolvedBy':_0x38d737,'resolvedAt':_0x47d6c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadReopened',(_0x636d88,{commentThreadId:_0x251c76})=>{const _0x2fb44a=_0x2db107['getCommentThread'](_0x251c76);_0x2fb44a&&_0x2fb44a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadRemoved',(_0x2b1171,{commentThreadId:_0x25e9d9})=>{const _0x5e06cb=_0x2db107['getCommentThread'](_0x25e9d9);_0x5e06cb&&_0x5e06cb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentAdded',(_0x57eae8,_0x4a1840)=>{const _0x1d7a44=_0x4a1840['commentThreadId'],_0x52a37f=_0x2db107['getCommentThread'](_0x1d7a44);_0x52a37f&&_0x52a37f['addComment']({...at(_0x4a1840),'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentUpdated',(_0x29ce74,{commentThreadId:_0x16e1c8,commentId:_0x158d8c,content:_0xa22073,attributes:_0x7fcdab})=>{const _0x44d370=_0x2db107['getCommentThread'](_0x16e1c8);if(_0x44d370){const _0x471fae=_0x44d370['getComment'](_0x158d8c);_0x471fae&&_0x471fae['update']({'content':_0xa22073,'attributes':_0x7fcdab,'isFromAdapter':!0x0});}}),this['listenTo'](_0x23bcd4,'commentRemoved',(_0x2c8141,{commentThreadId:_0x447eda,commentId:_0x1e49f2})=>{const _0x21ef8f=_0x2db107['getCommentThread'](_0x447eda);if(_0x21ef8f){const _0x5bffed=_0x21ef8f['getComment'](_0x1e49f2);_0x5bffed&&_0x5bffed['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3586dc);}['destroy'](){if(this['context']instanceof _0x4dfce7){const _0x2f4a8e=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2f4a8e);}}['_terminateService'](_0x9d2266){if(!this['_services']['has'](_0x9d2266))throw new _0x849088('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x9d2266});this['_getService'](_0x9d2266)['disconnect'](),this['_services']['delete'](_0x9d2266);}async['reconnect'](){for(const _0x23b509 of this['_services']['keys']())await this['_connectService'](_0x23b509);if(this['context']instanceof _0x4dfce7){const _0xfe34d3=this['context']['config']['get']('collaboration.channelId'),_0x2f8055=this['context']['plugins']['get'](Y);_0x2f8055['unregister'](_0xfe34d3);const _0x452f97=await this['_services']['get'](_0xfe34d3)['getConnectedSessions']();_0x2f8055['register'](_0xfe34d3,_0x452f97);}}async['_connectService'](_0x36b9c6){const {connection:_0x245cf8}=this['context']['plugins']['get'](z),_0xf21f6c=this['context']['plugins']['get'](_0x41e2b),_0x2168fb=this['_services']['get'](_0x36b9c6),_0x29ebac=await _0x2168fb['connect'](_0x245cf8);await this['_fetchMissingUsersForThreads'](_0x29ebac);const _0x109d56=new Set(Array['from'](_0xf21f6c['getCommentThreads']({'channelId':_0x36b9c6}),_0xfed2c0=>_0xfed2c0['id']));for(const _0x28a7ae of _0x29ebac)_0x28a7ae['deletedAt']||_0x109d56['delete'](_0x28a7ae['commentThreadId']);for(const _0xbd6f67 of _0x109d56)_0xf21f6c['getCommentThread'](_0xbd6f67)['remove']({'isFromAdapter':!0x0});for(const _0x49582c of _0x29ebac){let _0xbbf2ae=_0xf21f6c['getCommentThread'](_0x49582c['commentThreadId']);const {commentThreadId:_0x497347,context:_0x5a6d5a,attributes:_0x1cbfae,resolvedBy:_0x3b6891,resolvedAt:_0x3757e9,unlinkedAt:_0x4af8bf,deletedAt:_0x23f3a0}=_0x49582c;if(_0x23f3a0)continue;_0xbbf2ae||(_0xbbf2ae=_0xf21f6c['addCommentThread']({'channelId':_0x36b9c6,'threadId':_0x497347,'context':_0x5a6d5a,'attributes':_0x1cbfae||{},'resolvedBy':_0x3b6891,'resolvedAt':_0x3757e9,'unlinkedAt':_0x4af8bf,'isFromAdapter':!0x0}));const _0x573e18=new Set(Array['from'](_0xbbf2ae['comments'],_0x13f620=>_0x13f620['id']));for(const _0x405fbb of _0x49582c['comments'])_0x573e18['delete'](_0x405fbb['commentId']);for(const _0x571ec4 of _0x573e18)_0xbbf2ae['getComment'](_0x571ec4)['remove']({'isFromAdapter':!0x0});for(const _0x48f6ec of _0x49582c['comments']){const _0x238621=_0xbbf2ae['getComment'](_0x48f6ec['commentId']);_0x238621?_0x238621['content']!==_0x48f6ec['content']&&_0x238621['update']({'content':_0x48f6ec['content'],'isFromAdapter':!0x0}):_0xbbf2ae['addComment'](Object['assign'](at(_0x48f6ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3b44fa){if(!this['_services']['has'](_0x3b44fa))throw new _0x849088('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3b44fa});return this['_services']['get'](_0x3b44fa);}async['_fetchMissingUsersForThreads'](_0x3f40cc){const _0x55ed4c=this['context']['plugins']['get'](_0x48e39d),{connection:_0x272fd1}=this['context']['plugins']['get'](z),_0x396439=new Set();for(const {resolvedBy:_0x166cbc,comments:_0x22fac2}of _0x3f40cc){_0x166cbc&&!_0x55ed4c['getUser'](_0x166cbc)&&_0x396439['add'](_0x166cbc);for(const {userId:_0x14dd98}of _0x22fac2)_0x55ed4c['getUser'](_0x14dd98)||_0x396439['add'](_0x14dd98);}if(0x0===_0x396439['size'])return;const _0x11ccc7=await _0xbe5ea0['getMany'](_0x272fd1,Array['from'](_0x396439));for(const _0x35eae0 of _0x11ccc7)_0x55ed4c['getUser'](_0x35eae0['id'])||_0x55ed4c['addUser'](_0x35eae0);}}async function rt(_0x5c599e){if('404'!==_0x5c599e['code'])throw _0x5c599e;}function ct(_0x4d5953){if((_0x44a9b6=_0x4d5953)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x44a9b6;throw _0x4d5953;}function at(_0x17c2b7){return{'threadId':_0x17c2b7['commentThreadId'],'commentId':_0x17c2b7['commentId'],'content':_0x17c2b7['content'],'createdAt':_0x17c2b7['createdAt'],'authorId':_0x17c2b7['userId'],'attributes':_0x17c2b7['attributes']||{}};}class ht extends _0x1d5197{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0xe7ce4c)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x224462,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d44c0){super(_0x2d44c0);const _0x3a7144=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x3a7144);}['init'](){const _0x5280dc=this['editor']['plugins']['get'](z),_0x63e3c6=this['editor']['plugins']['get'](_0x224462);return _0x63e3c6['adapter']={'getSuggestion':async _0x28066f=>{await this['_waitForServiceReady']();const _0x148abd=await this['_trackChangesService']['get'](_0x28066f)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x148abd]),_0x148abd;},'addSuggestion':async({id:_0xfecbd7,type:_0x1fb77b,data:_0x16115e,originalSuggestionId:_0x28eb8e,attributes:_0x864a73})=>{await this['_waitForServiceReady']();const _0x4b2120={'id':_0xfecbd7,'type':_0x1fb77b,'data':_0x16115e,'originalSuggestionId':_0x28eb8e,'attributes':_0x864a73},_0x58efdf=await this['_trackChangesService']['add'](_0xfecbd7,_0x1fb77b,_0x16115e,_0x28eb8e,_0x864a73)['catch'](_0x4077fb=>{if(dt(_0x4077fb))return new Promise(_0x5257f7=>{this['_bufferedRequests']['set'](_0xfecbd7,{'resolve':_0x5257f7,'suggestionData':_0x4b2120});});throw _0x4077fb;});return this['_bufferedRequests']['delete'](_0xfecbd7),_0x58efdf;},'updateSuggestion':async(_0x5eb2f5,_0x4cdbbc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4cdbbc['state'])return this['_trackChangesService']['update'](_0x5eb2f5,_0x4cdbbc)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x55a674,_0x8aeea2)=>{_0x63e3c6['hasSuggestion'](_0x8aeea2['id'])&&(_0x63e3c6['getSuggestion'](_0x8aeea2['id'])['attributes']=_0x8aeea2['attributes']);}),this['_trackChangesService']['connect'](_0x5280dc['connection'])['then'](_0x3dfee3=>(_0x5280dc['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3dfee3)['then'](()=>{for(const _0x55e0fc of _0x3dfee3){_0x63e3c6['addSuggestionData'](_0x55e0fc)['_saved']=!0x0;}})));}async['reconnect'](){const _0x512235=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34624e}=this['editor']['plugins']['get'](z),_0x49ac2a=await this['_trackChangesService']['connect'](_0x34624e);await this['_fetchMissingUsersForThreads'](_0x49ac2a);for(const {suggestionData:_0x3aad12,resolve:_0x123467}of this['_bufferedRequests']['values']()){let _0x239951=_0x49ac2a['find'](_0x1aa46f=>_0x1aa46f['id']===_0x3aad12['id']);_0x239951||(_0x239951=await this['_trackChangesService']['add'](_0x3aad12['id'],_0x3aad12['type'],_0x3aad12['data'],_0x3aad12['originalSuggestionId'])),_0x123467(_0x239951);}for(const _0x5d8677 of _0x49ac2a)_0x512235['hasSuggestion'](_0x5d8677['id'])||_0x512235['addSuggestionData'](_0x5d8677);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2daea8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4c922b=>{_0x4c922b['off'](),_0x2daea8();});});}async['_fetchMissingUsersForThreads'](_0x107c72){const _0xe79460=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x23e9d9}=this['editor']['plugins']['get'](z),_0x4dcd48=new Set();for(const {authorId:_0x26ddce}of _0x107c72)_0xe79460['getUser'](_0x26ddce)||_0x4dcd48['add'](_0x26ddce);if(0x0===_0x4dcd48['size'])return;const _0x2c0dfc=await _0xbe5ea0['getMany'](_0x23e9d9,Array['from'](_0x4dcd48));for(const _0x35ff08 of _0x2c0dfc)_0xe79460['getUser'](_0x35ff08['id'])||_0xe79460['addUser'](_0x35ff08);}}function lt(_0xf1e46c){if(dt(_0xf1e46c))return new Promise(()=>{});throw _0xf1e46c;}function dt(_0x2ae0ce){return _0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x1d5197{static get['requires'](){return[_0x56dec7,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x42b9ad=this['editor']['plugins']['get'](z),_0x1a7b71=this['editor']['plugins']['get'](_0x187167),_0x31ec44=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x42b9ad,'change:state',(_0x1ff293,_0x2fd742,_0x3d9c74)=>{_0x1a7b71['isThreadsLoadingPaused']='connected'!==_0x3d9c74;});}),this['listenTo'](_0x42b9ad,'change:state',(_0x56a623,_0xcfb1d2,_0x69252f)=>{this['editor']['plugins']['get'](_0x41e2b)['switchReadOnly']('connected'!==_0x69252f);}),_0x31ec44['_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 _0x1d5197{static get['requires'](){return[ut,ht,_0x5ca7c1];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x1d5197{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5ddde9)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x640475,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x516aa2){super(_0x516aa2);const _0x36c0fb=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x36c0fb);}async['init'](){const _0x4d3022=this['editor']['plugins']['get'](tt),_0x573d08=_0x4d3022['serverHistory'],_0x27767c=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x573d08,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4d3022['sessionId']});const _0x4a6c2d=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x46501e,_0x4a991f=await _0x5a7399['isBundleUploaded'](_0x27767c['connection'],_0x4a6c2d);this['editor']['plugins']['get'](_0x640475)['adapter']={'getRevision':async({revisionId:_0x9742bc})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9742bc)),'updateRevisions':async _0x37fd01=>{await this['_waitForServiceReady']();const _0x3dfc7c=this['_revisionTracker']['currentRevision'];if(_0x4a991f&&0x1===_0x37fd01['length']&&_0x37fd01[0x0]['id']===_0x3dfc7c['id'])return _0x37fd01;for(const _0x9a2919 of _0x37fd01)_0x9a2919['id']===_0x3dfc7c['id']&&(_0x9a2919['isEmptyCurrent']=_0x9a2919['fromVersion']===_0x9a2919['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37fd01,this['_lastRequestId'])['then'](_0x42a081=>(this['_lastRequestId']=_0x42a081,_0x37fd01))['catch'](_0x3ebe5e=>{if(pt(_0x3ebe5e)||'400'===_0x3ebe5e['code']&&void 0x0!==_0x3ebe5e['data']['wrongRequestId']){for(const _0x42a978 of _0x37fd01){!this['_revisionTracker']['repository']['getRevision'](_0x42a978['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42a978['id'],_0x42a978,!0x1);}if(pt(_0x3ebe5e))throw _0x3ebe5e;return _0x37fd01;}throw _0x3ebe5e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x20a969,{revisionsData:_0xf58d85,requestId:_0x33ce08})=>{Math['max'](..._0xf58d85['map'](_0xf9d04e=>_0xf9d04e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);}):this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);});const {revisions:_0x443fe9,requestId:_0x3cbe4c}=await this['_revisionHistoryService']['connect'](_0x27767c['connection']);_0x27767c['addToReconnectionStack'](this),this['_lastRequestId']=_0x3cbe4c,await this['_fetchMissingUsers'](_0x443fe9);for(const _0x33d451 of _0x443fe9)this['_revisionTracker']['addRevisionData'](_0x33d451);this['listenTo'](_0x4d3022,'change:_isConnected',(_0x54d50f,_0x471565,_0x164840)=>{_0x164840&&(this['_oldOffset']=_0x4d3022['_offset'],_0x54d50f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x27767c,'state',_0x59e00a=>_0x59e00a===_0x169e89['CONNECTED']);}async['reconnect'](){const _0x461535=this['editor']['plugins']['get'](z),_0x4a2b30=this['editor']['plugins']['get'](tt),_0x886694=async()=>{const _0x4bfc80=this['_revisionTracker']['currentRevision'],_0x440b25=_0x4bfc80['id'],_0x5a9f91=_0x440b25!==_0x4a2b30['sessionId'];if(_0x5a9f91){const _0x3530df=_0x4a2b30['_offset']-this['_oldOffset'],_0x3b0e8b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4bfc80['toVersion']+_0x3530df!==_0x3b0e8b){const _0x4bab6b=_0x4bfc80['fromVersion']+_0x3530df,_0x4379b7=this['editor']['plugins']['get'](_0x48e39d),_0x79c857=this['_revisionTracker']['buildRevisionData']({'revision':_0x4bfc80,'from':_0x4bab6b,'to':_0x3b0e8b});_0x79c857['id']=_0x4bfc80['id'];const _0x32a9bb=_0x79c857['authorsIds']['map'](_0x2d3573=>_0x4379b7['getUser'](_0x2d3573));_0x4bfc80['_update']({..._0x79c857,'authors':_0x32a9bb},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4bfc80['id'],_0x79c857,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3b0e8b,(_0x4bfc80['toVersion']===_0x4bfc80['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x440b25)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x440b25),this['_revisionTracker']['_createCurrentRevision'](_0x3b0e8b));}const {revisions:_0x1adec9,requestId:_0x423dc7}=await this['_revisionHistoryService']['reconnect'](_0x461535['connection'],this['_lastRequestId']);_0x5a9f91&&_0x1adec9['length']>0x0?_0x4a2b30['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1adec9),this['_handleRevisionsUpdate'](_0x1adec9,_0x423dc7),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4a2b30['_isConnected']?_0x886694():new Promise((_0x169afb,_0x987710)=>{_0x4a2b30['once']('change:_isConnected',()=>{_0x886694()['then'](_0x169afb)['catch'](_0x987710);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5c2b9d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5ceda4=>{_0x5ceda4['off'](),_0x5c2b9d();});});}['_getLatestVersionFromServerOperations'](){const _0x26028d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x38ea08 of _0x26028d)if('marker'!==_0x38ea08['type']||_0x38ea08['affectsData'])return _0x38ea08['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b618d=this['editor']['plugins']['get'](tt);return new Promise(_0x4e5fe2=>{_0x1b618d['_isPendingUpdate']?_0x1b618d['once']('change:_isPendingUpdate',()=>{_0x4e5fe2(this['_getLatestVersionFromServerOperations']());}):_0x4e5fe2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd511b6,_0x3e866c){const _0x3ab700=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e866c;for(const _0x3ef048 of _0xd511b6){const _0x3bfce0=_0x3ab700['getRevision'](_0x3ef048['id']);if(_0x3bfce0){if((_0x3ef048['fromVersion']||_0x3ef048['toVersion'])&&(_0x3ef048['diffData']=null),_0x3bfce0===this['_revisionTracker']['currentRevision']){const _0x128c54=Math['max'](_0x3bfce0['toVersion'],_0x3ef048['toVersion']),_0x73cac9=Math['max'](_0x3bfce0['fromVersion'],_0x3ef048['fromVersion']);let _0x189f3d;_0x3bfce0['toVersion']===_0x3ef048['toVersion']&&_0x3bfce0['fromVersion']===_0x3ef048['fromVersion']?(_0x189f3d=!0x0,this['_preventResendingRevisionData'](_0x3ef048)):_0x3ef048['toVersion']===_0x128c54&&_0x3ef048['fromVersion']===_0x73cac9?_0x189f3d=!0x1:(_0x3bfce0['toVersion']===_0x128c54&&_0x3bfce0['fromVersion']===_0x73cac9||this['_fixRevision']({'revision':_0x3bfce0,'from':_0x73cac9,'to':_0x128c54}),_0x189f3d=!0x0),_0x189f3d&&(delete _0x3ef048['fromVersion'],delete _0x3ef048['toVersion'],delete _0x3ef048['diffData'],delete _0x3ef048['createdAt'],delete _0x3ef048['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3ef048),this['_preventResendingRevisionData'](_0x3ef048);}else this['_revisionTracker']['addRevisionData'](_0x3ef048);}const _0x569501=_0x3ab700['getRevisions']();_0x569501['reverse']();for(let _0x4823ba=0x0;_0x4823ba<_0x569501['length']-0x1;_0x4823ba++){const _0x523234=_0x569501[_0x4823ba],_0x2f94b8=_0x569501[_0x4823ba+0x1];if(_0x523234['fromVersion']<_0x2f94b8['toVersion']){const _0x216a6a=_0x2f94b8['toVersion'],_0x5ce45c=Math['max'](_0x216a6a,_0x523234['toVersion']);this['_fixRevision']({'revision':_0x523234,'from':_0x216a6a,'to':_0x5ce45c});}}}['_fixRevision']({revision:_0x3e3a0a,from:_0x4a3356,to:_0x402156}={}){const _0x1e372b=this['editor']['plugins']['get'](_0x48e39d),_0x3e29b3=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e3a0a,'from':_0x4a3356,'to':_0x402156});_0x3e29b3['authors']=_0x3e29b3['authorsIds']['map'](_0x4d1901=>_0x1e372b['getUser'](_0x4d1901)),_0x3e3a0a['_update'](_0x3e29b3);}['_preventResendingRevisionData'](_0x173044){const _0x4a596b={};_0x4a596b['id']=_0x173044['id'];for(const _0xf13c7e of Object['keys'](_0x173044))'id'!==_0xf13c7e&&(_0x4a596b[_0xf13c7e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4a596b['id'],_0x4a596b,!0x0);}async['_fetchMissingUsers'](_0xa28c14){const _0x3e075c=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x4ae1b5}=this['editor']['plugins']['get'](z),_0x2b490e=new Set();for(const _0x548047 of _0xa28c14){for(const _0x594003 of _0x548047['authorsIds'])_0x58ae17(_0x594003);_0x548047['creatorId']&&_0x58ae17(_0x548047['creatorId']);}if(0x0===_0x2b490e['size'])return;const _0x281027=await _0xbe5ea0['getMany'](_0x4ae1b5,Array['from'](_0x2b490e));for(const _0x26213f of _0x281027)_0x3e075c['getUser'](_0x26213f['id'])||_0x3e075c['addUser'](_0x26213f);function _0x58ae17(_0x173794){_0x3e075c['getUser'](_0x173794)||_0x2b490e['add'](_0x173794);}}}function pt(_0x5c93ff){return _0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x1d5197{static get['requires'](){return[_0x640475,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4465b8{['_collapseAt'];constructor(_0x1bc7da,_0x23c5d8=0x6){super(_0x1bc7da);const _0x5d6b0c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x23c5d8,this['bind']('isHidden')['to'](this,'usersCount',_0xe0b3c6=>_0xe0b3c6<_0x23c5d8),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5d6b0c['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':_0x5d6b0c['to']('usersCount',_0x3d096b=>'+'+(_0x3d096b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4465b8{['items'];['keystrokes'];constructor(_0x3314a8){super(_0x3314a8);const _0x2f8664=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4efd8d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2f8664['if']('hasPopup'),'aria-expanded':_0x2f8664['to']('isExpanded',_0x3c5527=>this['hasPopup']&&String(_0x3c5527)),'aria-label':_0x2f8664['to']('hasPopup',_0x34262c=>X(_0x3314a8,_0x34262c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2f8664['to']('hasPopup',_0x44c473=>!!_0x44c473&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2f8664['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2f8664['to'](_0x35339e=>{const _0x6279e7=_0x35339e,_0x10ddb7=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1107a8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ddb7?.['contains'](_0x6279e7['relatedTarget'])||_0x1107a8?.['contains'](_0x6279e7['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x232b8f,_0xd26640,_0x5bd970)=>{this['element']&&(_0x5bd970?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 _0x4465b8{['counterView'];['inlineListView'];constructor(_0x5ed174,_0x4cf4a6=0x6){super(_0x5ed174);const _0x58acf7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4cf4a6),this['inlineListView']=new vt(_0x5ed174),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x310503 of this['inlineListView']['items'])_0x310503['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',_0x58acf7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4465b8{['listWrapperView'];constructor(_0xa19980,_0x49e06e){super(_0xa19980);const _0x48b46e=this['bindTemplate'];this['listWrapperView']=new bt(_0xa19980,_0x49e06e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xa19980,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x48b46e['to'](_0x36b955=>{const _0x24aa1f=_0x36b955,_0x5520be=document['querySelector']('.ck-presence-list__list'),_0x582be5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5520be?.['contains'](_0x24aa1f['relatedTarget'])||_0x582be5?.['contains'](_0x24aa1f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x493848{constructor(_0x456191,_0x113ca1){super(_0x456191);const _0x5619d3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x113ca1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5619d3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5619d3['to']('role'),'aria-label':_0x5619d3['to']('ariaLabel'),'aria-labelledby':_0x5619d3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x29912a['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1b9cd8=this['element'];_0x1b9cd8&&(this['_isScrollable']=Math['max'](_0x1b9cd8['scrollHeight'],_0x1b9cd8['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1aed03{['userView'];constructor(_0x4fdd5a,_0x84c695,_0x44e128){super(_0x4fdd5a);const _0x2ebbb4=this['bindTemplate'];this['userView']=new _0x4530a1(_0x4fdd5a,_0x84c695);const _0x3152d3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x84c695['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x84c695['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x84c695['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x84c695['color']['getColorVariable'](),'--ck-user-color-alpha':_0x84c695['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x44e128&&(_0x3152d3['tag']='button',_0x3152d3['on']={'click':_0x2ebbb4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3152d3);}['focus'](){this['element']['focus']();}}class It extends _0x4465b8{['userView'];['markerView'];constructor(_0x4ef511,_0x5c94de,_0xfc546a){super(_0x4ef511);const _0x337697=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4530a1(_0x4ef511,_0x5c94de),this['markerView']=new St(_0x4ef511,_0x5c94de);const _0x259167=new _0x1be434(_0x4ef511);_0x259167['template']['tag']='span',_0x259167['text']=_0x5c94de['name'];const _0x2598de={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x337697['to']('isFocusable',_0xc20348=>!!_0xc20348&&0x0),'aria-labelledby':_0x259167['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x337697['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x337697['to']('hasTooltip',_0x4d5796=>!_0x4d5796),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x259167]};_0xfc546a&&(_0x2598de['tag']='button',_0x2598de['on']={'click':_0x337697['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2598de);}}class St extends _0x4465b8{constructor(_0x2ab3e3,_0x1e922f){super(_0x2ab3e3),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e922f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e922f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e922f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x39cb58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72abf0){super(_0x72abf0),this['context']['config']['define']('presenceList',Tt);const _0x45e346=_0x72abf0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x45e346)throw new _0x849088('presencelist-collapseat-invalid-format',this);if(_0x45e346<0x1)throw new _0x849088('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x432b74(),this['balloonPanelView']=new _0x49fda1(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf0467a of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf0467a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4e8753,_0x9fb91a)=>{this['_handleUserAdd'](_0x9fb91a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2a935d,_0x2f585f)=>{this['_handleUserRemove'](_0x2f585f);});}['_createView'](){const _0x13c48b=this['context'],_0x11196c=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x29843a=this['balloonPanelView'];if(!_0x2b54d6(_0x13c48b['config']['get']('presenceList.container')))throw new _0x849088('presencelist-missing-container',this);return _0x11196c['counterView']['bind']('usersCount')['to'](this),_0x11196c['bind']('isCollapsed')['to'](this,'usersCount',_0x569e6c=>{const {collapseAt:_0x438a17}=_0x13c48b['config']['get']('presenceList'),_0x406b4d=_0x569e6c>=_0x438a17;if(_0x406b4d&&!_0x11196c['inlineListView']['items']['find'](_0x516d1a=>_0x516d1a instanceof wt)){const _0x160133=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x160133&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x11196c['inlineListView']['items']['add'](_0x11196c['counterView']);}return _0x406b4d||this['hideDropdown'](),_0x406b4d;}),_0x11196c['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x307313=>{const _0x178312=_0x13c48b['config']['get']('presenceList'),_0x4f0a08=new It(_0x13c48b['locale'],_0x307313,!!_0x178312['onClick']);return _0x4f0a08['bind']('hasTooltip')['to'](_0x11196c,'isCollapsed',_0x3ee0c0=>!_0x3ee0c0),_0x4f0a08['bind']('isFocusable')['to'](_0x11196c,'isCollapsed',_0x469b15=>!_0x469b15),_0x178312['onClick']&&this['listenTo'](_0x4f0a08,'execute',()=>{this['view']['isCollapsed']||_0x178312['onClick'](_0x307313,_0x4f0a08['element']);}),_0x4f0a08;}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x11196c['inlineListView']['keystrokes']['set']('Enter',(_0x77c032,_0x453060)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x453060());}),_0x11196c['render'](),_0x29843a['render'](),_0x5ef9f9({'emitter':_0x11196c,'activator':()=>_0x29843a['isVisible'],'contextElements':[_0x29843a['element'],_0x11196c['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c48b['config']['get']('presenceList.container')['appendChild'](_0x11196c['element']),this['_bodyCollection']=new _0x208c83(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x11196c;}['_handleUserAdd'](_0x3c66c6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3c66c6['isMe'])return;const _0x4db044=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4db044-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2b022=_0x3c66c6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3c66c6,_0x2b022);}['_handleUserRemove'](_0x2ff49c){this['usersCount']--;const {collapseAt:_0x24d364}=this['context']['config']['get']('presenceList'),_0x210d50=this['usersCount']>=_0x24d364;if(this['currentDisplayedUsers']['get'](_0x2ff49c['id']))this['currentDisplayedUsers']['remove'](_0x2ff49c['id']);else{if(_0x210d50&&this['currentDisplayedUsers']['length']+0x1===_0x24d364-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)<this['usersCount']){for(const _0x45d4cf of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x45d4cf['id'])&&(this['currentDisplayedUsers']['add'](_0x45d4cf,Math['min'](this['currentDisplayedUsers']['length']-(_0x210d50?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)===_0x24d364-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x459df4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x459df4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x7d3234}=this['presenceDropdownView'];_0x7d3234['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c1f05=>{if(!_0x459df4['displayMe']&&_0x3c1f05['isMe'])return null;const _0x33a60a=new kt(this['context']['locale'],_0x3c1f05,!!_0x459df4['onClick']);return _0x459df4['onClick']&&this['listenTo'](_0x33a60a,'execute',()=>{_0x459df4['onClick'](_0x3c1f05,_0x33a60a['element']);}),_0x33a60a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x7d3234['focus'](),_0x7d3234['checkIfScrollable']();const _0x367df0=(_0x5c7294,_0x300afe)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x300afe();};_0x7d3234['keystrokes']['set']('Esc',_0x367df0),_0x7d3234['keystrokes']['set']('Shift+Tab',_0x367df0),_0x7d3234['keystrokes']['set']('Tab',(_0x114e39,_0x142b19)=>{!function(_0x319207){const _0x515c0a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x269df9=>_0x269df9+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x656ebd=[...document['body']['querySelectorAll'](_0x515c0a)]['filter'](_0x418fa9=>_0x418fa9===document['activeElement']||_0x418fa9['offsetWidth']+_0x418fa9['offsetHeight']>0x0)['sort']((_0x237fa5,_0x31f2ef)=>(_0x237fa5['tabIndex']||0x0)-(_0x31f2ef['tabIndex']||0x0)),_0x39e3ff=_0x656ebd['indexOf'](_0x319207),_0x4e7510=_0x656ebd[(_0x39e3ff+0x1)%_0x656ebd['length']];_0x4e7510&&_0x4e7510['focus']();}(this['view']['element']),this['hideDropdown'](),_0x142b19();}),_0x7d3234['focusTracker']['add'](this['view']['element']),_0x7d3234['focusTracker']['on']('change:isFocused',(_0x4b112f,_0x429eca,_0x30f9a8)=>{_0x30f9a8||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 _0x39cb58{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':_0x4f9a23=>0x1!=_0x4f9a23}};
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':_0x1e79ad=>0x1!=_0x1e79ad}};