@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.8 → 48.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x5cca81,Plugin as _0x539c3e,PendingActions as _0xd9ea96,Context as _0x285430}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x236293,CKEditorError as _0x2b1db2,Collection as _0x442047,global as _0x3feea9,version as _0x5f4d8d,uid as _0x243793,KeystrokeHandler as _0x473501}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3beb50,View as _0xaa5d78,ListView as _0x44faf1,ListItemView as _0x4a4ec4,LabelView as _0x169be3,BalloonPanelView as _0x1723fd,clickOutsideHandler as _0x13b972,BodyCollection as _0x25513e}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x468486,History as _0x2d26a6,NoOperation as _0x3e327f,InsertOperation as _0x3841a2,MarkerOperation as _0x4ed2d7,RootAttributeOperation as _0x57bef9,transformOperationSets as _0x16312c,OperationFactory as _0x10370b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x359e6e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d3563,WEB_SOCKET_GATEWAY_STATES as _0xf9333a,CollaborativeEditingService as _0x35e047,User as _0x1ca5f7,CommentsService as _0x55b714,TrackChangesService as _0x1c8aeb,RevisionHistoryService as _0x44cd6b,EditorService as _0x553943}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15d62c,UserView as _0x31b224}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5a3d56}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x45a080,TrackChanges as _0x527e70}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5383ad,Comments as _0x403d11,CommentsEditing as _0x37e082}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x40c931}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x573df8}from'es-toolkit/compat';class z extends _0x5cca81{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x2d3563)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x359e6e,_0x3beb50];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cac25){super(_0x3cac25),this['set']('state',_0xf9333a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x236293())();}['init'](){const _0x3e0781=this['context'],_0x5038d6=_0x3e0781['plugins']['get'](_0x359e6e),_0x1fd44d=_0x3e0781['plugins']['get'](_0x3beb50);if(!_0x5038d6['token'])throw new _0x2b1db2('websocketgateway-missing-token',this);if(!_0x5038d6['webSocketUrl'])throw new _0x2b1db2('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x5038d6['token'],_0x5038d6['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5b810e=>{if(this['connection']=_0x5b810e,this['bind']('state')['to'](_0x5b810e,'state',this,'_isBrowserOffline',(_0x84a0b9,_0x236b5a)=>('connected'!==_0x84a0b9&&(this['_shouldPluginsReconnect']=!0x0),_0x236b5a||_0x84a0b9!==_0xf9333a['CONNECTED']?_0xf9333a['DISCONNECTED']:this['state']==_0xf9333a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xf9333a['CONNECTING']):_0xf9333a['CONNECTED'])),this['connection']['on']('error',(_0x1da72a,_0x55a5c5)=>{if('limitExceeded'!==_0x55a5c5['code'])throw console['error'](_0x55a5c5),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x55a5c5});_0x1fd44d['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x5b810e['me'])return new Promise(_0x373909=>_0x5b810e['on']('change:me',_0x373909));})['catch'](_0x6539bc=>{throw console['error'](_0x6539bc),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x6539bc});});}['addToReconnectionStack'](_0x33b4c3){if('function'!=typeof _0x33b4c3['reconnect'])throw new _0x2b1db2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33b4c3))throw new _0x2b1db2('websocketgateway-plugin-already-registered',this,{'name':_0x33b4c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33b4c3);}['removeFromReconnectionStack'](_0x5686c3){this['_reconnectionStack']['delete'](_0x5686c3);}['isInReconnectionStack'](_0xacdf21){return this['_reconnectionStack']['has'](_0xacdf21);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2a269e=>_0x2a269e['reconnect']())))['then'](()=>this['state']=_0xf9333a['CONNECTED'])['catch'](_0x25a624=>{throw console['error'](_0x25a624),new _0x2b1db2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xf9333a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x5cca81{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x15d62c];}constructor(_0xbfb5e9){super(_0xbfb5e9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x442047(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d62c);}['init'](){const _0x4ff35c=this['context']['plugins']['get'](z);this['listenTo'](_0x4ff35c,'change:state',(_0x6fa848,_0x16d014,_0x11fa3b)=>{if('connected'!==_0x11fa3b)this['channelSessions']['forEach'](_0x4ef392=>_0x4ef392['clear']()),this['channelConnectedUsers']['forEach'](_0x263e64=>_0x263e64['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xafb147,_0x36ab52]of this['_registeredSessions'])for(const _0x404635 of _0x36ab52)this['_handleSessionAdd'](_0xafb147,_0x404635);}}),this['_createUser'](_0x4ff35c['connection']['me'],!0x0);}['register'](_0x3b3b80,_0x167d2d){if(this['_registeredSessions']['has'](_0x3b3b80))throw new _0x2b1db2('sessions-register-already-registered',null,{'channelId':_0x3b3b80});this['_registeredSessions']['set'](_0x3b3b80,_0x167d2d),this['channelSessions']['set'](_0x3b3b80,new _0x442047()),this['channelConnectedUsers']['set'](_0x3b3b80,new _0x442047()),this['listenTo'](_0x167d2d,'add',(_0x5b8d1e,_0x383b03)=>this['_handleSessionAdd'](_0x3b3b80,_0x383b03)),this['listenTo'](_0x167d2d,'remove',(_0x217da0,_0x3ea400)=>this['_handleSessionRemove'](_0x3b3b80,_0x3ea400));for(const _0x2f0468 of _0x167d2d)this['_handleSessionAdd'](_0x3b3b80,_0x2f0468);}['unregister'](_0x50b9af){if(!this['_registeredSessions']['has'](_0x50b9af))throw new _0x2b1db2('sessions-unregister-not-exist',null,{'channelId':_0x50b9af});const _0x2d6517=this['_registeredSessions']['get'](_0x50b9af);this['stopListening'](_0x2d6517);for(const _0x36a9c9 of _0x2d6517)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x50b9af,_0x36a9c9);this['_registeredSessions']['delete'](_0x50b9af),this['channelSessions']['delete'](_0x50b9af),this['channelConnectedUsers']['delete'](_0x50b9af);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5a1805){for(const _0x2a0d18 of this['channelSessions']['values']())for(const _0x4bb55d of _0x2a0d18)if(_0x4bb55d['id']===_0x5a1805)return _0x4bb55d['user'];}['getUserSessions'](_0x16bfcc,_0xd578f2){const _0x17860e=_0xd578f2?[this['channelSessions']['get'](_0xd578f2)]:this['channelSessions']['values'](),_0x5c972b=new Set();for(const _0x1cadba of _0x17860e)for(const _0x8f0e85 of _0x1cadba)_0x8f0e85['user']['id']===_0x16bfcc['id']&&_0x5c972b['add'](_0x8f0e85['id']);return _0x5c972b;}['getUserRole'](_0x512102){for(const _0x4663d6 of this['channelSessions']['values']())for(const _0x5d1bca of _0x4663d6)if(_0x5d1bca['user']===_0x512102)return _0x5d1bca['role'];}['_handleSessionAdd'](_0x6bc086,_0x56a7cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x342fbf=_0x56a7cf['user'],_0x5d4c75=this['_users']['getUser'](_0x342fbf['id'])||this['_createUser'](_0x342fbf),_0x1e6f92=Object['assign']({},_0x56a7cf,{'user':_0x5d4c75});if(this['channelSessions']['get'](_0x6bc086)['add'](_0x1e6f92),!_0x342fbf['hiddenInPresenceList']){const _0x18a3e9=this['channelConnectedUsers']['get'](_0x6bc086);_0x18a3e9['has'](_0x5d4c75['id'])||_0x18a3e9['add'](_0x5d4c75),this['allConnectedUsers']['has'](_0x5d4c75['id'])||_0x342fbf['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5d4c75,_0x5d4c75['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x6bc086,{'channelId':_0x6bc086,'session':_0x1e6f92});}['_handleSessionRemove'](_0x3c1f83,_0x394ec5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1eb51e=this['channelConnectedUsers']['get'](_0x3c1f83),_0x40eadd=_0x394ec5['user'];_0x40eadd['id']&&(this['channelSessions']['get'](_0x3c1f83)['remove'](_0x394ec5['id']),_0x1eb51e['has'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd,_0x3c1f83)['size']&&_0x1eb51e['remove'](_0x40eadd['id']),this['allConnectedUsers']['get'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd)['size']&&this['allConnectedUsers']['remove'](_0x40eadd['id']));}['_createUser'](_0x1003c7,_0x2c49fd){const _0x503480=this['_users']['addUser'](_0x1003c7);return _0x2c49fd&&this['_users']['defineMe'](_0x1003c7['id']),_0x503480['orderNumber']=this['_uniqueUsersCount']++,_0x503480;}}class K extends _0x539c3e{['_domEmitter']=new(_0x236293())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x40ebba=this['editor'],_0x22d6a8=_0x40ebba['plugins']['get'](Y);_0x40ebba['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x27218b,{writer:_0x176ffc})=>function(_0x366f8f,_0x3bdd5b,_0x5e82ae,_0x186185){const _0x4eccef=_0x366f8f['markerName']['split'](':')[0x2],_0xb661bc=_0x5e82ae['getUserBySessionId'](_0x4eccef);if(!_0xb661bc||_0x4eccef===_0x5e82ae['mySessionId'])return;if(!_0x186185['model']['schema']['checkChild'](_0x366f8f['markerRange']['start'],'$text'))return;const _0x420fa9={'class':'ck-user__marker\x20'+_0xb661bc['color']['getMarkerClass'](),'style':Q(_0xb661bc),'data-name':_0xb661bc['name'],'data-session-id':_0x4eccef},_0x3b2636=_0x186185['model']['markers']['get'](_0x366f8f['markerName']),_0x501d2b=_0x3b2636['getStart'](),_0x1d4d36=_0x501d2b['nodeAfter'],_0x29c4f6=_0x186185['model']['schema'];if(_0x1d4d36&&_0x29c4f6['isObject'](_0x1d4d36)&&_0x29c4f6['isInline'](_0x1d4d36)&&!_0x186185['model']['markers']['get']('user:range:'+_0x4eccef)['getRange']()['isCollapsed'])return;const _0x17fc03=_0x501d2b['parent'];return _0x186185['model']['schema']['isLimit'](_0x17fc03)&&!_0x186185['model']['hasContent'](_0x17fc03)&&(_0x420fa9['contenteditable']=!0x1),function(_0x2d7319,_0x22ccc8,_0x37076e){const _0x5a9632=_0x2d7319['createUIElement']('span',_0x22ccc8);return _0x2d7319['setCustomProperty']('userPositionMarker',!0x0,_0x5a9632),_0x5a9632['render']=function(_0x3d2e01){const _0x2b9536=this['toDomElement'](_0x3d2e01),_0x5c4d4d=document['createElement']('span');return _0x5c4d4d['classList']['add']('ck-user__marker-tooltip'),_0x5c4d4d['setAttribute']('contenteditable','false'),_0x5c4d4d['setAttribute']('spellcheck','false'),_0x5c4d4d['textContent']=_0x37076e['name'],_0x2b9536['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c4d4d['outerHTML']+'⁠',_0x2b9536['addEventListener']('mouseenter',()=>{_0x2b9536['classList']['add']('ck-user__marker_hovered');}),_0x2b9536['addEventListener']('mouseleave',()=>{_0x2b9536['classList']['remove']('ck-user__marker_hovered');}),_0x2b9536;},_0x5a9632['isSimilar']=function(_0x2a9728){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2a9728['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2a9728['getAttribute']('data-session-id'));},_0x5a9632;}(_0x3bdd5b,_0x420fa9,_0xb661bc);}(_0x27218b,_0x176ffc,_0x22d6a8,_0x40ebba)}),_0x40ebba['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40e573=>function(_0x2a2e0c,_0x4029dd){const _0x117c0c=_0x2a2e0c['markerName']['split'](':')[0x2];if(_0x117c0c===_0x4029dd['mySessionId'])return null;const _0x566429=_0x4029dd['getUserBySessionId'](_0x117c0c);if(!_0x566429)return{'id':_0x117c0c,'classes':[]};return{'id':_0x117c0c,'classes':['ck-user__selection',_0x566429['color']['getSelectionClass']()],'attributes':{'style':Q(_0x566429),'data-session-id':_0x117c0c},'priority':0x7d0+_0x566429['orderNumber']};}(_0x40e573,_0x22d6a8)}),function(_0x7c0789){const _0x54b355=_0x7c0789['model'],_0x256777=new Map(),_0x2bcb09=_0x7c0789['plugins']['get'](Y);_0x54b355['markers']['on']('update:user:range',(_0x4e023a,_0x4378c7,_0x283fc8,_0x4feeab)=>{if(!_0x4feeab&&_0x256777['get'](_0x4378c7['name']))return _0x256777['get'](_0x4378c7['name'])['detach'](),void _0x256777['delete'](_0x4378c7['name']);const _0x3d8780=_0x4378c7['name']['split'](':')[0x2];if(_0x3d8780===_0x2bcb09['mySessionId'])return;const _0x31573a='user:position:'+_0x3d8780;_0x54b355['markers']['has'](_0x31573a)&&_0x7c0789['editing']['reconvertMarker'](_0x31573a),_0x4378c7['on']('change:range',(_0x16649f,_0x3fbc44,_0x5d2fcf)=>{if('$graveyard'!=_0x3fbc44['root']['rootName']&&'$graveyard'==_0x4378c7['getRange']()['root']['rootName']&&!_0x256777['has'](_0x4378c7['name'])){const _0x3d0fbe=_0x54b355['schema']['getNearestSelectionRange'](_0x5d2fcf['deletionPosition']);if(_0x3d0fbe){const _0x46b224=_0x468486['fromRange'](_0x3d0fbe);_0x256777['set'](_0x4378c7['name'],_0x46b224),_0x46b224['on']('change:range',(_0x23c1a2,_0x5a3306,_0xfc58ee)=>{if('$graveyard'==_0x46b224['root']['rootName']){const _0x22e106=_0x54b355['schema']['getNearestSelectionRange'](_0xfc58ee['deletionPosition']);_0x22e106?(_0x46b224['start']=_0x22e106['start'],_0x46b224['end']=_0x22e106['end']):(_0x256777['delete'](_0x4378c7['name']),_0x46b224['detach']());}});}}});}),_0x54b355['document']['on']('change',()=>{_0x256777['size']>0x0&&_0x54b355['enqueueChange']({'isUndoable':!0x1},_0x488068=>{for(const [_0x488bd4,_0x599b33]of _0x256777)'$graveyard'==_0x54b355['markers']['get'](_0x488bd4)['getRange']()['root']['rootName']&&(J(_0x488bd4['split'](':')[0x2],_0x599b33['toRange'](),_0x54b355,_0x488068),_0x599b33['detach']());_0x256777['clear']();});});}(_0x40ebba),this['_domEmitter']['listenTo'](_0x3feea9['document'],'keydown',(_0x2ab889,{key:_0x9be9b7})=>{'Escape'===_0x9be9b7&&function(_0x3bae0a){_0x3bae0a['editing']['view']['change'](_0x1adc9b=>{for(const _0x4daf2b of _0x3bae0a['model']['markers']){if(!_0x4daf2b['name']['startsWith']('user:position'))continue;const _0x279157=_0x3bae0a['editing']['mapper']['markerNameToElements'](_0x4daf2b['name']);if(_0x279157){for(const _0x4618d9 of _0x279157)_0x1adc9b['removeClass']('ck-user__marker_hovered',_0x4618d9);}}});}(_0x40ebba);},{'useCapture':!0x0});}['afterInit'](){const _0x30558e=this['editor'],_0x15f85a=_0x30558e['commands']['get']('undo');_0x15f85a&&_0x30558e['model']['on']('applyOperation',(_0x38fe86,_0x306190)=>{const _0x4e6629=_0x306190[0x0];if(!_0x4e6629['isDocumentOperation'])return;if('marker'!=_0x4e6629['type']||!_0x4e6629['name']['startsWith']('user:'))return;const _0x4d1225=_0x4e6629['batch'];_0x15f85a['_createdBatches']['has'](_0x4d1225)&&(_0x4e6629['newRange']=_0x4e6629['oldRange']?_0x30558e['model']['createRange'](_0x4e6629['oldRange']['start'],_0x4e6629['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x203c9d=this['editor'],_0x14627f=_0x203c9d['model']['document'],_0x5a68a4=_0x203c9d['plugins']['get'](Y);_0x203c9d['model']['enqueueChange']({'isUndoable':!0x1},_0x546daf=>{const _0x1d79e0='user:range:'+_0x5a68a4['mySessionId'],_0x5cd4c5='user:position:'+_0x5a68a4['mySessionId'],_0x3aaa3e=_0x203c9d['model']['markers']['has'](_0x1d79e0);_0x203c9d['editing']['view']['hasDomSelection']?J(_0x5a68a4['mySessionId'],_0x14627f['selection']['getFirstRange'](),_0x203c9d['model'],_0x546daf):_0x3aaa3e&&(_0x546daf['removeMarker'](_0x1d79e0),_0x546daf['removeMarker'](_0x5cd4c5));});}}function J(_0x586b37,_0xb4a11a,_0x19ea86,_0x518786){const _0x1a150e='user:range:'+_0x586b37,_0x499285='user:position:'+_0x586b37,_0x15a5ef=_0xb4a11a['getContainedElement']();let _0x2c4925=_0xb4a11a['start'];if(_0x15a5ef&&_0x15a5ef['is']('element','tableCell')){const _0x2eafd1=function(_0x1d0501,_0x59917f){for(const _0x42d0f9 of _0x1d0501['getPositions']())if(_0x59917f['schema']['checkChild'](_0x42d0f9,'$text'))return _0x42d0f9;}(_0xb4a11a,_0x19ea86);_0x2eafd1&&(_0x2c4925=_0x2eafd1,_0xb4a11a=_0x518786['createRange'](_0x2c4925));}const _0x2e1bb5=_0x518786['createRange'](_0x2c4925);_0x19ea86['markers']['has'](_0x1a150e)?(_0x518786['updateMarker'](_0x1a150e,{'range':_0xb4a11a}),_0x518786['updateMarker'](_0x499285,{'range':_0x2e1bb5})):(_0x518786['addMarker'](_0x1a150e,{'range':_0xb4a11a,'usingOperation':!0x0}),_0x518786['addMarker'](_0x499285,{'range':_0x2e1bb5,'usingOperation':!0x0}));}function Q(_0x4cfa44){return'--ck-user-color:'+_0x4cfa44['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cfa44['color']['getColorAlphaVariable']()+';';}function X(_0xa89946,_0x59cfb5,_0xc7ff08){const _0xb0700b=_0xa89946['t'],t=_0xa89946['t'];switch(_0x59cfb5){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0xb0700b({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0xc7ff08);default:return'';}}let Z=0x1;class tt extends _0x539c3e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x35e047)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0xd9ea96,_0x15d62c,_0x3beb50];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x1ea482=this['serverHistory']['getOperations']();for(let _0x205b89=_0x1ea482['length']-0x1;_0x205b89>=0x0;_0x205b89--){const _0x13646f=_0x1ea482[_0x205b89];if(!this['_disconnectionOperations']['has'](_0x13646f))return _0x13646f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x390202){if(super(_0x390202),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d26a6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b1db2('collaboration-missing-channelid',this);const _0x273bfe=_0x390202['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d;this['_service']=new tt['CollaborativeEditingService'](_0x273bfe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5a3d56(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x153a80=this['editor'],_0x29033f=_0x153a80['plugins']['get'](_0x15d62c),_0x294a13=_0x153a80['plugins']['get'](z);this['listenTo'](_0x29033f,'getOperationAuthor',(_0x167ec8,_0xec2b14)=>{const _0x46d9e5=_0xec2b14[0x0];_0x46d9e5['_authorId']&&(_0x167ec8['return']=_0x29033f['getUser'](_0x46d9e5['_authorId']),_0x167ec8['stop']()),null===_0x46d9e5['_authorId']&&(_0x167ec8['return']=null,_0x167ec8['stop']());},{'priority':'high'}),this['listenTo'](_0x153a80['model']['document']['selection'],'change:range',(_0x28be37,_0x3744b3)=>{_0x3744b3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x153a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x153a80['model']['on']('applyOperation',(_0x565bb0,_0x1521d4)=>{const _0x4c80a8=_0x1521d4[0x0];_0x4c80a8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c80a8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x294a13,'state',this,'_hasSynchronizationProblem',(_0xd24138,_0x394b3)=>'connected'===_0xd24138&&!_0x394b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4c5241=this['editor']['plugins']['get'](Y),_0x5be913=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4c5241['unregister'](this['_channelId']);const _0x54a203=await this['_service']['reconnect'](_0x5be913['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x54a203)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x49c534=await this['_service']['getConnectedSessions']();_0x4c5241['register'](this['_channelId'],_0x49c534),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5d18f7){if(function(_0xed42d0){return'404'===_0xed42d0['code'];}(_0x5d18f7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32a64d){return'409'===_0x32a64d['code'];}(_0x5d18f7)){const _0x59e69e=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x59e69e);}else{if(!(_0x5d18f7 instanceof et))throw _0x5d18f7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x9773dd=this['editor']['plugins']['get'](z),_0x41bb4e=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x41bb4e['channelSessions']['has'](this['_channelId'])&&_0x41bb4e['unregister'](this['_channelId']),_0x9773dd['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46939d){if(this['sessionId']!==_0x46939d['sessionId']&&this['_lastSyncedOperationId']!==_0x46939d['lastOperationId'])throw new et();return this['sessionId']=_0x46939d['sessionId'],this['_handleServerResponse']([],{..._0x46939d,'wereChangesApplied':!0x1,'data':_0x46939d['data']},'reconnect');}async['_connectService'](_0x5dc94e,_0x304ac5=!0x1){const {connection:_0x162a74}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x162a74,this['_channelId'])['then'](_0x38620b=>this['_initSessionsHandling'](_0x38620b))['catch'](_0x35a2b6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x35a2b6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5af7cf,_0x110094)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x110094);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x128439=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dc94e);this['_isPendingUpdate']=!0x0;const _0x2b3dd0=await this['_service']['connect'](_0x162a74,this['_compressOperations'](_0x5dc94e),_0x128439);if(this['sessionId']=_0x2b3dd0['sessionId'],_0x304ac5){if(!_0x2b3dd0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b3dd0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5dc94e,_0x2b3dd0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b3dd0,_0x5dc94e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x119e14=this['editor']['plugins']['get'](Y),_0x51dd8d=this['editor']['plugins']['get'](K),_0x1f0b92=_0x119e14['channelSessions']['get'](this['_channelId']);_0x1f0b92&&_0x1f0b92['length']>0x1?_0x51dd8d['createUserMarkerOperations']():this['listenTo'](_0x119e14,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x119e14['channelSessions']['get'](this['_channelId'])['length']&&_0x51dd8d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x398210,_0x54096a,_0x31f06a,_0x1f925d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x54096a){const _0x5369c7=this['_decompressOperations'](_0x31f06a,_0x1f925d);await this['_fetchMissingUsers'](_0x5369c7),this['_handleExternalOperations'](_0x5369c7,_0x54096a,_0x31f06a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x36e22f}=this['editor'];let _0x5661cd;try{_0x5661cd=await this['_service']['getDocumentDetails']();}catch{const _0xaed56f=X(_0x36e22f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xaed56f);}const _0x529ce6=_0x5661cd['currentDocumentSession']||_0x5661cd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x529ce6['lastOperationId']){const _0x5e9071=X(_0x36e22f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x5e9071);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12313b){const _0x306a7a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x306a7a,'sessionAdd:'+this['_channelId'],(_0x34936f,{session:_0x2deb06})=>{if(_0x2deb06['id']===_0x306a7a['mySessionId']){_0x34936f['off']();const _0x2124b5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x88fa83=_0x2deb06['permissions'];_0x2124b5&&_0x2124b5['isEnabled']&&(_0x88fa83=_0x88fa83['filter'](_0x6d42f6=>'document:write'!==_0x6d42f6)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x88fa83,this['_channelId']);}}),_0x306a7a['register'](this['_channelId'],_0x12313b);}['_initThrowingOnDataSet'](){const _0x48d8ed=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3ff46c)=>{if(!_0x3ff46c[_0x3ff46c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b1db2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x48d8ed['apply'](this['editor']['data'],_0x3ff46c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x440741,[_0x35bb91])=>{if(this['_document']['version'])throw new _0x2b1db2('realtimecollaborationclient-init-document-already-initialized',this);_0x440741['stop'](),this['_setPendingAction']();const _0xd693fc=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x23b06f])=>!_0x23b06f['lazyLoad'])['map'](([_0x32bbb6,_0x2671a6])=>[_0x32bbb6,_0x2671a6['modelAttributes']||{}])),_0x5f46e9=this['_getOperationsFromInitData'](_0x35bb91,_0xd693fc);0x0==_0x5f46e9['length']&&_0x5f46e9['push'](new _0x3e327f(0x0)),_0x440741['return']=this['_connectService'](_0x5f46e9)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xaad939=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xaad939))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xe84be9,[_0x17eb56,_0x2271f0])=>{_0xe84be9['stop']();const _0x245c41=this['editor']['model']['document']['getRoot'](_0x17eb56);if(!this['_knownRootNames']['has'](_0x17eb56)){const _0x59ca91=_0x2271f0&&_0x2271f0['data']?_0x2271f0['data']:'',_0x27f592=_0x2271f0&&_0x2271f0['attributes']?_0x2271f0['attributes']:{};await this['_loadRoot'](_0x17eb56,_0x59ca91,_0x27f592);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x245c41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x245c41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x15c068){const _0x48a53f=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x7b35f9}=this['editor']['plugins']['get'](z),_0x32640e=new Set();for(const _0x2f4905 of _0x15c068){const _0x2c7492=_0x2f4905['_authorId'];_0x2c7492&&!_0x48a53f['getUser'](_0x2c7492)&&_0x32640e['add'](_0x2c7492);}if(0x0===_0x32640e['size'])return;const _0x22da8e=await _0x1ca5f7['getMany'](_0x7b35f9,Array['from'](_0x32640e));for(const _0x2faa12 of _0x22da8e)_0x48a53f['getUser'](_0x2faa12['id'])||_0x48a53f['addUser'](_0x2faa12);}['_getOperationsFromInitData'](_0x14e66c,_0x4df968={}){const _0x462514=this['editor']['model'],_0x475e2f=[];let _0x464b13=0x0;const _0x792f5f='string'==typeof _0x14e66c?{'main':_0x14e66c}:_0x14e66c;for(const _0x75d5b5 of Object['keys'](_0x792f5f)){if(!this['_document']['roots']['has'](_0x75d5b5))throw new _0x2b1db2('realtimecollaborationclient-init-non-existent-root',this);const _0x926c5=this['editor']['data']['parse'](_0x792f5f[_0x75d5b5]),_0x2611e2=this['_document']['getRoot'](_0x75d5b5),_0x352301=new _0x3841a2(_0x462514['createPositionAt'](_0x2611e2,0x0),_0x926c5,_0x464b13++);_0x475e2f['push'](_0x352301);for(const [_0x56e5a0,_0x98b941]of _0x926c5['markers']){const _0x3d9675=_0x462514['createRange'](_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['start']['path']['slice']()),_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['end']['path']['slice']())),_0x2d1069=new _0x4ed2d7(_0x56e5a0,null,_0x3d9675,_0x462514['markers'],!0x0,_0x464b13++);_0x475e2f['push'](_0x2d1069);}}if(_0x4df968)for(const [_0x43eb06,_0x2d6a21]of Object['entries'](_0x4df968)){const _0x332b75=_0x462514['document']['getRoot'](_0x43eb06);if(!_0x332b75)throw new _0x2b1db2('multi-root-editor-root-attributes-no-root',null);for(const [_0x4ab22f,_0x52c58d]of Object['entries'](_0x2d6a21))if(null!==_0x52c58d){const _0x346517=new _0x57bef9(_0x332b75,_0x4ab22f,null,_0x52c58d,_0x464b13++);_0x475e2f['push'](_0x346517);}}return _0x475e2f;}async['_loadRoot'](_0x1b4f23,_0x29125f,_0x5c9e25){this['_getOperationsFromInitData']({[_0x1b4f23]:_0x29125f},{[_0x1b4f23]:_0x5c9e25})['forEach']((_0x29208d,_0x348c2c)=>{_0x29208d['baseVersion']=this['_document']['version']+_0x348c2c,_0x29208d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x29208d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x336930,_0x443d3f){let _0x21714e;this['_offset']=_0x336930['offset'];const _0x48e93a=_0x336930['wereChangesApplied']&&!_0x336930['initData'],_0x39a089=_0x48e93a?0x0:_0x336930['data']['baseVersion'];if(_0x443d3f['forEach'](_0x10cd8b=>{_0x10cd8b['_isInit']=!0x0,_0x10cd8b['createdAt']=_0x336930['sessionCreatedAt'],_0x10cd8b['_authorId']=null;}),_0x48e93a)_0x21714e=_0x443d3f,this['_applyOperationsSet'](_0x21714e,_0x48e93a);else{if(_0x336930['initData']){const _0x5e2a18=this['_getOperationsFromInitData'](_0x336930['initData']);this['_document']['history']['version']=-_0x5e2a18['length'],_0x5e2a18['forEach'](_0x15476e=>{_0x15476e['baseVersion']-=_0x5e2a18['length'],_0x15476e['createdAt']=_0x336930['sessionCreatedAt'],_0x15476e['_isInit']=!0x0,_0x15476e['_authorId']=null;}),this['_applyOperationsSet'](_0x5e2a18,!0x0),this['serverHistory']['version']=-_0x5e2a18['length']+this['_offset'],this['_updateServerHistory'](_0x5e2a18);}this['_document']['history']['version']=_0x39a089,_0x21714e=this['_decompressOperations'](_0x336930['data'],_0x336930['metadata']),await this['_fetchMissingUsers'](_0x21714e),this['_applyOperationsSet'](_0x21714e,_0x48e93a);}_0x336930['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x21714e,_0x336930['lastOperationId']),this['_lastSyncedOperationId']=_0x336930['lastOperationId']),this['serverHistory']['version']=_0x39a089+this['_offset'],this['_updateServerHistory'](_0x21714e),_0x443d3f['filter'](_0x4d9850=>{const _0x465694=this['_getAffectedRoot'](_0x4d9850);return _0x465694&&!this['_knownRootNames']['has'](_0x465694);})['forEach']((_0x4f6e03,_0x3134bc)=>{_0x4f6e03['baseVersion']=this['_document']['version']+_0x3134bc,this['_saveOperationInBuffer'](_0x4f6e03);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x32b820,_0x355f66){const _0x333cbc=_0x355f66&&_0x355f66['message'];if(_0x333cbc&&_0x333cbc['startsWith']('realtimecollaborationclient'))throw _0x355f66;const _0x1e101b=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1e101b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b1db2(_0x32b820,this['editor'],_0x333cbc?{'originalError':_0x333cbc}:void 0x0);}['_saveOperationInBuffer'](_0x437bbc){this['_knownOperations']['has'](_0x437bbc)||(this['_knownOperations']['add'](_0x437bbc),this['_bufferedOperations']['push'](_0x437bbc),this['_pendingAction']||'marker'==_0x437bbc['type']&&!_0x437bbc['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a72ce=!0x1){!_0x3a72ce&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3b6c4e=>{_0x3b6c4e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1c87c3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x56348f){return _0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1c87c3)||this['_crash'](_0x1c87c3['message'],_0x1c87c3);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3ebe5d=>{this['on']('change:_isPendingUpdate',()=>{_0x3ebe5d();});});}async['_sendBufferedOperations'](){const _0x17c750=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x17c750['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xfc6821=[...this['_bufferedOperations']];for(const _0x3dd349 of _0xfc6821)_0x3dd349['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dd349);const _0x16f444=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xfc6821),_0x34a16d=Z++,_0x472adf=this['_compressOperations'](_0xfc6821),_0x50f436=await this['_service']['sendOperations'](_0x472adf,_0x472adf['baseVersion'],_0x16f444);try{return await this['_handleServerResponse'](_0xfc6821,_0x50f436,_0x34a16d);}catch(_0x408309){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x408309);}}async['_handleServerResponse'](_0x410371,_0x451677,_0x4aa97c){if('error'in _0x451677)throw _0x451677['error'];let _0xc7d12=!0x1;if(_0x451677['wereChangesApplied']){_0x451677['lastOperationId']&&(this['_lastSyncedOperationId']=_0x451677['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x295796=>!_0x410371['includes'](_0x295796));for(const _0xf6b500 of _0x410371)_0xf6b500['createdAt']='lastOperationAcceptedAt'in _0x451677&&_0x451677['lastOperationAcceptedAt']||void 0x0;st(_0x410371,_0x451677['version']-_0x410371['length']),this['_updateServerHistory'](_0x410371);const _0x3460c4=_0x410371['filter'](_0x5f3da2=>{if(!_0x5f3da2['_isInit'])return!0x1;const _0xff370d=this['_getAffectedRoot'](_0x5f3da2);return _0xff370d&&!this['_knownRootNames']['has'](_0xff370d);});st(_0x3460c4,this['_document']['version']),this['_applyOperationsSet'](_0x3460c4),_0xc7d12=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x186bf0=this['_decompressOperations'](_0x451677['data'],_0x451677['metadata'])['filter'](_0x28e519=>_0x28e519['baseVersion']>=this['_lastServerVersion']);_0x186bf0['forEach'](_0x1ff73a=>this['_addKnownRoot'](_0x1ff73a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dd34=>!_0x4dd34['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4dd34))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x186bf0),_0xc7d12=this['_handleExternalOperations'](_0x186bf0,_0x451677['version'],_0x451677['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc7d12?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x466527,_0x37f814,_0x2d594e){try{const _0x22dd18={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x367c05,operationsB:_0xb6e25a,originalOperations:_0x179182}=_0x16312c(_0x466527,this['_bufferedOperations'],_0x22dd18);st(_0x367c05,this['_document']['version']),st(_0xb6e25a,_0x37f814);for(const _0x255597 of _0x367c05){const _0x4b9c28=_0x179182['get'](_0x255597);_0x255597['_authorId']=_0x4b9c28?_0x4b9c28['_authorId']:null;}_0x2d594e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x466527,_0x2d594e),this['_lastSyncedOperationId']=_0x2d594e),this['_bufferedOperations']=[..._0xb6e25a],this['_applyOperationsSet'](_0x367c05),this['_updateServerHistory'](_0x466527);}catch(_0x1b13eb){return console['error'](_0x1b13eb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2e271e,_0x1f8b6a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x8c4919=>{for(const _0x656b1d of _0x2e271e)this['_knownOperations']['add'](_0x656b1d),this['_addKnownRoot'](_0x656b1d),_0x8c4919['batch']['addOperation'](_0x656b1d),this['editor']['model']['applyOperation'](_0x656b1d);});}['_addKnownRoot'](_0x416295){const _0x54179f=this['_getAffectedRoot'](_0x416295);_0x54179f&&this['_knownRootNames']['add'](_0x54179f);}['_getAffectedRoot'](_0x3758e8){let _0x8a32cb,_0x2cef06;switch(_0x3758e8['type']){case'insert':_0x8a32cb=_0x3758e8['position']['root'];break;case'marker':if(_0x2cef06=_0x3758e8['newRange'],!_0x2cef06)return null;_0x8a32cb=_0x2cef06['root'];break;case'addRootAttribute':_0x8a32cb=_0x3758e8['root'];break;case'addRoot':_0x8a32cb=_0x3758e8['affectedSelectable'];break;case'move':_0x8a32cb=_0x3758e8['targetPosition']['root'];break;default:return null;}return _0x8a32cb['rootName'];}['_updateServerHistory'](_0x5887fb){_0x5887fb['forEach'](_0x3b8429=>{const _0x354604=_0x3b8429['clone']();_0x354604['_authorId']=_0x3b8429['_authorId'],_0x354604['_isInit']=!!_0x3b8429['_isInit'],_0x354604['createdAt']=_0x3b8429['createdAt'],_0x354604['baseVersion']+=this['_offset'],_0x3b8429['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x354604),this['serverHistory']['addOperation'](_0x354604);});}['_handleReconnectionError'](_0x1ff3e1){const _0x22593a=this['editor']['plugins']['get']('Notification'),_0x4ae177=this['editor']['locale'];_0x1ff3e1||(_0x1ff3e1=X(_0x4ae177,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x22593a['showWarning'](_0x1ff3e1,{'title':X(_0x4ae177,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0xd9ea96)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xd9ea96)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5ca940){const _0x695fa3=_0x5ca940['map'](_0x2b30b2=>_0x2b30b2['toJSON']());return this['_compressor']['compress'](_0x695fa3);}['_decompressOperations'](_0x312944,_0x207290){return this['_compressor']['decompress'](_0x312944)['map']((_0xd6c219,_0x224f4c)=>{const _0x18feb4='init'==_0x207290[_0x224f4c]['type'];if('InsertOperation'==_0xd6c219['__className']){const _0xbe14a5=_0xd6c219['position']['root'];!this['_document']['getRoot'](_0xbe14a5)&&(this['_document']['createRoot']('$root',_0xbe14a5)['_isAttached']=!0x1);}const _0x7dcd3=_0x10370b['fromJSON'](_0xd6c219,this['_document']);return _0x7dcd3['wasUndone']=_0xd6c219['wasUndone'],_0x7dcd3['_isInit']=_0x18feb4,_0x7dcd3['_authorId']=_0x18feb4?null:_0x207290[_0x224f4c]['userId'],_0x7dcd3['_isDisconnection']='cs:removeUser'===_0x207290[_0x224f4c]['type'],_0x7dcd3['createdAt']=_0x207290[_0x224f4c]['createdAt'],_0x7dcd3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x7c3f50=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x7c3f50&&_0x7c3f50['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x42e3c0,_0x15ed94){for(const _0x288d54 of _0x42e3c0)_0x288d54['baseVersion']=_0x15ed94++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x30b15){this['_ignoredOperations']=_0x30b15,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41fcc0){let _0x519de5=_0x41fcc0['length'];for(;_0x519de5--;){const _0x3a07cd=_0x41fcc0[_0x519de5];if(!this['_ignoredOperations']['has'](_0x3a07cd)){if(!this['_operationToId']['has'](_0x3a07cd)){const _0x121d16=_0x243793()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3a07cd,_0x121d16);}return this['_operationToId']['get'](_0x3a07cd);}}}['setIdForTheLastOperation'](_0x5c84b0,_0xdb152d){if(!_0xdb152d)return;let _0x5de669=_0x5c84b0['length'];for(;_0x5de669--;){const _0x22317c=_0x5c84b0[_0x5de669];this['_ignoredOperations']['has'](_0x22317c)||this['_operationToId']['set'](_0x22317c,_0xdb152d);}}}class nt extends _0x539c3e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x5cca81{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x55b714)());['_services'];static get['requires'](){return[z,_0x5383ad,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27c7c6){super(_0x27c7c6),this['_services']=new Map();}async['init'](){const _0x402c86=this['context'],_0xa84af0=_0x402c86['plugins']['get'](_0x5383ad);if(_0x402c86['plugins']['get'](z)['addToReconnectionStack'](this),_0xa84af0['adapter']={'addCommentThread':async({channelId:_0xd5e818,threadId:_0x3d8126,comments:_0x5c13a8,resolvedAt:_0x46a8fd,resolvedBy:_0x1baf0f,context:_0x15aa1d,attributes:_0x1b29e6})=>{const _0x1291d4=await this['_getService'](_0xd5e818)['addCommentThread']({'commentThreadId':_0x3d8126,'comments':_0x5c13a8['map'](_0x54a1a0=>function(_0x32d5d9,_0x20c330,_0x2598cb){return{'commentThreadId':_0x2598cb,'commentId':_0x32d5d9['commentId'],'userId':_0x32d5d9['authorId'],'content':_0x32d5d9['content'],'documentId':_0x20c330,'createdAt':_0x32d5d9['createdAt'],'attributes':_0x32d5d9['attributes']||{}};}(_0x54a1a0,_0xd5e818,_0x3d8126)),'resolvedAt':_0x46a8fd,'resolvedBy':_0x1baf0f,'context':_0x15aa1d,'attributes':_0x1b29e6})['catch'](ct);return{'threadId':_0x1291d4['commentThreadId'],'comments':_0x1291d4['comments']};},'getCommentThread':async({channelId:_0x31ae82,threadId:_0x94777a})=>{const _0x340841=await this['_getService'](_0x31ae82)['getCommentThread'](_0x94777a)['catch'](rt)['catch'](ct);return _0x340841?_0x340841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x340841]),{'threadId':_0x340841['commentThreadId'],'comments':_0x340841['comments']['map'](at),'context':_0x340841['context'],'resolvedAt':_0x340841['resolvedAt'],'resolvedBy':_0x340841['resolvedBy'],'attributes':_0x340841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x25c821,threadId:_0x5795a8,context:_0x526c71,unlinkedAt:_0x15f264,attributes:_0x58671d})=>this['_getService'](_0x25c821)['updateCommentThread']({'commentThreadId':_0x5795a8,'context':_0x526c71,'attributes':_0x58671d,'unlinkedAt':_0x15f264})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xdefeb4,threadId:_0x4ee7d4})=>{const _0x43f6f7=await this['_getService'](_0xdefeb4)['resolveCommentThread'](_0x4ee7d4)['catch'](rt)['catch'](ct);return{'threadId':_0x43f6f7['commentThreadId'],'resolvedAt':_0x43f6f7['resolvedAt'],'resolvedBy':_0x43f6f7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x301b3c,threadId:_0x9463e})=>this['_getService'](_0x301b3c)['reopenCommentThread'](_0x9463e)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413ef2,threadId:_0x43bf8b})=>this['_getService'](_0x413ef2)['removeCommentThread'](_0x43bf8b)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x373364,threadId:_0x317781,commentId:_0x337519,content:_0x420e79,attributes:_0xf618ec})=>this['_getService'](_0x373364)['addComment'](_0x317781,_0x337519,_0x420e79,_0xf618ec)['catch'](ct),'updateComment':({channelId:_0x441d35,threadId:_0x5a376d,commentId:_0x625764,content:_0x576878,attributes:_0x23027b})=>this['_getService'](_0x441d35)['updateComment'](_0x5a376d,_0x625764,_0x576878,_0x23027b)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x135445,threadId:_0x54732d,commentId:_0x2dde49})=>this['_getService'](_0x135445)['removeComment'](_0x54732d,_0x2dde49)['catch'](rt)['catch'](ct)},_0x402c86 instanceof _0x285430){const _0x2ab922=_0x402c86['config']['get']('collaboration.channelId'),_0x460caa=_0x402c86['plugins']['get'](Y);await this['_setUpService'](_0x2ab922);const _0x72e775=await this['_services']['get'](_0x2ab922)['getConnectedSessions']();this['listenTo'](_0x460caa,'sessionAdd:'+_0x2ab922,(_0x2915d7,{session:_0xe4a4a8})=>{_0xe4a4a8['id']===_0x460caa['mySessionId']&&(_0x2915d7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xe4a4a8['permissions'],_0x2ab922));}),_0x460caa['register'](_0x2ab922,_0x72e775);}}async['_setUpService'](_0x2648db){if(this['_services']['has'](_0x2648db))throw new _0x2b1db2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2648db});const _0x412544=this['context']['plugins']['get'](_0x5383ad),_0x2d8c65=new ot['CommentsService'](_0x2648db);this['_services']['set'](_0x2648db,_0x2d8c65),this['listenTo'](_0x2d8c65,'commentThreadAdded',(_0x31dd29,_0x337bee)=>{const {commentThreadId:_0x1f5da1,documentId:_0xb50c55,context:_0x4e95e5,attributes:_0x3005a5,resolvedAt:_0x5af5f2,resolvedBy:_0x41d79e,comments:_0x19651b}=_0x337bee;_0x412544['getCommentThread'](_0x1f5da1)||_0x412544['addCommentThread']({'threadId':_0x1f5da1,'channelId':_0xb50c55,'comments':_0x19651b?_0x19651b['map'](at):[],'context':_0x4e95e5,'attributes':_0x3005a5,'resolvedAt':_0x5af5f2,'resolvedBy':_0x41d79e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadUpdated',(_0x585ff6,{commentThreadId:_0xb552be,documentId:_0x16e1a5,context:_0x451b9a,unlinkedAt:_0x2377e5,attributes:_0x334d4c})=>{_0x412544['getCommentThread'](_0xb552be)&&_0x412544['updateCommentThread']({'threadId':_0xb552be,'channelId':_0x16e1a5,'context':_0x451b9a,'unlinkedAt':_0x2377e5,'attributes':_0x334d4c,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadResolved',(_0x531f51,{commentThreadId:_0x2f13f2,resolvedBy:_0x251552,resolvedAt:_0x1b0574})=>{const _0x5f13b4=_0x412544['getCommentThread'](_0x2f13f2);_0x5f13b4&&_0x5f13b4['resolve']({'resolvedBy':_0x251552,'resolvedAt':_0x1b0574,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadReopened',(_0xbe81dc,{commentThreadId:_0x294b6f})=>{const _0xea5873=_0x412544['getCommentThread'](_0x294b6f);_0xea5873&&_0xea5873['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadRemoved',(_0x23d537,{commentThreadId:_0x38893e})=>{const _0x364394=_0x412544['getCommentThread'](_0x38893e);_0x364394&&_0x364394['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentAdded',(_0x43caab,_0x5e23a0)=>{const _0x284999=_0x5e23a0['commentThreadId'],_0x15048c=_0x412544['getCommentThread'](_0x284999);_0x15048c&&_0x15048c['addComment']({...at(_0x5e23a0),'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentUpdated',(_0x392ce7,{commentThreadId:_0x406b63,commentId:_0x4ae33a,content:_0x2e6761,attributes:_0x372523})=>{const _0x416b63=_0x412544['getCommentThread'](_0x406b63);if(_0x416b63){const _0x48bd7c=_0x416b63['getComment'](_0x4ae33a);_0x48bd7c&&_0x48bd7c['update']({'content':_0x2e6761,'attributes':_0x372523,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d8c65,'commentRemoved',(_0x5ad25a,{commentThreadId:_0x49c83b,commentId:_0x8cc84e})=>{const _0x461e8c=_0x412544['getCommentThread'](_0x49c83b);if(_0x461e8c){const _0x3eef99=_0x461e8c['getComment'](_0x8cc84e);_0x3eef99&&_0x3eef99['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2648db);}['destroy'](){if(this['context']instanceof _0x285430){const _0x4f241b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4f241b);}}['_terminateService'](_0x13afc1){if(!this['_services']['has'](_0x13afc1))throw new _0x2b1db2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x13afc1});this['_getService'](_0x13afc1)['disconnect'](),this['_services']['delete'](_0x13afc1);}async['reconnect'](){for(const _0x4fa1c6 of this['_services']['keys']())await this['_connectService'](_0x4fa1c6);if(this['context']instanceof _0x285430){const _0x4120fd=this['context']['config']['get']('collaboration.channelId'),_0x8d775f=this['context']['plugins']['get'](Y);_0x8d775f['unregister'](_0x4120fd);const _0x27b028=await this['_services']['get'](_0x4120fd)['getConnectedSessions']();_0x8d775f['register'](_0x4120fd,_0x27b028);}}async['_connectService'](_0x21d34e){const {connection:_0x4c0971}=this['context']['plugins']['get'](z),_0x4349a1=this['context']['plugins']['get'](_0x5383ad),_0x31c901=this['_services']['get'](_0x21d34e),_0x1be2dd=await _0x31c901['connect'](_0x4c0971);await this['_fetchMissingUsersForThreads'](_0x1be2dd);const _0x340da6=new Set(Array['from'](_0x4349a1['getCommentThreads']({'channelId':_0x21d34e}),_0x4988c0=>_0x4988c0['id']));for(const _0x1caecd of _0x1be2dd)_0x1caecd['deletedAt']||_0x340da6['delete'](_0x1caecd['commentThreadId']);for(const _0x259aa7 of _0x340da6)_0x4349a1['getCommentThread'](_0x259aa7)['remove']({'isFromAdapter':!0x0});for(const _0x5580d1 of _0x1be2dd){let _0x21d313=_0x4349a1['getCommentThread'](_0x5580d1['commentThreadId']);const {commentThreadId:_0x230a11,context:_0x2448c0,attributes:_0x5639fa,resolvedBy:_0x2754e2,resolvedAt:_0x84852f,unlinkedAt:_0x243b7c,deletedAt:_0x256647}=_0x5580d1;if(_0x256647)continue;_0x21d313||(_0x21d313=_0x4349a1['addCommentThread']({'channelId':_0x21d34e,'threadId':_0x230a11,'context':_0x2448c0,'attributes':_0x5639fa||{},'resolvedBy':_0x2754e2,'resolvedAt':_0x84852f,'unlinkedAt':_0x243b7c,'isFromAdapter':!0x0}));const _0x1f2492=new Set(Array['from'](_0x21d313['comments'],_0x55a59d=>_0x55a59d['id']));for(const _0x23cc9f of _0x5580d1['comments'])_0x1f2492['delete'](_0x23cc9f['commentId']);for(const _0x55b717 of _0x1f2492)_0x21d313['getComment'](_0x55b717)['remove']({'isFromAdapter':!0x0});for(const _0x4f1647 of _0x5580d1['comments']){const _0x4904b9=_0x21d313['getComment'](_0x4f1647['commentId']);_0x4904b9?_0x4904b9['content']!==_0x4f1647['content']&&_0x4904b9['update']({'content':_0x4f1647['content'],'isFromAdapter':!0x0}):_0x21d313['addComment'](Object['assign'](at(_0x4f1647),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1f32e0){if(!this['_services']['has'](_0x1f32e0))throw new _0x2b1db2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1f32e0});return this['_services']['get'](_0x1f32e0);}async['_fetchMissingUsersForThreads'](_0x37a912){const _0x4e23f3=this['context']['plugins']['get'](_0x15d62c),{connection:_0x1d9361}=this['context']['plugins']['get'](z),_0x5045c8=new Set();for(const {resolvedBy:_0x36f96a,comments:_0x2dd5d9}of _0x37a912){_0x36f96a&&!_0x4e23f3['getUser'](_0x36f96a)&&_0x5045c8['add'](_0x36f96a);for(const {userId:_0x31ced6}of _0x2dd5d9)_0x4e23f3['getUser'](_0x31ced6)||_0x5045c8['add'](_0x31ced6);}if(0x0===_0x5045c8['size'])return;const _0x2c1f37=await _0x1ca5f7['getMany'](_0x1d9361,Array['from'](_0x5045c8));for(const _0x1b78ac of _0x2c1f37)_0x4e23f3['getUser'](_0x1b78ac['id'])||_0x4e23f3['addUser'](_0x1b78ac);}}async function rt(_0x4638dd){if('404'!==_0x4638dd['code'])throw _0x4638dd;}function ct(_0x35c777){if((_0x23c953=_0x35c777)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x23c953;throw _0x35c777;}function at(_0x225330){return{'threadId':_0x225330['commentThreadId'],'commentId':_0x225330['commentId'],'content':_0x225330['content'],'createdAt':_0x225330['createdAt'],'authorId':_0x225330['userId'],'attributes':_0x225330['attributes']||{}};}class ht extends _0x539c3e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x1c8aeb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x45a080,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2cd0a2){super(_0x2cd0a2);const _0x1d9323=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x1d9323);}['init'](){const _0x2aba71=this['editor']['plugins']['get'](z),_0x19cc5c=this['editor']['plugins']['get'](_0x45a080);return _0x19cc5c['adapter']={'getSuggestion':async _0x4e39d9=>{await this['_waitForServiceReady']();const _0x12002f=await this['_trackChangesService']['get'](_0x4e39d9)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x12002f]),_0x12002f;},'addSuggestion':async({id:_0x39ffa1,type:_0x338111,data:_0x37b3bf,originalSuggestionId:_0x32b72f,attributes:_0x196f12})=>{await this['_waitForServiceReady']();const _0x13af7b={'id':_0x39ffa1,'type':_0x338111,'data':_0x37b3bf,'originalSuggestionId':_0x32b72f,'attributes':_0x196f12},_0x3d027a=await this['_trackChangesService']['add'](_0x39ffa1,_0x338111,_0x37b3bf,_0x32b72f,_0x196f12)['catch'](_0x546283=>{if(dt(_0x546283))return new Promise(_0x21f342=>{this['_bufferedRequests']['set'](_0x39ffa1,{'resolve':_0x21f342,'suggestionData':_0x13af7b});});throw _0x546283;});return this['_bufferedRequests']['delete'](_0x39ffa1),_0x3d027a;},'updateSuggestion':async(_0x21c188,_0x5e869b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5e869b['state'])return this['_trackChangesService']['update'](_0x21c188,_0x5e869b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x30ed82,_0xfc64f0)=>{_0x19cc5c['hasSuggestion'](_0xfc64f0['id'])&&(_0x19cc5c['getSuggestion'](_0xfc64f0['id'])['attributes']=_0xfc64f0['attributes']);}),this['_trackChangesService']['connect'](_0x2aba71['connection'])['then'](_0xd2f0e0=>(_0x2aba71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd2f0e0)['then'](()=>{for(const _0x20406f of _0xd2f0e0){_0x19cc5c['addSuggestionData'](_0x20406f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3a7cc8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x219efc}=this['editor']['plugins']['get'](z),_0x466a65=await this['_trackChangesService']['connect'](_0x219efc);await this['_fetchMissingUsersForThreads'](_0x466a65);for(const {suggestionData:_0xbc1385,resolve:_0x28eda5}of this['_bufferedRequests']['values']()){let _0x682f4f=_0x466a65['find'](_0x2af48c=>_0x2af48c['id']===_0xbc1385['id']);_0x682f4f||(_0x682f4f=await this['_trackChangesService']['add'](_0xbc1385['id'],_0xbc1385['type'],_0xbc1385['data'],_0xbc1385['originalSuggestionId'])),_0x28eda5(_0x682f4f);}for(const _0x4f6dc9 of _0x466a65)_0x3a7cc8['hasSuggestion'](_0x4f6dc9['id'])||_0x3a7cc8['addSuggestionData'](_0x4f6dc9);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x59363a=>{this['listenTo'](this['_trackChangesService'],'connected',_0xac67c9=>{_0xac67c9['off'](),_0x59363a();});});}async['_fetchMissingUsersForThreads'](_0x29d938){const _0x397055=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x185d31}=this['editor']['plugins']['get'](z),_0x48f62f=new Set();for(const {authorId:_0x50b2d1}of _0x29d938)_0x397055['getUser'](_0x50b2d1)||_0x48f62f['add'](_0x50b2d1);if(0x0===_0x48f62f['size'])return;const _0x2754ce=await _0x1ca5f7['getMany'](_0x185d31,Array['from'](_0x48f62f));for(const _0x3c6087 of _0x2754ce)_0x397055['getUser'](_0x3c6087['id'])||_0x397055['addUser'](_0x3c6087);}}function lt(_0x42335c){if(dt(_0x42335c))return new Promise(()=>{});throw _0x42335c;}function dt(_0x3eeb1e){return _0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x539c3e{static get['requires'](){return[_0x403d11,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xa2bd91=this['editor']['plugins']['get'](z),_0xfc184d=this['editor']['plugins']['get'](_0x37e082),_0x405c16=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xa2bd91,'change:state',(_0x151251,_0x5e24b6,_0x366a81)=>{_0xfc184d['isThreadsLoadingPaused']='connected'!==_0x366a81;});}),this['listenTo'](_0xa2bd91,'change:state',(_0x43d43c,_0x2025bb,_0x425dcf)=>{this['editor']['plugins']['get'](_0x5383ad)['switchReadOnly']('connected'!==_0x425dcf);}),_0x405c16['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x539c3e{static get['requires'](){return[ut,ht,_0x527e70];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x539c3e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x44cd6b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x40c931,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x6a17fc){super(_0x6a17fc);const _0x1d3513=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1d3513);}async['init'](){const _0x2dd0ae=this['editor']['plugins']['get'](tt),_0x4b8b1a=_0x2dd0ae['serverHistory'],_0x3cb8e7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4b8b1a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2dd0ae['sessionId']});const _0x7ce184=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d,_0x17577d=await _0x553943['isBundleUploaded'](_0x3cb8e7['connection'],_0x7ce184);this['editor']['plugins']['get'](_0x40c931)['adapter']={'getRevision':async({revisionId:_0x20a806})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x20a806)),'updateRevisions':async _0x5a31fa=>{await this['_waitForServiceReady']();const _0x33bd4e=this['_revisionTracker']['currentRevision'];if(_0x17577d&&0x1===_0x5a31fa['length']&&_0x5a31fa[0x0]['id']===_0x33bd4e['id'])return _0x5a31fa;for(const _0x534ca3 of _0x5a31fa)_0x534ca3['id']===_0x33bd4e['id']&&(_0x534ca3['isEmptyCurrent']=_0x534ca3['fromVersion']===_0x534ca3['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a31fa,this['_lastRequestId'])['then'](_0x5da16f=>(this['_lastRequestId']=_0x5da16f,_0x5a31fa))['catch'](_0x236ca9=>{if(pt(_0x236ca9)||'400'===_0x236ca9['code']&&void 0x0!==_0x236ca9['data']['wrongRequestId']){for(const _0x842250 of _0x5a31fa){!this['_revisionTracker']['repository']['getRevision'](_0x842250['id'])||this['_revisionTracker']['_bufferUpdate'](_0x842250['id'],_0x842250,!0x1);}if(pt(_0x236ca9)&&'destroyed'!==this['editor']['state'])throw _0x236ca9;return _0x5a31fa;}throw _0x236ca9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xfe70f6,{revisionsData:_0x56e8d6,requestId:_0xec025e})=>{Math['max'](..._0x56e8d6['map'](_0x43f917=>_0x43f917['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);}):this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);});const {revisions:_0x1b8156,requestId:_0x492231}=await this['_revisionHistoryService']['connect'](_0x3cb8e7['connection']);_0x3cb8e7['addToReconnectionStack'](this),this['_lastRequestId']=_0x492231,await this['_fetchMissingUsers'](_0x1b8156);for(const _0x2ff806 of _0x1b8156)this['_revisionTracker']['addRevisionData'](_0x2ff806);this['listenTo'](_0x2dd0ae,'change:_isConnected',(_0x35a34a,_0x122f5f,_0x26879d)=>{_0x26879d&&(this['_oldOffset']=_0x2dd0ae['_offset'],_0x35a34a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3cb8e7,'state',_0x2fe627=>_0x2fe627===_0xf9333a['CONNECTED']);}async['reconnect'](){const _0x2e45c6=this['editor']['plugins']['get'](z),_0x536ec3=this['editor']['plugins']['get'](tt),_0x252c5a=async()=>{const _0xcac4d5=this['_revisionTracker']['currentRevision'],_0x34f1f9=_0xcac4d5['id'],_0x122d55=_0x34f1f9!==_0x536ec3['sessionId'];if(_0x122d55){const _0x476c6b=_0x536ec3['_offset']-this['_oldOffset'],_0x13a66d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xcac4d5['toVersion']+_0x476c6b!==_0x13a66d){const _0x2091df=_0xcac4d5['fromVersion']+_0x476c6b,_0x36567b=this['editor']['plugins']['get'](_0x15d62c),_0x87dd=this['_revisionTracker']['buildRevisionData']({'revision':_0xcac4d5,'from':_0x2091df,'to':_0x13a66d});_0x87dd['id']=_0xcac4d5['id'];const _0x5d4833=_0x87dd['authorsIds']['map'](_0x322b68=>_0x36567b['getUser'](_0x322b68));_0xcac4d5['_update']({..._0x87dd,'authors':_0x5d4833},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xcac4d5['id'],_0x87dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x13a66d,(_0xcac4d5['toVersion']===_0xcac4d5['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x34f1f9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x34f1f9),this['_revisionTracker']['_createCurrentRevision'](_0x13a66d));}const {revisions:_0x42aaf8,requestId:_0x52668b}=await this['_revisionHistoryService']['reconnect'](_0x2e45c6['connection'],this['_lastRequestId']);_0x122d55&&_0x42aaf8['length']>0x0?_0x536ec3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42aaf8),this['_handleRevisionsUpdate'](_0x42aaf8,_0x52668b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x536ec3['_isConnected']?_0x252c5a():new Promise((_0x34d13a,_0x313c03)=>{_0x536ec3['once']('change:_isConnected',()=>{_0x252c5a()['then'](_0x34d13a)['catch'](_0x313c03);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4bb135=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x43d87e=>{_0x43d87e['off'](),_0x4bb135();});});}['_getLatestVersionFromServerOperations'](){const _0x160295=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1e8a1f of _0x160295)if('marker'!==_0x1e8a1f['type']||_0x1e8a1f['affectsData'])return _0x1e8a1f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x17c5b1=this['editor']['plugins']['get'](tt);return new Promise(_0x2a2f20=>{_0x17c5b1['_isPendingUpdate']?_0x17c5b1['once']('change:_isPendingUpdate',()=>{_0x2a2f20(this['_getLatestVersionFromServerOperations']());}):_0x2a2f20(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3d63c2,_0x463206){const _0x3b359f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x463206;for(const _0xc5d19f of _0x3d63c2){const _0xf958d7=_0x3b359f['getRevision'](_0xc5d19f['id']);if(_0xf958d7){if((_0xc5d19f['fromVersion']||_0xc5d19f['toVersion'])&&(_0xc5d19f['diffData']=null),_0xf958d7===this['_revisionTracker']['currentRevision']){const _0x196fe0=Math['max'](_0xf958d7['toVersion'],_0xc5d19f['toVersion']),_0x57bc7=Math['max'](_0xf958d7['fromVersion'],_0xc5d19f['fromVersion']);let _0x461b82;_0xf958d7['toVersion']===_0xc5d19f['toVersion']&&_0xf958d7['fromVersion']===_0xc5d19f['fromVersion']?(_0x461b82=!0x0,this['_preventResendingRevisionData'](_0xc5d19f)):_0xc5d19f['toVersion']===_0x196fe0&&_0xc5d19f['fromVersion']===_0x57bc7?_0x461b82=!0x1:(_0xf958d7['toVersion']===_0x196fe0&&_0xf958d7['fromVersion']===_0x57bc7||this['_fixRevision']({'revision':_0xf958d7,'from':_0x57bc7,'to':_0x196fe0}),_0x461b82=!0x0),_0x461b82&&(delete _0xc5d19f['fromVersion'],delete _0xc5d19f['toVersion'],delete _0xc5d19f['diffData'],delete _0xc5d19f['createdAt'],delete _0xc5d19f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc5d19f),this['_preventResendingRevisionData'](_0xc5d19f);}else this['_revisionTracker']['addRevisionData'](_0xc5d19f);}const _0x4ea790=_0x3b359f['getRevisions']();_0x4ea790['reverse']();for(let _0x239e6d=0x0;_0x239e6d<_0x4ea790['length']-0x1;_0x239e6d++){const _0x403fdc=_0x4ea790[_0x239e6d],_0x478d5c=_0x4ea790[_0x239e6d+0x1];if(_0x403fdc['fromVersion']<_0x478d5c['toVersion']){const _0x21d3cf=_0x478d5c['toVersion'],_0x5afe04=Math['max'](_0x21d3cf,_0x403fdc['toVersion']);this['_fixRevision']({'revision':_0x403fdc,'from':_0x21d3cf,'to':_0x5afe04});}}}['_fixRevision']({revision:_0x5046ff,from:_0x17c5ad,to:_0x3d80ab}={}){const _0x3348a7=this['editor']['plugins']['get'](_0x15d62c),_0x45969b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5046ff,'from':_0x17c5ad,'to':_0x3d80ab});_0x45969b['authors']=_0x45969b['authorsIds']['map'](_0x4efcc9=>_0x3348a7['getUser'](_0x4efcc9)),_0x5046ff['_update'](_0x45969b);}['_preventResendingRevisionData'](_0x120880){const _0x39af6d={};_0x39af6d['id']=_0x120880['id'];for(const _0x45c482 of Object['keys'](_0x120880))'id'!==_0x45c482&&(_0x39af6d[_0x45c482]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x39af6d['id'],_0x39af6d,!0x0);}async['_fetchMissingUsers'](_0x1f21a2){const _0x3268c6=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x16072a}=this['editor']['plugins']['get'](z),_0x50d1b2=new Set();for(const _0x1d8db0 of _0x1f21a2){for(const _0x5c2f63 of _0x1d8db0['authorsIds'])_0x28b8bb(_0x5c2f63);_0x1d8db0['creatorId']&&_0x28b8bb(_0x1d8db0['creatorId']);}if(0x0===_0x50d1b2['size'])return;const _0x577bf1=await _0x1ca5f7['getMany'](_0x16072a,Array['from'](_0x50d1b2));for(const _0x405065 of _0x577bf1)_0x3268c6['getUser'](_0x405065['id'])||_0x3268c6['addUser'](_0x405065);function _0x28b8bb(_0x2dbbee){_0x3268c6['getUser'](_0x2dbbee)||_0x50d1b2['add'](_0x2dbbee);}}}function pt(_0x521e9e){return _0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x539c3e{static get['requires'](){return[_0x40c931,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0xaa5d78{['_collapseAt'];constructor(_0x509c97,_0x38e32b=0x6){super(_0x509c97);const _0x19520b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x38e32b,this['bind']('isHidden')['to'](this,'usersCount',_0x2036fb=>_0x2036fb<_0x38e32b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19520b['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x19520b['to']('usersCount',_0x597e8c=>'+'+(_0x597e8c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0xaa5d78{['items'];['keystrokes'];constructor(_0x17e884){super(_0x17e884);const _0x390496=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x473501(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x390496['if']('hasPopup'),'aria-expanded':_0x390496['to']('isExpanded',_0x260420=>this['hasPopup']&&String(_0x260420)),'aria-label':_0x390496['to']('hasPopup',_0x26326c=>X(_0x17e884,_0x26326c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x390496['to']('hasPopup',_0x290c86=>!!_0x290c86&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x390496['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x390496['to'](_0x39c96c=>{const _0x3eba79=_0x39c96c,_0x4cc264=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1a899d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4cc264?.['contains'](_0x3eba79['relatedTarget'])||_0x1a899d?.['contains'](_0x3eba79['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x58a3df,_0x675cb6,_0x4aef65)=>{this['element']&&(_0x4aef65?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0xaa5d78{['counterView'];['inlineListView'];constructor(_0x597b7b,_0x57d6d9=0x6){super(_0x597b7b);const _0x3fde1b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x57d6d9),this['inlineListView']=new vt(_0x597b7b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x43ef46 of this['inlineListView']['items'])_0x43ef46['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x3fde1b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0xaa5d78{['listWrapperView'];constructor(_0x577822,_0xe2fe95){super(_0x577822);const _0x539ad4=this['bindTemplate'];this['listWrapperView']=new bt(_0x577822,_0xe2fe95),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x577822,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x539ad4['to'](_0x25c88c=>{const _0x424d49=_0x25c88c,_0x435cc2=document['querySelector']('.ck-presence-list__list'),_0x585323=document['querySelector']('.ck-balloon-panel_with-arrow');_0x435cc2?.['contains'](_0x424d49['relatedTarget'])||_0x585323?.['contains'](_0x424d49['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x44faf1{constructor(_0x407d5a,_0x23ba3d){super(_0x407d5a);const _0x2ff51b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x23ba3d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2ff51b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2ff51b['to']('role'),'aria-label':_0x2ff51b['to']('ariaLabel'),'aria-labelledby':_0x2ff51b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3feea9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc34036=this['element'];_0xc34036&&(this['_isScrollable']=Math['max'](_0xc34036['scrollHeight'],_0xc34036['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x4a4ec4{['userView'];constructor(_0x1eac99,_0x5210cc,_0x4967de){super(_0x1eac99);const _0x187e2c=this['bindTemplate'];this['userView']=new _0x31b224(_0x1eac99,_0x5210cc);const _0xed7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5210cc['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5210cc['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5210cc['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5210cc['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5210cc['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4967de&&(_0xed7885['tag']='button',_0xed7885['on']={'click':_0x187e2c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xed7885);}['focus'](){this['element']['focus']();}}class It extends _0xaa5d78{['userView'];['markerView'];constructor(_0x5c9432,_0x42b9f5,_0x43cbbf){super(_0x5c9432);const _0x431f72=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x31b224(_0x5c9432,_0x42b9f5),this['markerView']=new St(_0x5c9432,_0x42b9f5);const _0x3770a7=new _0x169be3(_0x5c9432);_0x3770a7['template']['tag']='span',_0x3770a7['text']=_0x42b9f5['name'];const _0x831aab={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x431f72['to']('isFocusable',_0x3eb3a9=>!!_0x3eb3a9&&0x0),'aria-labelledby':_0x3770a7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x431f72['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x431f72['to']('hasTooltip',_0x11dccf=>!_0x11dccf),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3770a7]};_0x43cbbf&&(_0x831aab['tag']='button',_0x831aab['on']={'click':_0x431f72['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x831aab);}}class St extends _0xaa5d78{constructor(_0x4404e6,_0x1108b3){super(_0x4404e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1108b3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1108b3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1108b3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x5cca81{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e32a0){super(_0x4e32a0),this['context']['config']['define']('presenceList',Tt);const _0x27b9bd=_0x4e32a0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x27b9bd)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);if(_0x27b9bd<0x1)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x442047(),this['balloonPanelView']=new _0x1723fd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x50b6f0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x50b6f0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5c05b2,_0x11e7f3)=>{this['_handleUserAdd'](_0x11e7f3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x404cd2,_0x48b1a0)=>{this['_handleUserRemove'](_0x48b1a0);});}['_createView'](){const _0x42e1f7=this['context'],_0x498a07=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49fed5=this['balloonPanelView'];if(!_0x573df8(_0x42e1f7['config']['get']('presenceList.container')))throw new _0x2b1db2('presencelist-missing-container',this);return _0x498a07['counterView']['bind']('usersCount')['to'](this),_0x498a07['bind']('isCollapsed')['to'](this,'usersCount',_0x2532dc=>{const {collapseAt:_0x51c34d}=_0x42e1f7['config']['get']('presenceList'),_0x189484=_0x2532dc>=_0x51c34d;if(_0x189484&&!_0x498a07['inlineListView']['items']['find'](_0x46d1df=>_0x46d1df instanceof wt)){const _0x1eff08=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1eff08&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x498a07['inlineListView']['items']['add'](_0x498a07['counterView']);}return _0x189484||this['hideDropdown'](),_0x189484;}),_0x498a07['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2026e8=>{const _0x1985b2=_0x42e1f7['config']['get']('presenceList'),_0x56ec7a=new It(_0x42e1f7['locale'],_0x2026e8,!!_0x1985b2['onClick']);return _0x56ec7a['bind']('hasTooltip')['to'](_0x498a07,'isCollapsed',_0x54fd10=>!_0x54fd10),_0x56ec7a['bind']('isFocusable')['to'](_0x498a07,'isCollapsed',_0x1465f0=>!_0x1465f0),_0x1985b2['onClick']&&this['listenTo'](_0x56ec7a,'execute',()=>{this['view']['isCollapsed']||_0x1985b2['onClick'](_0x2026e8,_0x56ec7a['element']);}),_0x56ec7a;}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x498a07['inlineListView']['keystrokes']['set']('Enter',(_0x5184b3,_0x273bb6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x273bb6());}),_0x498a07['render'](),_0x49fed5['render'](),_0x13b972({'emitter':_0x498a07,'activator':()=>_0x49fed5['isVisible'],'contextElements':[_0x49fed5['element'],_0x498a07['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42e1f7['config']['get']('presenceList.container')['appendChild'](_0x498a07['element']),this['_bodyCollection']=new _0x25513e(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x498a07;}['_handleUserAdd'](_0x276e47){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x276e47['isMe'])return;const _0xa5dc5e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa5dc5e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5c145c=_0x276e47['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x276e47,_0x5c145c);}['_handleUserRemove'](_0x1616da){this['usersCount']--;const {collapseAt:_0x5661b2}=this['context']['config']['get']('presenceList'),_0xa3a8a9=this['usersCount']>=_0x5661b2;if(this['currentDisplayedUsers']['get'](_0x1616da['id']))this['currentDisplayedUsers']['remove'](_0x1616da['id']);else{if(_0xa3a8a9&&this['currentDisplayedUsers']['length']+0x1===_0x5661b2-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)<this['usersCount']){for(const _0x5cdf3b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5cdf3b['id'])&&(this['currentDisplayedUsers']['add'](_0x5cdf3b,Math['min'](this['currentDisplayedUsers']['length']-(_0xa3a8a9?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)===_0x5661b2-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x318c9c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x318c9c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41bdb3}=this['presenceDropdownView'];_0x41bdb3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5a9e46=>{if(!_0x318c9c['displayMe']&&_0x5a9e46['isMe'])return null;const _0x37bb77=new kt(this['context']['locale'],_0x5a9e46,!!_0x318c9c['onClick']);return _0x318c9c['onClick']&&this['listenTo'](_0x37bb77,'execute',()=>{_0x318c9c['onClick'](_0x5a9e46,_0x37bb77['element']);}),_0x37bb77;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41bdb3['focus'](),_0x41bdb3['checkIfScrollable']();const _0x345d57=(_0x147032,_0x5523e7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5523e7();};_0x41bdb3['keystrokes']['set']('Esc',_0x345d57),_0x41bdb3['keystrokes']['set']('Shift+Tab',_0x345d57),_0x41bdb3['keystrokes']['set']('Tab',(_0x1433a0,_0x1a4bd2)=>{!function(_0x1e38d8){const _0x5a399a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2c0592=>_0x2c0592+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10c3e7=[...document['body']['querySelectorAll'](_0x5a399a)]['filter'](_0x50c4cc=>_0x50c4cc===document['activeElement']||_0x50c4cc['offsetWidth']+_0x50c4cc['offsetHeight']>0x0)['sort']((_0x2ed92c,_0x540a5c)=>(_0x2ed92c['tabIndex']||0x0)-(_0x540a5c['tabIndex']||0x0)),_0x5058a2=_0x10c3e7['indexOf'](_0x1e38d8),_0x389450=_0x10c3e7[(_0x5058a2+0x1)%_0x10c3e7['length']];_0x389450&&_0x389450['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1a4bd2();}),_0x41bdb3['focusTracker']['add'](this['view']['element']),_0x41bdb3['focusTracker']['on']('change:isFocused',(_0xa888dc,_0x2db752,_0x4580ea)=>{_0x4580ea||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x5cca81{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0x1b9cff,Plugin as _0x25acfb,PendingActions as _0x31943e,Context as _0x35a8e1}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3daabf,CKEditorError as _0x146074,Collection as _0x340917,global as _0x248dd9,version as _0x429b78,uid as _0x2f36df,KeystrokeHandler as _0x39c4bd}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x532a35,View as _0x1aa21a,ListView as _0x6e06a0,ListItemView as _0x9a4d5e,LabelView as _0x52e315,BalloonPanelView as _0x30020e,clickOutsideHandler as _0x1b7bff,BodyCollection as _0x31aa2b}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5d0016,History as _0xb0b44f,NoOperation as _0x5ea7c9,InsertOperation as _0x10dd3e,MarkerOperation as _0x40006b,RootAttributeOperation as _0x411e94,transformOperationSets as _0x325962,OperationFactory as _0x44417e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x162121}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x38b55b,WEB_SOCKET_GATEWAY_STATES as _0x4e17ce,CollaborativeEditingService as _0x2cf64e,User as _0x3383d3,CommentsService as _0x476c1f,TrackChangesService as _0x277557,RevisionHistoryService as _0x524689,EditorService as _0x548b3a}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x3e9224,UserView as _0xb6d3d9}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x41afd4}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x27f4c9,TrackChanges as _0x22209a}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x33588d,Comments as _0x257b99,CommentsEditing as _0x58c2be}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x547c0a}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0xecfd2a}from'es-toolkit/compat';class WebSocketGateway extends _0x1b9cff{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x38b55b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x162121,_0x532a35];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14bba5){super(_0x14bba5),this['set']('state',_0x4e17ce['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3daabf())();}['init'](){const _0x4d14d8=this['context'],_0x429829=_0x4d14d8['plugins']['get'](_0x162121),_0x2ac04c=_0x4d14d8['plugins']['get'](_0x532a35);if(!_0x429829['token'])throw new _0x146074('websocketgateway-missing-token',this);if(!_0x429829['webSocketUrl'])throw new _0x146074('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x429829['token'],_0x429829['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x391952=>{if(this['connection']=_0x391952,this['bind']('state')['to'](_0x391952,'state',this,'_isBrowserOffline',(_0x361914,_0x2f4a41)=>('connected'!==_0x361914&&(this['_shouldPluginsReconnect']=!0x0),_0x2f4a41||_0x361914!==_0x4e17ce['CONNECTED']?_0x4e17ce['DISCONNECTED']:this['state']==_0x4e17ce['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4e17ce['CONNECTING']):_0x4e17ce['CONNECTED'])),this['connection']['on']('error',(_0x2855ec,_0x1c0ff7)=>{if('limitExceeded'!==_0x1c0ff7['code'])throw console['error'](_0x1c0ff7),new _0x146074('cloudservices-init',null,{'originalError':_0x1c0ff7});_0x2ac04c['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'});}),!_0x391952['me'])return new Promise(_0x299c39=>_0x391952['on']('change:me',_0x299c39));})['catch'](_0xa2723b=>{throw console['error'](_0xa2723b),new _0x146074('cloudservices-init',null,{'originalError':_0xa2723b});});}['addToReconnectionStack'](_0x1ea049){if('function'!=typeof _0x1ea049['reconnect'])throw new _0x146074('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1ea049))throw new _0x146074('websocketgateway-plugin-already-registered',this,{'name':_0x1ea049['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1ea049);}['removeFromReconnectionStack'](_0x5e8d8c){this['_reconnectionStack']['delete'](_0x5e8d8c);}['isInReconnectionStack'](_0x195352){return this['_reconnectionStack']['has'](_0x195352);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4e12cf=>_0x4e12cf['reconnect']())))['then'](()=>this['state']=_0x4e17ce['CONNECTED'])['catch'](_0x75db37=>{throw console['error'](_0x75db37),new _0x146074('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4e17ce['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Sessions extends _0x1b9cff{['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[WebSocketGateway,_0x3e9224];}constructor(_0x1e08b9){super(_0x1e08b9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x340917(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3e9224);}['init'](){const _0x2ca04c=this['context']['plugins']['get'](WebSocketGateway);this['listenTo'](_0x2ca04c,'change:state',(_0x1ec655,_0x4ed08a,_0x18a927)=>{if('connected'!==_0x18a927)this['channelSessions']['forEach'](_0x372c72=>_0x372c72['clear']()),this['channelConnectedUsers']['forEach'](_0x417c1a=>_0x417c1a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x17c5b8,_0x353fcf]of this['_registeredSessions'])for(const _0x1a5374 of _0x353fcf)this['_handleSessionAdd'](_0x17c5b8,_0x1a5374);}}),this['_createUser'](_0x2ca04c['connection']['me'],!0x0);}['register'](_0x577280,_0xf6e01){if(this['_registeredSessions']['has'](_0x577280))throw new _0x146074('sessions-register-already-registered',null,{'channelId':_0x577280});this['_registeredSessions']['set'](_0x577280,_0xf6e01),this['channelSessions']['set'](_0x577280,new _0x340917()),this['channelConnectedUsers']['set'](_0x577280,new _0x340917()),this['listenTo'](_0xf6e01,'add',(_0x53a7e0,_0xcb8861)=>this['_handleSessionAdd'](_0x577280,_0xcb8861)),this['listenTo'](_0xf6e01,'remove',(_0x4afd8a,_0x1b2703)=>this['_handleSessionRemove'](_0x577280,_0x1b2703));for(const _0xc0262c of _0xf6e01)this['_handleSessionAdd'](_0x577280,_0xc0262c);}['unregister'](_0x869e36){if(!this['_registeredSessions']['has'](_0x869e36))throw new _0x146074('sessions-unregister-not-exist',null,{'channelId':_0x869e36});const _0xb493df=this['_registeredSessions']['get'](_0x869e36);this['stopListening'](_0xb493df);for(const _0x201a20 of _0xb493df)'connected'===this['context']['plugins']['get'](WebSocketGateway)['state']&&this['_handleSessionRemove'](_0x869e36,_0x201a20);this['_registeredSessions']['delete'](_0x869e36),this['channelSessions']['delete'](_0x869e36),this['channelConnectedUsers']['delete'](_0x869e36);}get['mySessionId'](){return this['context']['plugins']['get'](WebSocketGateway)['connection']['sessionId'];}['getUserBySessionId'](_0x2d6edc){for(const _0x130710 of this['channelSessions']['values']())for(const _0x598c0d of _0x130710)if(_0x598c0d['id']===_0x2d6edc)return _0x598c0d['user'];}['getUserSessions'](_0x766f00,_0x354b28){const _0x18bed8=_0x354b28?[this['channelSessions']['get'](_0x354b28)]:this['channelSessions']['values'](),_0x39d9bf=new Set();for(const _0x5335e1 of _0x18bed8)for(const _0x2bb8e3 of _0x5335e1)_0x2bb8e3['user']['id']===_0x766f00['id']&&_0x39d9bf['add'](_0x2bb8e3['id']);return _0x39d9bf;}['getUserRole'](_0x1b9de6){for(const _0x2ef450 of this['channelSessions']['values']())for(const _0x38f0bd of _0x2ef450)if(_0x38f0bd['user']===_0x1b9de6)return _0x38f0bd['role'];}['_handleSessionAdd'](_0x179593,_0x1d4d8a){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x1429cc=_0x1d4d8a['user'],_0x23063d=this['_users']['getUser'](_0x1429cc['id'])||this['_createUser'](_0x1429cc),_0x24fc96=Object['assign']({},_0x1d4d8a,{'user':_0x23063d});if(this['channelSessions']['get'](_0x179593)['add'](_0x24fc96),!_0x1429cc['hiddenInPresenceList']){const _0x2e0f46=this['channelConnectedUsers']['get'](_0x179593);_0x2e0f46['has'](_0x23063d['id'])||_0x2e0f46['add'](_0x23063d),this['allConnectedUsers']['has'](_0x23063d['id'])||_0x1429cc['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x23063d,_0x23063d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x179593,{'channelId':_0x179593,'session':_0x24fc96});}['_handleSessionRemove'](_0x2e49af,_0x230126){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x25068f=this['channelConnectedUsers']['get'](_0x2e49af),_0x3bce15=_0x230126['user'];_0x3bce15['id']&&(this['channelSessions']['get'](_0x2e49af)['remove'](_0x230126['id']),_0x25068f['has'](_0x3bce15['id'])&&!this['getUserSessions'](_0x3bce15,_0x2e49af)['size']&&_0x25068f['remove'](_0x3bce15['id']),this['allConnectedUsers']['get'](_0x3bce15['id'])&&!this['getUserSessions'](_0x3bce15)['size']&&this['allConnectedUsers']['remove'](_0x3bce15['id']));}['_createUser'](_0x4fa32d,_0x3c9496){const _0x4dff0f=this['_users']['addUser'](_0x4fa32d);return _0x3c9496&&this['_users']['defineMe'](_0x4fa32d['id']),_0x4dff0f['orderNumber']=this['_uniqueUsersCount']++,_0x4dff0f;}}class UserMarkers extends _0x25acfb{['_domEmitter']=new(_0x3daabf())();static get['requires'](){return[Sessions];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1c744e=this['editor'],_0x17f8ec=_0x1c744e['plugins']['get'](Sessions);_0x1c744e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x110bf1,{writer:_0x4fca7b})=>function(_0x435555,_0x22e618,_0x5590b8,_0x56a491){const _0x1308e8=_0x435555['markerName']['split'](':')[0x2],_0x12cc05=_0x5590b8['getUserBySessionId'](_0x1308e8);if(!_0x12cc05||_0x1308e8===_0x5590b8['mySessionId'])return;if(!_0x56a491['model']['schema']['checkChild'](_0x435555['markerRange']['start'],'$text'))return;const _0x191944={'class':'ck-user__marker\x20'+_0x12cc05['color']['getMarkerClass'](),'style':Y(_0x12cc05),'data-name':_0x12cc05['name'],'data-session-id':_0x1308e8},_0x1250de=_0x56a491['model']['markers']['get'](_0x435555['markerName']),_0x9eb81e=_0x1250de['getStart'](),_0x251116=_0x9eb81e['nodeAfter'],_0x34f2b9=_0x56a491['model']['schema'];if(_0x251116&&_0x34f2b9['isObject'](_0x251116)&&_0x34f2b9['isInline'](_0x251116)&&!_0x56a491['model']['markers']['get']('user:range:'+_0x1308e8)['getRange']()['isCollapsed'])return;const _0x4cd3f3=_0x9eb81e['parent'];return _0x56a491['model']['schema']['isLimit'](_0x4cd3f3)&&!_0x56a491['model']['hasContent'](_0x4cd3f3)&&(_0x191944['contenteditable']=!0x1),function(_0x50d7fc,_0x213b72,_0xea48ec){const _0x588475=_0x50d7fc['createUIElement']('span',_0x213b72);return _0x50d7fc['setCustomProperty']('userPositionMarker',!0x0,_0x588475),_0x588475['render']=function(_0x17ae13){const _0x56fa49=this['toDomElement'](_0x17ae13),_0x540e92=document['createElement']('span');return _0x540e92['classList']['add']('ck-user__marker-tooltip'),_0x540e92['setAttribute']('contenteditable','false'),_0x540e92['setAttribute']('spellcheck','false'),_0x540e92['textContent']=_0xea48ec['name'],_0x56fa49['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x540e92['outerHTML']+'⁠',_0x56fa49['addEventListener']('mouseenter',()=>{_0x56fa49['classList']['add']('ck-user__marker_hovered');}),_0x56fa49['addEventListener']('mouseleave',()=>{_0x56fa49['classList']['remove']('ck-user__marker_hovered');}),_0x56fa49;},_0x588475['isSimilar']=function(_0xbbe249){return!(!this['getCustomProperty']('userPositionMarker')||!_0xbbe249['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xbbe249['getAttribute']('data-session-id'));},_0x588475;}(_0x22e618,_0x191944,_0x12cc05);}(_0x110bf1,_0x4fca7b,_0x17f8ec,_0x1c744e)}),_0x1c744e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2fcd16=>function(_0x3a8068,_0x1cc68c){const _0x5a3777=_0x3a8068['markerName']['split'](':')[0x2];if(_0x5a3777===_0x1cc68c['mySessionId'])return null;const _0x41dbf7=_0x1cc68c['getUserBySessionId'](_0x5a3777);if(!_0x41dbf7)return{'id':_0x5a3777,'classes':[]};return{'id':_0x5a3777,'classes':['ck-user__selection',_0x41dbf7['color']['getSelectionClass']()],'attributes':{'style':Y(_0x41dbf7),'data-session-id':_0x5a3777},'priority':0x7d0+_0x41dbf7['orderNumber']};}(_0x2fcd16,_0x17f8ec)}),function(_0x55468f){const _0x35fd94=_0x55468f['model'],_0x4192e2=new Map(),_0x1ebad6=_0x55468f['plugins']['get'](Sessions);_0x35fd94['markers']['on']('update:user:range',(_0x5038fb,_0x2ed3a4,_0x51d79f,_0xc4419e)=>{if(!_0xc4419e&&_0x4192e2['get'](_0x2ed3a4['name']))return _0x4192e2['get'](_0x2ed3a4['name'])['detach'](),void _0x4192e2['delete'](_0x2ed3a4['name']);const _0x47d06e=_0x2ed3a4['name']['split'](':')[0x2];if(_0x47d06e===_0x1ebad6['mySessionId'])return;const _0x36d155='user:position:'+_0x47d06e;_0x35fd94['markers']['has'](_0x36d155)&&_0x55468f['editing']['reconvertMarker'](_0x36d155),_0x2ed3a4['on']('change:range',(_0x3a5cb4,_0xdea481,_0x25d880)=>{if('$graveyard'!=_0xdea481['root']['rootName']&&'$graveyard'==_0x2ed3a4['getRange']()['root']['rootName']&&!_0x4192e2['has'](_0x2ed3a4['name'])){const _0x269c14=_0x35fd94['schema']['getNearestSelectionRange'](_0x25d880['deletionPosition']);if(_0x269c14){const _0x17dac3=_0x5d0016['fromRange'](_0x269c14);_0x4192e2['set'](_0x2ed3a4['name'],_0x17dac3),_0x17dac3['on']('change:range',(_0x58f15e,_0x4f0b0c,_0x22a73c)=>{if('$graveyard'==_0x17dac3['root']['rootName']){const _0x1cf256=_0x35fd94['schema']['getNearestSelectionRange'](_0x22a73c['deletionPosition']);_0x1cf256?(_0x17dac3['start']=_0x1cf256['start'],_0x17dac3['end']=_0x1cf256['end']):(_0x4192e2['delete'](_0x2ed3a4['name']),_0x17dac3['detach']());}});}}});}),_0x35fd94['document']['on']('change',()=>{_0x4192e2['size']>0x0&&_0x35fd94['enqueueChange']({'isUndoable':!0x1},_0x3a393c=>{for(const [_0x2e22ff,_0x8e7abd]of _0x4192e2)'$graveyard'==_0x35fd94['markers']['get'](_0x2e22ff)['getRange']()['root']['rootName']&&(z(_0x2e22ff['split'](':')[0x2],_0x8e7abd['toRange'](),_0x35fd94,_0x3a393c),_0x8e7abd['detach']());_0x4192e2['clear']();});});}(_0x1c744e),this['_domEmitter']['listenTo'](_0x248dd9['document'],'keydown',(_0x5db12d,{key:_0x1d2e63})=>{'Escape'===_0x1d2e63&&function(_0x394511){_0x394511['editing']['view']['change'](_0x327a79=>{for(const _0x5c2e1c of _0x394511['model']['markers']){if(!_0x5c2e1c['name']['startsWith']('user:position'))continue;const _0x296c41=_0x394511['editing']['mapper']['markerNameToElements'](_0x5c2e1c['name']);if(_0x296c41){for(const _0x58150b of _0x296c41)_0x327a79['removeClass']('ck-user__marker_hovered',_0x58150b);}}});}(_0x1c744e);},{'useCapture':!0x0});}['afterInit'](){const _0x3c7656=this['editor'],_0x468305=_0x3c7656['commands']['get']('undo');_0x468305&&_0x3c7656['model']['on']('applyOperation',(_0x43fcf0,_0x16dd51)=>{const _0x305a65=_0x16dd51[0x0];if(!_0x305a65['isDocumentOperation'])return;if('marker'!=_0x305a65['type']||!_0x305a65['name']['startsWith']('user:'))return;const _0x466ec2=_0x305a65['batch'];_0x468305['_createdBatches']['has'](_0x466ec2)&&(_0x305a65['newRange']=_0x305a65['oldRange']?_0x3c7656['model']['createRange'](_0x305a65['oldRange']['start'],_0x305a65['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c3d2d=this['editor'],_0x5d6ef7=_0x1c3d2d['model']['document'],_0x589626=_0x1c3d2d['plugins']['get'](Sessions);_0x1c3d2d['model']['enqueueChange']({'isUndoable':!0x1},_0x17bdc=>{const _0x49fa24='user:range:'+_0x589626['mySessionId'],_0x25c6d3='user:position:'+_0x589626['mySessionId'],_0x29de2a=_0x1c3d2d['model']['markers']['has'](_0x49fa24);_0x1c3d2d['editing']['view']['hasDomSelection']?z(_0x589626['mySessionId'],_0x5d6ef7['selection']['getFirstRange'](),_0x1c3d2d['model'],_0x17bdc):_0x29de2a&&(_0x17bdc['removeMarker'](_0x49fa24),_0x17bdc['removeMarker'](_0x25c6d3));});}}function z(_0x3c0f6e,_0x20112b,_0x1b4e78,_0x30fa75){const _0x9d9b5d='user:range:'+_0x3c0f6e,_0x43baa1='user:position:'+_0x3c0f6e,_0x32ce0e=_0x20112b['getContainedElement']();let _0x2e5be0=_0x20112b['start'];if(_0x32ce0e&&_0x32ce0e['is']('element','tableCell')){const _0x54faf1=function(_0x47fc28,_0xabfdf7){for(const _0x165e8d of _0x47fc28['getPositions']())if(_0xabfdf7['schema']['checkChild'](_0x165e8d,'$text'))return _0x165e8d;}(_0x20112b,_0x1b4e78);_0x54faf1&&(_0x2e5be0=_0x54faf1,_0x20112b=_0x30fa75['createRange'](_0x2e5be0));}const _0x37a96d=_0x30fa75['createRange'](_0x2e5be0);_0x1b4e78['markers']['has'](_0x9d9b5d)?(_0x30fa75['updateMarker'](_0x9d9b5d,{'range':_0x20112b}),_0x30fa75['updateMarker'](_0x43baa1,{'range':_0x37a96d})):(_0x30fa75['addMarker'](_0x9d9b5d,{'range':_0x20112b,'usingOperation':!0x0}),_0x30fa75['addMarker'](_0x43baa1,{'range':_0x37a96d,'usingOperation':!0x0}));}function Y(_0x1160b1){return'--ck-user-color:'+_0x1160b1['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1160b1['color']['getColorAlphaVariable']()+';';}function K(_0x524bec,_0x3ed2cd,_0x25243d){const _0x142560=_0x524bec['t'],t=_0x524bec['t'];switch(_0x3ed2cd){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 _0x142560({'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'},_0x25243d);default:return'';}}let J=0x1;class RealTimeCollaborationClient extends _0x25acfb{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x2cf64e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[WebSocketGateway,Sessions,UserMarkers,_0x31943e,_0x3e9224,_0x532a35];}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 _0x3409a7=this['serverHistory']['getOperations']();for(let _0x3ed423=_0x3409a7['length']-0x1;_0x3ed423>=0x0;_0x3ed423--){const _0x1928ee=_0x3409a7[_0x3ed423];if(!this['_disconnectionOperations']['has'](_0x1928ee))return _0x1928ee['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1c90e7){if(super(_0x1c90e7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xb0b44f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x146074('collaboration-missing-channelid',this);const _0x456fc5=_0x1c90e7['config']['get']('cloudServices.bundleVersion')||_0x429b78;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x456fc5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x41afd4(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x295fca=this['editor'],_0x29e352=_0x295fca['plugins']['get'](_0x3e9224),_0x6feeac=_0x295fca['plugins']['get'](WebSocketGateway);this['listenTo'](_0x29e352,'getOperationAuthor',(_0x2fdad6,_0x540be5)=>{const _0x5a0498=_0x540be5[0x0];_0x5a0498['_authorId']&&(_0x2fdad6['return']=_0x29e352['getUser'](_0x5a0498['_authorId']),_0x2fdad6['stop']()),null===_0x5a0498['_authorId']&&(_0x2fdad6['return']=null,_0x2fdad6['stop']());},{'priority':'high'}),this['listenTo'](_0x295fca['model']['document']['selection'],'change:range',(_0x46da0d,_0x2598c1)=>{_0x2598c1['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x295fca['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x295fca['model']['on']('applyOperation',(_0x4fabd1,_0x593575)=>{const _0x35c339=_0x593575[0x0];_0x35c339['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x35c339),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x6feeac,'state',this,'_hasSynchronizationProblem',(_0x30e6ff,_0x1aa68c)=>'connected'===_0x30e6ff&&!_0x1aa68c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x295fca['disableReadOnlyMode']('rtc-offline'):_0x295fca['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x295fca['disableReadOnlyMode']('rtc-offline'):_0x295fca['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5db02f=this['editor']['plugins']['get'](Sessions),_0x4a5c88=this['editor']['plugins']['get'](WebSocketGateway);try{this['_isPendingUpdate']=!0x0,_0x5db02f['unregister'](this['_channelId']);const _0x3ca5cc=await this['_service']['reconnect'](_0x4a5c88['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3ca5cc)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1142e3=await this['_service']['getConnectedSessions']();_0x5db02f['register'](this['_channelId'],_0x1142e3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2abfe7){if(function(_0x2c399e){return'404'===_0x2c399e['code'];}(_0x2abfe7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xfcd4f){return'409'===_0xfcd4f['code'];}(_0x2abfe7)){const _0x178c3f=K(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'](_0x178c3f);}else{if(!(_0x2abfe7 instanceof ReconnectionError))throw _0x2abfe7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3d6ac9=this['editor']['plugins']['get'](WebSocketGateway),_0x46d7aa=this['editor']['plugins']['get'](Sessions);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x46d7aa['channelSessions']['has'](this['_channelId'])&&_0x46d7aa['unregister'](this['_channelId']),_0x3d6ac9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5e7fa5){if(this['sessionId']!==_0x5e7fa5['sessionId']&&this['_lastSyncedOperationId']!==_0x5e7fa5['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x5e7fa5['sessionId'],this['_handleServerResponse']([],{..._0x5e7fa5,'wereChangesApplied':!0x1,'data':_0x5e7fa5['data']},'reconnect');}async['_connectService'](_0x222de6,_0x552094=!0x1){const {connection:_0x1b9b90}=this['editor']['plugins']['get'](WebSocketGateway);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1b9b90,this['_channelId'])['then'](_0x330465=>this['_initSessionsHandling'](_0x330465))['catch'](_0x5c5986=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5c5986);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x23e7f0,_0x122fe0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x122fe0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3761d7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x222de6);this['_isPendingUpdate']=!0x0;const _0x3bb3d8=await this['_service']['connect'](_0x1b9b90,this['_compressOperations'](_0x222de6),_0x3761d7);if(this['sessionId']=_0x3bb3d8['sessionId'],_0x552094){if(!_0x3bb3d8['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3bb3d8['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x222de6,_0x3bb3d8,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3bb3d8,_0x222de6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x35024d=this['editor']['plugins']['get'](Sessions),_0x534157=this['editor']['plugins']['get'](UserMarkers),_0x4aa9b2=_0x35024d['channelSessions']['get'](this['_channelId']);_0x4aa9b2&&_0x4aa9b2['length']>0x1?_0x534157['createUserMarkerOperations']():this['listenTo'](_0x35024d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x35024d['channelSessions']['get'](this['_channelId'])['length']&&_0x534157['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x129e92,_0x530153,_0x95609,_0x145836){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x530153){const _0x1fcc73=this['_decompressOperations'](_0x95609,_0x145836);await this['_fetchMissingUsers'](_0x1fcc73),this['_handleExternalOperations'](_0x1fcc73,_0x530153,_0x95609['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x564161}=this['editor'];let _0x4ece56;try{_0x4ece56=await this['_service']['getDocumentDetails']();}catch{const _0x964b98=K(_0x564161,'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'](_0x964b98);}const _0x526cf9=_0x4ece56['currentDocumentSession']||_0x4ece56['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x526cf9['lastOperationId']){const _0x12a8ea=K(_0x564161,'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'](_0x12a8ea);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xfefdf1){const _0x256c47=this['editor']['plugins']['get'](Sessions);this['listenTo'](_0x256c47,'sessionAdd:'+this['_channelId'],(_0x155916,{session:_0x58fc9f})=>{if(_0x58fc9f['id']===_0x256c47['mySessionId']){_0x155916['off']();const _0x2c68c2=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2d1049=_0x58fc9f['permissions'];_0x2c68c2&&_0x2c68c2['isEnabled']&&(_0x2d1049=_0x2d1049['filter'](_0x1cb5ba=>'document:write'!==_0x1cb5ba)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2d1049,this['_channelId']);}}),_0x256c47['register'](this['_channelId'],_0xfefdf1);}['_initThrowingOnDataSet'](){const _0x2ef210=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x31ca1c)=>{if(!_0x31ca1c[_0x31ca1c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x146074('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2ef210['apply'](this['editor']['data'],_0x31ca1c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3bca1d,[_0x409118])=>{if(this['_document']['version'])throw new _0x146074('realtimecollaborationclient-init-document-already-initialized',this);_0x3bca1d['stop'](),this['_setPendingAction']();const _0x23ea78=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1fbf61])=>!_0x1fbf61['lazyLoad'])['map'](([_0x2469e4,_0x13d6b4])=>[_0x2469e4,_0x13d6b4['modelAttributes']||{}])),_0x2e2b15=this['_getOperationsFromInitData'](_0x409118,_0x23ea78);0x0==_0x2e2b15['length']&&_0x2e2b15['push'](new _0x5ea7c9(0x0)),_0x3bca1d['return']=this['_connectService'](_0x2e2b15)['then'](()=>{this['editor']['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x28956d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x28956d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x57bf82,[_0x5e66b2,_0x2d0a69])=>{_0x57bf82['stop']();const _0x5cac3d=this['editor']['model']['document']['getRoot'](_0x5e66b2);if(!this['_knownRootNames']['has'](_0x5e66b2)){const _0x110af5=_0x2d0a69&&_0x2d0a69['data']?_0x2d0a69['data']:'',_0x26c064=_0x2d0a69&&_0x2d0a69['attributes']?_0x2d0a69['attributes']:{};await this['_loadRoot'](_0x5e66b2,_0x110af5,_0x26c064);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5cac3d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5cac3d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x17bb91){const _0x41f9a9=this['editor']['plugins']['get'](_0x3e9224),{connection:_0x52163a}=this['editor']['plugins']['get'](WebSocketGateway),_0x2ce6f6=new Set();for(const _0x7fa9 of _0x17bb91){const _0x2db2e1=_0x7fa9['_authorId'];_0x2db2e1&&!_0x41f9a9['getUser'](_0x2db2e1)&&_0x2ce6f6['add'](_0x2db2e1);}if(0x0===_0x2ce6f6['size'])return;const _0x554c2e=await _0x3383d3['getMany'](_0x52163a,Array['from'](_0x2ce6f6));for(const _0x230bab of _0x554c2e)_0x41f9a9['getUser'](_0x230bab['id'])||_0x41f9a9['addUser'](_0x230bab);}['_getOperationsFromInitData'](_0x3349fa,_0x496afa={}){const _0x4a543a=this['editor']['model'],_0x4ece16=[];let _0x1375af=0x0;const _0x114998='string'==typeof _0x3349fa?{'main':_0x3349fa}:_0x3349fa;for(const _0x3df09f of Object['keys'](_0x114998)){if(!this['_document']['roots']['has'](_0x3df09f))throw new _0x146074('realtimecollaborationclient-init-non-existent-root',this);const _0x5d49e5=this['editor']['data']['parse'](_0x114998[_0x3df09f]),_0x53f242=this['_document']['getRoot'](_0x3df09f),_0x4b9802=new _0x10dd3e(_0x4a543a['createPositionAt'](_0x53f242,0x0),_0x5d49e5,_0x1375af++);_0x4ece16['push'](_0x4b9802);for(const [_0x482cd1,_0x2be80d]of _0x5d49e5['markers']){const _0x3c3b0a=_0x4a543a['createRange'](_0x4a543a['createPositionFromPath'](_0x53f242,_0x2be80d['start']['path']['slice']()),_0x4a543a['createPositionFromPath'](_0x53f242,_0x2be80d['end']['path']['slice']())),_0x123a05=new _0x40006b(_0x482cd1,null,_0x3c3b0a,_0x4a543a['markers'],!0x0,_0x1375af++);_0x4ece16['push'](_0x123a05);}}if(_0x496afa)for(const [_0x3d3696,_0x17b135]of Object['entries'](_0x496afa)){const _0x8af1cd=_0x4a543a['document']['getRoot'](_0x3d3696);if(!_0x8af1cd)throw new _0x146074('multi-root-editor-root-attributes-no-root',null);for(const [_0x1fa0ff,_0x5efa23]of Object['entries'](_0x17b135))if(null!==_0x5efa23){const _0x4bcb46=new _0x411e94(_0x8af1cd,_0x1fa0ff,null,_0x5efa23,_0x1375af++);_0x4ece16['push'](_0x4bcb46);}}return _0x4ece16;}async['_loadRoot'](_0x38e74c,_0x39c8b3,_0x48245b){this['_getOperationsFromInitData']({[_0x38e74c]:_0x39c8b3},{[_0x38e74c]:_0x48245b})['forEach']((_0x14f1f1,_0x457912)=>{_0x14f1f1['baseVersion']=this['_document']['version']+_0x457912,_0x14f1f1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x14f1f1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3683d0,_0x2ff763){let _0x652b1b;this['_offset']=_0x3683d0['offset'];const _0x313ff0=_0x3683d0['wereChangesApplied']&&!_0x3683d0['initData'],_0x374655=_0x313ff0?0x0:_0x3683d0['data']['baseVersion'];if(_0x2ff763['forEach'](_0x248a23=>{_0x248a23['_isInit']=!0x0,_0x248a23['createdAt']=_0x3683d0['sessionCreatedAt'],_0x248a23['_authorId']=null;}),_0x313ff0)_0x652b1b=_0x2ff763,this['_applyOperationsSet'](_0x652b1b,_0x313ff0);else{if(_0x3683d0['initData']){const _0x3726cf=this['_getOperationsFromInitData'](_0x3683d0['initData']);this['_document']['history']['version']=-_0x3726cf['length'],_0x3726cf['forEach'](_0xf3ca1f=>{_0xf3ca1f['baseVersion']-=_0x3726cf['length'],_0xf3ca1f['createdAt']=_0x3683d0['sessionCreatedAt'],_0xf3ca1f['_isInit']=!0x0,_0xf3ca1f['_authorId']=null;}),this['_applyOperationsSet'](_0x3726cf,!0x0),this['serverHistory']['version']=-_0x3726cf['length']+this['_offset'],this['_updateServerHistory'](_0x3726cf);}this['_document']['history']['version']=_0x374655,_0x652b1b=this['_decompressOperations'](_0x3683d0['data'],_0x3683d0['metadata']),await this['_fetchMissingUsers'](_0x652b1b),this['_applyOperationsSet'](_0x652b1b,_0x313ff0);}_0x3683d0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x652b1b,_0x3683d0['lastOperationId']),this['_lastSyncedOperationId']=_0x3683d0['lastOperationId']),this['serverHistory']['version']=_0x374655+this['_offset'],this['_updateServerHistory'](_0x652b1b),_0x2ff763['filter'](_0x4901e9=>{const _0xa36c7a=this['_getAffectedRoot'](_0x4901e9);return _0xa36c7a&&!this['_knownRootNames']['has'](_0xa36c7a);})['forEach']((_0x163b4a,_0x52fd9b)=>{_0x163b4a['baseVersion']=this['_document']['version']+_0x52fd9b,this['_saveOperationInBuffer'](_0x163b4a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1707ec,_0x41bb27){const _0x3051e3=_0x41bb27&&_0x41bb27['message'];if(_0x3051e3&&_0x3051e3['startsWith']('realtimecollaborationclient'))throw _0x41bb27;const _0x44c659=this['editor']['plugins']['get'](WebSocketGateway);throw this['_isPendingUpdate']=!0x0,_0x44c659['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x146074(_0x1707ec,this['editor'],_0x3051e3?{'originalError':_0x3051e3}:void 0x0);}['_saveOperationInBuffer'](_0x545d50){this['_knownOperations']['has'](_0x545d50)||(this['_knownOperations']['add'](_0x545d50),this['_bufferedOperations']['push'](_0x545d50),this['_pendingAction']||'marker'==_0x545d50['type']&&!_0x545d50['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x153bcf=!0x1){!_0x153bcf&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x34c599=>{_0x34c599&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x525539=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x44cce5){return _0x44cce5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x44cce5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x44cce5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x525539)||this['_crash'](_0x525539['message'],_0x525539);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5a89e8=>{this['on']('change:_isPendingUpdate',()=>{_0x5a89e8();});});}async['_sendBufferedOperations'](){const _0x79cb55=this['editor']['plugins']['get'](UserMarkers);if(this['_shouldSendSelectionUpdate']()&&(_0x79cb55['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4e6a2a=[...this['_bufferedOperations']];for(const _0x28b098 of _0x4e6a2a)_0x28b098['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x28b098);const _0x4237e8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4e6a2a),_0x5b06a1=J++,_0x1e51ff=this['_compressOperations'](_0x4e6a2a),_0x42196b=await this['_service']['sendOperations'](_0x1e51ff,_0x1e51ff['baseVersion'],_0x4237e8);try{return await this['_handleServerResponse'](_0x4e6a2a,_0x42196b,_0x5b06a1);}catch(_0x20d090){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x20d090);}}async['_handleServerResponse'](_0x1d9651,_0x2871c0,_0x30f470){if('error'in _0x2871c0)throw _0x2871c0['error'];let _0x1f37f3=!0x1;if(_0x2871c0['wereChangesApplied']){_0x2871c0['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2871c0['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4b26ce=>!_0x1d9651['includes'](_0x4b26ce));for(const _0x2b2643 of _0x1d9651)_0x2b2643['createdAt']='lastOperationAcceptedAt'in _0x2871c0&&_0x2871c0['lastOperationAcceptedAt']||void 0x0;Q(_0x1d9651,_0x2871c0['version']-_0x1d9651['length']),this['_updateServerHistory'](_0x1d9651);const _0x205575=_0x1d9651['filter'](_0x1eee4b=>{if(!_0x1eee4b['_isInit'])return!0x1;const _0x494dfb=this['_getAffectedRoot'](_0x1eee4b);return _0x494dfb&&!this['_knownRootNames']['has'](_0x494dfb);});Q(_0x205575,this['_document']['version']),this['_applyOperationsSet'](_0x205575),_0x1f37f3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x476070=this['_decompressOperations'](_0x2871c0['data'],_0x2871c0['metadata'])['filter'](_0xac0aac=>_0xac0aac['baseVersion']>=this['_lastServerVersion']);_0x476070['forEach'](_0x2c790c=>this['_addKnownRoot'](_0x2c790c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x299d69=>!_0x299d69['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x299d69))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x476070),_0x1f37f3=this['_handleExternalOperations'](_0x476070,_0x2871c0['version'],_0x2871c0['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f37f3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1f7d49,_0x1008b3,_0x29b543){try{const _0x475489={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x21c66e,operationsB:_0x491164,originalOperations:_0x46fab3}=_0x325962(_0x1f7d49,this['_bufferedOperations'],_0x475489);Q(_0x21c66e,this['_document']['version']),Q(_0x491164,_0x1008b3);for(const _0x291c98 of _0x21c66e){const _0x4d9a70=_0x46fab3['get'](_0x291c98);_0x291c98['_authorId']=_0x4d9a70?_0x4d9a70['_authorId']:null;}_0x29b543&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f7d49,_0x29b543),this['_lastSyncedOperationId']=_0x29b543),this['_bufferedOperations']=[..._0x491164],this['_applyOperationsSet'](_0x21c66e),this['_updateServerHistory'](_0x1f7d49);}catch(_0x3295c1){return console['error'](_0x3295c1),!0x1;}return!0x0;}['_applyOperationsSet'](_0x22d622,_0x36e994=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x55d6b5=>{for(const _0x2a0917 of _0x22d622)this['_knownOperations']['add'](_0x2a0917),this['_addKnownRoot'](_0x2a0917),_0x55d6b5['batch']['addOperation'](_0x2a0917),this['editor']['model']['applyOperation'](_0x2a0917);});}['_addKnownRoot'](_0x35de3f){const _0x4edd40=this['_getAffectedRoot'](_0x35de3f);_0x4edd40&&this['_knownRootNames']['add'](_0x4edd40);}['_getAffectedRoot'](_0xb3351f){let _0x2ae70c,_0x3c70b0;switch(_0xb3351f['type']){case'insert':_0x2ae70c=_0xb3351f['position']['root'];break;case'marker':if(_0x3c70b0=_0xb3351f['newRange'],!_0x3c70b0)return null;_0x2ae70c=_0x3c70b0['root'];break;case'addRootAttribute':_0x2ae70c=_0xb3351f['root'];break;case'addRoot':_0x2ae70c=_0xb3351f['affectedSelectable'];break;case'move':_0x2ae70c=_0xb3351f['targetPosition']['root'];break;default:return null;}return _0x2ae70c['rootName'];}['_updateServerHistory'](_0x2ba994){_0x2ba994['forEach'](_0x474aa2=>{const _0x1d2930=_0x474aa2['clone']();_0x1d2930['_authorId']=_0x474aa2['_authorId'],_0x1d2930['_isInit']=!!_0x474aa2['_isInit'],_0x1d2930['createdAt']=_0x474aa2['createdAt'],_0x1d2930['baseVersion']+=this['_offset'],_0x474aa2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1d2930),this['serverHistory']['addOperation'](_0x1d2930);});}['_handleReconnectionError'](_0x690d1f){const _0x3a9d53=this['editor']['plugins']['get']('Notification'),_0x4a30e4=this['editor']['locale'];_0x690d1f||(_0x690d1f=K(_0x4a30e4,'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.')),_0x3a9d53['showWarning'](_0x690d1f,{'title':K(_0x4a30e4,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](WebSocketGateway)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x31943e)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x31943e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x296904){const _0x5eef7f=_0x296904['map'](_0x2bbd42=>_0x2bbd42['toJSON']());return this['_compressor']['compress'](_0x5eef7f);}['_decompressOperations'](_0x50aa8f,_0x51bcb3){return this['_compressor']['decompress'](_0x50aa8f)['map']((_0x46893a,_0x41f355)=>{const _0x5e7f98='init'==_0x51bcb3[_0x41f355]['type'];if('InsertOperation'==_0x46893a['__className']){const _0x43d373=_0x46893a['position']['root'];!this['_document']['getRoot'](_0x43d373)&&(this['_document']['createRoot']('$root',_0x43d373)['_isAttached']=!0x1);}const _0x39c333=_0x44417e['fromJSON'](_0x46893a,this['_document']);return _0x39c333['wasUndone']=_0x46893a['wasUndone'],_0x39c333['_isInit']=_0x5e7f98,_0x39c333['_authorId']=_0x5e7f98?null:_0x51bcb3[_0x41f355]['userId'],_0x39c333['_isDisconnection']='cs:removeUser'===_0x51bcb3[_0x41f355]['type'],_0x39c333['createdAt']=_0x51bcb3[_0x41f355]['createdAt'],_0x39c333;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x14c80a=this['editor']['plugins']['get'](Sessions)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x14c80a&&_0x14c80a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function Q(_0x22f9fb,_0xc8390c){for(const _0x3878af of _0x22f9fb)_0x3878af['baseVersion']=_0xc8390c++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x4f71b5){this['_ignoredOperations']=_0x4f71b5,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x37ca51){let _0x3405e0=_0x37ca51['length'];for(;_0x3405e0--;){const _0x4c14a4=_0x37ca51[_0x3405e0];if(!this['_ignoredOperations']['has'](_0x4c14a4)){if(!this['_operationToId']['has'](_0x4c14a4)){const _0x41e90b=_0x2f36df()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4c14a4,_0x41e90b);}return this['_operationToId']['get'](_0x4c14a4);}}}['setIdForTheLastOperation'](_0x34818f,_0x13b2d4){if(!_0x13b2d4)return;let _0xfaa36f=_0x34818f['length'];for(;_0xfaa36f--;){const _0x2b9d58=_0x34818f[_0xfaa36f];this['_ignoredOperations']['has'](_0x2b9d58)||this['_operationToId']['set'](_0x2b9d58,_0x13b2d4);}}}class RealTimeCollaborativeEditing extends _0x25acfb{static get['requires'](){return[RealTimeCollaborationClient];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesCommentsAdapter extends _0x1b9cff{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x476c1f)());['_services'];static get['requires'](){return[WebSocketGateway,_0x33588d,Sessions,_0x3e9224];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31d85e){super(_0x31d85e),this['_services']=new Map();}async['init'](){const _0x9ff1f4=this['context'],_0x2427c6=_0x9ff1f4['plugins']['get'](_0x33588d);if(_0x9ff1f4['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),_0x2427c6['adapter']={'addCommentThread':async({channelId:_0x3169cb,threadId:_0x280f7d,comments:_0x3dbd8b,resolvedAt:_0x169fb3,resolvedBy:_0x3724bd,context:_0x243f65,attributes:_0xe06c9f})=>{const _0x9f744=await this['_getService'](_0x3169cb)['addCommentThread']({'commentThreadId':_0x280f7d,'comments':_0x3dbd8b['map'](_0x1c3e01=>function(_0x24faa9,_0x1d6894,_0x533bec){return{'commentThreadId':_0x533bec,'commentId':_0x24faa9['commentId'],'userId':_0x24faa9['authorId'],'content':_0x24faa9['content'],'documentId':_0x1d6894,'createdAt':_0x24faa9['createdAt'],'attributes':_0x24faa9['attributes']||{}};}(_0x1c3e01,_0x3169cb,_0x280f7d)),'resolvedAt':_0x169fb3,'resolvedBy':_0x3724bd,'context':_0x243f65,'attributes':_0xe06c9f})['catch'](Z);return{'threadId':_0x9f744['commentThreadId'],'comments':_0x9f744['comments']};},'getCommentThread':async({channelId:_0x5df763,threadId:_0x3ea4f5})=>{const _0xa1316e=await this['_getService'](_0x5df763)['getCommentThread'](_0x3ea4f5)['catch'](X)['catch'](Z);return _0xa1316e?_0xa1316e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xa1316e]),{'threadId':_0xa1316e['commentThreadId'],'comments':_0xa1316e['comments']['map'](tt),'context':_0xa1316e['context'],'resolvedAt':_0xa1316e['resolvedAt'],'resolvedBy':_0xa1316e['resolvedBy'],'attributes':_0xa1316e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x54c7d9,threadId:_0x521538,context:_0x894c19,unlinkedAt:_0x51447b,attributes:_0x53035b})=>this['_getService'](_0x54c7d9)['updateCommentThread']({'commentThreadId':_0x521538,'context':_0x894c19,'attributes':_0x53035b,'unlinkedAt':_0x51447b})['catch'](X)['catch'](Z),'resolveCommentThread':async({channelId:_0x341d79,threadId:_0x54cfa4})=>{const _0xa13a0e=await this['_getService'](_0x341d79)['resolveCommentThread'](_0x54cfa4)['catch'](X)['catch'](Z);return{'threadId':_0xa13a0e['commentThreadId'],'resolvedAt':_0xa13a0e['resolvedAt'],'resolvedBy':_0xa13a0e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5d7c97,threadId:_0x3936fb})=>this['_getService'](_0x5d7c97)['reopenCommentThread'](_0x3936fb)['catch'](X)['catch'](Z),'removeCommentThread':({channelId:_0x18fc10,threadId:_0x491325})=>this['_getService'](_0x18fc10)['removeCommentThread'](_0x491325)['catch'](X)['catch'](Z),'addComment':({channelId:_0x3c5ad0,threadId:_0x44237e,commentId:_0x413bdd,content:_0x222c31,attributes:_0x5a5614})=>this['_getService'](_0x3c5ad0)['addComment'](_0x44237e,_0x413bdd,_0x222c31,_0x5a5614)['catch'](Z),'updateComment':({channelId:_0xc9077f,threadId:_0x3ce6e7,commentId:_0x2e7e06,content:_0x41d9fc,attributes:_0x1510d7})=>this['_getService'](_0xc9077f)['updateComment'](_0x3ce6e7,_0x2e7e06,_0x41d9fc,_0x1510d7)['catch'](X)['catch'](Z),'removeComment':({channelId:_0x118f7b,threadId:_0x5926e0,commentId:_0x11103d})=>this['_getService'](_0x118f7b)['removeComment'](_0x5926e0,_0x11103d)['catch'](X)['catch'](Z)},_0x9ff1f4 instanceof _0x35a8e1){const _0x11c02d=_0x9ff1f4['config']['get']('collaboration.channelId'),_0x11c64c=_0x9ff1f4['plugins']['get'](Sessions);await this['_setUpService'](_0x11c02d);const _0x1f60c9=await this['_services']['get'](_0x11c02d)['getConnectedSessions']();this['listenTo'](_0x11c64c,'sessionAdd:'+_0x11c02d,(_0x28e380,{session:_0x44df57})=>{_0x44df57['id']===_0x11c64c['mySessionId']&&(_0x28e380['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x44df57['permissions'],_0x11c02d));}),_0x11c64c['register'](_0x11c02d,_0x1f60c9);}}async['_setUpService'](_0x5af1a4){if(this['_services']['has'](_0x5af1a4))throw new _0x146074('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5af1a4});const _0x141914=this['context']['plugins']['get'](_0x33588d),_0x2db820=new CloudServicesCommentsAdapter['CommentsService'](_0x5af1a4);this['_services']['set'](_0x5af1a4,_0x2db820),this['listenTo'](_0x2db820,'commentThreadAdded',(_0x434c00,_0x6d217c)=>{const {commentThreadId:_0x363ece,documentId:_0x21768c,context:_0x1d37ba,attributes:_0x2d47df,resolvedAt:_0x4e2b42,resolvedBy:_0x29f844,comments:_0x5645b0}=_0x6d217c;_0x141914['getCommentThread'](_0x363ece)||_0x141914['addCommentThread']({'threadId':_0x363ece,'channelId':_0x21768c,'comments':_0x5645b0?_0x5645b0['map'](tt):[],'context':_0x1d37ba,'attributes':_0x2d47df,'resolvedAt':_0x4e2b42,'resolvedBy':_0x29f844,'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentThreadUpdated',(_0x1660e9,{commentThreadId:_0x333ba7,documentId:_0x4f2f8f,context:_0x185d42,unlinkedAt:_0x325769,attributes:_0x149abf})=>{_0x141914['getCommentThread'](_0x333ba7)&&_0x141914['updateCommentThread']({'threadId':_0x333ba7,'channelId':_0x4f2f8f,'context':_0x185d42,'unlinkedAt':_0x325769,'attributes':_0x149abf,'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentThreadResolved',(_0x4e7b2d,{commentThreadId:_0x5ae350,resolvedBy:_0x138c16,resolvedAt:_0xd89d39})=>{const _0x3d934d=_0x141914['getCommentThread'](_0x5ae350);_0x3d934d&&_0x3d934d['resolve']({'resolvedBy':_0x138c16,'resolvedAt':_0xd89d39,'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentThreadReopened',(_0x305b0e,{commentThreadId:_0x432c45})=>{const _0x2abe71=_0x141914['getCommentThread'](_0x432c45);_0x2abe71&&_0x2abe71['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentThreadRemoved',(_0x38de18,{commentThreadId:_0x15a6a4})=>{const _0x39080d=_0x141914['getCommentThread'](_0x15a6a4);_0x39080d&&_0x39080d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentAdded',(_0x38b61b,_0x1a6fa9)=>{const _0x2bf146=_0x1a6fa9['commentThreadId'],_0x33fb6b=_0x141914['getCommentThread'](_0x2bf146);_0x33fb6b&&_0x33fb6b['addComment']({...tt(_0x1a6fa9),'isFromAdapter':!0x0});}),this['listenTo'](_0x2db820,'commentUpdated',(_0x847696,{commentThreadId:_0xee0d9f,commentId:_0x309b75,content:_0x4693c2,attributes:_0x132cf9})=>{const _0x38133e=_0x141914['getCommentThread'](_0xee0d9f);if(_0x38133e){const _0x4a322a=_0x38133e['getComment'](_0x309b75);_0x4a322a&&_0x4a322a['update']({'content':_0x4693c2,'attributes':_0x132cf9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2db820,'commentRemoved',(_0x1cb75f,{commentThreadId:_0x1cda52,commentId:_0x516aa5})=>{const _0x25e19e=_0x141914['getCommentThread'](_0x1cda52);if(_0x25e19e){const _0x5796df=_0x25e19e['getComment'](_0x516aa5);_0x5796df&&_0x5796df['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5af1a4);}['destroy'](){if(this['context']instanceof _0x35a8e1){const _0x385029=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x385029);}}['_terminateService'](_0x4300d5){if(!this['_services']['has'](_0x4300d5))throw new _0x146074('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4300d5});this['_getService'](_0x4300d5)['disconnect'](),this['_services']['delete'](_0x4300d5);}async['reconnect'](){for(const _0x2ab768 of this['_services']['keys']())await this['_connectService'](_0x2ab768);if(this['context']instanceof _0x35a8e1){const _0x489702=this['context']['config']['get']('collaboration.channelId'),_0xe2fca5=this['context']['plugins']['get'](Sessions);_0xe2fca5['unregister'](_0x489702);const _0x102518=await this['_services']['get'](_0x489702)['getConnectedSessions']();_0xe2fca5['register'](_0x489702,_0x102518);}}async['_connectService'](_0x1bb390){const {connection:_0x44b86d}=this['context']['plugins']['get'](WebSocketGateway),_0x20bd46=this['context']['plugins']['get'](_0x33588d),_0x377445=this['_services']['get'](_0x1bb390),_0x3da09d=await _0x377445['connect'](_0x44b86d);await this['_fetchMissingUsersForThreads'](_0x3da09d);const _0x597c3c=new Set(Array['from'](_0x20bd46['getCommentThreads']({'channelId':_0x1bb390}),_0x15f5f3=>_0x15f5f3['id']));for(const _0x251218 of _0x3da09d)_0x251218['deletedAt']||_0x597c3c['delete'](_0x251218['commentThreadId']);for(const _0x268898 of _0x597c3c)_0x20bd46['getCommentThread'](_0x268898)['remove']({'isFromAdapter':!0x0});for(const _0x5caf6a of _0x3da09d){let _0xd282cd=_0x20bd46['getCommentThread'](_0x5caf6a['commentThreadId']);const {commentThreadId:_0x48eebc,context:_0x1f01ce,attributes:_0x2eadf,resolvedBy:_0x427df7,resolvedAt:_0x3e77b,unlinkedAt:_0x2c62cc,deletedAt:_0x58ec63}=_0x5caf6a;if(_0x58ec63)continue;_0xd282cd||(_0xd282cd=_0x20bd46['addCommentThread']({'channelId':_0x1bb390,'threadId':_0x48eebc,'context':_0x1f01ce,'attributes':_0x2eadf||{},'resolvedBy':_0x427df7,'resolvedAt':_0x3e77b,'unlinkedAt':_0x2c62cc,'isFromAdapter':!0x0}));const _0x56e81d=new Set(Array['from'](_0xd282cd['comments'],_0x323703=>_0x323703['id']));for(const _0x6b030a of _0x5caf6a['comments'])_0x56e81d['delete'](_0x6b030a['commentId']);for(const _0x5ec673 of _0x56e81d)_0xd282cd['getComment'](_0x5ec673)['remove']({'isFromAdapter':!0x0});for(const _0x1eb0d7 of _0x5caf6a['comments']){const _0x4b5fa4=_0xd282cd['getComment'](_0x1eb0d7['commentId']);_0x4b5fa4?_0x4b5fa4['content']!==_0x1eb0d7['content']&&_0x4b5fa4['update']({'content':_0x1eb0d7['content'],'isFromAdapter':!0x0}):_0xd282cd['addComment'](Object['assign'](tt(_0x1eb0d7),{'isFromAdapter':!0x0}));}}}['_getService'](_0x52d549){if(!this['_services']['has'](_0x52d549))throw new _0x146074('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x52d549});return this['_services']['get'](_0x52d549);}async['_fetchMissingUsersForThreads'](_0xec45d4){const _0x48804c=this['context']['plugins']['get'](_0x3e9224),{connection:_0x272d74}=this['context']['plugins']['get'](WebSocketGateway),_0xa71af0=new Set();for(const {resolvedBy:_0x2c415a,comments:_0x322f0a}of _0xec45d4){_0x2c415a&&!_0x48804c['getUser'](_0x2c415a)&&_0xa71af0['add'](_0x2c415a);for(const {userId:_0x452302}of _0x322f0a)_0x48804c['getUser'](_0x452302)||_0xa71af0['add'](_0x452302);}if(0x0===_0xa71af0['size'])return;const _0xcb73c1=await _0x3383d3['getMany'](_0x272d74,Array['from'](_0xa71af0));for(const _0x81d4cf of _0xcb73c1)_0x48804c['getUser'](_0x81d4cf['id'])||_0x48804c['addUser'](_0x81d4cf);}}async function X(_0x273a20){if('404'!==_0x273a20['code'])throw _0x273a20;}function Z(_0x5e43cf){if((_0x4046b0=_0x5e43cf)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4046b0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4046b0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4046b0;throw _0x5e43cf;}function tt(_0x2ebdd8){return{'threadId':_0x2ebdd8['commentThreadId'],'commentId':_0x2ebdd8['commentId'],'content':_0x2ebdd8['content'],'createdAt':_0x2ebdd8['createdAt'],'authorId':_0x2ebdd8['userId'],'attributes':_0x2ebdd8['attributes']||{}};}class CloudServicesTrackChangesAdapter extends _0x25acfb{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x277557)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[CloudServicesCommentsAdapter,_0x27f4c9,WebSocketGateway];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x403ba2){super(_0x403ba2);const _0x11415b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x11415b);}['init'](){const _0xcc1a82=this['editor']['plugins']['get'](WebSocketGateway),_0x3a48da=this['editor']['plugins']['get'](_0x27f4c9);return _0x3a48da['adapter']={'getSuggestion':async _0x444d17=>{await this['_waitForServiceReady']();const _0x1699eb=await this['_trackChangesService']['get'](_0x444d17)['catch'](et);return await this['_fetchMissingUsersForThreads']([_0x1699eb]),_0x1699eb;},'addSuggestion':async({id:_0x71a1b7,type:_0x2e34ed,data:_0x21f981,originalSuggestionId:_0x4b4edc,attributes:_0x4e8267})=>{await this['_waitForServiceReady']();const _0x212fc5={'id':_0x71a1b7,'type':_0x2e34ed,'data':_0x21f981,'originalSuggestionId':_0x4b4edc,'attributes':_0x4e8267},_0x59c5b0=await this['_trackChangesService']['add'](_0x71a1b7,_0x2e34ed,_0x21f981,_0x4b4edc,_0x4e8267)['catch'](_0xd089ed=>{if(st(_0xd089ed))return new Promise(_0x289ae8=>{this['_bufferedRequests']['set'](_0x71a1b7,{'resolve':_0x289ae8,'suggestionData':_0x212fc5});});throw _0xd089ed;});return this['_bufferedRequests']['delete'](_0x71a1b7),_0x59c5b0;},'updateSuggestion':async(_0x5aeb10,_0x1d99db)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1d99db['state'])return this['_trackChangesService']['update'](_0x5aeb10,_0x1d99db)['catch'](et);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x48fd47,_0x4efdb4)=>{_0x3a48da['hasSuggestion'](_0x4efdb4['id'])&&(_0x3a48da['getSuggestion'](_0x4efdb4['id'])['attributes']=_0x4efdb4['attributes']);}),this['_trackChangesService']['connect'](_0xcc1a82['connection'])['then'](_0xbb1895=>(_0xcc1a82['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xbb1895)['then'](()=>{for(const _0xdb19d9 of _0xbb1895){_0x3a48da['addSuggestionData'](_0xdb19d9)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4eddf2=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x56b777}=this['editor']['plugins']['get'](WebSocketGateway),_0x177a7b=await this['_trackChangesService']['connect'](_0x56b777);await this['_fetchMissingUsersForThreads'](_0x177a7b);for(const {suggestionData:_0x2f04cb,resolve:_0x486a7e}of this['_bufferedRequests']['values']()){let _0x3fb2af=_0x177a7b['find'](_0x49d869=>_0x49d869['id']===_0x2f04cb['id']);_0x3fb2af||(_0x3fb2af=await this['_trackChangesService']['add'](_0x2f04cb['id'],_0x2f04cb['type'],_0x2f04cb['data'],_0x2f04cb['originalSuggestionId'])),_0x486a7e(_0x3fb2af);}for(const _0x36a303 of _0x177a7b)_0x4eddf2['hasSuggestion'](_0x36a303['id'])||_0x4eddf2['addSuggestionData'](_0x36a303);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4caca2=>{this['listenTo'](this['_trackChangesService'],'connected',_0xca156c=>{_0xca156c['off'](),_0x4caca2();});});}async['_fetchMissingUsersForThreads'](_0xf390b4){const _0x2b36cb=this['editor']['plugins']['get'](_0x3e9224),{connection:_0x16b52e}=this['editor']['plugins']['get'](WebSocketGateway),_0x503397=new Set();for(const {authorId:_0x2af91d}of _0xf390b4)_0x2b36cb['getUser'](_0x2af91d)||_0x503397['add'](_0x2af91d);if(0x0===_0x503397['size'])return;const _0x4238f7=await _0x3383d3['getMany'](_0x16b52e,Array['from'](_0x503397));for(const _0xb32749 of _0x4238f7)_0x2b36cb['getUser'](_0xb32749['id'])||_0x2b36cb['addUser'](_0xb32749);}}function et(_0x3ce9a4){if(st(_0x3ce9a4))return new Promise(()=>{});throw _0x3ce9a4;}function st(_0x521f30){return _0x521f30['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x521f30['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeComments extends _0x25acfb{static get['requires'](){return[_0x257b99,CloudServicesCommentsAdapter,RealTimeCollaborativeEditing,WebSocketGateway];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x564d0e=this['editor']['plugins']['get'](WebSocketGateway),_0x18d50e=this['editor']['plugins']['get'](_0x58c2be),_0x36c486=this['editor']['plugins']['get'](CloudServicesCommentsAdapter);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x564d0e,'change:state',(_0xeeb3,_0xd99d51,_0xd61b29)=>{_0x18d50e['isThreadsLoadingPaused']='connected'!==_0xd61b29;});}),this['listenTo'](_0x564d0e,'change:state',(_0x57603f,_0x2a9741,_0x5ec1f1)=>{this['editor']['plugins']['get'](_0x33588d)['switchReadOnly']('connected'!==_0x5ec1f1);}),_0x36c486['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](CloudServicesCommentsAdapter)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x25acfb{static get['requires'](){return[RealTimeCollaborativeComments,CloudServicesTrackChangesAdapter,_0x22209a];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesRevisionHistoryAdapter extends _0x25acfb{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x524689)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[WebSocketGateway,RealTimeCollaborationClient,_0x547c0a,Sessions,_0x3e9224];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1498c2){super(_0x1498c2);const _0x2c40da=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2c40da);}async['init'](){const _0x4e52f7=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x8e884b=_0x4e52f7['serverHistory'],_0x44523a=this['editor']['plugins']['get'](WebSocketGateway);this['_revisionTracker']['setSource']({'history':_0x8e884b,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4e52f7['sessionId']});const _0x3e2104=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x429b78,_0x48de88=await _0x548b3a['isBundleUploaded'](_0x44523a['connection'],_0x3e2104);this['editor']['plugins']['get'](_0x547c0a)['adapter']={'getRevision':async({revisionId:_0x189205})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x189205)),'updateRevisions':async _0x3f150b=>{await this['_waitForServiceReady']();const _0x21d2c8=this['_revisionTracker']['currentRevision'];if(_0x48de88&&0x1===_0x3f150b['length']&&_0x3f150b[0x0]['id']===_0x21d2c8['id'])return _0x3f150b;for(const _0x3e1cc7 of _0x3f150b)_0x3e1cc7['id']===_0x21d2c8['id']&&(_0x3e1cc7['isEmptyCurrent']=_0x3e1cc7['fromVersion']===_0x3e1cc7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3f150b,this['_lastRequestId'])['then'](_0x501b48=>(this['_lastRequestId']=_0x501b48,_0x3f150b))['catch'](_0x25ec79=>{if(it(_0x25ec79)||'400'===_0x25ec79['code']&&void 0x0!==_0x25ec79['data']['wrongRequestId']){for(const _0x5b3e96 of _0x3f150b){!this['_revisionTracker']['repository']['getRevision'](_0x5b3e96['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5b3e96['id'],_0x5b3e96,!0x1);}if(it(_0x25ec79)&&'destroyed'!==this['editor']['state'])throw _0x25ec79;return _0x3f150b;}throw _0x25ec79;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5280b1,{revisionsData:_0xc36ee9,requestId:_0x21e5ba})=>{Math['max'](..._0xc36ee9['map'](_0x2041bb=>_0x2041bb['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xc36ee9,_0x21e5ba);}):this['_handleRevisionsUpdate'](_0xc36ee9,_0x21e5ba);});const {revisions:_0x3279dd,requestId:_0x4bff77}=await this['_revisionHistoryService']['connect'](_0x44523a['connection']);_0x44523a['addToReconnectionStack'](this),this['_lastRequestId']=_0x4bff77,await this['_fetchMissingUsers'](_0x3279dd);for(const _0x5944ce of _0x3279dd)this['_revisionTracker']['addRevisionData'](_0x5944ce);this['listenTo'](_0x4e52f7,'change:_isConnected',(_0x225a8f,_0x508899,_0x49afe6)=>{_0x49afe6&&(this['_oldOffset']=_0x4e52f7['_offset'],_0x225a8f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x44523a,'state',_0x33a983=>_0x33a983===_0x4e17ce['CONNECTED']);}async['reconnect'](){const _0x175028=this['editor']['plugins']['get'](WebSocketGateway),_0x3c5ed1=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0xe99d09=async()=>{const _0xac0ef8=this['_revisionTracker']['currentRevision'],_0x544cde=_0xac0ef8['id'],_0x12c9f7=_0x544cde!==_0x3c5ed1['sessionId'];if(_0x12c9f7){const _0x4f989f=_0x3c5ed1['_offset']-this['_oldOffset'],_0xf04d77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xac0ef8['toVersion']+_0x4f989f!==_0xf04d77){const _0x4f1a1b=_0xac0ef8['fromVersion']+_0x4f989f,_0x55236c=this['editor']['plugins']['get'](_0x3e9224),_0x2883e6=this['_revisionTracker']['buildRevisionData']({'revision':_0xac0ef8,'from':_0x4f1a1b,'to':_0xf04d77});_0x2883e6['id']=_0xac0ef8['id'];const _0x2f8f42=_0x2883e6['authorsIds']['map'](_0x1a657a=>_0x55236c['getUser'](_0x1a657a));_0xac0ef8['_update']({..._0x2883e6,'authors':_0x2f8f42},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xac0ef8['id'],_0x2883e6,!0x0);}this['_revisionTracker']['_startingVersion']=_0xf04d77,(_0xac0ef8['toVersion']===_0xac0ef8['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x544cde)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x544cde),this['_revisionTracker']['_createCurrentRevision'](_0xf04d77));}const {revisions:_0x2c894e,requestId:_0x30b08c}=await this['_revisionHistoryService']['reconnect'](_0x175028['connection'],this['_lastRequestId']);_0x12c9f7&&_0x2c894e['length']>0x0?_0x3c5ed1['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2c894e),this['_handleRevisionsUpdate'](_0x2c894e,_0x30b08c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3c5ed1['_isConnected']?_0xe99d09():new Promise((_0x2c20d3,_0x303db4)=>{_0x3c5ed1['once']('change:_isConnected',()=>{_0xe99d09()['then'](_0x2c20d3)['catch'](_0x303db4);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x25f591=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x33ea32=>{_0x33ea32['off'](),_0x25f591();});});}['_getLatestVersionFromServerOperations'](){const _0xd15da2=this['editor']['plugins']['get'](RealTimeCollaborationClient)['serverHistory']['getOperations']()['reverse']();for(const _0x5b74ac of _0xd15da2)if('marker'!==_0x5b74ac['type']||_0x5b74ac['affectsData'])return _0x5b74ac['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2e788c=this['editor']['plugins']['get'](RealTimeCollaborationClient);return new Promise(_0x2d3d66=>{_0x2e788c['_isPendingUpdate']?_0x2e788c['once']('change:_isPendingUpdate',()=>{_0x2d3d66(this['_getLatestVersionFromServerOperations']());}):_0x2d3d66(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1d4705,_0x54a052){const _0x286f8c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x54a052;for(const _0x837444 of _0x1d4705){const _0x1ff06b=_0x286f8c['getRevision'](_0x837444['id']);if(_0x1ff06b){if((_0x837444['fromVersion']||_0x837444['toVersion'])&&(_0x837444['diffData']=null),_0x1ff06b===this['_revisionTracker']['currentRevision']){const _0x4e681c=Math['max'](_0x1ff06b['toVersion'],_0x837444['toVersion']),_0x36d31a=Math['max'](_0x1ff06b['fromVersion'],_0x837444['fromVersion']);let _0x392f40;_0x1ff06b['toVersion']===_0x837444['toVersion']&&_0x1ff06b['fromVersion']===_0x837444['fromVersion']?(_0x392f40=!0x0,this['_preventResendingRevisionData'](_0x837444)):_0x837444['toVersion']===_0x4e681c&&_0x837444['fromVersion']===_0x36d31a?_0x392f40=!0x1:(_0x1ff06b['toVersion']===_0x4e681c&&_0x1ff06b['fromVersion']===_0x36d31a||this['_fixRevision']({'revision':_0x1ff06b,'from':_0x36d31a,'to':_0x4e681c}),_0x392f40=!0x0),_0x392f40&&(delete _0x837444['fromVersion'],delete _0x837444['toVersion'],delete _0x837444['diffData'],delete _0x837444['createdAt'],delete _0x837444['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x837444),this['_preventResendingRevisionData'](_0x837444);}else this['_revisionTracker']['addRevisionData'](_0x837444);}const _0x1163a3=_0x286f8c['getRevisions']();_0x1163a3['reverse']();for(let _0x3199fd=0x0;_0x3199fd<_0x1163a3['length']-0x1;_0x3199fd++){const _0x403980=_0x1163a3[_0x3199fd],_0x1aa939=_0x1163a3[_0x3199fd+0x1];if(_0x403980['fromVersion']<_0x1aa939['toVersion']){const _0x2f6869=_0x1aa939['toVersion'],_0x501647=Math['max'](_0x2f6869,_0x403980['toVersion']);this['_fixRevision']({'revision':_0x403980,'from':_0x2f6869,'to':_0x501647});}}}['_fixRevision']({revision:_0x88df30,from:_0x59702a,to:_0x198ade}={}){const _0x3e324f=this['editor']['plugins']['get'](_0x3e9224),_0x12875c=this['_revisionTracker']['buildRevisionData']({'revision':_0x88df30,'from':_0x59702a,'to':_0x198ade});_0x12875c['authors']=_0x12875c['authorsIds']['map'](_0x5b1703=>_0x3e324f['getUser'](_0x5b1703)),_0x88df30['_update'](_0x12875c);}['_preventResendingRevisionData'](_0x46ee17){const _0x1c17d7={};_0x1c17d7['id']=_0x46ee17['id'];for(const _0x2aa9a3 of Object['keys'](_0x46ee17))'id'!==_0x2aa9a3&&(_0x1c17d7[_0x2aa9a3]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1c17d7['id'],_0x1c17d7,!0x0);}async['_fetchMissingUsers'](_0x3ce50e){const _0x309b4a=this['editor']['plugins']['get'](_0x3e9224),{connection:_0x582a51}=this['editor']['plugins']['get'](WebSocketGateway),_0x525985=new Set();for(const _0x5d615e of _0x3ce50e){for(const _0x56ee97 of _0x5d615e['authorsIds'])_0x205b7f(_0x56ee97);_0x5d615e['creatorId']&&_0x205b7f(_0x5d615e['creatorId']);}if(0x0===_0x525985['size'])return;const _0x11f621=await _0x3383d3['getMany'](_0x582a51,Array['from'](_0x525985));for(const _0x2f2577 of _0x11f621)_0x309b4a['getUser'](_0x2f2577['id'])||_0x309b4a['addUser'](_0x2f2577);function _0x205b7f(_0x244151){_0x309b4a['getUser'](_0x244151)||_0x525985['add'](_0x244151);}}}function it(_0x4a2517){return _0x4a2517['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4a2517['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a2517['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x25acfb{static get['requires'](){return[_0x547c0a,CloudServicesRevisionHistoryAdapter,RealTimeCollaborativeEditing];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class PresenceCounterView extends _0x1aa21a{['_collapseAt'];constructor(_0x54e7c6,_0x5adb69=0x6){super(_0x54e7c6);const _0x35047e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5adb69,this['bind']('isHidden')['to'](this,'usersCount',_0x223333=>_0x223333<_0x5adb69),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x35047e['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':_0x35047e['to']('usersCount',_0x47f631=>'+'+(_0x47f631-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class PresenceInlineListView extends _0x1aa21a{['items'];['keystrokes'];constructor(_0x203923){super(_0x203923);const _0x5493d8=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x39c4bd(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5493d8['if']('hasPopup'),'aria-expanded':_0x5493d8['to']('isExpanded',_0x1fa5f2=>this['hasPopup']&&String(_0x1fa5f2)),'aria-label':_0x5493d8['to']('hasPopup',_0x1e018b=>K(_0x203923,_0x1e018b?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5493d8['to']('hasPopup',_0xbcab11=>!!_0xbcab11&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5493d8['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5493d8['to'](_0x3283f0=>{const _0xbc2010=_0x3283f0,_0x36baec=document['querySelector']('.ck-presence-list__dropdown-list'),_0x324c36=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36baec?.['contains'](_0xbc2010['relatedTarget'])||_0x324c36?.['contains'](_0xbc2010['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1d7b57,_0x48c9c4,_0x56b0a6)=>{this['element']&&(_0x56b0a6?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 PresenceListView extends _0x1aa21a{['counterView'];['inlineListView'];constructor(_0x119a10,_0x357c94=0x6){super(_0x119a10);const _0x580eeb=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new PresenceCounterView(this['locale'],_0x357c94),this['inlineListView']=new PresenceInlineListView(_0x119a10),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x58e0a4 of this['inlineListView']['items'])_0x58e0a4['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',_0x580eeb['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class PresenceDropdownListView extends _0x1aa21a{['listWrapperView'];constructor(_0x1b1c54,_0x1cf9c7){super(_0x1b1c54);const _0x40e0b1=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x1b1c54,_0x1cf9c7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x1b1c54,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x40e0b1['to'](_0x1fed7a=>{const _0xb1c164=_0x1fed7a,_0x1d9a3b=document['querySelector']('.ck-presence-list__list'),_0x242d2d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1d9a3b?.['contains'](_0xb1c164['relatedTarget'])||_0x242d2d?.['contains'](_0xb1c164['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x6e06a0{constructor(_0x4d6930,_0x7c573b){super(_0x4d6930);const _0xb84e7c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7c573b?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xb84e7c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xb84e7c['to']('role'),'aria-label':_0xb84e7c['to']('ariaLabel'),'aria-labelledby':_0xb84e7c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x248dd9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x463a63=this['element'];_0x463a63&&(this['_isScrollable']=Math['max'](_0x463a63['scrollHeight'],_0x463a63['clientHeight'])>0.8*window['innerHeight']);}}class PresenceDropdownListItemView extends _0x9a4d5e{['userView'];constructor(_0x186ed2,_0xa4b587,_0x33bb40){super(_0x186ed2);const _0x4b1359=this['bindTemplate'];this['userView']=new _0xb6d3d9(_0x186ed2,_0xa4b587);const _0x2930d8={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xa4b587['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xa4b587['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xa4b587['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xa4b587['color']['getColorVariable'](),'--ck-user-color-alpha':_0xa4b587['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x33bb40&&(_0x2930d8['tag']='button',_0x2930d8['on']={'click':_0x4b1359['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2930d8);}['focus'](){this['element']['focus']();}}class PresenceInlineListItemView extends _0x1aa21a{['userView'];['markerView'];constructor(_0x33c214,_0x147fdc,_0x2b391b){super(_0x33c214);const _0xd9eba5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0xb6d3d9(_0x33c214,_0x147fdc),this['markerView']=new MarkerView(_0x33c214,_0x147fdc);const _0x44b6a1=new _0x52e315(_0x33c214);_0x44b6a1['template']['tag']='span',_0x44b6a1['text']=_0x147fdc['name'];const _0x1fa50a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xd9eba5['to']('isFocusable',_0x174e18=>!!_0x174e18&&0x0),'aria-labelledby':_0x44b6a1['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xd9eba5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xd9eba5['to']('hasTooltip',_0x3a7fe7=>!_0x3a7fe7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x44b6a1]};_0x2b391b&&(_0x1fa50a['tag']='button',_0x1fa50a['on']={'click':_0xd9eba5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1fa50a);}}class MarkerView extends _0x1aa21a{constructor(_0x2e6d8a,_0x3c4aaa){super(_0x2e6d8a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3c4aaa['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3c4aaa['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3c4aaa['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const nt={'collapseAt':0x6,'displayMe':!0x0};class PresenceListUI extends _0x1b9cff{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ea392){super(_0x3ea392),this['context']['config']['define']('presenceList',nt);const _0x54485f=_0x3ea392['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x54485f)throw new _0x146074('presencelist-collapseat-invalid-format',this);if(_0x54485f<0x1)throw new _0x146074('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Sessions)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x340917(),this['balloonPanelView']=new _0x30020e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Sessions];}['init'](){for(const _0x4480b4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4480b4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x24b0c8,_0x22457c)=>{this['_handleUserAdd'](_0x22457c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5d1eb8,_0x327861)=>{this['_handleUserRemove'](_0x327861);});}['_createView'](){const _0x3e0482=this['context'],_0x4fed84=new PresenceListView(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x35bfd3=this['balloonPanelView'];if(!_0xecfd2a(_0x3e0482['config']['get']('presenceList.container')))throw new _0x146074('presencelist-missing-container',this);return _0x4fed84['counterView']['bind']('usersCount')['to'](this),_0x4fed84['bind']('isCollapsed')['to'](this,'usersCount',_0x461710=>{const {collapseAt:_0x28785e}=_0x3e0482['config']['get']('presenceList'),_0x463b7e=_0x461710>=_0x28785e;if(_0x463b7e&&!_0x4fed84['inlineListView']['items']['find'](_0x7df740=>_0x7df740 instanceof PresenceCounterView)){const _0x3b0e79=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3b0e79&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4fed84['inlineListView']['items']['add'](_0x4fed84['counterView']);}return _0x463b7e||this['hideDropdown'](),_0x463b7e;}),_0x4fed84['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x32c292=>{const _0x48d4ca=_0x3e0482['config']['get']('presenceList'),_0x4e8120=new PresenceInlineListItemView(_0x3e0482['locale'],_0x32c292,!!_0x48d4ca['onClick']);return _0x4e8120['bind']('hasTooltip')['to'](_0x4fed84,'isCollapsed',_0x5037a0=>!_0x5037a0),_0x4e8120['bind']('isFocusable')['to'](_0x4fed84,'isCollapsed',_0x1d2afa=>!_0x1d2afa),_0x48d4ca['onClick']&&this['listenTo'](_0x4e8120,'execute',()=>{this['view']['isCollapsed']||_0x48d4ca['onClick'](_0x32c292,_0x4e8120['element']);}),_0x4e8120;}),this['listenTo'](_0x4fed84['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4fed84['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4fed84['inlineListView']['keystrokes']['set']('Enter',(_0x37bfaa,_0x5f2b91)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5f2b91());}),_0x4fed84['render'](),_0x35bfd3['render'](),_0x1b7bff({'emitter':_0x4fed84,'activator':()=>_0x35bfd3['isVisible'],'contextElements':[_0x35bfd3['element'],_0x4fed84['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3e0482['config']['get']('presenceList.container')['appendChild'](_0x4fed84['element']),this['_bodyCollection']=new _0x31aa2b(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4fed84;}['_handleUserAdd'](_0x2dd407){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2dd407['isMe'])return;const _0x1fe5ff=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1fe5ff-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3f0e28=_0x2dd407['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2dd407,_0x3f0e28);}['_handleUserRemove'](_0xc4c792){this['usersCount']--;const {collapseAt:_0x32f19e}=this['context']['config']['get']('presenceList'),_0x49458a=this['usersCount']>=_0x32f19e;if(this['currentDisplayedUsers']['get'](_0xc4c792['id']))this['currentDisplayedUsers']['remove'](_0xc4c792['id']);else{if(_0x49458a&&this['currentDisplayedUsers']['length']+0x1===_0x32f19e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x49458a?0x1:0x0)<this['usersCount']){for(const _0x5c97cf of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5c97cf['id'])&&(this['currentDisplayedUsers']['add'](_0x5c97cf,Math['min'](this['currentDisplayedUsers']['length']-(_0x49458a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x49458a?0x1:0x0)===_0x32f19e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x28e09f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new PresenceDropdownListView(this['context']['locale'],!!_0x28e09f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5a310e}=this['presenceDropdownView'];_0x5a310e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x143c5e=>{if(!_0x28e09f['displayMe']&&_0x143c5e['isMe'])return null;const _0xf4fb8a=new PresenceDropdownListItemView(this['context']['locale'],_0x143c5e,!!_0x28e09f['onClick']);return _0x28e09f['onClick']&&this['listenTo'](_0xf4fb8a,'execute',()=>{_0x28e09f['onClick'](_0x143c5e,_0xf4fb8a['element']);}),_0xf4fb8a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5a310e['focus'](),_0x5a310e['checkIfScrollable']();const _0x43d4fe=(_0x543648,_0x353d9d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x353d9d();};_0x5a310e['keystrokes']['set']('Esc',_0x43d4fe),_0x5a310e['keystrokes']['set']('Shift+Tab',_0x43d4fe),_0x5a310e['keystrokes']['set']('Tab',(_0x1b8102,_0x1df1f6)=>{!function(_0x54c3ff){const _0x3d9e6e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x365741=>_0x365741+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x28480a=[...document['body']['querySelectorAll'](_0x3d9e6e)]['filter'](_0x111d4a=>_0x111d4a===document['activeElement']||_0x111d4a['offsetWidth']+_0x111d4a['offsetHeight']>0x0)['sort']((_0x5b5010,_0x2a2fe8)=>(_0x5b5010['tabIndex']||0x0)-(_0x2a2fe8['tabIndex']||0x0)),_0x7130b=_0x28480a['indexOf'](_0x54c3ff),_0x38e5ee=_0x28480a[(_0x7130b+0x1)%_0x28480a['length']];_0x38e5ee&&_0x38e5ee['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1df1f6();}),_0x5a310e['focusTracker']['add'](this['view']['element']),_0x5a310e['focusTracker']['on']('change:isFocused',(_0x20bd05,_0x25549a,_0x11e0f5)=>{_0x11e0f5||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 PresenceList extends _0x1b9cff{static get['requires'](){return[Sessions,PresenceListUI];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{CloudServicesCommentsAdapter,CloudServicesRevisionHistoryAdapter,CloudServicesTrackChangesAdapter,PresenceList,PresenceListUI,RealTimeCollaborationClient,RealTimeCollaborativeComments,RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,Sessions,WebSocketGateway};