@ckeditor/ckeditor5-real-time-collaboration 47.7.2-alpha.0 → 47.7.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build/real-time-collaboration.js +2 -2
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.js +1 -1
  4. package/dist/translations/af.umd.js +1 -1
  5. package/dist/translations/ar.js +1 -1
  6. package/dist/translations/ar.umd.js +1 -1
  7. package/dist/translations/ast.js +1 -1
  8. package/dist/translations/ast.umd.js +1 -1
  9. package/dist/translations/az.js +1 -1
  10. package/dist/translations/az.umd.js +1 -1
  11. package/dist/translations/be.js +1 -1
  12. package/dist/translations/be.umd.js +1 -1
  13. package/dist/translations/bg.js +1 -1
  14. package/dist/translations/bg.umd.js +1 -1
  15. package/dist/translations/bn.js +1 -1
  16. package/dist/translations/bn.umd.js +1 -1
  17. package/dist/translations/bs.js +1 -1
  18. package/dist/translations/bs.umd.js +1 -1
  19. package/dist/translations/ca.js +1 -1
  20. package/dist/translations/ca.umd.js +1 -1
  21. package/dist/translations/cs.js +1 -1
  22. package/dist/translations/cs.umd.js +1 -1
  23. package/dist/translations/da.js +1 -1
  24. package/dist/translations/da.umd.js +1 -1
  25. package/dist/translations/de-ch.js +1 -1
  26. package/dist/translations/de-ch.umd.js +1 -1
  27. package/dist/translations/de.js +1 -1
  28. package/dist/translations/de.umd.js +1 -1
  29. package/dist/translations/el.js +1 -1
  30. package/dist/translations/el.umd.js +1 -1
  31. package/dist/translations/en-au.js +1 -1
  32. package/dist/translations/en-au.umd.js +1 -1
  33. package/dist/translations/en-gb.js +1 -1
  34. package/dist/translations/en-gb.umd.js +1 -1
  35. package/dist/translations/en.js +1 -1
  36. package/dist/translations/en.umd.js +1 -1
  37. package/dist/translations/eo.js +1 -1
  38. package/dist/translations/eo.umd.js +1 -1
  39. package/dist/translations/es-co.js +1 -1
  40. package/dist/translations/es-co.umd.js +1 -1
  41. package/dist/translations/es.js +1 -1
  42. package/dist/translations/es.umd.js +1 -1
  43. package/dist/translations/et.js +1 -1
  44. package/dist/translations/et.umd.js +1 -1
  45. package/dist/translations/eu.js +1 -1
  46. package/dist/translations/eu.umd.js +1 -1
  47. package/dist/translations/fa.js +1 -1
  48. package/dist/translations/fa.umd.js +1 -1
  49. package/dist/translations/fi.js +1 -1
  50. package/dist/translations/fi.umd.js +1 -1
  51. package/dist/translations/fr.js +1 -1
  52. package/dist/translations/fr.umd.js +1 -1
  53. package/dist/translations/gl.js +1 -1
  54. package/dist/translations/gl.umd.js +1 -1
  55. package/dist/translations/gu.js +1 -1
  56. package/dist/translations/gu.umd.js +1 -1
  57. package/dist/translations/he.js +1 -1
  58. package/dist/translations/he.umd.js +1 -1
  59. package/dist/translations/hi.js +1 -1
  60. package/dist/translations/hi.umd.js +1 -1
  61. package/dist/translations/hr.js +1 -1
  62. package/dist/translations/hr.umd.js +1 -1
  63. package/dist/translations/hu.js +1 -1
  64. package/dist/translations/hu.umd.js +1 -1
  65. package/dist/translations/hy.js +1 -1
  66. package/dist/translations/hy.umd.js +1 -1
  67. package/dist/translations/id.js +1 -1
  68. package/dist/translations/id.umd.js +1 -1
  69. package/dist/translations/it.js +1 -1
  70. package/dist/translations/it.umd.js +1 -1
  71. package/dist/translations/ja.js +1 -1
  72. package/dist/translations/ja.umd.js +1 -1
  73. package/dist/translations/jv.js +1 -1
  74. package/dist/translations/jv.umd.js +1 -1
  75. package/dist/translations/kk.js +1 -1
  76. package/dist/translations/kk.umd.js +1 -1
  77. package/dist/translations/km.js +1 -1
  78. package/dist/translations/km.umd.js +1 -1
  79. package/dist/translations/kn.js +1 -1
  80. package/dist/translations/kn.umd.js +1 -1
  81. package/dist/translations/ko.js +1 -1
  82. package/dist/translations/ko.umd.js +1 -1
  83. package/dist/translations/ku.js +1 -1
  84. package/dist/translations/ku.umd.js +1 -1
  85. package/dist/translations/lt.js +1 -1
  86. package/dist/translations/lt.umd.js +1 -1
  87. package/dist/translations/lv.js +1 -1
  88. package/dist/translations/lv.umd.js +1 -1
  89. package/dist/translations/ms.js +1 -1
  90. package/dist/translations/ms.umd.js +1 -1
  91. package/dist/translations/nb.js +1 -1
  92. package/dist/translations/nb.umd.js +1 -1
  93. package/dist/translations/ne.js +1 -1
  94. package/dist/translations/ne.umd.js +1 -1
  95. package/dist/translations/nl.js +1 -1
  96. package/dist/translations/nl.umd.js +1 -1
  97. package/dist/translations/no.js +1 -1
  98. package/dist/translations/no.umd.js +1 -1
  99. package/dist/translations/oc.js +1 -1
  100. package/dist/translations/oc.umd.js +1 -1
  101. package/dist/translations/pl.js +1 -1
  102. package/dist/translations/pl.umd.js +1 -1
  103. package/dist/translations/pt-br.js +1 -1
  104. package/dist/translations/pt-br.umd.js +1 -1
  105. package/dist/translations/pt.js +1 -1
  106. package/dist/translations/pt.umd.js +1 -1
  107. package/dist/translations/ro.js +1 -1
  108. package/dist/translations/ro.umd.js +1 -1
  109. package/dist/translations/ru.js +1 -1
  110. package/dist/translations/ru.umd.js +1 -1
  111. package/dist/translations/si.js +1 -1
  112. package/dist/translations/si.umd.js +1 -1
  113. package/dist/translations/sk.js +1 -1
  114. package/dist/translations/sk.umd.js +1 -1
  115. package/dist/translations/sl.js +1 -1
  116. package/dist/translations/sl.umd.js +1 -1
  117. package/dist/translations/sq.js +1 -1
  118. package/dist/translations/sq.umd.js +1 -1
  119. package/dist/translations/sr-latn.js +1 -1
  120. package/dist/translations/sr-latn.umd.js +1 -1
  121. package/dist/translations/sr.js +1 -1
  122. package/dist/translations/sr.umd.js +1 -1
  123. package/dist/translations/sv.js +1 -1
  124. package/dist/translations/sv.umd.js +1 -1
  125. package/dist/translations/th.js +1 -1
  126. package/dist/translations/th.umd.js +1 -1
  127. package/dist/translations/ti.js +1 -1
  128. package/dist/translations/ti.umd.js +1 -1
  129. package/dist/translations/tk.js +1 -1
  130. package/dist/translations/tk.umd.js +1 -1
  131. package/dist/translations/tr.js +1 -1
  132. package/dist/translations/tr.umd.js +1 -1
  133. package/dist/translations/tt.js +1 -1
  134. package/dist/translations/tt.umd.js +1 -1
  135. package/dist/translations/ug.js +1 -1
  136. package/dist/translations/ug.umd.js +1 -1
  137. package/dist/translations/uk.js +1 -1
  138. package/dist/translations/uk.umd.js +1 -1
  139. package/dist/translations/ur.js +1 -1
  140. package/dist/translations/ur.umd.js +1 -1
  141. package/dist/translations/uz.js +1 -1
  142. package/dist/translations/uz.umd.js +1 -1
  143. package/dist/translations/vi.js +1 -1
  144. package/dist/translations/vi.umd.js +1 -1
  145. package/dist/translations/zh-cn.js +1 -1
  146. package/dist/translations/zh-cn.umd.js +1 -1
  147. package/dist/translations/zh.js +1 -1
  148. package/dist/translations/zh.umd.js +1 -1
  149. package/package.json +15 -15
  150. package/src/common-translations.js +1 -1
  151. package/src/index.js +1 -1
  152. package/src/presencelist/presencelistui.js +1 -1
  153. package/src/presencelist/view/presencecounterview.js +1 -1
  154. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  155. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  156. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  157. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  158. package/src/presencelist/view/presencelistview.js +1 -1
  159. package/src/presencelist.js +1 -1
  160. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
  161. package/src/realtimecollaborativecomments.js +1 -1
  162. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
  163. package/src/realtimecollaborativeediting/sessions.js +1 -1
  164. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  165. package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
  166. package/src/realtimecollaborativeediting.js +1 -1
  167. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
  168. package/src/realtimecollaborativerevisionhistory.js +1 -1
  169. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
  170. package/src/realtimecollaborativetrackchanges.js +1 -1
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0xfd8900,Plugin as _0x30d29d,PendingActions as _0x2cbdaa,Context as _0x47a3c5}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5278b2,CKEditorError as _0x1b0251,Collection as _0x51237b,global as _0x2b0da0,version as nt,uid as _0x2e65e8,KeystrokeHandler as _0xc8fed7}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2d9d9d,View as _0x15eed3,ListView as _0x3f1de7,ListItemView as et,LabelView as it,BalloonPanelView as _0x212cdd,clickOutsideHandler as _0x545d85,BodyCollection as _0x4f1761}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x221838,History as _0x376331,NoOperation as _0x290d45,InsertOperation as _0xd00a9d,MarkerOperation as _0x151573,RootAttributeOperation as _0x12fae1,transformOperationSets as _0x1f0beb,OperationFactory as _0x2d25b5}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ot,WEB_SOCKET_GATEWAY_STATES as _0x3e236f,CollaborativeEditingService as _0x1992e4,User as rt,CommentsService as _0x3bed14,TrackChangesService as tt,RevisionHistoryService as _0x1946f6,EditorService as _0x107a0a}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1d3547,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x354552}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3a41f3}from'es-toolkit/compat';class n extends _0xfd8900{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ot)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2d9d9d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x6567d0){super(_0x6567d0),this['set']('state',_0x3e236f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5278b2())();}['init'](){const _0x20d725=this['context'],_0x1aea49=_0x20d725['plugins']['get']('CloudServices'),_0x18df6a=_0x20d725['plugins']['get'](_0x2d9d9d);if(!_0x1aea49['token'])throw new _0x1b0251('websocketgateway-missing-token',this);if(!_0x1aea49['webSocketUrl'])throw new _0x1b0251('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),n['WebSocketGateway']['connect'](_0x1aea49['token'],_0x1aea49['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b332c=>{if(this['connection']=_0x3b332c,this['bind']('state')['to'](_0x3b332c,'state',this,'_isBrowserOffline',(_0x43e0cd,_0x1fb412)=>('connected'!==_0x43e0cd&&(this['_shouldPluginsReconnect']=!0x0),_0x1fb412||_0x43e0cd!==_0x3e236f['CONNECTED']?_0x3e236f['DISCONNECTED']:this['state']==_0x3e236f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3e236f['CONNECTING']):_0x3e236f['CONNECTED'])),this['connection']['on']('error',(_0xca1825,_0x523874)=>{if('limitExceeded'!==_0x523874['code'])throw console['error'](_0x523874),new _0x1b0251('cloudservices-init',null,{'originalError':_0x523874});_0x18df6a['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'});}),!_0x3b332c['me'])return new Promise(_0x6d6801=>_0x3b332c['on']('change:me',_0x6d6801));})['catch'](_0x4b23e5=>{throw console['error'](_0x4b23e5),new _0x1b0251('cloudservices-init',null,{'originalError':_0x4b23e5});});}['addToReconnectionStack'](_0x100763){if('function'!=typeof _0x100763['reconnect'])throw new _0x1b0251('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x100763))throw new _0x1b0251('websocketgateway-plugin-already-registered',this,{'name':_0x100763['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x100763);}['removeFromReconnectionStack'](_0x990d6){this['_reconnectionStack']['delete'](_0x990d6);}['isInReconnectionStack'](_0x55036c){return this['_reconnectionStack']['has'](_0x55036c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x17f7cc=>_0x17f7cc['reconnect']())))['then'](()=>this['state']=_0x3e236f['CONNECTED'])['catch'](_0x5f46ce=>{throw console['error'](_0x5f46ce),new _0x1b0251('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3e236f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xfd8900{['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[n,_0x1d3547];}constructor(_0x312b81){super(_0x312b81),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x51237b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1d3547);}['init'](){const _0x28b9eb=this['context']['plugins']['get'](n);this['listenTo'](_0x28b9eb,'change:state',(_0x371feb,_0x4c8078,_0x2f7e77)=>{if('connected'!==_0x2f7e77)this['channelSessions']['forEach'](_0x5a7ed1=>_0x5a7ed1['clear']()),this['channelConnectedUsers']['forEach'](_0x5eb883=>_0x5eb883['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x110c19,_0x460b88]of this['_registeredSessions'])for(const _0x222ff8 of _0x460b88)this['_handleSessionAdd'](_0x110c19,_0x222ff8);}}),this['_createUser'](_0x28b9eb['connection']['me'],!0x0);}['register'](_0x27cd96,_0x50ce92){if(this['_registeredSessions']['has'](_0x27cd96))throw new _0x1b0251('sessions-register-already-registered',null,{'channelId':_0x27cd96});this['_registeredSessions']['set'](_0x27cd96,_0x50ce92),this['channelSessions']['set'](_0x27cd96,new _0x51237b()),this['channelConnectedUsers']['set'](_0x27cd96,new _0x51237b()),this['listenTo'](_0x50ce92,'add',(_0x544903,_0x4e60c0)=>this['_handleSessionAdd'](_0x27cd96,_0x4e60c0)),this['listenTo'](_0x50ce92,'remove',(_0x4bc755,_0x4be552)=>this['_handleSessionRemove'](_0x27cd96,_0x4be552));for(const _0x533c64 of _0x50ce92)this['_handleSessionAdd'](_0x27cd96,_0x533c64);}['unregister'](_0x182601){if(!this['_registeredSessions']['has'](_0x182601))throw new _0x1b0251('sessions-unregister-not-exist',null,{'channelId':_0x182601});const _0x39e9e9=this['_registeredSessions']['get'](_0x182601);this['stopListening'](_0x39e9e9);for(const _0x7ea4dd of _0x39e9e9)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x182601,_0x7ea4dd);this['_registeredSessions']['delete'](_0x182601),this['channelSessions']['delete'](_0x182601),this['channelConnectedUsers']['delete'](_0x182601);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x436209){for(const _0x33bfdf of this['channelSessions']['values']())for(const _0x3263ad of _0x33bfdf)if(_0x3263ad['id']===_0x436209)return _0x3263ad['user'];}['getUserSessions'](_0x1ad67e,_0x4ad84a){const _0x4add06=_0x4ad84a?[this['channelSessions']['get'](_0x4ad84a)]:this['channelSessions']['values'](),_0x306f02=new Set();for(const _0x7ddbed of _0x4add06)for(const _0x588b28 of _0x7ddbed)_0x588b28['user']['id']===_0x1ad67e['id']&&_0x306f02['add'](_0x588b28['id']);return _0x306f02;}['getUserRole'](_0x3bedc1){for(const _0x2cd92e of this['channelSessions']['values']())for(const _0x4376 of _0x2cd92e)if(_0x4376['user']===_0x3bedc1)return _0x4376['role'];}['_handleSessionAdd'](_0x52beea,_0x3c1bcd){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x552a1c=_0x3c1bcd['user'],_0x5c7368=this['_users']['getUser'](_0x552a1c['id'])||this['_createUser'](_0x552a1c),_0x102cc1=Object['assign']({},_0x3c1bcd,{'user':_0x5c7368});if(this['channelSessions']['get'](_0x52beea)['add'](_0x102cc1),!_0x552a1c['hiddenInPresenceList']){const _0x308bae=this['channelConnectedUsers']['get'](_0x52beea);_0x308bae['has'](_0x5c7368['id'])||_0x308bae['add'](_0x5c7368),this['allConnectedUsers']['has'](_0x5c7368['id'])||_0x552a1c['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5c7368,_0x5c7368['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52beea,{'channelId':_0x52beea,'session':_0x102cc1});}['_handleSessionRemove'](_0x47614e,_0x32bf1a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4d3f45=this['channelConnectedUsers']['get'](_0x47614e),_0x2634fd=_0x32bf1a['user'];_0x2634fd['id']&&(this['channelSessions']['get'](_0x47614e)['remove'](_0x32bf1a['id']),_0x4d3f45['has'](_0x2634fd['id'])&&!this['getUserSessions'](_0x2634fd,_0x47614e)['size']&&_0x4d3f45['remove'](_0x2634fd['id']),this['allConnectedUsers']['get'](_0x2634fd['id'])&&!this['getUserSessions'](_0x2634fd)['size']&&this['allConnectedUsers']['remove'](_0x2634fd['id']));}['_createUser'](_0x32bd9f,_0x5632e9){const _0x3754e4=this['_users']['addUser'](_0x32bd9f);return _0x5632e9&&this['_users']['defineMe'](_0x32bd9f['id']),_0x3754e4['orderNumber']=this['_uniqueUsersCount']++,_0x3754e4;}}class G extends _0x30d29d{['_domEmitter']=new(_0x5278b2())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1f5088=this['editor'],_0x5de332=_0x1f5088['plugins']['get'](i);_0x1f5088['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x54bc48,{writer:_0x241052})=>function(_0x148d5f,_0x5c06bc,_0x5ed2f5,_0x295f68){const _0x4ac57d=_0x148d5f['markerName']['split'](':')[0x2],_0x337ea6=_0x5ed2f5['getUserBySessionId'](_0x4ac57d);if(!_0x337ea6||_0x4ac57d===_0x5ed2f5['mySessionId'])return;if(!_0x295f68['model']['schema']['checkChild'](_0x148d5f['markerRange']['start'],'$text'))return;const _0x26b996={'class':'ck-user__marker\x20'+_0x337ea6['color']['getMarkerClass'](),'data-name':_0x337ea6['name'],'data-session-id':_0x4ac57d},_0x1c7bde=_0x295f68['model']['markers']['get'](_0x148d5f['markerName']),_0x3a6f5e=_0x1c7bde['getStart'](),_0x394848=_0x3a6f5e['nodeAfter'],_0x410b91=_0x295f68['model']['schema'];if(_0x394848&&_0x410b91['isObject'](_0x394848)&&_0x410b91['isInline'](_0x394848)&&!_0x295f68['model']['markers']['get']('user:range:'+_0x4ac57d)['getRange']()['isCollapsed'])return;const _0x1333a3=_0x3a6f5e['parent'];return _0x295f68['model']['schema']['isLimit'](_0x1333a3)&&!_0x295f68['model']['hasContent'](_0x1333a3)&&(_0x26b996['contenteditable']=!0x1),function(_0x34e858,_0x5e3217,_0x5aa3c6){const _0xac9e54=_0x34e858['createUIElement']('span',_0x5e3217);return _0x34e858['setCustomProperty']('userPositionMarker',!0x0,_0xac9e54),_0xac9e54['render']=function(_0xcf000d){const _0x2c7c9b=this['toDomElement'](_0xcf000d),_0x279fbb=document['createElement']('span');return _0x279fbb['classList']['add']('ck-user__marker-tooltip'),_0x279fbb['setAttribute']('contenteditable','false'),_0x279fbb['setAttribute']('spellcheck','false'),_0x279fbb['textContent']=_0x5aa3c6['name'],_0x2c7c9b['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x279fbb['outerHTML']+'⁠',_0x2c7c9b['addEventListener']('mouseenter',()=>{_0x2c7c9b['classList']['add']('ck-user__marker_hovered');}),_0x2c7c9b['addEventListener']('mouseleave',()=>{_0x2c7c9b['classList']['remove']('ck-user__marker_hovered');}),_0x2c7c9b;},_0xac9e54['isSimilar']=function(_0x40ef56){return!(!this['getCustomProperty']('userPositionMarker')||!_0x40ef56['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x40ef56['getAttribute']('data-session-id'));},_0xac9e54;}(_0x5c06bc,_0x26b996,_0x337ea6);}(_0x54bc48,_0x241052,_0x5de332,_0x1f5088)}),_0x1f5088['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8bc35=>function(_0x40edef,_0x2730e3){const _0x5206b7=_0x40edef['markerName']['split'](':')[0x2];if(_0x5206b7===_0x2730e3['mySessionId'])return null;const _0x13e8c9=_0x2730e3['getUserBySessionId'](_0x5206b7);if(!_0x13e8c9)return{'id':_0x5206b7,'classes':[]};return{'id':_0x5206b7,'classes':['ck-user__selection',_0x13e8c9['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5206b7},'priority':0x7d0+_0x13e8c9['orderNumber']};}(_0x8bc35,_0x5de332)}),function(_0x597067){const _0x5f5677=_0x597067['model'],_0x8f9bc5=new Map(),_0x170d96=_0x597067['plugins']['get'](i);_0x5f5677['markers']['on']('update:user:range',(_0x5b0302,_0x345821,_0x190c00,_0xef95c5)=>{if(!_0xef95c5&&_0x8f9bc5['get'](_0x345821['name']))return _0x8f9bc5['get'](_0x345821['name'])['detach'](),void _0x8f9bc5['delete'](_0x345821['name']);const _0x4f88b8=_0x345821['name']['split'](':')[0x2];if(_0x4f88b8===_0x170d96['mySessionId'])return;const _0x219095='user:position:'+_0x4f88b8;_0x5f5677['markers']['has'](_0x219095)&&_0x597067['editing']['reconvertMarker'](_0x219095),_0x345821['on']('change:range',(_0x25d341,_0x2d973b,_0x32ccce)=>{if('$graveyard'!=_0x2d973b['root']['rootName']&&'$graveyard'==_0x345821['getRange']()['root']['rootName']&&!_0x8f9bc5['has'](_0x345821['name'])){const _0x448ef0=_0x5f5677['schema']['getNearestSelectionRange'](_0x32ccce['deletionPosition']);if(_0x448ef0){const _0x484a84=_0x221838['fromRange'](_0x448ef0);_0x8f9bc5['set'](_0x345821['name'],_0x484a84),_0x484a84['on']('change:range',(_0x560d03,_0x479116,_0x32be4a)=>{if('$graveyard'==_0x484a84['root']['rootName']){const _0x97f43=_0x5f5677['schema']['getNearestSelectionRange'](_0x32be4a['deletionPosition']);_0x97f43?(_0x484a84['start']=_0x97f43['start'],_0x484a84['end']=_0x97f43['end']):(_0x8f9bc5['delete'](_0x345821['name']),_0x484a84['detach']());}});}}});}),_0x5f5677['document']['on']('change',()=>{_0x8f9bc5['size']>0x0&&_0x5f5677['enqueueChange']({'isUndoable':!0x1},_0xa73fad=>{for(const [_0x3efe0a,_0x1da1c7]of _0x8f9bc5)'$graveyard'==_0x5f5677['markers']['get'](_0x3efe0a)['getRange']()['root']['rootName']&&(re(_0x3efe0a['split'](':')[0x2],_0x1da1c7['toRange'](),_0x5f5677,_0xa73fad),_0x1da1c7['detach']());_0x8f9bc5['clear']();});});}(_0x1f5088),this['_domEmitter']['listenTo'](_0x2b0da0['document'],'keydown',(_0x461006,{key:_0x1f4240})=>{'Escape'===_0x1f4240&&function(_0x5cfbbd){_0x5cfbbd['editing']['view']['change'](_0x304847=>{for(const _0x19a42d of _0x5cfbbd['model']['markers']){if(!_0x19a42d['name']['startsWith']('user:position'))continue;const _0x45ca17=_0x5cfbbd['editing']['mapper']['markerNameToElements'](_0x19a42d['name']);if(_0x45ca17){for(const _0x5ccc78 of _0x45ca17)_0x304847['removeClass']('ck-user__marker_hovered',_0x5ccc78);}}});}(_0x1f5088);},{'useCapture':!0x0});}['afterInit'](){const _0x4e1bb6=this['editor'],_0xf701f0=_0x4e1bb6['commands']['get']('undo');_0xf701f0&&_0x4e1bb6['model']['on']('applyOperation',(_0x5bdcca,_0x105ace)=>{const _0x1fe453=_0x105ace[0x0];if(!_0x1fe453['isDocumentOperation'])return;if('marker'!=_0x1fe453['type']||!_0x1fe453['name']['startsWith']('user:'))return;const _0x441e73=_0x1fe453['batch'];_0xf701f0['_createdBatches']['has'](_0x441e73)&&(_0x1fe453['newRange']=_0x1fe453['oldRange']?_0x4e1bb6['model']['createRange'](_0x1fe453['oldRange']['start'],_0x1fe453['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1073aa=this['editor'],_0x13b98b=_0x1073aa['model']['document'],_0x3a7ec5=_0x1073aa['plugins']['get'](i);_0x1073aa['model']['enqueueChange']({'isUndoable':!0x1},_0x4c15d3=>{const _0x1cc539='user:range:'+_0x3a7ec5['mySessionId'],_0x4e0941='user:position:'+_0x3a7ec5['mySessionId'],_0x145f1e=_0x1073aa['model']['markers']['has'](_0x1cc539);_0x1073aa['editing']['view']['hasDomSelection']?re(_0x3a7ec5['mySessionId'],_0x13b98b['selection']['getFirstRange'](),_0x1073aa['model'],_0x4c15d3):_0x145f1e&&(_0x4c15d3['removeMarker'](_0x1cc539),_0x4c15d3['removeMarker'](_0x4e0941));});}}function re(_0xcefcad,_0x5dd2f1,_0x58af40,_0x17036a){const _0x48a737='user:range:'+_0xcefcad,_0x5e18c5='user:position:'+_0xcefcad,_0x4f01de=_0x5dd2f1['getContainedElement']();let _0x2bb926=_0x5dd2f1['start'];if(_0x4f01de&&_0x4f01de['is']('element','tableCell')){const _0xc93ea0=function(_0x58ebef,_0x4c6b5d){for(const _0x179854 of _0x58ebef['getPositions']())if(_0x4c6b5d['schema']['checkChild'](_0x179854,'$text'))return _0x179854;}(_0x5dd2f1,_0x58af40);_0xc93ea0&&(_0x2bb926=_0xc93ea0,_0x5dd2f1=_0x17036a['createRange'](_0x2bb926));}const _0x46706f=_0x17036a['createRange'](_0x2bb926);_0x58af40['markers']['has'](_0x48a737)?(_0x17036a['updateMarker'](_0x48a737,{'range':_0x5dd2f1}),_0x17036a['updateMarker'](_0x5e18c5,{'range':_0x46706f})):(_0x17036a['addMarker'](_0x48a737,{'range':_0x5dd2f1,'usingOperation':!0x0}),_0x17036a['addMarker'](_0x5e18c5,{'range':_0x46706f,'usingOperation':!0x0}));}function $(_0xf1973d,_0x4a9c0c,_0x2d439e){const _0x2dac56=_0xf1973d['t'],t=_0xf1973d['t'];switch(_0x4a9c0c){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 _0x2dac56({'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'},_0x2d439e);default:return'';}}let Q=0x1;class l extends _0x30d29d{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1992e4)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x2cbdaa,_0x1d3547,_0x2d9d9d];}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 _0x20e596=this['serverHistory']['getOperations']();for(let _0x4a1873=_0x20e596['length']-0x1;_0x4a1873>=0x0;_0x4a1873--){const _0x4de24b=_0x20e596[_0x4a1873];if(!this['_disconnectionOperations']['has'](_0x4de24b))return _0x4de24b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x59ebb1){if(super(_0x59ebb1),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x376331(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1b0251('collaboration-missing-channelid',this);const _0x357b89=_0x59ebb1['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x357b89,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x354552(),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 _0x465458=this['editor'],_0x1fe482=_0x465458['plugins']['get'](_0x1d3547),_0x358309=_0x465458['plugins']['get'](n);this['listenTo'](_0x1fe482,'getOperationAuthor',(_0x45d88d,_0x8f7327)=>{const _0x5b1725=_0x8f7327[0x0];_0x5b1725['_authorId']&&(_0x45d88d['return']=_0x1fe482['getUser'](_0x5b1725['_authorId']),_0x45d88d['stop']()),null===_0x5b1725['_authorId']&&(_0x45d88d['return']=null,_0x45d88d['stop']());},{'priority':'high'}),this['listenTo'](_0x465458['model']['document']['selection'],'change:range',(_0x1d0483,_0x610e20)=>{_0x610e20['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x465458['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x465458['model']['on']('applyOperation',(_0xdb3b44,_0x42fd94)=>{const _0x2e3f82=_0x42fd94[0x0];_0x2e3f82['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2e3f82),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x358309,'state',this,'_hasSynchronizationProblem',(_0x252692,_0x1cc776)=>'connected'===_0x252692&&!_0x1cc776),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x465458['disableReadOnlyMode']('rtc-offline'):_0x465458['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x465458['disableReadOnlyMode']('rtc-offline'):_0x465458['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x172db8=this['editor']['plugins']['get'](i),_0x2b278a=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x172db8['unregister'](this['_channelId']);const _0xe17376=await this['_service']['reconnect'](_0x2b278a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xe17376)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x13b0e5=await this['_service']['getConnectedSessions']();_0x172db8['register'](this['_channelId'],_0x13b0e5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3d020b){if(function(_0x450865){return'404'===_0x450865['code'];}(_0x3d020b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x456086){return'409'===_0x456086['code'];}(_0x3d020b)){const _0x18b071=$(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'](_0x18b071);}else{if(!(_0x3d020b instanceof ReconnectionError))throw _0x3d020b;this['_handleReconnectionError']();}}}}['destroy'](){const _0x305c67=this['editor']['plugins']['get'](n),_0x51f172=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x51f172['channelSessions']['has'](this['_channelId'])&&_0x51f172['unregister'](this['_channelId']),_0x305c67['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xbadc3a){if(this['sessionId']!==_0xbadc3a['sessionId']&&this['_lastSyncedOperationId']!==_0xbadc3a['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0xbadc3a['sessionId'],this['_handleServerResponse']([],{..._0xbadc3a,'wereChangesApplied':!0x1,'data':_0xbadc3a['data']},'reconnect');}async['_connectService'](_0x524dfe,_0x50f86f=!0x1){const {connection:_0x1ea880}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1ea880,this['_channelId'])['then'](_0x30e4e4=>this['_initSessionsHandling'](_0x30e4e4))['catch'](_0x3cc173=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3cc173);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59191d,_0x22c3e2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x22c3e2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4ad5a3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x524dfe);this['_isPendingUpdate']=!0x0;const _0x79958c=await this['_service']['connect'](_0x1ea880,this['_compressOperations'](_0x524dfe),_0x4ad5a3);if(this['sessionId']=_0x79958c['sessionId'],_0x50f86f){if(!_0x79958c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x79958c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x524dfe,_0x79958c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x79958c,_0x524dfe);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x353b22=this['editor']['plugins']['get'](i),_0x2ebaa4=this['editor']['plugins']['get'](G),_0x2fd55b=_0x353b22['channelSessions']['get'](this['_channelId']);_0x2fd55b&&_0x2fd55b['length']>0x1?_0x2ebaa4['createUserMarkerOperations']():this['listenTo'](_0x353b22,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x353b22['channelSessions']['get'](this['_channelId'])['length']&&_0x2ebaa4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xa488bb,_0x1a28b6,_0x535040,_0x420e60){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1a28b6){const _0x4d2e24=this['_decompressOperations'](_0x535040,_0x420e60);await this['_fetchMissingUsers'](_0x4d2e24),this['_handleExternalOperations'](_0x4d2e24,_0x1a28b6,_0x535040['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x446cd3}=this['editor'];let _0x48213e;try{_0x48213e=await this['_service']['getDocumentDetails']();}catch{const _0x38ac85=$(_0x446cd3,'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'](_0x38ac85);}const _0x1faeb4=_0x48213e['currentDocumentSession']||_0x48213e['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1faeb4['lastOperationId']){const _0xf0609f=$(_0x446cd3,'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'](_0xf0609f);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2a2b04){const _0x2569e1=this['editor']['plugins']['get'](i);this['listenTo'](_0x2569e1,'sessionAdd:'+this['_channelId'],(_0x4e09ee,{session:_0x4bb762})=>{if(_0x4bb762['id']===_0x2569e1['mySessionId']){_0x4e09ee['off']();const _0x379225=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x9e13fd=_0x4bb762['permissions'];_0x379225&&_0x379225['isEnabled']&&(_0x9e13fd=_0x9e13fd['filter'](_0x41a969=>'document:write'!==_0x41a969)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x9e13fd,this['_channelId']);}}),_0x2569e1['register'](this['_channelId'],_0x2a2b04);}['_initThrowingOnDataSet'](){const _0x15c768=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2bc3a4)=>{if(!_0x2bc3a4[_0x2bc3a4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1b0251('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x15c768['apply'](this['editor']['data'],_0x2bc3a4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4645cc,[_0x1c1c7f])=>{if(this['_document']['version'])throw new _0x1b0251('realtimecollaborationclient-init-document-already-initialized',this);_0x4645cc['stop'](),this['_setPendingAction']();const _0xa59049=this['editor']['config']['get']('rootsAttributes'),_0x4776e1=this['_getOperationsFromInitData'](_0x1c1c7f,_0xa59049);0x0==_0x4776e1['length']&&_0x4776e1['push'](new _0x290d45(0x0)),_0x4645cc['return']=this['_connectService'](_0x4776e1)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x47a702=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x47a702))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2745df,[_0x426b94,_0x25c3e0])=>{_0x2745df['stop']();const _0x913dfc=this['editor']['model']['document']['getRoot'](_0x426b94);if(!this['_knownRootNames']['has'](_0x426b94)){const _0x29fefb=_0x25c3e0&&_0x25c3e0['data']?_0x25c3e0['data']:'',_0x4af848=_0x25c3e0&&_0x25c3e0['attributes']?_0x25c3e0['attributes']:{};await this['_loadRoot'](_0x426b94,_0x29fefb,_0x4af848);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x913dfc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x913dfc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x33d76a){const _0x4a97a1=this['editor']['plugins']['get'](_0x1d3547),{connection:_0x1cc005}=this['editor']['plugins']['get'](n),_0x5cc73c=new Set();for(const _0x5eb288 of _0x33d76a){const _0x19e06f=_0x5eb288['_authorId'];_0x19e06f&&!_0x4a97a1['getUser'](_0x19e06f)&&_0x5cc73c['add'](_0x19e06f);}if(0x0===_0x5cc73c['size'])return;const _0x13b249=await rt['getMany'](_0x1cc005,Array['from'](_0x5cc73c));for(const _0x53f54f of _0x13b249)_0x4a97a1['getUser'](_0x53f54f['id'])||_0x4a97a1['addUser'](_0x53f54f);}['_getOperationsFromInitData'](_0x4543c6,_0x416eeb={}){const _0x2faa1c=this['editor']['model'],_0x3f8861=[];let _0x42db8f=0x0;const _0x491161='string'==typeof _0x4543c6?{'main':_0x4543c6}:_0x4543c6;for(const _0x459811 of Object['keys'](_0x491161)){if(!this['_document']['roots']['has'](_0x459811))throw new _0x1b0251('realtimecollaborationclient-init-non-existent-root',this);const _0x519e4c=this['editor']['data']['parse'](_0x491161[_0x459811]),_0x1bee1d=this['_document']['getRoot'](_0x459811),_0x2597e9=new _0xd00a9d(_0x2faa1c['createPositionAt'](_0x1bee1d,0x0),_0x519e4c,_0x42db8f++);_0x3f8861['push'](_0x2597e9);for(const [_0x3ffcca,_0x37365b]of _0x519e4c['markers']){const _0x7898ff=_0x2faa1c['createRange'](_0x2faa1c['createPositionFromPath'](_0x1bee1d,_0x37365b['start']['path']['slice']()),_0x2faa1c['createPositionFromPath'](_0x1bee1d,_0x37365b['end']['path']['slice']())),_0x2deb06=new _0x151573(_0x3ffcca,null,_0x7898ff,_0x2faa1c['markers'],!0x0,_0x42db8f++);_0x3f8861['push'](_0x2deb06);}}if(_0x416eeb)for(const [_0x3ec3dc,_0x1ced86]of Object['entries'](_0x416eeb)){const _0x6a1fa=_0x2faa1c['document']['getRoot'](_0x3ec3dc);if(!_0x6a1fa)throw new _0x1b0251('multi-root-editor-root-attributes-no-root',null);for(const [_0x4d0c22,_0x5dc09a]of Object['entries'](_0x1ced86))if(null!==_0x5dc09a){const _0x269ba9=new _0x12fae1(_0x6a1fa,_0x4d0c22,null,_0x5dc09a,_0x42db8f++);_0x3f8861['push'](_0x269ba9);}}return _0x3f8861;}async['_loadRoot'](_0x25f2e0,_0x192b4e,_0x139ad8){this['_getOperationsFromInitData']({[_0x25f2e0]:_0x192b4e},{[_0x25f2e0]:_0x139ad8})['forEach']((_0x1a7303,_0x5df6be)=>{_0x1a7303['baseVersion']=this['_document']['version']+_0x5df6be,_0x1a7303['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1a7303);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x53202f,_0x46ed08){let _0x3738b3;this['_offset']=_0x53202f['offset'];const _0x45466b=_0x53202f['wereChangesApplied']&&!_0x53202f['initData'],_0x293615=_0x45466b?0x0:_0x53202f['data']['baseVersion'];if(_0x46ed08['forEach'](_0x38b82c=>{_0x38b82c['_isInit']=!0x0,_0x38b82c['createdAt']=_0x53202f['sessionCreatedAt'],_0x38b82c['_authorId']=null;}),_0x45466b)_0x3738b3=_0x46ed08,this['_applyOperationsSet'](_0x3738b3,_0x45466b);else{if(_0x53202f['initData']){const _0x1ae11b=this['_getOperationsFromInitData'](_0x53202f['initData']);this['_document']['history']['version']=-_0x1ae11b['length'],_0x1ae11b['forEach'](_0x1d546b=>{_0x1d546b['baseVersion']-=_0x1ae11b['length'],_0x1d546b['createdAt']=_0x53202f['sessionCreatedAt'],_0x1d546b['_isInit']=!0x0,_0x1d546b['_authorId']=null;}),this['_applyOperationsSet'](_0x1ae11b,!0x0),this['serverHistory']['version']=-_0x1ae11b['length']+this['_offset'],this['_updateServerHistory'](_0x1ae11b);}this['_document']['history']['version']=_0x293615,_0x3738b3=this['_decompressOperations'](_0x53202f['data'],_0x53202f['metadata']),await this['_fetchMissingUsers'](_0x3738b3),this['_applyOperationsSet'](_0x3738b3,_0x45466b);}_0x53202f['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3738b3,_0x53202f['lastOperationId']),this['_lastSyncedOperationId']=_0x53202f['lastOperationId']),this['serverHistory']['version']=_0x293615+this['_offset'],this['_updateServerHistory'](_0x3738b3),_0x46ed08['filter'](_0x4540ab=>{const _0x3e5182=this['_getAffectedRoot'](_0x4540ab);return _0x3e5182&&!this['_knownRootNames']['has'](_0x3e5182);})['forEach']((_0x5ade00,_0x178a76)=>{_0x5ade00['baseVersion']=this['_document']['version']+_0x178a76,this['_saveOperationInBuffer'](_0x5ade00);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1b0d62,_0x59e3dd){const _0x157ef9=_0x59e3dd&&_0x59e3dd['message'];if(_0x157ef9&&_0x157ef9['startsWith']('realtimecollaborationclient'))throw _0x59e3dd;const _0x4e2516=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4e2516['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1b0251(_0x1b0d62,this['editor'],_0x157ef9?{'originalError':_0x157ef9}:void 0x0);}['_saveOperationInBuffer'](_0x1dab77){this['_knownOperations']['has'](_0x1dab77)||(this['_knownOperations']['add'](_0x1dab77),this['_bufferedOperations']['push'](_0x1dab77),this['_pendingAction']||'marker'==_0x1dab77['type']&&!_0x1dab77['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xb970f=!0x1){!_0xb970f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5338a0=>{_0x5338a0&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cfd80=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1e695e){return _0x1e695e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1e695e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1e695e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cfd80)||this['_crash'](_0x3cfd80['message'],_0x3cfd80);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5c5c77=>{this['on']('change:_isPendingUpdate',()=>{_0x5c5c77();});});}async['_sendBufferedOperations'](){const _0xd70d8a=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0xd70d8a['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x40219d=[...this['_bufferedOperations']];for(const _0x4bb90d of _0x40219d)_0x4bb90d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4bb90d);const _0x1d92f1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x40219d),_0x2067ca=Q++,_0x567aed=this['_compressOperations'](_0x40219d),_0x5a5f7e=await this['_service']['sendOperations'](_0x567aed,_0x567aed['baseVersion'],_0x1d92f1);try{return await this['_handleServerResponse'](_0x40219d,_0x5a5f7e,_0x2067ca);}catch(_0x1e9e0e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1e9e0e);}}async['_handleServerResponse'](_0x5a46f8,_0x4ca316,_0x5da878){if('error'in _0x4ca316)throw _0x4ca316['error'];let _0x4e9f2e=!0x1;if(_0x4ca316['wereChangesApplied']){_0x4ca316['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4ca316['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x509f19=>!_0x5a46f8['includes'](_0x509f19));for(const _0x433d67 of _0x5a46f8)_0x433d67['createdAt']='lastOperationAcceptedAt'in _0x4ca316&&_0x4ca316['lastOperationAcceptedAt']||void 0x0;X(_0x5a46f8,_0x4ca316['version']-_0x5a46f8['length']),this['_updateServerHistory'](_0x5a46f8);const _0x285089=_0x5a46f8['filter'](_0x4acf34=>{if(!_0x4acf34['_isInit'])return!0x1;const _0x14e789=this['_getAffectedRoot'](_0x4acf34);return _0x14e789&&!this['_knownRootNames']['has'](_0x14e789);});X(_0x285089,this['_document']['version']),this['_applyOperationsSet'](_0x285089),_0x4e9f2e=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44af0c=this['_decompressOperations'](_0x4ca316['data'],_0x4ca316['metadata'])['filter'](_0x584b3b=>_0x584b3b['baseVersion']>=this['_lastServerVersion']);_0x44af0c['forEach'](_0x5ea924=>this['_addKnownRoot'](_0x5ea924)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x156fa7=>!_0x156fa7['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x156fa7))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44af0c),_0x4e9f2e=this['_handleExternalOperations'](_0x44af0c,_0x4ca316['version'],_0x4ca316['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4e9f2e?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x501220,_0x3a0f7e,_0xd2964e){try{const _0x30c56e={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x43e1f6,operationsB:_0x377766,originalOperations:_0x2397f9}=_0x1f0beb(_0x501220,this['_bufferedOperations'],_0x30c56e);X(_0x43e1f6,this['_document']['version']),X(_0x377766,_0x3a0f7e);for(const _0x3e32bf of _0x43e1f6){const _0x4e131a=_0x2397f9['get'](_0x3e32bf);_0x3e32bf['_authorId']=_0x4e131a?_0x4e131a['_authorId']:null;}_0xd2964e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x501220,_0xd2964e),this['_lastSyncedOperationId']=_0xd2964e),this['_bufferedOperations']=[..._0x377766],this['_applyOperationsSet'](_0x43e1f6),this['_updateServerHistory'](_0x501220);}catch(_0x164af9){return console['error'](_0x164af9),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2196b7,_0x4a0124=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3ac51e=>{for(const _0xd865d6 of _0x2196b7)this['_knownOperations']['add'](_0xd865d6),this['_addKnownRoot'](_0xd865d6),_0x3ac51e['batch']['addOperation'](_0xd865d6),this['editor']['model']['applyOperation'](_0xd865d6);});}['_addKnownRoot'](_0x11e083){const _0x25f295=this['_getAffectedRoot'](_0x11e083);_0x25f295&&this['_knownRootNames']['add'](_0x25f295);}['_getAffectedRoot'](_0x1edec0){let _0x40ed7d,_0x286222;switch(_0x1edec0['type']){case'insert':_0x40ed7d=_0x1edec0['position']['root'];break;case'marker':if(_0x286222=_0x1edec0['newRange'],!_0x286222)return null;_0x40ed7d=_0x286222['root'];break;case'addRootAttribute':_0x40ed7d=_0x1edec0['root'];break;case'addRoot':_0x40ed7d=_0x1edec0['affectedSelectable'];break;case'move':_0x40ed7d=_0x1edec0['targetPosition']['root'];break;default:return null;}return _0x40ed7d['rootName'];}['_updateServerHistory'](_0x318d39){_0x318d39['forEach'](_0x89a457=>{const _0x5c5670=_0x89a457['clone']();_0x5c5670['_authorId']=_0x89a457['_authorId'],_0x5c5670['_isInit']=!!_0x89a457['_isInit'],_0x5c5670['createdAt']=_0x89a457['createdAt'],_0x5c5670['baseVersion']+=this['_offset'],_0x89a457['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5c5670),this['serverHistory']['addOperation'](_0x5c5670);});}['_handleReconnectionError'](_0x9a2ca5){const _0x3ff19f=this['editor']['plugins']['get']('Notification'),_0x3aeee4=this['editor']['locale'];_0x9a2ca5||(_0x9a2ca5=$(_0x3aeee4,'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.')),_0x3ff19f['showWarning'](_0x9a2ca5,{'title':$(_0x3aeee4,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2cbdaa)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2cbdaa)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xd3aefa){const _0x2ba213=_0xd3aefa['map'](_0xb1a0ed=>_0xb1a0ed['toJSON']());return this['_compressor']['compress'](_0x2ba213);}['_decompressOperations'](_0x3d4d84,_0x21a018){return this['_compressor']['decompress'](_0x3d4d84)['map']((_0x56d86d,_0x41166e)=>{const _0x15bfec='init'==_0x21a018[_0x41166e]['type'];if('InsertOperation'==_0x56d86d['__className']){const _0x4328e9=_0x56d86d['position']['root'];!this['_document']['getRoot'](_0x4328e9)&&(this['_document']['createRoot']('$root',_0x4328e9)['_isAttached']=!0x1);}const _0x5b2e62=_0x2d25b5['fromJSON'](_0x56d86d,this['_document']);return _0x5b2e62['wasUndone']=_0x56d86d['wasUndone'],_0x5b2e62['_isInit']=_0x15bfec,_0x5b2e62['_authorId']=_0x15bfec?null:_0x21a018[_0x41166e]['userId'],_0x5b2e62['_isDisconnection']='cs:removeUser'===_0x21a018[_0x41166e]['type'],_0x5b2e62['createdAt']=_0x21a018[_0x41166e]['createdAt'],_0x5b2e62;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4fa32b=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4fa32b&&_0x4fa32b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function X(_0x4bc525,_0x52b279){for(const _0x48a2a3 of _0x4bc525)_0x48a2a3['baseVersion']=_0x52b279++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x252daa){this['_ignoredOperations']=_0x252daa,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x13ac7e){let _0x1bce46=_0x13ac7e['length'];for(;_0x1bce46--;){const _0x3e13cf=_0x13ac7e[_0x1bce46];if(!this['_ignoredOperations']['has'](_0x3e13cf)){if(!this['_operationToId']['has'](_0x3e13cf)){const _0x247d64=_0x2e65e8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3e13cf,_0x247d64);}return this['_operationToId']['get'](_0x3e13cf);}}}['setIdForTheLastOperation'](_0x1526b8,_0xcb47b5){if(!_0xcb47b5)return;let _0x3545b5=_0x1526b8['length'];for(;_0x3545b5--;){const _0x118c81=_0x1526b8[_0x3545b5];this['_ignoredOperations']['has'](_0x118c81)||this['_operationToId']['set'](_0x118c81,_0xcb47b5);}}}class a extends _0x30d29d{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xfd8900{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x3bed14)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1d3547];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5285eb){super(_0x5285eb),this['_services']=new Map();}async['init'](){const _0x5ed162=this['context'],_0x201f06=_0x5ed162['plugins']['get']('CommentsRepository');if(_0x5ed162['plugins']['get'](n)['addToReconnectionStack'](this),_0x201f06['adapter']={'addCommentThread':async({channelId:_0x2d5b29,threadId:_0x248701,comments:_0xcc9a68,resolvedAt:_0x25f88b,resolvedBy:_0x780099,context:_0x1f4e2c,attributes:_0x174267})=>{const _0x1e581b=await this['_getService'](_0x2d5b29)['addCommentThread']({'commentThreadId':_0x248701,'comments':_0xcc9a68['map'](_0x595490=>function(_0x3773c6,_0x457f08,_0xf42100){return{'commentThreadId':_0xf42100,'commentId':_0x3773c6['commentId'],'userId':_0x3773c6['authorId'],'content':_0x3773c6['content'],'documentId':_0x457f08,'createdAt':_0x3773c6['createdAt'],'attributes':_0x3773c6['attributes']||{}};}(_0x595490,_0x2d5b29,_0x248701)),'resolvedAt':_0x25f88b,'resolvedBy':_0x780099,'context':_0x1f4e2c,'attributes':_0x174267})['catch'](at);return{'threadId':_0x1e581b['commentThreadId'],'comments':_0x1e581b['comments']};},'getCommentThread':async({channelId:_0x5e8131,threadId:_0x1f6b4a})=>{const _0x4ffda9=await this['_getService'](_0x5e8131)['getCommentThread'](_0x1f6b4a)['catch'](F)['catch'](at);return _0x4ffda9?_0x4ffda9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4ffda9]),{'threadId':_0x4ffda9['commentThreadId'],'comments':_0x4ffda9['comments']['map'](P),'context':_0x4ffda9['context'],'resolvedAt':_0x4ffda9['resolvedAt'],'resolvedBy':_0x4ffda9['resolvedBy'],'attributes':_0x4ffda9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2944d8,threadId:_0x50ba78,context:_0x5a3a80,unlinkedAt:_0x14ee5e,attributes:_0x3882e8})=>this['_getService'](_0x2944d8)['updateCommentThread']({'commentThreadId':_0x50ba78,'context':_0x5a3a80,'attributes':_0x3882e8,'unlinkedAt':_0x14ee5e})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x5993db,threadId:_0x2c654d})=>{const _0x5a7a8d=await this['_getService'](_0x5993db)['resolveCommentThread'](_0x2c654d)['catch'](F)['catch'](at);return{'threadId':_0x5a7a8d['commentThreadId'],'resolvedAt':_0x5a7a8d['resolvedAt'],'resolvedBy':_0x5a7a8d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x207378,threadId:_0x12d7ab})=>this['_getService'](_0x207378)['reopenCommentThread'](_0x12d7ab)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x1d3a75,threadId:_0x40cff1})=>this['_getService'](_0x1d3a75)['removeCommentThread'](_0x40cff1)['catch'](F)['catch'](at),'addComment':({channelId:_0x110377,threadId:_0x1b6417,commentId:_0x4fa3a1,content:_0x2608b2,attributes:_0x1a0525})=>this['_getService'](_0x110377)['addComment'](_0x1b6417,_0x4fa3a1,_0x2608b2,_0x1a0525)['catch'](at),'updateComment':({channelId:_0x2665a7,threadId:_0x49fbf8,commentId:_0x420d81,content:_0x4975ef,attributes:_0x33c64b})=>this['_getService'](_0x2665a7)['updateComment'](_0x49fbf8,_0x420d81,_0x4975ef,_0x33c64b)['catch'](F)['catch'](at),'removeComment':({channelId:_0x340445,threadId:_0x4569b0,commentId:_0x5e82c8})=>this['_getService'](_0x340445)['removeComment'](_0x4569b0,_0x5e82c8)['catch'](F)['catch'](at)},_0x5ed162 instanceof _0x47a3c5){const _0x223051=_0x5ed162['config']['get']('collaboration.channelId'),_0x5dd904=_0x5ed162['plugins']['get'](i);await this['_setUpService'](_0x223051);const _0x358d2d=await this['_services']['get'](_0x223051)['getConnectedSessions']();this['listenTo'](_0x5dd904,'sessionAdd:'+_0x223051,(_0x443de2,{session:_0x351655})=>{_0x351655['id']===_0x5dd904['mySessionId']&&(_0x443de2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x351655['permissions'],_0x223051));}),_0x5dd904['register'](_0x223051,_0x358d2d);}}async['_setUpService'](_0x9beea9){if(this['_services']['has'](_0x9beea9))throw new _0x1b0251('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x9beea9});const _0xaec489=this['context']['plugins']['get']('CommentsRepository'),_0x1e983e=new s['CommentsService'](_0x9beea9);this['_services']['set'](_0x9beea9,_0x1e983e),this['listenTo'](_0x1e983e,'commentThreadAdded',(_0x58d8b3,_0x584923)=>{const {commentThreadId:_0x1f96dd,documentId:_0xa0bdef,context:_0x4e0e5f,attributes:_0x510c08,resolvedAt:_0x251b46,resolvedBy:_0x3a4609,comments:_0x1a985c}=_0x584923;_0xaec489['getCommentThread'](_0x1f96dd)||_0xaec489['addCommentThread']({'threadId':_0x1f96dd,'channelId':_0xa0bdef,'comments':_0x1a985c?_0x1a985c['map'](P):[],'context':_0x4e0e5f,'attributes':_0x510c08,'resolvedAt':_0x251b46,'resolvedBy':_0x3a4609,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentThreadUpdated',(_0x3667db,{commentThreadId:_0x4548a9,documentId:_0x1bf12,context:_0x238f82,unlinkedAt:_0x5d2d44,attributes:_0x5e5056})=>{_0xaec489['getCommentThread'](_0x4548a9)&&_0xaec489['updateCommentThread']({'threadId':_0x4548a9,'channelId':_0x1bf12,'context':_0x238f82,'unlinkedAt':_0x5d2d44,'attributes':_0x5e5056,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentThreadResolved',(_0x4b309d,{commentThreadId:_0x45ee18,resolvedBy:_0x205986,resolvedAt:_0x43de39})=>{const _0x11cf3e=_0xaec489['getCommentThread'](_0x45ee18);_0x11cf3e&&_0x11cf3e['resolve']({'resolvedBy':_0x205986,'resolvedAt':_0x43de39,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentThreadReopened',(_0x3b726f,{commentThreadId:_0x3e6e43})=>{const _0x48afd8=_0xaec489['getCommentThread'](_0x3e6e43);_0x48afd8&&_0x48afd8['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentThreadRemoved',(_0x55eff5,{commentThreadId:_0x4b04be})=>{const _0x59dae8=_0xaec489['getCommentThread'](_0x4b04be);_0x59dae8&&_0x59dae8['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentAdded',(_0xa81a7,_0x477fb2)=>{const _0x50f429=_0x477fb2['commentThreadId'],_0xbc6211=_0xaec489['getCommentThread'](_0x50f429);_0xbc6211&&_0xbc6211['addComment']({...P(_0x477fb2),'isFromAdapter':!0x0});}),this['listenTo'](_0x1e983e,'commentUpdated',(_0x543e8c,{commentThreadId:_0x57ad47,commentId:_0x433fbc,content:_0x3a0cc2,attributes:_0x2c4819})=>{const _0x59f554=_0xaec489['getCommentThread'](_0x57ad47);if(_0x59f554){const _0x38ed95=_0x59f554['getComment'](_0x433fbc);_0x38ed95&&_0x38ed95['update']({'content':_0x3a0cc2,'attributes':_0x2c4819,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1e983e,'commentRemoved',(_0x53a2c5,{commentThreadId:_0x5f10f5,commentId:_0x2c8ef5})=>{const _0x23dd03=_0xaec489['getCommentThread'](_0x5f10f5);if(_0x23dd03){const _0x269397=_0x23dd03['getComment'](_0x2c8ef5);_0x269397&&_0x269397['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x9beea9);}['destroy'](){if(this['context']instanceof _0x47a3c5){const _0x55992a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x55992a);}}['_terminateService'](_0x53acc4){if(!this['_services']['has'](_0x53acc4))throw new _0x1b0251('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x53acc4});this['_getService'](_0x53acc4)['disconnect'](),this['_services']['delete'](_0x53acc4);}async['reconnect'](){for(const _0x2b54fb of this['_services']['keys']())await this['_connectService'](_0x2b54fb);if(this['context']instanceof _0x47a3c5){const _0x3751b1=this['context']['config']['get']('collaboration.channelId'),_0x1aad8=this['context']['plugins']['get'](i);_0x1aad8['unregister'](_0x3751b1);const _0x14d6f2=await this['_services']['get'](_0x3751b1)['getConnectedSessions']();_0x1aad8['register'](_0x3751b1,_0x14d6f2);}}async['_connectService'](_0x5efdbf){const {connection:_0x4d7f1f}=this['context']['plugins']['get'](n),_0x28451d=this['context']['plugins']['get']('CommentsRepository'),_0x3353e2=this['_services']['get'](_0x5efdbf),_0xca42cc=await _0x3353e2['connect'](_0x4d7f1f);await this['_fetchMissingUsersForThreads'](_0xca42cc);const _0x33ab17=new Set(Array['from'](_0x28451d['getCommentThreads']({'channelId':_0x5efdbf}),_0x3d05b7=>_0x3d05b7['id']));for(const _0x36c6fd of _0xca42cc)_0x36c6fd['deletedAt']||_0x33ab17['delete'](_0x36c6fd['commentThreadId']);for(const _0x1ec53d of _0x33ab17)_0x28451d['getCommentThread'](_0x1ec53d)['remove']({'isFromAdapter':!0x0});for(const _0x5a4d6f of _0xca42cc){let _0x37c348=_0x28451d['getCommentThread'](_0x5a4d6f['commentThreadId']);const {commentThreadId:_0x582891,context:_0x2b20d0,attributes:_0x41d6da,resolvedBy:_0x199709,resolvedAt:_0x2643ea,unlinkedAt:_0x5dc372,deletedAt:_0x2937ec}=_0x5a4d6f;if(_0x2937ec)continue;_0x37c348||(_0x37c348=_0x28451d['addCommentThread']({'channelId':_0x5efdbf,'threadId':_0x582891,'context':_0x2b20d0,'attributes':_0x41d6da||{},'resolvedBy':_0x199709,'resolvedAt':_0x2643ea,'unlinkedAt':_0x5dc372,'isFromAdapter':!0x0}));const _0x39c709=new Set(Array['from'](_0x37c348['comments'],_0xb2ee4e=>_0xb2ee4e['id']));for(const _0x15a839 of _0x5a4d6f['comments'])_0x39c709['delete'](_0x15a839['commentId']);for(const _0x33dff9 of _0x39c709)_0x37c348['getComment'](_0x33dff9)['remove']({'isFromAdapter':!0x0});for(const _0x1a64a1 of _0x5a4d6f['comments']){const _0xaf7da1=_0x37c348['getComment'](_0x1a64a1['commentId']);_0xaf7da1?_0xaf7da1['content']!==_0x1a64a1['content']&&_0xaf7da1['update']({'content':_0x1a64a1['content'],'isFromAdapter':!0x0}):_0x37c348['addComment'](Object['assign'](P(_0x1a64a1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x422d60){if(!this['_services']['has'](_0x422d60))throw new _0x1b0251('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x422d60});return this['_services']['get'](_0x422d60);}async['_fetchMissingUsersForThreads'](_0x594501){const _0x71129d=this['context']['plugins']['get'](_0x1d3547),{connection:_0xa57c7c}=this['context']['plugins']['get'](n),_0x44ddcd=new Set();for(const {resolvedBy:_0x5e8119,comments:_0x122955}of _0x594501){_0x5e8119&&!_0x71129d['getUser'](_0x5e8119)&&_0x44ddcd['add'](_0x5e8119);for(const {userId:_0x3183a5}of _0x122955)_0x71129d['getUser'](_0x3183a5)||_0x44ddcd['add'](_0x3183a5);}if(0x0===_0x44ddcd['size'])return;const _0x2ead28=await rt['getMany'](_0xa57c7c,Array['from'](_0x44ddcd));for(const _0x31fcd6 of _0x2ead28)_0x71129d['getUser'](_0x31fcd6['id'])||_0x71129d['addUser'](_0x31fcd6);}}async function F(_0x1a9263){if('404'!==_0x1a9263['code'])throw _0x1a9263;}function at(_0x287791){if((_0x4d6796=_0x287791)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4d6796['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d6796['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4d6796;throw _0x287791;}function P(_0x39d7d3){return{'threadId':_0x39d7d3['commentThreadId'],'commentId':_0x39d7d3['commentId'],'content':_0x39d7d3['content'],'createdAt':_0x39d7d3['createdAt'],'authorId':_0x39d7d3['userId'],'attributes':_0x39d7d3['attributes']||{}};}class m extends _0x30d29d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x432d35){super(_0x432d35);const _0x301450=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x301450);}['init'](){const _0x5bae5a=this['editor']['plugins']['get'](n),_0x5b094d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5b094d['adapter']={'getSuggestion':async _0x429891=>{await this['_waitForServiceReady']();const _0x5cfaf4=await this['_trackChangesService']['get'](_0x429891)['catch'](B);return await this['_fetchMissingUsersForThreads']([_0x5cfaf4]),_0x5cfaf4;},'addSuggestion':async({id:_0x384a1f,type:_0x837274,data:_0x6ead27,originalSuggestionId:_0x1dfd60,attributes:_0x1df7f8})=>{await this['_waitForServiceReady']();const _0x596707={'id':_0x384a1f,'type':_0x837274,'data':_0x6ead27,'originalSuggestionId':_0x1dfd60,'attributes':_0x1df7f8},_0x141451=await this['_trackChangesService']['add'](_0x384a1f,_0x837274,_0x6ead27,_0x1dfd60,_0x1df7f8)['catch'](_0x5c382c=>{if(ct(_0x5c382c))return new Promise(_0x319e02=>{this['_bufferedRequests']['set'](_0x384a1f,{'resolve':_0x319e02,'suggestionData':_0x596707});});throw _0x5c382c;});return this['_bufferedRequests']['delete'](_0x384a1f),_0x141451;},'updateSuggestion':async(_0x27d42b,_0x33c495)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33c495['state'])return this['_trackChangesService']['update'](_0x27d42b,_0x33c495)['catch'](B);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5af701,_0x239624)=>{_0x5b094d['hasSuggestion'](_0x239624['id'])&&(_0x5b094d['getSuggestion'](_0x239624['id'])['attributes']=_0x239624['attributes']);}),this['_trackChangesService']['connect'](_0x5bae5a['connection'])['then'](_0x1b7dc2=>(_0x5bae5a['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1b7dc2)['then'](()=>{for(const _0x466297 of _0x1b7dc2){_0x5b094d['addSuggestionData'](_0x466297)['_saved']=!0x0;}})));}async['reconnect'](){const _0x24798d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4a2aae}=this['editor']['plugins']['get'](n),_0x493fc8=await this['_trackChangesService']['connect'](_0x4a2aae);await this['_fetchMissingUsersForThreads'](_0x493fc8);for(const {suggestionData:_0x5756d7,resolve:_0x426237}of this['_bufferedRequests']['values']()){let _0x118746=_0x493fc8['find'](_0x30f6e5=>_0x30f6e5['id']===_0x5756d7['id']);_0x118746||(_0x118746=await this['_trackChangesService']['add'](_0x5756d7['id'],_0x5756d7['type'],_0x5756d7['data'],_0x5756d7['originalSuggestionId'])),_0x426237(_0x118746);}for(const _0x120f5e of _0x493fc8)_0x24798d['hasSuggestion'](_0x120f5e['id'])||_0x24798d['addSuggestionData'](_0x120f5e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4d33e3=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2e178f=>{_0x2e178f['off'](),_0x4d33e3();});});}async['_fetchMissingUsersForThreads'](_0x4b40d9){const _0x580abb=this['editor']['plugins']['get'](_0x1d3547),{connection:_0x5d99ac}=this['editor']['plugins']['get'](n),_0x56f770=new Set();for(const {authorId:_0xae5b65}of _0x4b40d9)_0x580abb['getUser'](_0xae5b65)||_0x56f770['add'](_0xae5b65);if(0x0===_0x56f770['size'])return;const _0x110f80=await rt['getMany'](_0x5d99ac,Array['from'](_0x56f770));for(const _0x5a27f7 of _0x110f80)_0x580abb['getUser'](_0x5a27f7['id'])||_0x580abb['addUser'](_0x5a27f7);}}function B(_0x22ac78){if(ct(_0x22ac78))return new Promise(()=>{});throw _0x22ac78;}function ct(_0x464a3c){return _0x464a3c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x464a3c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x30d29d{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5887a7=this['editor']['plugins']['get'](n),_0x5abc8a=this['editor']['plugins']['get']('CommentsEditing'),_0x44d37b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5887a7,'change:state',(_0x288175,_0x38caa6,_0x49af14)=>{_0x5abc8a['isThreadsLoadingPaused']='connected'!==_0x49af14;});}),this['listenTo'](_0x5887a7,'change:state',(_0x21d934,_0x2c59a6,_0x53db5e)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x53db5e);}),_0x44d37b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x30d29d{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x30d29d{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x1946f6)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1d3547];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d150f){super(_0x2d150f);const _0x7e3f07=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x7e3f07);}async['init'](){const _0x4f547c=this['editor']['plugins']['get'](l),_0xbf68ed=_0x4f547c['serverHistory'],_0x4e8606=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xbf68ed,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4f547c['sessionId']});const _0x3739f9=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1f4047=await _0x107a0a['isBundleUploaded'](_0x4e8606['connection'],_0x3739f9);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1c9eb4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1c9eb4)),'updateRevisions':async _0x3d0b0e=>{await this['_waitForServiceReady']();const _0x57a95d=this['_revisionTracker']['currentRevision'];if(_0x1f4047&&0x1===_0x3d0b0e['length']&&_0x3d0b0e[0x0]['id']===_0x57a95d['id'])return _0x3d0b0e;for(const _0xfaf2c1 of _0x3d0b0e)_0xfaf2c1['id']===_0x57a95d['id']&&(_0xfaf2c1['isEmptyCurrent']=_0xfaf2c1['fromVersion']===_0xfaf2c1['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3d0b0e,this['_lastRequestId'])['then'](_0x4a9cd3=>(this['_lastRequestId']=_0x4a9cd3,_0x3d0b0e))['catch'](_0x401fc8=>{if(I(_0x401fc8)||'400'===_0x401fc8['code']&&void 0x0!==_0x401fc8['data']['wrongRequestId']){for(const _0xa2f431 of _0x3d0b0e){!this['_revisionTracker']['repository']['getRevision'](_0xa2f431['id'])||this['_revisionTracker']['_bufferUpdate'](_0xa2f431['id'],_0xa2f431,!0x1);}if(I(_0x401fc8))throw _0x401fc8;return _0x3d0b0e;}throw _0x401fc8;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1703a1,{revisionsData:_0x45ccd0,requestId:_0x6c3f93})=>{Math['max'](..._0x45ccd0['map'](_0x502af2=>_0x502af2['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x45ccd0,_0x6c3f93);}):this['_handleRevisionsUpdate'](_0x45ccd0,_0x6c3f93);});const {revisions:_0x26a48b,requestId:_0x1bc6d9}=await this['_revisionHistoryService']['connect'](_0x4e8606['connection']);_0x4e8606['addToReconnectionStack'](this),this['_lastRequestId']=_0x1bc6d9,await this['_fetchMissingUsers'](_0x26a48b);for(const _0x3822c3 of _0x26a48b)this['_revisionTracker']['addRevisionData'](_0x3822c3);this['listenTo'](_0x4f547c,'change:_isConnected',(_0x1e7732,_0x46f640,_0x20d9e7)=>{_0x20d9e7&&(this['_oldOffset']=_0x4f547c['_offset'],_0x1e7732['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4e8606,'state',_0xa0436a=>_0xa0436a===_0x3e236f['CONNECTED']);}async['reconnect'](){const _0x58caf9=this['editor']['plugins']['get'](n),_0x43526c=this['editor']['plugins']['get'](l),_0x5ec5e4=async()=>{const _0x2f52ce=this['_revisionTracker']['currentRevision'],_0xa9c44b=_0x2f52ce['id'],_0x396fed=_0xa9c44b!==_0x43526c['sessionId'];if(_0x396fed){const _0x93e7c0=_0x43526c['_offset']-this['_oldOffset'],_0x4c2e4a=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2f52ce['toVersion']+_0x93e7c0!==_0x4c2e4a){const _0x1aff58=_0x2f52ce['fromVersion']+_0x93e7c0,_0x3e2b08=this['editor']['plugins']['get'](_0x1d3547),_0x268cef=this['_revisionTracker']['buildRevisionData']({'revision':_0x2f52ce,'from':_0x1aff58,'to':_0x4c2e4a});_0x268cef['id']=_0x2f52ce['id'];const _0x68782f=_0x268cef['authorsIds']['map'](_0x57db9a=>_0x3e2b08['getUser'](_0x57db9a));_0x2f52ce['_update']({..._0x268cef,'authors':_0x68782f},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2f52ce['id'],_0x268cef,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4c2e4a,(_0x2f52ce['toVersion']===_0x2f52ce['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xa9c44b)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xa9c44b),this['_revisionTracker']['_createCurrentRevision'](_0x4c2e4a));}const {revisions:_0x412cd9,requestId:_0x15466b}=await this['_revisionHistoryService']['reconnect'](_0x58caf9['connection'],this['_lastRequestId']);_0x396fed&&_0x412cd9['length']>0x0?_0x43526c['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x412cd9),this['_handleRevisionsUpdate'](_0x412cd9,_0x15466b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x43526c['_isConnected']?_0x5ec5e4():new Promise((_0x2acb4d,_0xcd2f84)=>{_0x43526c['once']('change:_isConnected',()=>{_0x5ec5e4()['then'](_0x2acb4d)['catch'](_0xcd2f84);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x183f8f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x24d859=>{_0x24d859['off'](),_0x183f8f();});});}['_getLatestVersionFromServerOperations'](){const _0x2e30ca=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x12bc4 of _0x2e30ca)if('marker'!==_0x12bc4['type']||_0x12bc4['affectsData'])return _0x12bc4['baseVersion']+0x1;}['_getLatestVersion'](){const _0x15ec9d=this['editor']['plugins']['get'](l);return new Promise(_0x40622a=>{_0x15ec9d['_isPendingUpdate']?_0x15ec9d['once']('change:_isPendingUpdate',()=>{_0x40622a(this['_getLatestVersionFromServerOperations']());}):_0x40622a(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x488f2c,_0x162242){const _0x12de40=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x162242;for(const _0x8acab4 of _0x488f2c){const _0x1e848d=_0x12de40['getRevision'](_0x8acab4['id']);if(_0x1e848d){if((_0x8acab4['fromVersion']||_0x8acab4['toVersion'])&&(_0x8acab4['diffData']=null),_0x1e848d===this['_revisionTracker']['currentRevision']){const _0x158950=Math['max'](_0x1e848d['toVersion'],_0x8acab4['toVersion']),_0x247992=Math['max'](_0x1e848d['fromVersion'],_0x8acab4['fromVersion']);let _0x874aa6;_0x1e848d['toVersion']===_0x8acab4['toVersion']&&_0x1e848d['fromVersion']===_0x8acab4['fromVersion']?(_0x874aa6=!0x0,this['_preventResendingRevisionData'](_0x8acab4)):_0x8acab4['toVersion']===_0x158950&&_0x8acab4['fromVersion']===_0x247992?_0x874aa6=!0x1:(_0x1e848d['toVersion']===_0x158950&&_0x1e848d['fromVersion']===_0x247992||this['_fixRevision']({'revision':_0x1e848d,'from':_0x247992,'to':_0x158950}),_0x874aa6=!0x0),_0x874aa6&&(delete _0x8acab4['fromVersion'],delete _0x8acab4['toVersion'],delete _0x8acab4['diffData'],delete _0x8acab4['createdAt'],delete _0x8acab4['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x8acab4),this['_preventResendingRevisionData'](_0x8acab4);}else this['_revisionTracker']['addRevisionData'](_0x8acab4);}const _0x4141c2=_0x12de40['getRevisions']();_0x4141c2['reverse']();for(let _0xa9883e=0x0;_0xa9883e<_0x4141c2['length']-0x1;_0xa9883e++){const _0x15fc7e=_0x4141c2[_0xa9883e],_0x4f4ad3=_0x4141c2[_0xa9883e+0x1];if(_0x15fc7e['fromVersion']<_0x4f4ad3['toVersion']){const _0x578f9e=_0x4f4ad3['toVersion'],_0x629941=Math['max'](_0x578f9e,_0x15fc7e['toVersion']);this['_fixRevision']({'revision':_0x15fc7e,'from':_0x578f9e,'to':_0x629941});}}}['_fixRevision']({revision:_0x5bbd8b,from:_0xf0e913,to:_0x3690d5}={}){const _0x250c78=this['editor']['plugins']['get'](_0x1d3547),_0x764a31=this['_revisionTracker']['buildRevisionData']({'revision':_0x5bbd8b,'from':_0xf0e913,'to':_0x3690d5});_0x764a31['authors']=_0x764a31['authorsIds']['map'](_0x2a0499=>_0x250c78['getUser'](_0x2a0499)),_0x5bbd8b['_update'](_0x764a31);}['_preventResendingRevisionData'](_0x1fd86f){const _0x291982={};_0x291982['id']=_0x1fd86f['id'];for(const _0x3f81b7 of Object['keys'](_0x1fd86f))'id'!==_0x3f81b7&&(_0x291982[_0x3f81b7]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x291982['id'],_0x291982,!0x0);}async['_fetchMissingUsers'](_0x153391){const _0x237f74=this['editor']['plugins']['get'](_0x1d3547),{connection:_0x621c9d}=this['editor']['plugins']['get'](n),_0x570eeb=new Set();for(const _0x12e86a of _0x153391){for(const _0x91a529 of _0x12e86a['authorsIds'])_0x471e29(_0x91a529);_0x12e86a['creatorId']&&_0x471e29(_0x12e86a['creatorId']);}if(0x0===_0x570eeb['size'])return;const _0x46192c=await rt['getMany'](_0x621c9d,Array['from'](_0x570eeb));for(const _0x4ef356 of _0x46192c)_0x237f74['getUser'](_0x4ef356['id'])||_0x237f74['addUser'](_0x4ef356);function _0x471e29(_0x2b0e19){_0x237f74['getUser'](_0x2b0e19)||_0x570eeb['add'](_0x2b0e19);}}}function I(_0x5682a9){return _0x5682a9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5682a9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5682a9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x30d29d{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x15eed3{['_collapseAt'];constructor(_0x44a6f1,_0x22f79f=0x6){super(_0x44a6f1);const _0x2b958d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x22f79f,this['bind']('isHidden')['to'](this,'usersCount',_0x307bd8=>_0x307bd8<_0x22f79f),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2b958d['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':_0x2b958d['to']('usersCount',_0x2a173e=>'+'+(_0x2a173e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x15eed3{['items'];['keystrokes'];constructor(_0x107cff){super(_0x107cff);const _0x143f10=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xc8fed7(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x143f10['if']('hasPopup'),'aria-expanded':_0x143f10['to']('isExpanded',_0x480320=>this['hasPopup']&&String(_0x480320)),'aria-label':_0x143f10['to']('hasPopup',_0x42db41=>$(_0x107cff,_0x42db41?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x143f10['to']('hasPopup',_0x23a039=>!!_0x23a039&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x143f10['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x143f10['to'](_0x45d308=>{const _0xe32267=_0x45d308,_0x510fb0=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3f202e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x510fb0?.['contains'](_0xe32267['relatedTarget'])||_0x3f202e?.['contains'](_0xe32267['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2aab24,_0x2b1c5c,_0x11a193)=>{this['element']&&(_0x11a193?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 v extends _0x15eed3{['counterView'];['inlineListView'];constructor(_0x691aef,_0xebd6a3=0x6){super(_0x691aef);const _0x538a7a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xebd6a3),this['inlineListView']=new is(_0x691aef),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5bc2c2 of this['inlineListView']['items'])_0x5bc2c2['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',_0x538a7a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x15eed3{['listWrapperView'];constructor(_0x55c0a6,_0x3fc365){super(_0x55c0a6);const _0x12bcba=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x55c0a6,_0x3fc365),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x55c0a6,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x12bcba['to'](_0xebaf48=>{const _0x343cdb=_0xebaf48,_0x164d4b=document['querySelector']('.ck-presence-list__list'),_0x181d2a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x164d4b?.['contains'](_0x343cdb['relatedTarget'])||_0x181d2a?.['contains'](_0x343cdb['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x3f1de7{constructor(_0xa1b391,_0x233b80){super(_0xa1b391);const _0x32f7fc=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x233b80?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x32f7fc['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x32f7fc['to']('role'),'aria-label':_0x32f7fc['to']('ariaLabel'),'aria-labelledby':_0x32f7fc['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2b0da0['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5d5ed8=this['element'];_0x5d5ed8&&(this['_isScrollable']=Math['max'](_0x5d5ed8['scrollHeight'],_0x5d5ed8['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x23859c,_0x2594a2,_0x4edace){super(_0x23859c);const _0x3552c9=this['bindTemplate'];this['userView']=new st(_0x23859c,_0x2594a2);const _0x2b9c39={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2594a2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2594a2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2594a2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x4edace&&(_0x2b9c39['tag']='button',_0x2b9c39['on']={'click':_0x3552c9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b9c39);}['focus'](){this['element']['focus']();}}class A extends _0x15eed3{['userView'];['markerView'];constructor(_0x4d81bf,_0x35a716,_0xf3785c){super(_0x4d81bf);const _0x279308=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x4d81bf,_0x35a716),this['markerView']=new MarkerView(_0x4d81bf,_0x35a716);const _0x2210cf=new it(_0x4d81bf);_0x2210cf['template']['tag']='span',_0x2210cf['text']=_0x35a716['name'];const _0x4c4dce={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x279308['to']('isFocusable',_0x143c9e=>!!_0x143c9e&&0x0),'aria-labelledby':_0x2210cf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x279308['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x279308['to']('hasTooltip',_0x1ddd2a=>!_0x1ddd2a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2210cf]};_0xf3785c&&(_0x4c4dce['tag']='button',_0x4c4dce['on']={'click':_0x279308['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4c4dce);}}class MarkerView extends _0x15eed3{constructor(_0x383cee,_0x432284){super(_0x383cee),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x432284['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xfd8900{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4d1902){super(_0x4d1902),this['context']['config']['define']('presenceList',x);const _0x3ae5c5=_0x4d1902['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3ae5c5)throw new _0x1b0251('presencelist-collapseat-invalid-format',this);if(_0x3ae5c5<0x1)throw new _0x1b0251('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x51237b(),this['balloonPanelView']=new _0x212cdd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xf9a9d0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf9a9d0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3eba9c,_0x59e703)=>{this['_handleUserAdd'](_0x59e703);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1e3d95,_0x5175ec)=>{this['_handleUserRemove'](_0x5175ec);});}['_createView'](){const _0x7c2423=this['context'],_0x1a0620=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xdac1e4=this['balloonPanelView'];if(!_0x3a41f3(_0x7c2423['config']['get']('presenceList.container')))throw new _0x1b0251('presencelist-missing-container',this);return _0x1a0620['counterView']['bind']('usersCount')['to'](this),_0x1a0620['bind']('isCollapsed')['to'](this,'usersCount',_0x456320=>{const {collapseAt:_0xfcb73f}=_0x7c2423['config']['get']('presenceList'),_0x5af6d7=_0x456320>=_0xfcb73f;if(_0x5af6d7&&!_0x1a0620['inlineListView']['items']['find'](_0x155757=>_0x155757 instanceof b)){const _0x34f89e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x34f89e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1a0620['inlineListView']['items']['add'](_0x1a0620['counterView']);}return _0x5af6d7||this['hideDropdown'](),_0x5af6d7;}),_0x1a0620['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1b663b=>{const _0x64984b=_0x7c2423['config']['get']('presenceList'),_0x110e1e=new A(_0x7c2423['locale'],_0x1b663b,!!_0x64984b['onClick']);return _0x110e1e['bind']('hasTooltip')['to'](_0x1a0620,'isCollapsed',_0x3d4b77=>!_0x3d4b77),_0x110e1e['bind']('isFocusable')['to'](_0x1a0620,'isCollapsed',_0x4353e0=>!_0x4353e0),_0x64984b['onClick']&&this['listenTo'](_0x110e1e,'execute',()=>{this['view']['isCollapsed']||_0x64984b['onClick'](_0x1b663b,_0x110e1e['element']);}),_0x110e1e;}),this['listenTo'](_0x1a0620['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1a0620['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1a0620['inlineListView']['keystrokes']['set']('Enter',(_0x404eae,_0x4230a8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4230a8());}),_0x1a0620['render'](),_0xdac1e4['render'](),_0x545d85({'emitter':_0x1a0620,'activator':()=>_0xdac1e4['isVisible'],'contextElements':[_0xdac1e4['element'],_0x1a0620['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x7c2423['config']['get']('presenceList.container')['appendChild'](_0x1a0620['element']),this['_bodyCollection']=new _0x4f1761(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1a0620;}['_handleUserAdd'](_0x4c4ac1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4c4ac1['isMe'])return;const _0x17c055=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x17c055-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xfd1151=_0x4c4ac1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4c4ac1,_0xfd1151);}['_handleUserRemove'](_0x41d4d4){this['usersCount']--;const {collapseAt:_0x24559d}=this['context']['config']['get']('presenceList'),_0x156594=this['usersCount']>=_0x24559d;if(this['currentDisplayedUsers']['get'](_0x41d4d4['id']))this['currentDisplayedUsers']['remove'](_0x41d4d4['id']);else{if(_0x156594&&this['currentDisplayedUsers']['length']+0x1===_0x24559d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x156594?0x1:0x0)<this['usersCount']){for(const _0x5119f8 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5119f8['id'])&&(this['currentDisplayedUsers']['add'](_0x5119f8,Math['min'](this['currentDisplayedUsers']['length']-(_0x156594?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x156594?0x1:0x0)===_0x24559d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xc69707=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0xc69707['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x247ea1}=this['presenceDropdownView'];_0x247ea1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x489670=>{if(!_0xc69707['displayMe']&&_0x489670['isMe'])return null;const _0x3b9596=new j(this['context']['locale'],_0x489670,!!_0xc69707['onClick']);return _0xc69707['onClick']&&this['listenTo'](_0x3b9596,'execute',()=>{_0xc69707['onClick'](_0x489670,_0x3b9596['element']);}),_0x3b9596;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x247ea1['focus'](),_0x247ea1['checkIfScrollable']();const _0x3fd6d8=(_0x4877d0,_0x126285)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x126285();};_0x247ea1['keystrokes']['set']('Esc',_0x3fd6d8),_0x247ea1['keystrokes']['set']('Shift+Tab',_0x3fd6d8),_0x247ea1['keystrokes']['set']('Tab',(_0x2fa745,_0x32c7de)=>{!function(_0x54599a){const _0xbb4b37=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1402ef=>_0x1402ef+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x320da3=[...document['body']['querySelectorAll'](_0xbb4b37)]['filter'](_0x2eeaa3=>_0x2eeaa3===document['activeElement']||_0x2eeaa3['offsetWidth']+_0x2eeaa3['offsetHeight']>0x0)['sort']((_0x4cc9a,_0x192e37)=>(_0x4cc9a['tabIndex']||0x0)-(_0x192e37['tabIndex']||0x0)),_0x1c1c0=_0x320da3['indexOf'](_0x54599a),_0x4ac689=_0x320da3[(_0x1c1c0+0x1)%_0x320da3['length']];_0x4ac689&&_0x4ac689['focus']();}(this['view']['element']),this['hideDropdown'](),_0x32c7de();}),_0x247ea1['focusTracker']['add'](this['view']['element']),_0x247ea1['focusTracker']['on']('change:isFocused',(_0x5639e6,_0x30c9e1,_0x53df2e)=>{_0x53df2e||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 _0xfd8900{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x38fb43,Plugin as _0x1178f7,PendingActions as _0x477f66,Context as _0x8ee687}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x429a99,CKEditorError as _0x138eb8,Collection as _0x505ced,global as _0x439b3d,version as nt,uid as _0x57da16,KeystrokeHandler as _0x5c6d96}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3b6069,View as _0x260788,ListView as _0x1953fa,ListItemView as et,LabelView as it,BalloonPanelView as _0x2b336b,clickOutsideHandler as _0x1b15b6,BodyCollection as _0x11f0a4}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3b0e83,History as _0x3f7e60,NoOperation as _0x42bd19,InsertOperation as _0x17ca5c,MarkerOperation as _0x5b36d3,RootAttributeOperation as _0x47a098,transformOperationSets as _0x4eaa7b,OperationFactory as _0xc5e8b3}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ot,WEB_SOCKET_GATEWAY_STATES as _0x34396e,CollaborativeEditingService as _0x4aa299,User as rt,CommentsService as _0x17ae11,TrackChangesService as tt,RevisionHistoryService as _0x366578,EditorService as _0x332ed7}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5d9668,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3b6f0c}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3c8a9f}from'es-toolkit/compat';class n extends _0x38fb43{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ot)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3b6069];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x571c45){super(_0x571c45),this['set']('state',_0x34396e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x429a99())();}['init'](){const _0x27f1d6=this['context'],_0x416962=_0x27f1d6['plugins']['get']('CloudServices'),_0x541c0f=_0x27f1d6['plugins']['get'](_0x3b6069);if(!_0x416962['token'])throw new _0x138eb8('websocketgateway-missing-token',this);if(!_0x416962['webSocketUrl'])throw new _0x138eb8('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),n['WebSocketGateway']['connect'](_0x416962['token'],_0x416962['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x933fb6=>{if(this['connection']=_0x933fb6,this['bind']('state')['to'](_0x933fb6,'state',this,'_isBrowserOffline',(_0x5b4ffa,_0x408af9)=>('connected'!==_0x5b4ffa&&(this['_shouldPluginsReconnect']=!0x0),_0x408af9||_0x5b4ffa!==_0x34396e['CONNECTED']?_0x34396e['DISCONNECTED']:this['state']==_0x34396e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x34396e['CONNECTING']):_0x34396e['CONNECTED'])),this['connection']['on']('error',(_0x90344f,_0x41abd2)=>{if('limitExceeded'!==_0x41abd2['code'])throw console['error'](_0x41abd2),new _0x138eb8('cloudservices-init',null,{'originalError':_0x41abd2});_0x541c0f['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'});}),!_0x933fb6['me'])return new Promise(_0x319cc2=>_0x933fb6['on']('change:me',_0x319cc2));})['catch'](_0x214614=>{throw console['error'](_0x214614),new _0x138eb8('cloudservices-init',null,{'originalError':_0x214614});});}['addToReconnectionStack'](_0x5b90d3){if('function'!=typeof _0x5b90d3['reconnect'])throw new _0x138eb8('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5b90d3))throw new _0x138eb8('websocketgateway-plugin-already-registered',this,{'name':_0x5b90d3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5b90d3);}['removeFromReconnectionStack'](_0x10bc3b){this['_reconnectionStack']['delete'](_0x10bc3b);}['isInReconnectionStack'](_0x594ebb){return this['_reconnectionStack']['has'](_0x594ebb);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1d65a0=>_0x1d65a0['reconnect']())))['then'](()=>this['state']=_0x34396e['CONNECTED'])['catch'](_0x216de5=>{throw console['error'](_0x216de5),new _0x138eb8('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x34396e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x38fb43{['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[n,_0x5d9668];}constructor(_0x1bbc4f){super(_0x1bbc4f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x505ced(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5d9668);}['init'](){const _0x479939=this['context']['plugins']['get'](n);this['listenTo'](_0x479939,'change:state',(_0x24424e,_0x41ec61,_0x4c2878)=>{if('connected'!==_0x4c2878)this['channelSessions']['forEach'](_0x2e8584=>_0x2e8584['clear']()),this['channelConnectedUsers']['forEach'](_0x1e8588=>_0x1e8588['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31ceab,_0x2cf675]of this['_registeredSessions'])for(const _0x114188 of _0x2cf675)this['_handleSessionAdd'](_0x31ceab,_0x114188);}}),this['_createUser'](_0x479939['connection']['me'],!0x0);}['register'](_0x2a4b6a,_0x3b6f0d){if(this['_registeredSessions']['has'](_0x2a4b6a))throw new _0x138eb8('sessions-register-already-registered',null,{'channelId':_0x2a4b6a});this['_registeredSessions']['set'](_0x2a4b6a,_0x3b6f0d),this['channelSessions']['set'](_0x2a4b6a,new _0x505ced()),this['channelConnectedUsers']['set'](_0x2a4b6a,new _0x505ced()),this['listenTo'](_0x3b6f0d,'add',(_0xc960b3,_0x1e2048)=>this['_handleSessionAdd'](_0x2a4b6a,_0x1e2048)),this['listenTo'](_0x3b6f0d,'remove',(_0x33d932,_0x18fbfb)=>this['_handleSessionRemove'](_0x2a4b6a,_0x18fbfb));for(const _0x5da6d2 of _0x3b6f0d)this['_handleSessionAdd'](_0x2a4b6a,_0x5da6d2);}['unregister'](_0x5c3bd3){if(!this['_registeredSessions']['has'](_0x5c3bd3))throw new _0x138eb8('sessions-unregister-not-exist',null,{'channelId':_0x5c3bd3});const _0x208648=this['_registeredSessions']['get'](_0x5c3bd3);this['stopListening'](_0x208648);for(const _0x197fe8 of _0x208648)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5c3bd3,_0x197fe8);this['_registeredSessions']['delete'](_0x5c3bd3),this['channelSessions']['delete'](_0x5c3bd3),this['channelConnectedUsers']['delete'](_0x5c3bd3);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5de3d9){for(const _0x45e8ed of this['channelSessions']['values']())for(const _0x42ba5f of _0x45e8ed)if(_0x42ba5f['id']===_0x5de3d9)return _0x42ba5f['user'];}['getUserSessions'](_0x159604,_0x4ddbd2){const _0x1cdbc6=_0x4ddbd2?[this['channelSessions']['get'](_0x4ddbd2)]:this['channelSessions']['values'](),_0x5836df=new Set();for(const _0x3257f8 of _0x1cdbc6)for(const _0x45977f of _0x3257f8)_0x45977f['user']['id']===_0x159604['id']&&_0x5836df['add'](_0x45977f['id']);return _0x5836df;}['getUserRole'](_0x585262){for(const _0x1e977e of this['channelSessions']['values']())for(const _0xeac735 of _0x1e977e)if(_0xeac735['user']===_0x585262)return _0xeac735['role'];}['_handleSessionAdd'](_0x310365,_0x401fe6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x11b4c2=_0x401fe6['user'],_0x2c83bb=this['_users']['getUser'](_0x11b4c2['id'])||this['_createUser'](_0x11b4c2),_0x1a6e54=Object['assign']({},_0x401fe6,{'user':_0x2c83bb});if(this['channelSessions']['get'](_0x310365)['add'](_0x1a6e54),!_0x11b4c2['hiddenInPresenceList']){const _0x1edd0a=this['channelConnectedUsers']['get'](_0x310365);_0x1edd0a['has'](_0x2c83bb['id'])||_0x1edd0a['add'](_0x2c83bb),this['allConnectedUsers']['has'](_0x2c83bb['id'])||_0x11b4c2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2c83bb,_0x2c83bb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x310365,{'channelId':_0x310365,'session':_0x1a6e54});}['_handleSessionRemove'](_0x378610,_0x18c17b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x530739=this['channelConnectedUsers']['get'](_0x378610),_0x59a32c=_0x18c17b['user'];_0x59a32c['id']&&(this['channelSessions']['get'](_0x378610)['remove'](_0x18c17b['id']),_0x530739['has'](_0x59a32c['id'])&&!this['getUserSessions'](_0x59a32c,_0x378610)['size']&&_0x530739['remove'](_0x59a32c['id']),this['allConnectedUsers']['get'](_0x59a32c['id'])&&!this['getUserSessions'](_0x59a32c)['size']&&this['allConnectedUsers']['remove'](_0x59a32c['id']));}['_createUser'](_0x32597b,_0x592b00){const _0x3a21d4=this['_users']['addUser'](_0x32597b);return _0x592b00&&this['_users']['defineMe'](_0x32597b['id']),_0x3a21d4['orderNumber']=this['_uniqueUsersCount']++,_0x3a21d4;}}class G extends _0x1178f7{['_domEmitter']=new(_0x429a99())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3fb856=this['editor'],_0x530964=_0x3fb856['plugins']['get'](i);_0x3fb856['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1e1725,{writer:_0x1bea8b})=>function(_0x446830,_0x378742,_0xf5041f,_0x1aec36){const _0xdb9c47=_0x446830['markerName']['split'](':')[0x2],_0x131087=_0xf5041f['getUserBySessionId'](_0xdb9c47);if(!_0x131087||_0xdb9c47===_0xf5041f['mySessionId'])return;if(!_0x1aec36['model']['schema']['checkChild'](_0x446830['markerRange']['start'],'$text'))return;const _0x3e9efc={'class':'ck-user__marker\x20'+_0x131087['color']['getMarkerClass'](),'data-name':_0x131087['name'],'data-session-id':_0xdb9c47},_0x1e8a02=_0x1aec36['model']['markers']['get'](_0x446830['markerName']),_0x1dedc5=_0x1e8a02['getStart'](),_0x31416c=_0x1dedc5['nodeAfter'],_0x5a96a3=_0x1aec36['model']['schema'];if(_0x31416c&&_0x5a96a3['isObject'](_0x31416c)&&_0x5a96a3['isInline'](_0x31416c)&&!_0x1aec36['model']['markers']['get']('user:range:'+_0xdb9c47)['getRange']()['isCollapsed'])return;const _0x16df7a=_0x1dedc5['parent'];return _0x1aec36['model']['schema']['isLimit'](_0x16df7a)&&!_0x1aec36['model']['hasContent'](_0x16df7a)&&(_0x3e9efc['contenteditable']=!0x1),function(_0x4d281b,_0x1e5fae,_0x4b5c18){const _0x4ad7f6=_0x4d281b['createUIElement']('span',_0x1e5fae);return _0x4d281b['setCustomProperty']('userPositionMarker',!0x0,_0x4ad7f6),_0x4ad7f6['render']=function(_0x4e470e){const _0x21369e=this['toDomElement'](_0x4e470e),_0x161b95=document['createElement']('span');return _0x161b95['classList']['add']('ck-user__marker-tooltip'),_0x161b95['setAttribute']('contenteditable','false'),_0x161b95['setAttribute']('spellcheck','false'),_0x161b95['textContent']=_0x4b5c18['name'],_0x21369e['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x161b95['outerHTML']+'⁠',_0x21369e['addEventListener']('mouseenter',()=>{_0x21369e['classList']['add']('ck-user__marker_hovered');}),_0x21369e['addEventListener']('mouseleave',()=>{_0x21369e['classList']['remove']('ck-user__marker_hovered');}),_0x21369e;},_0x4ad7f6['isSimilar']=function(_0x54907f){return!(!this['getCustomProperty']('userPositionMarker')||!_0x54907f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x54907f['getAttribute']('data-session-id'));},_0x4ad7f6;}(_0x378742,_0x3e9efc,_0x131087);}(_0x1e1725,_0x1bea8b,_0x530964,_0x3fb856)}),_0x3fb856['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2503f8=>function(_0xe81e9e,_0x253286){const _0xaa29a0=_0xe81e9e['markerName']['split'](':')[0x2];if(_0xaa29a0===_0x253286['mySessionId'])return null;const _0x3a5696=_0x253286['getUserBySessionId'](_0xaa29a0);if(!_0x3a5696)return{'id':_0xaa29a0,'classes':[]};return{'id':_0xaa29a0,'classes':['ck-user__selection',_0x3a5696['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xaa29a0},'priority':0x7d0+_0x3a5696['orderNumber']};}(_0x2503f8,_0x530964)}),function(_0x588300){const _0x2b7921=_0x588300['model'],_0x22154e=new Map(),_0x457bc0=_0x588300['plugins']['get'](i);_0x2b7921['markers']['on']('update:user:range',(_0x308648,_0x44418f,_0x27a4fb,_0x2367a3)=>{if(!_0x2367a3&&_0x22154e['get'](_0x44418f['name']))return _0x22154e['get'](_0x44418f['name'])['detach'](),void _0x22154e['delete'](_0x44418f['name']);const _0x1cde19=_0x44418f['name']['split'](':')[0x2];if(_0x1cde19===_0x457bc0['mySessionId'])return;const _0x2fb64a='user:position:'+_0x1cde19;_0x2b7921['markers']['has'](_0x2fb64a)&&_0x588300['editing']['reconvertMarker'](_0x2fb64a),_0x44418f['on']('change:range',(_0x247bc2,_0x12ae72,_0x30795)=>{if('$graveyard'!=_0x12ae72['root']['rootName']&&'$graveyard'==_0x44418f['getRange']()['root']['rootName']&&!_0x22154e['has'](_0x44418f['name'])){const _0x10bdb7=_0x2b7921['schema']['getNearestSelectionRange'](_0x30795['deletionPosition']);if(_0x10bdb7){const _0x30cc4c=_0x3b0e83['fromRange'](_0x10bdb7);_0x22154e['set'](_0x44418f['name'],_0x30cc4c),_0x30cc4c['on']('change:range',(_0x46d91b,_0x6aefc5,_0x552431)=>{if('$graveyard'==_0x30cc4c['root']['rootName']){const _0x263241=_0x2b7921['schema']['getNearestSelectionRange'](_0x552431['deletionPosition']);_0x263241?(_0x30cc4c['start']=_0x263241['start'],_0x30cc4c['end']=_0x263241['end']):(_0x22154e['delete'](_0x44418f['name']),_0x30cc4c['detach']());}});}}});}),_0x2b7921['document']['on']('change',()=>{_0x22154e['size']>0x0&&_0x2b7921['enqueueChange']({'isUndoable':!0x1},_0x4201c7=>{for(const [_0x2c2a21,_0x1e56d8]of _0x22154e)'$graveyard'==_0x2b7921['markers']['get'](_0x2c2a21)['getRange']()['root']['rootName']&&(re(_0x2c2a21['split'](':')[0x2],_0x1e56d8['toRange'](),_0x2b7921,_0x4201c7),_0x1e56d8['detach']());_0x22154e['clear']();});});}(_0x3fb856),this['_domEmitter']['listenTo'](_0x439b3d['document'],'keydown',(_0x2bd436,{key:_0x12dd3c})=>{'Escape'===_0x12dd3c&&function(_0x4e2597){_0x4e2597['editing']['view']['change'](_0x48b698=>{for(const _0x23f7dc of _0x4e2597['model']['markers']){if(!_0x23f7dc['name']['startsWith']('user:position'))continue;const _0x31f93b=_0x4e2597['editing']['mapper']['markerNameToElements'](_0x23f7dc['name']);if(_0x31f93b){for(const _0x2f57e7 of _0x31f93b)_0x48b698['removeClass']('ck-user__marker_hovered',_0x2f57e7);}}});}(_0x3fb856);},{'useCapture':!0x0});}['afterInit'](){const _0x5f179f=this['editor'],_0x1db3d7=_0x5f179f['commands']['get']('undo');_0x1db3d7&&_0x5f179f['model']['on']('applyOperation',(_0x596211,_0x26475b)=>{const _0xc100ec=_0x26475b[0x0];if(!_0xc100ec['isDocumentOperation'])return;if('marker'!=_0xc100ec['type']||!_0xc100ec['name']['startsWith']('user:'))return;const _0x4adf2a=_0xc100ec['batch'];_0x1db3d7['_createdBatches']['has'](_0x4adf2a)&&(_0xc100ec['newRange']=_0xc100ec['oldRange']?_0x5f179f['model']['createRange'](_0xc100ec['oldRange']['start'],_0xc100ec['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x404d4e=this['editor'],_0x8e5b6c=_0x404d4e['model']['document'],_0x4fbe1d=_0x404d4e['plugins']['get'](i);_0x404d4e['model']['enqueueChange']({'isUndoable':!0x1},_0xd610bb=>{const _0xb18e58='user:range:'+_0x4fbe1d['mySessionId'],_0x275e58='user:position:'+_0x4fbe1d['mySessionId'],_0x409905=_0x404d4e['model']['markers']['has'](_0xb18e58);_0x404d4e['editing']['view']['hasDomSelection']?re(_0x4fbe1d['mySessionId'],_0x8e5b6c['selection']['getFirstRange'](),_0x404d4e['model'],_0xd610bb):_0x409905&&(_0xd610bb['removeMarker'](_0xb18e58),_0xd610bb['removeMarker'](_0x275e58));});}}function re(_0x3d9c11,_0x2aa8f3,_0x48a46c,_0x18cb72){const _0x2c2c95='user:range:'+_0x3d9c11,_0x383f89='user:position:'+_0x3d9c11,_0x25c5ff=_0x2aa8f3['getContainedElement']();let _0x3b9d43=_0x2aa8f3['start'];if(_0x25c5ff&&_0x25c5ff['is']('element','tableCell')){const _0x20fb77=function(_0x36535c,_0x4774c9){for(const _0x3f4d83 of _0x36535c['getPositions']())if(_0x4774c9['schema']['checkChild'](_0x3f4d83,'$text'))return _0x3f4d83;}(_0x2aa8f3,_0x48a46c);_0x20fb77&&(_0x3b9d43=_0x20fb77,_0x2aa8f3=_0x18cb72['createRange'](_0x3b9d43));}const _0x2771ac=_0x18cb72['createRange'](_0x3b9d43);_0x48a46c['markers']['has'](_0x2c2c95)?(_0x18cb72['updateMarker'](_0x2c2c95,{'range':_0x2aa8f3}),_0x18cb72['updateMarker'](_0x383f89,{'range':_0x2771ac})):(_0x18cb72['addMarker'](_0x2c2c95,{'range':_0x2aa8f3,'usingOperation':!0x0}),_0x18cb72['addMarker'](_0x383f89,{'range':_0x2771ac,'usingOperation':!0x0}));}function $(_0x2fbf49,_0x39d501,_0x62cde2){const _0x366e91=_0x2fbf49['t'],t=_0x2fbf49['t'];switch(_0x39d501){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 _0x366e91({'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'},_0x62cde2);default:return'';}}let Q=0x1;class l extends _0x1178f7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x4aa299)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x477f66,_0x5d9668,_0x3b6069];}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 _0x496d54=this['serverHistory']['getOperations']();for(let _0x1cfa0d=_0x496d54['length']-0x1;_0x1cfa0d>=0x0;_0x1cfa0d--){const _0x190164=_0x496d54[_0x1cfa0d];if(!this['_disconnectionOperations']['has'](_0x190164))return _0x190164['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x109fe7){if(super(_0x109fe7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3f7e60(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x138eb8('collaboration-missing-channelid',this);const _0x4abff9=_0x109fe7['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4abff9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3b6f0c(),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 _0x250ef4=this['editor'],_0x8ba856=_0x250ef4['plugins']['get'](_0x5d9668),_0x2f877e=_0x250ef4['plugins']['get'](n);this['listenTo'](_0x8ba856,'getOperationAuthor',(_0x50caca,_0x14cbf7)=>{const _0x372178=_0x14cbf7[0x0];_0x372178['_authorId']&&(_0x50caca['return']=_0x8ba856['getUser'](_0x372178['_authorId']),_0x50caca['stop']()),null===_0x372178['_authorId']&&(_0x50caca['return']=null,_0x50caca['stop']());},{'priority':'high'}),this['listenTo'](_0x250ef4['model']['document']['selection'],'change:range',(_0xf8d251,_0x5366e1)=>{_0x5366e1['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x250ef4['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x250ef4['model']['on']('applyOperation',(_0x3c6181,_0x54d35f)=>{const _0x16b0fd=_0x54d35f[0x0];_0x16b0fd['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x16b0fd),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2f877e,'state',this,'_hasSynchronizationProblem',(_0x12c9d9,_0x58eb47)=>'connected'===_0x12c9d9&&!_0x58eb47),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x250ef4['disableReadOnlyMode']('rtc-offline'):_0x250ef4['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x250ef4['disableReadOnlyMode']('rtc-offline'):_0x250ef4['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5ef5a9=this['editor']['plugins']['get'](i),_0x1ee0eb=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x5ef5a9['unregister'](this['_channelId']);const _0x1e60b9=await this['_service']['reconnect'](_0x1ee0eb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e60b9)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2b3440=await this['_service']['getConnectedSessions']();_0x5ef5a9['register'](this['_channelId'],_0x2b3440),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5baefd){if(function(_0x302672){return'404'===_0x302672['code'];}(_0x5baefd)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x19cc1e){return'409'===_0x19cc1e['code'];}(_0x5baefd)){const _0x2881c4=$(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'](_0x2881c4);}else{if(!(_0x5baefd instanceof ReconnectionError))throw _0x5baefd;this['_handleReconnectionError']();}}}}['destroy'](){const _0x189883=this['editor']['plugins']['get'](n),_0x12274d=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x12274d['channelSessions']['has'](this['_channelId'])&&_0x12274d['unregister'](this['_channelId']),_0x189883['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1db030){if(this['sessionId']!==_0x1db030['sessionId']&&this['_lastSyncedOperationId']!==_0x1db030['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x1db030['sessionId'],this['_handleServerResponse']([],{..._0x1db030,'wereChangesApplied':!0x1,'data':_0x1db030['data']},'reconnect');}async['_connectService'](_0x32f47d,_0x2bd8f5=!0x1){const {connection:_0x415285}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x415285,this['_channelId'])['then'](_0x39ec2c=>this['_initSessionsHandling'](_0x39ec2c))['catch'](_0x380663=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x380663);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2a9d75,_0x2d09ff)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2d09ff);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x35270b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x32f47d);this['_isPendingUpdate']=!0x0;const _0x3998c9=await this['_service']['connect'](_0x415285,this['_compressOperations'](_0x32f47d),_0x35270b);if(this['sessionId']=_0x3998c9['sessionId'],_0x2bd8f5){if(!_0x3998c9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3998c9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x32f47d,_0x3998c9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3998c9,_0x32f47d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x51d626=this['editor']['plugins']['get'](i),_0xa0d40=this['editor']['plugins']['get'](G),_0x28d56b=_0x51d626['channelSessions']['get'](this['_channelId']);_0x28d56b&&_0x28d56b['length']>0x1?_0xa0d40['createUserMarkerOperations']():this['listenTo'](_0x51d626,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x51d626['channelSessions']['get'](this['_channelId'])['length']&&_0xa0d40['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x556763,_0x4969a8,_0x1489dc,_0x3b7b07){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4969a8){const _0x1a367d=this['_decompressOperations'](_0x1489dc,_0x3b7b07);await this['_fetchMissingUsers'](_0x1a367d),this['_handleExternalOperations'](_0x1a367d,_0x4969a8,_0x1489dc['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x244cd2}=this['editor'];let _0x10fca9;try{_0x10fca9=await this['_service']['getDocumentDetails']();}catch{const _0x388086=$(_0x244cd2,'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'](_0x388086);}const _0x2ce69f=_0x10fca9['currentDocumentSession']||_0x10fca9['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2ce69f['lastOperationId']){const _0x3fa11c=$(_0x244cd2,'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'](_0x3fa11c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x42d829){const _0x3d413a=this['editor']['plugins']['get'](i);this['listenTo'](_0x3d413a,'sessionAdd:'+this['_channelId'],(_0x25bc19,{session:_0x1a0fd1})=>{if(_0x1a0fd1['id']===_0x3d413a['mySessionId']){_0x25bc19['off']();const _0x36a6e5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3943de=_0x1a0fd1['permissions'];_0x36a6e5&&_0x36a6e5['isEnabled']&&(_0x3943de=_0x3943de['filter'](_0x37063d=>'document:write'!==_0x37063d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3943de,this['_channelId']);}}),_0x3d413a['register'](this['_channelId'],_0x42d829);}['_initThrowingOnDataSet'](){const _0x1ac6b4=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x13f5db)=>{if(!_0x13f5db[_0x13f5db['length']-0x1]['suppressErrorInCollaboration'])throw new _0x138eb8('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1ac6b4['apply'](this['editor']['data'],_0x13f5db);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1d971f,[_0x41fff5])=>{if(this['_document']['version'])throw new _0x138eb8('realtimecollaborationclient-init-document-already-initialized',this);_0x1d971f['stop'](),this['_setPendingAction']();const _0x576e50=this['editor']['config']['get']('rootsAttributes'),_0x45aad9=this['_getOperationsFromInitData'](_0x41fff5,_0x576e50);0x0==_0x45aad9['length']&&_0x45aad9['push'](new _0x42bd19(0x0)),_0x1d971f['return']=this['_connectService'](_0x45aad9)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x273bdf=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x273bdf))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x35a1ef,[_0x502b96,_0x5b5dd6])=>{_0x35a1ef['stop']();const _0x34b7e4=this['editor']['model']['document']['getRoot'](_0x502b96);if(!this['_knownRootNames']['has'](_0x502b96)){const _0x2008bc=_0x5b5dd6&&_0x5b5dd6['data']?_0x5b5dd6['data']:'',_0x31bcbb=_0x5b5dd6&&_0x5b5dd6['attributes']?_0x5b5dd6['attributes']:{};await this['_loadRoot'](_0x502b96,_0x2008bc,_0x31bcbb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x34b7e4['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x34b7e4);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x529e44){const _0x5b914e=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x3b2456}=this['editor']['plugins']['get'](n),_0x3a029a=new Set();for(const _0x1ff6ec of _0x529e44){const _0x2bbcbe=_0x1ff6ec['_authorId'];_0x2bbcbe&&!_0x5b914e['getUser'](_0x2bbcbe)&&_0x3a029a['add'](_0x2bbcbe);}if(0x0===_0x3a029a['size'])return;const _0x3ba7e8=await rt['getMany'](_0x3b2456,Array['from'](_0x3a029a));for(const _0x5644f1 of _0x3ba7e8)_0x5b914e['getUser'](_0x5644f1['id'])||_0x5b914e['addUser'](_0x5644f1);}['_getOperationsFromInitData'](_0x320b20,_0x5067b3={}){const _0x1b9d7b=this['editor']['model'],_0x117e4e=[];let _0x4c7338=0x0;const _0x130d00='string'==typeof _0x320b20?{'main':_0x320b20}:_0x320b20;for(const _0x35d7c8 of Object['keys'](_0x130d00)){if(!this['_document']['roots']['has'](_0x35d7c8))throw new _0x138eb8('realtimecollaborationclient-init-non-existent-root',this);const _0x598fb7=this['editor']['data']['parse'](_0x130d00[_0x35d7c8]),_0x1e2230=this['_document']['getRoot'](_0x35d7c8),_0x3a7b43=new _0x17ca5c(_0x1b9d7b['createPositionAt'](_0x1e2230,0x0),_0x598fb7,_0x4c7338++);_0x117e4e['push'](_0x3a7b43);for(const [_0x35e894,_0x4fa1fc]of _0x598fb7['markers']){const _0x38560e=_0x1b9d7b['createRange'](_0x1b9d7b['createPositionFromPath'](_0x1e2230,_0x4fa1fc['start']['path']['slice']()),_0x1b9d7b['createPositionFromPath'](_0x1e2230,_0x4fa1fc['end']['path']['slice']())),_0x5777b7=new _0x5b36d3(_0x35e894,null,_0x38560e,_0x1b9d7b['markers'],!0x0,_0x4c7338++);_0x117e4e['push'](_0x5777b7);}}if(_0x5067b3)for(const [_0x48255a,_0x34961a]of Object['entries'](_0x5067b3)){const _0x23aaa5=_0x1b9d7b['document']['getRoot'](_0x48255a);if(!_0x23aaa5)throw new _0x138eb8('multi-root-editor-root-attributes-no-root',null);for(const [_0x2277cf,_0x3dedc6]of Object['entries'](_0x34961a))if(null!==_0x3dedc6){const _0xcac4e0=new _0x47a098(_0x23aaa5,_0x2277cf,null,_0x3dedc6,_0x4c7338++);_0x117e4e['push'](_0xcac4e0);}}return _0x117e4e;}async['_loadRoot'](_0x353643,_0x2d453a,_0x22c1a3){this['_getOperationsFromInitData']({[_0x353643]:_0x2d453a},{[_0x353643]:_0x22c1a3})['forEach']((_0x22a0e0,_0x4073a3)=>{_0x22a0e0['baseVersion']=this['_document']['version']+_0x4073a3,_0x22a0e0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x22a0e0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3e1129,_0x32c3cc){let _0x1f5c3e;this['_offset']=_0x3e1129['offset'];const _0x25c70e=_0x3e1129['wereChangesApplied']&&!_0x3e1129['initData'],_0x2f014b=_0x25c70e?0x0:_0x3e1129['data']['baseVersion'];if(_0x32c3cc['forEach'](_0x3da5c0=>{_0x3da5c0['_isInit']=!0x0,_0x3da5c0['createdAt']=_0x3e1129['sessionCreatedAt'],_0x3da5c0['_authorId']=null;}),_0x25c70e)_0x1f5c3e=_0x32c3cc,this['_applyOperationsSet'](_0x1f5c3e,_0x25c70e);else{if(_0x3e1129['initData']){const _0x592efa=this['_getOperationsFromInitData'](_0x3e1129['initData']);this['_document']['history']['version']=-_0x592efa['length'],_0x592efa['forEach'](_0x4aad44=>{_0x4aad44['baseVersion']-=_0x592efa['length'],_0x4aad44['createdAt']=_0x3e1129['sessionCreatedAt'],_0x4aad44['_isInit']=!0x0,_0x4aad44['_authorId']=null;}),this['_applyOperationsSet'](_0x592efa,!0x0),this['serverHistory']['version']=-_0x592efa['length']+this['_offset'],this['_updateServerHistory'](_0x592efa);}this['_document']['history']['version']=_0x2f014b,_0x1f5c3e=this['_decompressOperations'](_0x3e1129['data'],_0x3e1129['metadata']),await this['_fetchMissingUsers'](_0x1f5c3e),this['_applyOperationsSet'](_0x1f5c3e,_0x25c70e);}_0x3e1129['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f5c3e,_0x3e1129['lastOperationId']),this['_lastSyncedOperationId']=_0x3e1129['lastOperationId']),this['serverHistory']['version']=_0x2f014b+this['_offset'],this['_updateServerHistory'](_0x1f5c3e),_0x32c3cc['filter'](_0x25b807=>{const _0x11fdf9=this['_getAffectedRoot'](_0x25b807);return _0x11fdf9&&!this['_knownRootNames']['has'](_0x11fdf9);})['forEach']((_0x2277de,_0xb84cca)=>{_0x2277de['baseVersion']=this['_document']['version']+_0xb84cca,this['_saveOperationInBuffer'](_0x2277de);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x19d095,_0x1acaec){const _0x15ced5=_0x1acaec&&_0x1acaec['message'];if(_0x15ced5&&_0x15ced5['startsWith']('realtimecollaborationclient'))throw _0x1acaec;const _0x4e9ed1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4e9ed1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x138eb8(_0x19d095,this['editor'],_0x15ced5?{'originalError':_0x15ced5}:void 0x0);}['_saveOperationInBuffer'](_0x46d8c0){this['_knownOperations']['has'](_0x46d8c0)||(this['_knownOperations']['add'](_0x46d8c0),this['_bufferedOperations']['push'](_0x46d8c0),this['_pendingAction']||'marker'==_0x46d8c0['type']&&!_0x46d8c0['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3c333e=!0x1){!_0x3c333e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4be5d6=>{_0x4be5d6&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x184df4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4a0e2b){return _0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x184df4)||this['_crash'](_0x184df4['message'],_0x184df4);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x29abfa=>{this['on']('change:_isPendingUpdate',()=>{_0x29abfa();});});}async['_sendBufferedOperations'](){const _0x4a7c11=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x4a7c11['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5cb1a3=[...this['_bufferedOperations']];for(const _0x3a9c60 of _0x5cb1a3)_0x3a9c60['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3a9c60);const _0x5e5a3b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5cb1a3),_0x345f4c=Q++,_0x5be54f=this['_compressOperations'](_0x5cb1a3),_0x3ff0e4=await this['_service']['sendOperations'](_0x5be54f,_0x5be54f['baseVersion'],_0x5e5a3b);try{return await this['_handleServerResponse'](_0x5cb1a3,_0x3ff0e4,_0x345f4c);}catch(_0x425735){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x425735);}}async['_handleServerResponse'](_0x23f8a1,_0x329f18,_0x36b7f5){if('error'in _0x329f18)throw _0x329f18['error'];let _0x2c4166=!0x1;if(_0x329f18['wereChangesApplied']){_0x329f18['lastOperationId']&&(this['_lastSyncedOperationId']=_0x329f18['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ec746=>!_0x23f8a1['includes'](_0x1ec746));for(const _0x5edbe2 of _0x23f8a1)_0x5edbe2['createdAt']='lastOperationAcceptedAt'in _0x329f18&&_0x329f18['lastOperationAcceptedAt']||void 0x0;X(_0x23f8a1,_0x329f18['version']-_0x23f8a1['length']),this['_updateServerHistory'](_0x23f8a1);const _0x59d977=_0x23f8a1['filter'](_0x121e46=>{if(!_0x121e46['_isInit'])return!0x1;const _0x45915b=this['_getAffectedRoot'](_0x121e46);return _0x45915b&&!this['_knownRootNames']['has'](_0x45915b);});X(_0x59d977,this['_document']['version']),this['_applyOperationsSet'](_0x59d977),_0x2c4166=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44a952=this['_decompressOperations'](_0x329f18['data'],_0x329f18['metadata'])['filter'](_0x4fd408=>_0x4fd408['baseVersion']>=this['_lastServerVersion']);_0x44a952['forEach'](_0x96e8cb=>this['_addKnownRoot'](_0x96e8cb)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x553aac=>!_0x553aac['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x553aac))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44a952),_0x2c4166=this['_handleExternalOperations'](_0x44a952,_0x329f18['version'],_0x329f18['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2c4166?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3779bf,_0x318c15,_0x506cff){try{const _0x3d382b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2563fb,operationsB:_0x391588,originalOperations:_0x329e6a}=_0x4eaa7b(_0x3779bf,this['_bufferedOperations'],_0x3d382b);X(_0x2563fb,this['_document']['version']),X(_0x391588,_0x318c15);for(const _0x3ca111 of _0x2563fb){const _0x190aa2=_0x329e6a['get'](_0x3ca111);_0x3ca111['_authorId']=_0x190aa2?_0x190aa2['_authorId']:null;}_0x506cff&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3779bf,_0x506cff),this['_lastSyncedOperationId']=_0x506cff),this['_bufferedOperations']=[..._0x391588],this['_applyOperationsSet'](_0x2563fb),this['_updateServerHistory'](_0x3779bf);}catch(_0x32e6cb){return console['error'](_0x32e6cb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x183a90,_0x1155ba=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xc45404=>{for(const _0x49f898 of _0x183a90)this['_knownOperations']['add'](_0x49f898),this['_addKnownRoot'](_0x49f898),_0xc45404['batch']['addOperation'](_0x49f898),this['editor']['model']['applyOperation'](_0x49f898);});}['_addKnownRoot'](_0x5cc1dd){const _0x3afeeb=this['_getAffectedRoot'](_0x5cc1dd);_0x3afeeb&&this['_knownRootNames']['add'](_0x3afeeb);}['_getAffectedRoot'](_0x325375){let _0xd233f2,_0x14eff1;switch(_0x325375['type']){case'insert':_0xd233f2=_0x325375['position']['root'];break;case'marker':if(_0x14eff1=_0x325375['newRange'],!_0x14eff1)return null;_0xd233f2=_0x14eff1['root'];break;case'addRootAttribute':_0xd233f2=_0x325375['root'];break;case'addRoot':_0xd233f2=_0x325375['affectedSelectable'];break;case'move':_0xd233f2=_0x325375['targetPosition']['root'];break;default:return null;}return _0xd233f2['rootName'];}['_updateServerHistory'](_0x19b7cc){_0x19b7cc['forEach'](_0x425c25=>{const _0x1cc394=_0x425c25['clone']();_0x1cc394['_authorId']=_0x425c25['_authorId'],_0x1cc394['_isInit']=!!_0x425c25['_isInit'],_0x1cc394['createdAt']=_0x425c25['createdAt'],_0x1cc394['baseVersion']+=this['_offset'],_0x425c25['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc394),this['serverHistory']['addOperation'](_0x1cc394);});}['_handleReconnectionError'](_0x1672f5){const _0x83c180=this['editor']['plugins']['get']('Notification'),_0x1c146b=this['editor']['locale'];_0x1672f5||(_0x1672f5=$(_0x1c146b,'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.')),_0x83c180['showWarning'](_0x1672f5,{'title':$(_0x1c146b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x477f66)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x477f66)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x18e7a0){const _0x157f62=_0x18e7a0['map'](_0x3b267c=>_0x3b267c['toJSON']());return this['_compressor']['compress'](_0x157f62);}['_decompressOperations'](_0x4d2960,_0x54ef68){return this['_compressor']['decompress'](_0x4d2960)['map']((_0x1b292c,_0xb9a8fc)=>{const _0x55cbfc='init'==_0x54ef68[_0xb9a8fc]['type'];if('InsertOperation'==_0x1b292c['__className']){const _0x423f25=_0x1b292c['position']['root'];!this['_document']['getRoot'](_0x423f25)&&(this['_document']['createRoot']('$root',_0x423f25)['_isAttached']=!0x1);}const _0x21368b=_0xc5e8b3['fromJSON'](_0x1b292c,this['_document']);return _0x21368b['wasUndone']=_0x1b292c['wasUndone'],_0x21368b['_isInit']=_0x55cbfc,_0x21368b['_authorId']=_0x55cbfc?null:_0x54ef68[_0xb9a8fc]['userId'],_0x21368b['_isDisconnection']='cs:removeUser'===_0x54ef68[_0xb9a8fc]['type'],_0x21368b['createdAt']=_0x54ef68[_0xb9a8fc]['createdAt'],_0x21368b;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xda53c4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xda53c4&&_0xda53c4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function X(_0x30e9c5,_0x5eb5cd){for(const _0x4254a1 of _0x30e9c5)_0x4254a1['baseVersion']=_0x5eb5cd++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x32c0c2){this['_ignoredOperations']=_0x32c0c2,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1e2b81){let _0x1a9641=_0x1e2b81['length'];for(;_0x1a9641--;){const _0x3140a0=_0x1e2b81[_0x1a9641];if(!this['_ignoredOperations']['has'](_0x3140a0)){if(!this['_operationToId']['has'](_0x3140a0)){const _0x2a7c46=_0x57da16()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3140a0,_0x2a7c46);}return this['_operationToId']['get'](_0x3140a0);}}}['setIdForTheLastOperation'](_0x3f9fd1,_0xda224e){if(!_0xda224e)return;let _0x13c393=_0x3f9fd1['length'];for(;_0x13c393--;){const _0x2e9bfc=_0x3f9fd1[_0x13c393];this['_ignoredOperations']['has'](_0x2e9bfc)||this['_operationToId']['set'](_0x2e9bfc,_0xda224e);}}}class a extends _0x1178f7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x38fb43{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x17ae11)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5d9668];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13e5cd){super(_0x13e5cd),this['_services']=new Map();}async['init'](){const _0x49a5ad=this['context'],_0x2bc3c5=_0x49a5ad['plugins']['get']('CommentsRepository');if(_0x49a5ad['plugins']['get'](n)['addToReconnectionStack'](this),_0x2bc3c5['adapter']={'addCommentThread':async({channelId:_0x5c02fe,threadId:_0x2d3168,comments:_0x598380,resolvedAt:_0x491b97,resolvedBy:_0x579fd4,context:_0x5db092,attributes:_0x19c09c})=>{const _0x4d9614=await this['_getService'](_0x5c02fe)['addCommentThread']({'commentThreadId':_0x2d3168,'comments':_0x598380['map'](_0x412117=>function(_0x4a4194,_0x435185,_0x438de6){return{'commentThreadId':_0x438de6,'commentId':_0x4a4194['commentId'],'userId':_0x4a4194['authorId'],'content':_0x4a4194['content'],'documentId':_0x435185,'createdAt':_0x4a4194['createdAt'],'attributes':_0x4a4194['attributes']||{}};}(_0x412117,_0x5c02fe,_0x2d3168)),'resolvedAt':_0x491b97,'resolvedBy':_0x579fd4,'context':_0x5db092,'attributes':_0x19c09c})['catch'](at);return{'threadId':_0x4d9614['commentThreadId'],'comments':_0x4d9614['comments']};},'getCommentThread':async({channelId:_0x2630f7,threadId:_0x10d1cb})=>{const _0x17ada5=await this['_getService'](_0x2630f7)['getCommentThread'](_0x10d1cb)['catch'](F)['catch'](at);return _0x17ada5?_0x17ada5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x17ada5]),{'threadId':_0x17ada5['commentThreadId'],'comments':_0x17ada5['comments']['map'](S),'context':_0x17ada5['context'],'resolvedAt':_0x17ada5['resolvedAt'],'resolvedBy':_0x17ada5['resolvedBy'],'attributes':_0x17ada5['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x56d48e,threadId:_0x5a2485,context:_0x179570,unlinkedAt:_0x37ffca,attributes:_0x23afa0})=>this['_getService'](_0x56d48e)['updateCommentThread']({'commentThreadId':_0x5a2485,'context':_0x179570,'attributes':_0x23afa0,'unlinkedAt':_0x37ffca})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x34dec0,threadId:_0x3edf65})=>{const _0xf61d77=await this['_getService'](_0x34dec0)['resolveCommentThread'](_0x3edf65)['catch'](F)['catch'](at);return{'threadId':_0xf61d77['commentThreadId'],'resolvedAt':_0xf61d77['resolvedAt'],'resolvedBy':_0xf61d77['resolvedBy']};},'reopenCommentThread':async({channelId:_0x58e8a9,threadId:_0x187e40})=>this['_getService'](_0x58e8a9)['reopenCommentThread'](_0x187e40)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x33d1a0,threadId:_0x17d03f})=>this['_getService'](_0x33d1a0)['removeCommentThread'](_0x17d03f)['catch'](F)['catch'](at),'addComment':({channelId:_0x572976,threadId:_0x379621,commentId:_0x2ca90a,content:_0x16eae0,attributes:_0x3da434})=>this['_getService'](_0x572976)['addComment'](_0x379621,_0x2ca90a,_0x16eae0,_0x3da434)['catch'](at),'updateComment':({channelId:_0x41d31e,threadId:_0x118389,commentId:_0x3525f2,content:_0x51dc34,attributes:_0x8cf56c})=>this['_getService'](_0x41d31e)['updateComment'](_0x118389,_0x3525f2,_0x51dc34,_0x8cf56c)['catch'](F)['catch'](at),'removeComment':({channelId:_0x2ead83,threadId:_0x39c0ff,commentId:_0x2dffce})=>this['_getService'](_0x2ead83)['removeComment'](_0x39c0ff,_0x2dffce)['catch'](F)['catch'](at)},_0x49a5ad instanceof _0x8ee687){const _0x4f9195=_0x49a5ad['config']['get']('collaboration.channelId'),_0x21b23b=_0x49a5ad['plugins']['get'](i);await this['_setUpService'](_0x4f9195);const _0xb0f426=await this['_services']['get'](_0x4f9195)['getConnectedSessions']();this['listenTo'](_0x21b23b,'sessionAdd:'+_0x4f9195,(_0x322db2,{session:_0x58bb0a})=>{_0x58bb0a['id']===_0x21b23b['mySessionId']&&(_0x322db2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x58bb0a['permissions'],_0x4f9195));}),_0x21b23b['register'](_0x4f9195,_0xb0f426);}}async['_setUpService'](_0x4521d3){if(this['_services']['has'](_0x4521d3))throw new _0x138eb8('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4521d3});const _0x5eed65=this['context']['plugins']['get']('CommentsRepository'),_0x592115=new s['CommentsService'](_0x4521d3);this['_services']['set'](_0x4521d3,_0x592115),this['listenTo'](_0x592115,'commentThreadAdded',(_0x37742a,_0xc9f158)=>{const {commentThreadId:_0x23dafc,documentId:_0x350801,context:_0x4c18e0,attributes:_0x388be6,resolvedAt:_0x391b80,resolvedBy:_0x5f28dc,comments:_0x5eb94e}=_0xc9f158;_0x5eed65['getCommentThread'](_0x23dafc)||_0x5eed65['addCommentThread']({'threadId':_0x23dafc,'channelId':_0x350801,'comments':_0x5eb94e?_0x5eb94e['map'](S):[],'context':_0x4c18e0,'attributes':_0x388be6,'resolvedAt':_0x391b80,'resolvedBy':_0x5f28dc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadUpdated',(_0x4e6cdf,{commentThreadId:_0x419de7,documentId:_0x375444,context:_0x5ab033,unlinkedAt:_0x2e0a21,attributes:_0x103bcc})=>{_0x5eed65['getCommentThread'](_0x419de7)&&_0x5eed65['updateCommentThread']({'threadId':_0x419de7,'channelId':_0x375444,'context':_0x5ab033,'unlinkedAt':_0x2e0a21,'attributes':_0x103bcc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadResolved',(_0x27bc71,{commentThreadId:_0x447c0a,resolvedBy:_0x5dccf6,resolvedAt:_0x3eb5fc})=>{const _0x13e57c=_0x5eed65['getCommentThread'](_0x447c0a);_0x13e57c&&_0x13e57c['resolve']({'resolvedBy':_0x5dccf6,'resolvedAt':_0x3eb5fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadReopened',(_0x11cef4,{commentThreadId:_0x1baef2})=>{const _0x567062=_0x5eed65['getCommentThread'](_0x1baef2);_0x567062&&_0x567062['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadRemoved',(_0x61dd81,{commentThreadId:_0x361c37})=>{const _0xcf0a24=_0x5eed65['getCommentThread'](_0x361c37);_0xcf0a24&&_0xcf0a24['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentAdded',(_0x21e469,_0x2599e2)=>{const _0x10fe69=_0x2599e2['commentThreadId'],_0x42b570=_0x5eed65['getCommentThread'](_0x10fe69);_0x42b570&&_0x42b570['addComment']({...S(_0x2599e2),'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentUpdated',(_0x56d683,{commentThreadId:_0x506572,commentId:_0x57c7a4,content:_0xfc9909,attributes:_0x360a1b})=>{const _0x2d7601=_0x5eed65['getCommentThread'](_0x506572);if(_0x2d7601){const _0x305b21=_0x2d7601['getComment'](_0x57c7a4);_0x305b21&&_0x305b21['update']({'content':_0xfc9909,'attributes':_0x360a1b,'isFromAdapter':!0x0});}}),this['listenTo'](_0x592115,'commentRemoved',(_0x224540,{commentThreadId:_0x2692b4,commentId:_0x238e69})=>{const _0x495fcd=_0x5eed65['getCommentThread'](_0x2692b4);if(_0x495fcd){const _0x246f68=_0x495fcd['getComment'](_0x238e69);_0x246f68&&_0x246f68['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4521d3);}['destroy'](){if(this['context']instanceof _0x8ee687){const _0x2f6c2b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2f6c2b);}}['_terminateService'](_0x227a06){if(!this['_services']['has'](_0x227a06))throw new _0x138eb8('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x227a06});this['_getService'](_0x227a06)['disconnect'](),this['_services']['delete'](_0x227a06);}async['reconnect'](){for(const _0x4a4990 of this['_services']['keys']())await this['_connectService'](_0x4a4990);if(this['context']instanceof _0x8ee687){const _0x551c54=this['context']['config']['get']('collaboration.channelId'),_0x1d5c67=this['context']['plugins']['get'](i);_0x1d5c67['unregister'](_0x551c54);const _0x296be1=await this['_services']['get'](_0x551c54)['getConnectedSessions']();_0x1d5c67['register'](_0x551c54,_0x296be1);}}async['_connectService'](_0x263ca9){const {connection:_0x149509}=this['context']['plugins']['get'](n),_0x32c57d=this['context']['plugins']['get']('CommentsRepository'),_0x36041a=this['_services']['get'](_0x263ca9),_0x180c66=await _0x36041a['connect'](_0x149509);await this['_fetchMissingUsersForThreads'](_0x180c66);const _0x211615=new Set(Array['from'](_0x32c57d['getCommentThreads']({'channelId':_0x263ca9}),_0x59392a=>_0x59392a['id']));for(const _0x11e64a of _0x180c66)_0x11e64a['deletedAt']||_0x211615['delete'](_0x11e64a['commentThreadId']);for(const _0x210f47 of _0x211615)_0x32c57d['getCommentThread'](_0x210f47)['remove']({'isFromAdapter':!0x0});for(const _0x49de5c of _0x180c66){let _0x31f803=_0x32c57d['getCommentThread'](_0x49de5c['commentThreadId']);const {commentThreadId:_0x1eeddd,context:_0x56e29a,attributes:_0x5d0b56,resolvedBy:_0x55e2a4,resolvedAt:_0x250a9a,unlinkedAt:_0x5ac4a1,deletedAt:_0x2cea27}=_0x49de5c;if(_0x2cea27)continue;_0x31f803||(_0x31f803=_0x32c57d['addCommentThread']({'channelId':_0x263ca9,'threadId':_0x1eeddd,'context':_0x56e29a,'attributes':_0x5d0b56||{},'resolvedBy':_0x55e2a4,'resolvedAt':_0x250a9a,'unlinkedAt':_0x5ac4a1,'isFromAdapter':!0x0}));const _0x1b3705=new Set(Array['from'](_0x31f803['comments'],_0x4fe8b8=>_0x4fe8b8['id']));for(const _0x22e8a1 of _0x49de5c['comments'])_0x1b3705['delete'](_0x22e8a1['commentId']);for(const _0x47f00e of _0x1b3705)_0x31f803['getComment'](_0x47f00e)['remove']({'isFromAdapter':!0x0});for(const _0x50dbbb of _0x49de5c['comments']){const _0x222df1=_0x31f803['getComment'](_0x50dbbb['commentId']);_0x222df1?_0x222df1['content']!==_0x50dbbb['content']&&_0x222df1['update']({'content':_0x50dbbb['content'],'isFromAdapter':!0x0}):_0x31f803['addComment'](Object['assign'](S(_0x50dbbb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x11e698){if(!this['_services']['has'](_0x11e698))throw new _0x138eb8('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x11e698});return this['_services']['get'](_0x11e698);}async['_fetchMissingUsersForThreads'](_0xcaedb0){const _0x228f2b=this['context']['plugins']['get'](_0x5d9668),{connection:_0x5bc7bc}=this['context']['plugins']['get'](n),_0x38a5a7=new Set();for(const {resolvedBy:_0x241b4b,comments:_0x17bbce}of _0xcaedb0){_0x241b4b&&!_0x228f2b['getUser'](_0x241b4b)&&_0x38a5a7['add'](_0x241b4b);for(const {userId:_0x37bc16}of _0x17bbce)_0x228f2b['getUser'](_0x37bc16)||_0x38a5a7['add'](_0x37bc16);}if(0x0===_0x38a5a7['size'])return;const _0x394bc1=await rt['getMany'](_0x5bc7bc,Array['from'](_0x38a5a7));for(const _0x15eda4 of _0x394bc1)_0x228f2b['getUser'](_0x15eda4['id'])||_0x228f2b['addUser'](_0x15eda4);}}async function F(_0xd99f7f){if('404'!==_0xd99f7f['code'])throw _0xd99f7f;}function at(_0x1814c8){if((_0x267106=_0x1814c8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x267106['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x267106['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x267106;throw _0x1814c8;}function S(_0x4fe8ea){return{'threadId':_0x4fe8ea['commentThreadId'],'commentId':_0x4fe8ea['commentId'],'content':_0x4fe8ea['content'],'createdAt':_0x4fe8ea['createdAt'],'authorId':_0x4fe8ea['userId'],'attributes':_0x4fe8ea['attributes']||{}};}class m extends _0x1178f7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x57fa84){super(_0x57fa84);const _0x1f3868=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1f3868);}['init'](){const _0x41661d=this['editor']['plugins']['get'](n),_0x3e323e=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3e323e['adapter']={'getSuggestion':async _0x10b628=>{await this['_waitForServiceReady']();const _0x49246b=await this['_trackChangesService']['get'](_0x10b628)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x49246b]),_0x49246b;},'addSuggestion':async({id:_0x45aa3b,type:_0xcf8dec,data:_0x405f07,originalSuggestionId:_0xe59725,attributes:_0x1cecba})=>{await this['_waitForServiceReady']();const _0x311737={'id':_0x45aa3b,'type':_0xcf8dec,'data':_0x405f07,'originalSuggestionId':_0xe59725,'attributes':_0x1cecba},_0x572eb8=await this['_trackChangesService']['add'](_0x45aa3b,_0xcf8dec,_0x405f07,_0xe59725,_0x1cecba)['catch'](_0x22bf67=>{if(ct(_0x22bf67))return new Promise(_0x1b5fa1=>{this['_bufferedRequests']['set'](_0x45aa3b,{'resolve':_0x1b5fa1,'suggestionData':_0x311737});});throw _0x22bf67;});return this['_bufferedRequests']['delete'](_0x45aa3b),_0x572eb8;},'updateSuggestion':async(_0x141c0b,_0x181a81)=>{if(await this['_waitForServiceReady'](),'open'!==_0x181a81['state'])return this['_trackChangesService']['update'](_0x141c0b,_0x181a81)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3f2962,_0x342c4d)=>{_0x3e323e['hasSuggestion'](_0x342c4d['id'])&&(_0x3e323e['getSuggestion'](_0x342c4d['id'])['attributes']=_0x342c4d['attributes']);}),this['_trackChangesService']['connect'](_0x41661d['connection'])['then'](_0x4bda62=>(_0x41661d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4bda62)['then'](()=>{for(const _0x37511c of _0x4bda62){_0x3e323e['addSuggestionData'](_0x37511c)['_saved']=!0x0;}})));}async['reconnect'](){const _0xb57911=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x44b25f}=this['editor']['plugins']['get'](n),_0x400709=await this['_trackChangesService']['connect'](_0x44b25f);await this['_fetchMissingUsersForThreads'](_0x400709);for(const {suggestionData:_0x1da75f,resolve:_0x2aa006}of this['_bufferedRequests']['values']()){let _0x58c2c5=_0x400709['find'](_0x5a39b6=>_0x5a39b6['id']===_0x1da75f['id']);_0x58c2c5||(_0x58c2c5=await this['_trackChangesService']['add'](_0x1da75f['id'],_0x1da75f['type'],_0x1da75f['data'],_0x1da75f['originalSuggestionId'])),_0x2aa006(_0x58c2c5);}for(const _0x21fdf5 of _0x400709)_0xb57911['hasSuggestion'](_0x21fdf5['id'])||_0xb57911['addSuggestionData'](_0x21fdf5);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5365d5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x16068d=>{_0x16068d['off'](),_0x5365d5();});});}async['_fetchMissingUsersForThreads'](_0x3a5c0f){const _0x3669f4=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x205a20}=this['editor']['plugins']['get'](n),_0x284fa5=new Set();for(const {authorId:_0x39705c}of _0x3a5c0f)_0x3669f4['getUser'](_0x39705c)||_0x284fa5['add'](_0x39705c);if(0x0===_0x284fa5['size'])return;const _0x4a2ba0=await rt['getMany'](_0x205a20,Array['from'](_0x284fa5));for(const _0x1cc49f of _0x4a2ba0)_0x3669f4['getUser'](_0x1cc49f['id'])||_0x3669f4['addUser'](_0x1cc49f);}}function k(_0x49e51a){if(ct(_0x49e51a))return new Promise(()=>{});throw _0x49e51a;}function ct(_0x234e6f){return _0x234e6f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x234e6f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1178f7{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c4593=this['editor']['plugins']['get'](n),_0x189fd4=this['editor']['plugins']['get']('CommentsEditing'),_0x2f02b5=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3c4593,'change:state',(_0xace7cc,_0x1e663f,_0x5a8b72)=>{_0x189fd4['isThreadsLoadingPaused']='connected'!==_0x5a8b72;});}),this['listenTo'](_0x3c4593,'change:state',(_0x5ed47a,_0x463f0e,_0x4c88e2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4c88e2);}),_0x2f02b5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x1178f7{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x1178f7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x366578)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5d9668];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x30dede){super(_0x30dede);const _0x5648e2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5648e2);}async['init'](){const _0x165afb=this['editor']['plugins']['get'](l),_0x182cf4=_0x165afb['serverHistory'],_0x309add=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x182cf4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x165afb['sessionId']});const _0x472b8c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xf4c6d6=await _0x332ed7['isBundleUploaded'](_0x309add['connection'],_0x472b8c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x28bc27})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x28bc27)),'updateRevisions':async _0x4d39f1=>{await this['_waitForServiceReady']();const _0x4b310b=this['_revisionTracker']['currentRevision'];if(_0xf4c6d6&&0x1===_0x4d39f1['length']&&_0x4d39f1[0x0]['id']===_0x4b310b['id'])return _0x4d39f1;for(const _0x11361c of _0x4d39f1)_0x11361c['id']===_0x4b310b['id']&&(_0x11361c['isEmptyCurrent']=_0x11361c['fromVersion']===_0x11361c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d39f1,this['_lastRequestId'])['then'](_0x36862d=>(this['_lastRequestId']=_0x36862d,_0x4d39f1))['catch'](_0x35d00a=>{if(q(_0x35d00a)||'400'===_0x35d00a['code']&&void 0x0!==_0x35d00a['data']['wrongRequestId']){for(const _0x37a5c2 of _0x4d39f1){!this['_revisionTracker']['repository']['getRevision'](_0x37a5c2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x37a5c2['id'],_0x37a5c2,!0x1);}if(q(_0x35d00a))throw _0x35d00a;return _0x4d39f1;}throw _0x35d00a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3202fd,{revisionsData:_0x159708,requestId:_0x416891})=>{Math['max'](..._0x159708['map'](_0x3ef8ae=>_0x3ef8ae['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x159708,_0x416891);}):this['_handleRevisionsUpdate'](_0x159708,_0x416891);});const {revisions:_0x1f6c66,requestId:_0x248d0d}=await this['_revisionHistoryService']['connect'](_0x309add['connection']);_0x309add['addToReconnectionStack'](this),this['_lastRequestId']=_0x248d0d,await this['_fetchMissingUsers'](_0x1f6c66);for(const _0x46406a of _0x1f6c66)this['_revisionTracker']['addRevisionData'](_0x46406a);this['listenTo'](_0x165afb,'change:_isConnected',(_0x3420ca,_0x11c8cf,_0x20a0d0)=>{_0x20a0d0&&(this['_oldOffset']=_0x165afb['_offset'],_0x3420ca['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x309add,'state',_0x514d62=>_0x514d62===_0x34396e['CONNECTED']);}async['reconnect'](){const _0x49f870=this['editor']['plugins']['get'](n),_0x27af14=this['editor']['plugins']['get'](l),_0x323168=async()=>{const _0x2d1f93=this['_revisionTracker']['currentRevision'],_0x4bb6a0=_0x2d1f93['id'],_0x4ba31c=_0x4bb6a0!==_0x27af14['sessionId'];if(_0x4ba31c){const _0x3ab54e=_0x27af14['_offset']-this['_oldOffset'],_0xff6b90=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d1f93['toVersion']+_0x3ab54e!==_0xff6b90){const _0x26a906=_0x2d1f93['fromVersion']+_0x3ab54e,_0x69c619=this['editor']['plugins']['get'](_0x5d9668),_0x5df535=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d1f93,'from':_0x26a906,'to':_0xff6b90});_0x5df535['id']=_0x2d1f93['id'];const _0x3fe8d0=_0x5df535['authorsIds']['map'](_0x51ea3a=>_0x69c619['getUser'](_0x51ea3a));_0x2d1f93['_update']({..._0x5df535,'authors':_0x3fe8d0},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d1f93['id'],_0x5df535,!0x0);}this['_revisionTracker']['_startingVersion']=_0xff6b90,(_0x2d1f93['toVersion']===_0x2d1f93['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4bb6a0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4bb6a0),this['_revisionTracker']['_createCurrentRevision'](_0xff6b90));}const {revisions:_0x1eba7b,requestId:_0x56b61e}=await this['_revisionHistoryService']['reconnect'](_0x49f870['connection'],this['_lastRequestId']);_0x4ba31c&&_0x1eba7b['length']>0x0?_0x27af14['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1eba7b),this['_handleRevisionsUpdate'](_0x1eba7b,_0x56b61e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x27af14['_isConnected']?_0x323168():new Promise((_0x5ec513,_0x5f3b92)=>{_0x27af14['once']('change:_isConnected',()=>{_0x323168()['then'](_0x5ec513)['catch'](_0x5f3b92);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x29b26b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48404c=>{_0x48404c['off'](),_0x29b26b();});});}['_getLatestVersionFromServerOperations'](){const _0x28e8b6=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2ec61f of _0x28e8b6)if('marker'!==_0x2ec61f['type']||_0x2ec61f['affectsData'])return _0x2ec61f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x18f501=this['editor']['plugins']['get'](l);return new Promise(_0x1e8fd3=>{_0x18f501['_isPendingUpdate']?_0x18f501['once']('change:_isPendingUpdate',()=>{_0x1e8fd3(this['_getLatestVersionFromServerOperations']());}):_0x1e8fd3(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x46abd9,_0x142875){const _0x108593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x142875;for(const _0x364fac of _0x46abd9){const _0x49bb7a=_0x108593['getRevision'](_0x364fac['id']);if(_0x49bb7a){if((_0x364fac['fromVersion']||_0x364fac['toVersion'])&&(_0x364fac['diffData']=null),_0x49bb7a===this['_revisionTracker']['currentRevision']){const _0x172e13=Math['max'](_0x49bb7a['toVersion'],_0x364fac['toVersion']),_0x27b94a=Math['max'](_0x49bb7a['fromVersion'],_0x364fac['fromVersion']);let _0x2ceae0;_0x49bb7a['toVersion']===_0x364fac['toVersion']&&_0x49bb7a['fromVersion']===_0x364fac['fromVersion']?(_0x2ceae0=!0x0,this['_preventResendingRevisionData'](_0x364fac)):_0x364fac['toVersion']===_0x172e13&&_0x364fac['fromVersion']===_0x27b94a?_0x2ceae0=!0x1:(_0x49bb7a['toVersion']===_0x172e13&&_0x49bb7a['fromVersion']===_0x27b94a||this['_fixRevision']({'revision':_0x49bb7a,'from':_0x27b94a,'to':_0x172e13}),_0x2ceae0=!0x0),_0x2ceae0&&(delete _0x364fac['fromVersion'],delete _0x364fac['toVersion'],delete _0x364fac['diffData'],delete _0x364fac['createdAt'],delete _0x364fac['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x364fac),this['_preventResendingRevisionData'](_0x364fac);}else this['_revisionTracker']['addRevisionData'](_0x364fac);}const _0x254d9e=_0x108593['getRevisions']();_0x254d9e['reverse']();for(let _0x35e280=0x0;_0x35e280<_0x254d9e['length']-0x1;_0x35e280++){const _0x2de3cb=_0x254d9e[_0x35e280],_0x90cf37=_0x254d9e[_0x35e280+0x1];if(_0x2de3cb['fromVersion']<_0x90cf37['toVersion']){const _0x18c152=_0x90cf37['toVersion'],_0x313fa3=Math['max'](_0x18c152,_0x2de3cb['toVersion']);this['_fixRevision']({'revision':_0x2de3cb,'from':_0x18c152,'to':_0x313fa3});}}}['_fixRevision']({revision:_0x20a67c,from:_0x4e1c2c,to:_0x30a7a9}={}){const _0x34c29b=this['editor']['plugins']['get'](_0x5d9668),_0x5bf867=this['_revisionTracker']['buildRevisionData']({'revision':_0x20a67c,'from':_0x4e1c2c,'to':_0x30a7a9});_0x5bf867['authors']=_0x5bf867['authorsIds']['map'](_0x458f7e=>_0x34c29b['getUser'](_0x458f7e)),_0x20a67c['_update'](_0x5bf867);}['_preventResendingRevisionData'](_0x32679f){const _0x5da08c={};_0x5da08c['id']=_0x32679f['id'];for(const _0xa738cd of Object['keys'](_0x32679f))'id'!==_0xa738cd&&(_0x5da08c[_0xa738cd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5da08c['id'],_0x5da08c,!0x0);}async['_fetchMissingUsers'](_0x39c3a3){const _0x2548f4=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x4e0b1f}=this['editor']['plugins']['get'](n),_0x476bf2=new Set();for(const _0x1dc68d of _0x39c3a3){for(const _0xed4e73 of _0x1dc68d['authorsIds'])_0x569675(_0xed4e73);_0x1dc68d['creatorId']&&_0x569675(_0x1dc68d['creatorId']);}if(0x0===_0x476bf2['size'])return;const _0x5a73b2=await rt['getMany'](_0x4e0b1f,Array['from'](_0x476bf2));for(const _0x50a1a9 of _0x5a73b2)_0x2548f4['getUser'](_0x50a1a9['id'])||_0x2548f4['addUser'](_0x50a1a9);function _0x569675(_0x12cebd){_0x2548f4['getUser'](_0x12cebd)||_0x476bf2['add'](_0x12cebd);}}}function q(_0x4de56b){return _0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x1178f7{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x260788{['_collapseAt'];constructor(_0x5d9543,_0x5a3d14=0x6){super(_0x5d9543);const _0x37714f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5a3d14,this['bind']('isHidden')['to'](this,'usersCount',_0x4e91df=>_0x4e91df<_0x5a3d14),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x37714f['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':_0x37714f['to']('usersCount',_0xbcccd7=>'+'+(_0xbcccd7-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x260788{['items'];['keystrokes'];constructor(_0x1427c4){super(_0x1427c4);const _0x2d23c5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5c6d96(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2d23c5['if']('hasPopup'),'aria-expanded':_0x2d23c5['to']('isExpanded',_0x22d0cd=>this['hasPopup']&&String(_0x22d0cd)),'aria-label':_0x2d23c5['to']('hasPopup',_0x417be1=>$(_0x1427c4,_0x417be1?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2d23c5['to']('hasPopup',_0x4978ca=>!!_0x4978ca&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2d23c5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2d23c5['to'](_0x31f6ce=>{const _0x9276b5=_0x31f6ce,_0xd490e5=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3a63a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0xd490e5?.['contains'](_0x9276b5['relatedTarget'])||_0x3a63a9?.['contains'](_0x9276b5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2cd15f,_0x3d5ca1,_0x458fe8)=>{this['element']&&(_0x458fe8?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 v extends _0x260788{['counterView'];['inlineListView'];constructor(_0xe2c1be,_0x2aba97=0x6){super(_0xe2c1be);const _0x48605d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x2aba97),this['inlineListView']=new is(_0xe2c1be),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x20e051 of this['inlineListView']['items'])_0x20e051['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',_0x48605d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x260788{['listWrapperView'];constructor(_0x268a9c,_0x3e69ab){super(_0x268a9c);const _0x1935ce=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x268a9c,_0x3e69ab),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x268a9c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1935ce['to'](_0x1372ca=>{const _0x4d38e3=_0x1372ca,_0x49d977=document['querySelector']('.ck-presence-list__list'),_0x4ef5db=document['querySelector']('.ck-balloon-panel_with-arrow');_0x49d977?.['contains'](_0x4d38e3['relatedTarget'])||_0x4ef5db?.['contains'](_0x4d38e3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x1953fa{constructor(_0x4c2635,_0x2f7bbd){super(_0x4c2635);const _0x43f77=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7bbd?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x43f77['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x43f77['to']('role'),'aria-label':_0x43f77['to']('ariaLabel'),'aria-labelledby':_0x43f77['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x439b3d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4e5d15=this['element'];_0x4e5d15&&(this['_isScrollable']=Math['max'](_0x4e5d15['scrollHeight'],_0x4e5d15['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3208dd,_0x288fc9,_0x4cf922){super(_0x3208dd);const _0x495055=this['bindTemplate'];this['userView']=new st(_0x3208dd,_0x288fc9);const _0x4578c1={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x288fc9['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x288fc9['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x288fc9['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x4cf922&&(_0x4578c1['tag']='button',_0x4578c1['on']={'click':_0x495055['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4578c1);}['focus'](){this['element']['focus']();}}class A extends _0x260788{['userView'];['markerView'];constructor(_0x2587cb,_0x1c3929,_0x4bc803){super(_0x2587cb);const _0x64eebe=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x2587cb,_0x1c3929),this['markerView']=new MarkerView(_0x2587cb,_0x1c3929);const _0x1dcdd4=new it(_0x2587cb);_0x1dcdd4['template']['tag']='span',_0x1dcdd4['text']=_0x1c3929['name'];const _0x147d26={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x64eebe['to']('isFocusable',_0x2196f5=>!!_0x2196f5&&0x0),'aria-labelledby':_0x1dcdd4['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x64eebe['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x64eebe['to']('hasTooltip',_0x493eb3=>!_0x493eb3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1dcdd4]};_0x4bc803&&(_0x147d26['tag']='button',_0x147d26['on']={'click':_0x64eebe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x147d26);}}class MarkerView extends _0x260788{constructor(_0x43b846,_0x345cd9){super(_0x43b846),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x345cd9['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x38fb43{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x130422){super(_0x130422),this['context']['config']['define']('presenceList',x);const _0x4843fe=_0x130422['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4843fe)throw new _0x138eb8('presencelist-collapseat-invalid-format',this);if(_0x4843fe<0x1)throw new _0x138eb8('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x505ced(),this['balloonPanelView']=new _0x2b336b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2d20dc of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2d20dc);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b613b,_0x1f175c)=>{this['_handleUserAdd'](_0x1f175c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x41230c,_0x32565c)=>{this['_handleUserRemove'](_0x32565c);});}['_createView'](){const _0x4c20d3=this['context'],_0x455122=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x33a27e=this['balloonPanelView'];if(!_0x3c8a9f(_0x4c20d3['config']['get']('presenceList.container')))throw new _0x138eb8('presencelist-missing-container',this);return _0x455122['counterView']['bind']('usersCount')['to'](this),_0x455122['bind']('isCollapsed')['to'](this,'usersCount',_0x50e2a3=>{const {collapseAt:_0x2a0057}=_0x4c20d3['config']['get']('presenceList'),_0x101d18=_0x50e2a3>=_0x2a0057;if(_0x101d18&&!_0x455122['inlineListView']['items']['find'](_0x1e1ac1=>_0x1e1ac1 instanceof b)){const _0x46b37f=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x46b37f&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x455122['inlineListView']['items']['add'](_0x455122['counterView']);}return _0x101d18||this['hideDropdown'](),_0x101d18;}),_0x455122['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x48f685=>{const _0x2d3899=_0x4c20d3['config']['get']('presenceList'),_0x3608ee=new A(_0x4c20d3['locale'],_0x48f685,!!_0x2d3899['onClick']);return _0x3608ee['bind']('hasTooltip')['to'](_0x455122,'isCollapsed',_0x25a716=>!_0x25a716),_0x3608ee['bind']('isFocusable')['to'](_0x455122,'isCollapsed',_0x13d5d5=>!_0x13d5d5),_0x2d3899['onClick']&&this['listenTo'](_0x3608ee,'execute',()=>{this['view']['isCollapsed']||_0x2d3899['onClick'](_0x48f685,_0x3608ee['element']);}),_0x3608ee;}),this['listenTo'](_0x455122['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x455122['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x455122['inlineListView']['keystrokes']['set']('Enter',(_0x7e7070,_0x3eacdf)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3eacdf());}),_0x455122['render'](),_0x33a27e['render'](),_0x1b15b6({'emitter':_0x455122,'activator':()=>_0x33a27e['isVisible'],'contextElements':[_0x33a27e['element'],_0x455122['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4c20d3['config']['get']('presenceList.container')['appendChild'](_0x455122['element']),this['_bodyCollection']=new _0x11f0a4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x455122;}['_handleUserAdd'](_0x350936){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x350936['isMe'])return;const _0x3cddc0=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3cddc0-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xad9f92=_0x350936['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x350936,_0xad9f92);}['_handleUserRemove'](_0x35205b){this['usersCount']--;const {collapseAt:_0x16a947}=this['context']['config']['get']('presenceList'),_0x5047ba=this['usersCount']>=_0x16a947;if(this['currentDisplayedUsers']['get'](_0x35205b['id']))this['currentDisplayedUsers']['remove'](_0x35205b['id']);else{if(_0x5047ba&&this['currentDisplayedUsers']['length']+0x1===_0x16a947-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5047ba?0x1:0x0)<this['usersCount']){for(const _0x178558 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x178558['id'])&&(this['currentDisplayedUsers']['add'](_0x178558,Math['min'](this['currentDisplayedUsers']['length']-(_0x5047ba?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5047ba?0x1:0x0)===_0x16a947-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1c1cbb=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1c1cbb['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1760a7}=this['presenceDropdownView'];_0x1760a7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1f07e9=>{if(!_0x1c1cbb['displayMe']&&_0x1f07e9['isMe'])return null;const _0x199712=new j(this['context']['locale'],_0x1f07e9,!!_0x1c1cbb['onClick']);return _0x1c1cbb['onClick']&&this['listenTo'](_0x199712,'execute',()=>{_0x1c1cbb['onClick'](_0x1f07e9,_0x199712['element']);}),_0x199712;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1760a7['focus'](),_0x1760a7['checkIfScrollable']();const _0x42a6d9=(_0x52314d,_0x255e2d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x255e2d();};_0x1760a7['keystrokes']['set']('Esc',_0x42a6d9),_0x1760a7['keystrokes']['set']('Shift+Tab',_0x42a6d9),_0x1760a7['keystrokes']['set']('Tab',(_0xcddaea,_0x1b573b)=>{!function(_0x3f7a7e){const _0x362806=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x294c5d=>_0x294c5d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3a56da=[...document['body']['querySelectorAll'](_0x362806)]['filter'](_0xfa8f3a=>_0xfa8f3a===document['activeElement']||_0xfa8f3a['offsetWidth']+_0xfa8f3a['offsetHeight']>0x0)['sort']((_0x52c314,_0x49ce5f)=>(_0x52c314['tabIndex']||0x0)-(_0x49ce5f['tabIndex']||0x0)),_0x4d3f7b=_0x3a56da['indexOf'](_0x3f7a7e),_0x52f211=_0x3a56da[(_0x4d3f7b+0x1)%_0x3a56da['length']];_0x52f211&&_0x52f211['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1b573b();}),_0x1760a7['focusTracker']['add'](this['view']['element']),_0x1760a7['focusTracker']['on']('change:isFocused',(_0x43d224,_0x470a3c,_0x13654c)=>{_0x13654c||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 _0x38fb43{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x30392a=>0x1!=_0x30392a}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1ea514=>0x1!=_0x1ea514}};