@ckeditor/ckeditor5-real-time-collaboration 47.7.4 → 47.7.5-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 +1 -1
  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 +14 -14
  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 _0x2ff9e0,Plugin as _0x29e178,PendingActions as _0x25613c,Context as _0x32eb06}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1014b4,CKEditorError as _0x3bcb8b,Collection as _0x1ee515,global as _0x129409,version as nt,uid as _0x388d37,KeystrokeHandler as _0x50a46c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3add2e,View as _0x274a7e,ListView as _0x5dfe34,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4370e4,clickOutsideHandler as _0x498225,BodyCollection as _0x152ea0}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4a4270,History as _0x5543ae,NoOperation as _0x5a35fd,InsertOperation as _0x2eb663,MarkerOperation as _0xb76659,RootAttributeOperation as _0x587cfc,transformOperationSets as _0x49e3bb,OperationFactory as _0x53f985}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x2b57de,CollaborativeEditingService as _0x3bd68f,User as ht,CommentsService as _0x33454b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1fdd48,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x20f87f}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3f91cd}from'es-toolkit/compat';class n extends _0x2ff9e0{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3add2e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3fa73c){super(_0x3fa73c),this['set']('state',_0x2b57de['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1014b4())();}['init'](){const _0x3fb188=this['context'],_0x3f5be0=_0x3fb188['plugins']['get']('CloudServices'),_0x40ab90=_0x3fb188['plugins']['get'](_0x3add2e);if(!_0x3f5be0['token'])throw new _0x3bcb8b('websocketgateway-missing-token',this);if(!_0x3f5be0['webSocketUrl'])throw new _0x3bcb8b('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'](_0x3f5be0['token'],_0x3f5be0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4d7b32=>{if(this['connection']=_0x4d7b32,this['bind']('state')['to'](_0x4d7b32,'state',this,'_isBrowserOffline',(_0x57c951,_0x44b21b)=>('connected'!==_0x57c951&&(this['_shouldPluginsReconnect']=!0x0),_0x44b21b||_0x57c951!==_0x2b57de['CONNECTED']?_0x2b57de['DISCONNECTED']:this['state']==_0x2b57de['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2b57de['CONNECTING']):_0x2b57de['CONNECTED'])),this['connection']['on']('error',(_0x33538c,_0x2bf03a)=>{if('limitExceeded'!==_0x2bf03a['code'])throw console['error'](_0x2bf03a),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bf03a});_0x40ab90['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'});}),!_0x4d7b32['me'])return new Promise(_0x349173=>_0x4d7b32['on']('change:me',_0x349173));})['catch'](_0x2bb506=>{throw console['error'](_0x2bb506),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bb506});});}['addToReconnectionStack'](_0x1b48ce){if('function'!=typeof _0x1b48ce['reconnect'])throw new _0x3bcb8b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1b48ce))throw new _0x3bcb8b('websocketgateway-plugin-already-registered',this,{'name':_0x1b48ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1b48ce);}['removeFromReconnectionStack'](_0x2b5543){this['_reconnectionStack']['delete'](_0x2b5543);}['isInReconnectionStack'](_0x4debb3){return this['_reconnectionStack']['has'](_0x4debb3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x376a42=>_0x376a42['reconnect']())))['then'](()=>this['state']=_0x2b57de['CONNECTED'])['catch'](_0x126f70=>{throw console['error'](_0x126f70),new _0x3bcb8b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2b57de['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2ff9e0{['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,_0x1fdd48];}constructor(_0x48f43b){super(_0x48f43b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1ee515(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1fdd48);}['init'](){const _0x3641ac=this['context']['plugins']['get'](n);this['listenTo'](_0x3641ac,'change:state',(_0x2007d1,_0x43b5c2,_0x1de2bf)=>{if('connected'!==_0x1de2bf)this['channelSessions']['forEach'](_0x240e52=>_0x240e52['clear']()),this['channelConnectedUsers']['forEach'](_0x113772=>_0x113772['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x182ca8,_0x122f61]of this['_registeredSessions'])for(const _0x5e3d7f of _0x122f61)this['_handleSessionAdd'](_0x182ca8,_0x5e3d7f);}}),this['_createUser'](_0x3641ac['connection']['me'],!0x0);}['register'](_0x50595a,_0x5e949e){if(this['_registeredSessions']['has'](_0x50595a))throw new _0x3bcb8b('sessions-register-already-registered',null,{'channelId':_0x50595a});this['_registeredSessions']['set'](_0x50595a,_0x5e949e),this['channelSessions']['set'](_0x50595a,new _0x1ee515()),this['channelConnectedUsers']['set'](_0x50595a,new _0x1ee515()),this['listenTo'](_0x5e949e,'add',(_0x535373,_0xf46374)=>this['_handleSessionAdd'](_0x50595a,_0xf46374)),this['listenTo'](_0x5e949e,'remove',(_0x4c9a91,_0x41e800)=>this['_handleSessionRemove'](_0x50595a,_0x41e800));for(const _0x532d83 of _0x5e949e)this['_handleSessionAdd'](_0x50595a,_0x532d83);}['unregister'](_0x2eaef1){if(!this['_registeredSessions']['has'](_0x2eaef1))throw new _0x3bcb8b('sessions-unregister-not-exist',null,{'channelId':_0x2eaef1});const _0x553e73=this['_registeredSessions']['get'](_0x2eaef1);this['stopListening'](_0x553e73);for(const _0x312e48 of _0x553e73)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2eaef1,_0x312e48);this['_registeredSessions']['delete'](_0x2eaef1),this['channelSessions']['delete'](_0x2eaef1),this['channelConnectedUsers']['delete'](_0x2eaef1);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3865b6){for(const _0x1adeda of this['channelSessions']['values']())for(const _0x4305a3 of _0x1adeda)if(_0x4305a3['id']===_0x3865b6)return _0x4305a3['user'];}['getUserSessions'](_0x349546,_0x55f880){const _0x3a2a98=_0x55f880?[this['channelSessions']['get'](_0x55f880)]:this['channelSessions']['values'](),_0x2aae9e=new Set();for(const _0x22ffc1 of _0x3a2a98)for(const _0x501b93 of _0x22ffc1)_0x501b93['user']['id']===_0x349546['id']&&_0x2aae9e['add'](_0x501b93['id']);return _0x2aae9e;}['getUserRole'](_0xf63ee){for(const _0x4c080c of this['channelSessions']['values']())for(const _0x30d50d of _0x4c080c)if(_0x30d50d['user']===_0xf63ee)return _0x30d50d['role'];}['_handleSessionAdd'](_0x26e3f2,_0x36b761){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3eebf8=_0x36b761['user'],_0x2511da=this['_users']['getUser'](_0x3eebf8['id'])||this['_createUser'](_0x3eebf8),_0x43e58f=Object['assign']({},_0x36b761,{'user':_0x2511da});if(this['channelSessions']['get'](_0x26e3f2)['add'](_0x43e58f),!_0x3eebf8['hiddenInPresenceList']){const _0x3a549f=this['channelConnectedUsers']['get'](_0x26e3f2);_0x3a549f['has'](_0x2511da['id'])||_0x3a549f['add'](_0x2511da),this['allConnectedUsers']['has'](_0x2511da['id'])||_0x3eebf8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2511da,_0x2511da['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x26e3f2,{'channelId':_0x26e3f2,'session':_0x43e58f});}['_handleSessionRemove'](_0x31b2d8,_0x863b1a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x53c862=this['channelConnectedUsers']['get'](_0x31b2d8),_0x391f17=_0x863b1a['user'];_0x391f17['id']&&(this['channelSessions']['get'](_0x31b2d8)['remove'](_0x863b1a['id']),_0x53c862['has'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17,_0x31b2d8)['size']&&_0x53c862['remove'](_0x391f17['id']),this['allConnectedUsers']['get'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17)['size']&&this['allConnectedUsers']['remove'](_0x391f17['id']));}['_createUser'](_0x48b7c1,_0x31a3ea){const _0x509a01=this['_users']['addUser'](_0x48b7c1);return _0x31a3ea&&this['_users']['defineMe'](_0x48b7c1['id']),_0x509a01['orderNumber']=this['_uniqueUsersCount']++,_0x509a01;}}class P extends _0x29e178{['_domEmitter']=new(_0x1014b4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4f4994=this['editor'],_0x41375d=_0x4f4994['plugins']['get'](i);_0x4f4994['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x57ed0e,{writer:_0x11cea6})=>function(_0x392146,_0x5c29d1,_0x590338,_0x19625f){const _0x1df5b0=_0x392146['markerName']['split'](':')[0x2],_0x58a741=_0x590338['getUserBySessionId'](_0x1df5b0);if(!_0x58a741||_0x1df5b0===_0x590338['mySessionId'])return;if(!_0x19625f['model']['schema']['checkChild'](_0x392146['markerRange']['start'],'$text'))return;const _0x25ee60={'class':'ck-user__marker\x20'+_0x58a741['color']['getMarkerClass'](),'data-name':_0x58a741['name'],'data-session-id':_0x1df5b0},_0xac068a=_0x19625f['model']['markers']['get'](_0x392146['markerName']),_0x11caaa=_0xac068a['getStart'](),_0x4d329a=_0x11caaa['nodeAfter'],_0x2d49a3=_0x19625f['model']['schema'];if(_0x4d329a&&_0x2d49a3['isObject'](_0x4d329a)&&_0x2d49a3['isInline'](_0x4d329a)&&!_0x19625f['model']['markers']['get']('user:range:'+_0x1df5b0)['getRange']()['isCollapsed'])return;const _0x55e950=_0x11caaa['parent'];return _0x19625f['model']['schema']['isLimit'](_0x55e950)&&!_0x19625f['model']['hasContent'](_0x55e950)&&(_0x25ee60['contenteditable']=!0x1),function(_0x2b4e08,_0x51b196,_0x2de13a){const _0x57b7c8=_0x2b4e08['createUIElement']('span',_0x51b196);return _0x2b4e08['setCustomProperty']('userPositionMarker',!0x0,_0x57b7c8),_0x57b7c8['render']=function(_0x4e4795){const _0x18cba4=this['toDomElement'](_0x4e4795),_0x134509=document['createElement']('span');return _0x134509['classList']['add']('ck-user__marker-tooltip'),_0x134509['setAttribute']('contenteditable','false'),_0x134509['setAttribute']('spellcheck','false'),_0x134509['textContent']=_0x2de13a['name'],_0x18cba4['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x134509['outerHTML']+'⁠',_0x18cba4['addEventListener']('mouseenter',()=>{_0x18cba4['classList']['add']('ck-user__marker_hovered');}),_0x18cba4['addEventListener']('mouseleave',()=>{_0x18cba4['classList']['remove']('ck-user__marker_hovered');}),_0x18cba4;},_0x57b7c8['isSimilar']=function(_0x1e1632){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e1632['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e1632['getAttribute']('data-session-id'));},_0x57b7c8;}(_0x5c29d1,_0x25ee60,_0x58a741);}(_0x57ed0e,_0x11cea6,_0x41375d,_0x4f4994)}),_0x4f4994['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1b8199=>function(_0x1e953a,_0x35bae6){const _0x1e9950=_0x1e953a['markerName']['split'](':')[0x2];if(_0x1e9950===_0x35bae6['mySessionId'])return null;const _0xfb6988=_0x35bae6['getUserBySessionId'](_0x1e9950);if(!_0xfb6988)return{'id':_0x1e9950,'classes':[]};return{'id':_0x1e9950,'classes':['ck-user__selection',_0xfb6988['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1e9950},'priority':0x7d0+_0xfb6988['orderNumber']};}(_0x1b8199,_0x41375d)}),function(_0x56d093){const _0x3c59de=_0x56d093['model'],_0x5c8b88=new Map(),_0x5df8e1=_0x56d093['plugins']['get'](i);_0x3c59de['markers']['on']('update:user:range',(_0x1eb9ba,_0x377e10,_0x4d9e7b,_0x4649a7)=>{if(!_0x4649a7&&_0x5c8b88['get'](_0x377e10['name']))return _0x5c8b88['get'](_0x377e10['name'])['detach'](),void _0x5c8b88['delete'](_0x377e10['name']);const _0x17ea90=_0x377e10['name']['split'](':')[0x2];if(_0x17ea90===_0x5df8e1['mySessionId'])return;const _0x1bb791='user:position:'+_0x17ea90;_0x3c59de['markers']['has'](_0x1bb791)&&_0x56d093['editing']['reconvertMarker'](_0x1bb791),_0x377e10['on']('change:range',(_0x4d4cb2,_0x5e77ac,_0xf3f66f)=>{if('$graveyard'!=_0x5e77ac['root']['rootName']&&'$graveyard'==_0x377e10['getRange']()['root']['rootName']&&!_0x5c8b88['has'](_0x377e10['name'])){const _0xf7e6a4=_0x3c59de['schema']['getNearestSelectionRange'](_0xf3f66f['deletionPosition']);if(_0xf7e6a4){const _0x5e673f=_0x4a4270['fromRange'](_0xf7e6a4);_0x5c8b88['set'](_0x377e10['name'],_0x5e673f),_0x5e673f['on']('change:range',(_0x285df8,_0x17e6da,_0x9a8d0c)=>{if('$graveyard'==_0x5e673f['root']['rootName']){const _0x1e64f7=_0x3c59de['schema']['getNearestSelectionRange'](_0x9a8d0c['deletionPosition']);_0x1e64f7?(_0x5e673f['start']=_0x1e64f7['start'],_0x5e673f['end']=_0x1e64f7['end']):(_0x5c8b88['delete'](_0x377e10['name']),_0x5e673f['detach']());}});}}});}),_0x3c59de['document']['on']('change',()=>{_0x5c8b88['size']>0x0&&_0x3c59de['enqueueChange']({'isUndoable':!0x1},_0x4482e3=>{for(const [_0x22abee,_0x49fb25]of _0x5c8b88)'$graveyard'==_0x3c59de['markers']['get'](_0x22abee)['getRange']()['root']['rootName']&&(G(_0x22abee['split'](':')[0x2],_0x49fb25['toRange'](),_0x3c59de,_0x4482e3),_0x49fb25['detach']());_0x5c8b88['clear']();});});}(_0x4f4994),this['_domEmitter']['listenTo'](_0x129409['document'],'keydown',(_0x1d1622,{key:_0x1b888a})=>{'Escape'===_0x1b888a&&function(_0xbbbbb2){_0xbbbbb2['editing']['view']['change'](_0xa75c9c=>{for(const _0x541d6d of _0xbbbbb2['model']['markers']){if(!_0x541d6d['name']['startsWith']('user:position'))continue;const _0x805ead=_0xbbbbb2['editing']['mapper']['markerNameToElements'](_0x541d6d['name']);if(_0x805ead){for(const _0x2dcf15 of _0x805ead)_0xa75c9c['removeClass']('ck-user__marker_hovered',_0x2dcf15);}}});}(_0x4f4994);},{'useCapture':!0x0});}['afterInit'](){const _0x1a77b8=this['editor'],_0x2d3b3d=_0x1a77b8['commands']['get']('undo');_0x2d3b3d&&_0x1a77b8['model']['on']('applyOperation',(_0x1a4f08,_0x3f76a4)=>{const _0x42954d=_0x3f76a4[0x0];if(!_0x42954d['isDocumentOperation'])return;if('marker'!=_0x42954d['type']||!_0x42954d['name']['startsWith']('user:'))return;const _0x194f94=_0x42954d['batch'];_0x2d3b3d['_createdBatches']['has'](_0x194f94)&&(_0x42954d['newRange']=_0x42954d['oldRange']?_0x1a77b8['model']['createRange'](_0x42954d['oldRange']['start'],_0x42954d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2cccfc=this['editor'],_0x5afbe4=_0x2cccfc['model']['document'],_0x2f58fe=_0x2cccfc['plugins']['get'](i);_0x2cccfc['model']['enqueueChange']({'isUndoable':!0x1},_0x5f4fae=>{const _0x5ece04='user:range:'+_0x2f58fe['mySessionId'],_0x3e9980='user:position:'+_0x2f58fe['mySessionId'],_0x392364=_0x2cccfc['model']['markers']['has'](_0x5ece04);_0x2cccfc['editing']['view']['hasDomSelection']?G(_0x2f58fe['mySessionId'],_0x5afbe4['selection']['getFirstRange'](),_0x2cccfc['model'],_0x5f4fae):_0x392364&&(_0x5f4fae['removeMarker'](_0x5ece04),_0x5f4fae['removeMarker'](_0x3e9980));});}}function G(_0x1e07bd,_0x36b82c,_0x56819b,_0x5a9fa2){const _0x13adf9='user:range:'+_0x1e07bd,_0x532183='user:position:'+_0x1e07bd,_0xb82553=_0x36b82c['getContainedElement']();let _0x639f3f=_0x36b82c['start'];if(_0xb82553&&_0xb82553['is']('element','tableCell')){const _0x484e07=function(_0x5ad896,_0x4d06a7){for(const _0x3debdc of _0x5ad896['getPositions']())if(_0x4d06a7['schema']['checkChild'](_0x3debdc,'$text'))return _0x3debdc;}(_0x36b82c,_0x56819b);_0x484e07&&(_0x639f3f=_0x484e07,_0x36b82c=_0x5a9fa2['createRange'](_0x639f3f));}const _0x1f1a83=_0x5a9fa2['createRange'](_0x639f3f);_0x56819b['markers']['has'](_0x13adf9)?(_0x5a9fa2['updateMarker'](_0x13adf9,{'range':_0x36b82c}),_0x5a9fa2['updateMarker'](_0x532183,{'range':_0x1f1a83})):(_0x5a9fa2['addMarker'](_0x13adf9,{'range':_0x36b82c,'usingOperation':!0x0}),_0x5a9fa2['addMarker'](_0x532183,{'range':_0x1f1a83,'usingOperation':!0x0}));}function U(_0x1b07c7,_0x5a388c,_0x4750a5){const _0x59e955=_0x1b07c7['t'],t=_0x1b07c7['t'];switch(_0x5a388c){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 _0x59e955({'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'},_0x4750a5);default:return'';}}let H=0x1;class l extends _0x29e178{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3bd68f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,P,_0x25613c,_0x1fdd48,_0x3add2e];}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 _0x3524a4=this['serverHistory']['getOperations']();for(let _0x17f349=_0x3524a4['length']-0x1;_0x17f349>=0x0;_0x17f349--){const _0x4d7405=_0x3524a4[_0x17f349];if(!this['_disconnectionOperations']['has'](_0x4d7405))return _0x4d7405['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x33866f){if(super(_0x33866f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5543ae(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3bcb8b('collaboration-missing-channelid',this);const _0x56bb0f=_0x33866f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x56bb0f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x20f87f(),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 _0x3816ea=this['editor'],_0x14e21a=_0x3816ea['plugins']['get'](_0x1fdd48),_0x2ecfed=_0x3816ea['plugins']['get'](n);this['listenTo'](_0x14e21a,'getOperationAuthor',(_0x1a846d,_0x42c573)=>{const _0x425026=_0x42c573[0x0];_0x425026['_authorId']&&(_0x1a846d['return']=_0x14e21a['getUser'](_0x425026['_authorId']),_0x1a846d['stop']()),null===_0x425026['_authorId']&&(_0x1a846d['return']=null,_0x1a846d['stop']());},{'priority':'high'}),this['listenTo'](_0x3816ea['model']['document']['selection'],'change:range',(_0x5c5dec,_0x1d6622)=>{_0x1d6622['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3816ea['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3816ea['model']['on']('applyOperation',(_0x532a0c,_0x4e92e1)=>{const _0x14c8c5=_0x4e92e1[0x0];_0x14c8c5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x14c8c5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2ecfed,'state',this,'_hasSynchronizationProblem',(_0x20b8c4,_0x46d698)=>'connected'===_0x20b8c4&&!_0x46d698),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2697c7=this['editor']['plugins']['get'](i),_0x432fca=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2697c7['unregister'](this['_channelId']);const _0x27d0c1=await this['_service']['reconnect'](_0x432fca['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x27d0c1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3c63bf=await this['_service']['getConnectedSessions']();_0x2697c7['register'](this['_channelId'],_0x3c63bf),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xa1aae8){if(function(_0x1adfad){return'404'===_0x1adfad['code'];}(_0xa1aae8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34f525){return'409'===_0x34f525['code'];}(_0xa1aae8)){const _0x2be975=U(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'](_0x2be975);}else{if(!(_0xa1aae8 instanceof ReconnectionError))throw _0xa1aae8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x88924f=this['editor']['plugins']['get'](n),_0x17a9dd=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x17a9dd['channelSessions']['has'](this['_channelId'])&&_0x17a9dd['unregister'](this['_channelId']),_0x88924f['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x51970f){if(this['sessionId']!==_0x51970f['sessionId']&&this['_lastSyncedOperationId']!==_0x51970f['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x51970f['sessionId'],this['_handleServerResponse']([],{..._0x51970f,'wereChangesApplied':!0x1,'data':_0x51970f['data']},'reconnect');}async['_connectService'](_0x5eb86b,_0x16400e=!0x1){const {connection:_0x4bb40a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4bb40a,this['_channelId'])['then'](_0x47210d=>this['_initSessionsHandling'](_0x47210d))['catch'](_0xdd99d4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xdd99d4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x17a9ab,_0x41b8b8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x41b8b8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xca6f38=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5eb86b);this['_isPendingUpdate']=!0x0;const _0x545afe=await this['_service']['connect'](_0x4bb40a,this['_compressOperations'](_0x5eb86b),_0xca6f38);if(this['sessionId']=_0x545afe['sessionId'],_0x16400e){if(!_0x545afe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x545afe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5eb86b,_0x545afe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x545afe,_0x5eb86b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x9d8fc5=this['editor']['plugins']['get'](i),_0x3b0858=this['editor']['plugins']['get'](P),_0x5ae35b=_0x9d8fc5['channelSessions']['get'](this['_channelId']);_0x5ae35b&&_0x5ae35b['length']>0x1?_0x3b0858['createUserMarkerOperations']():this['listenTo'](_0x9d8fc5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x9d8fc5['channelSessions']['get'](this['_channelId'])['length']&&_0x3b0858['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5cf82c,_0x278ae5,_0x52c273,_0x5c0733){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x278ae5){const _0x2667c0=this['_decompressOperations'](_0x52c273,_0x5c0733);await this['_fetchMissingUsers'](_0x2667c0),this['_handleExternalOperations'](_0x2667c0,_0x278ae5,_0x52c273['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x415cf3}=this['editor'];let _0x291a8d;try{_0x291a8d=await this['_service']['getDocumentDetails']();}catch{const _0x34a04e=U(_0x415cf3,'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'](_0x34a04e);}const _0x53efc5=_0x291a8d['currentDocumentSession']||_0x291a8d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x53efc5['lastOperationId']){const _0x6fc179=U(_0x415cf3,'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'](_0x6fc179);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x503d43){const _0x5c5723=this['editor']['plugins']['get'](i);this['listenTo'](_0x5c5723,'sessionAdd:'+this['_channelId'],(_0x1a46a7,{session:_0x20ab2d})=>{if(_0x20ab2d['id']===_0x5c5723['mySessionId']){_0x1a46a7['off']();const _0xa3019b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2095e6=_0x20ab2d['permissions'];_0xa3019b&&_0xa3019b['isEnabled']&&(_0x2095e6=_0x2095e6['filter'](_0x5623dd=>'document:write'!==_0x5623dd)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2095e6,this['_channelId']);}}),_0x5c5723['register'](this['_channelId'],_0x503d43);}['_initThrowingOnDataSet'](){const _0x15dfe0=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x38c36f)=>{if(!_0x38c36f[_0x38c36f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3bcb8b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x15dfe0['apply'](this['editor']['data'],_0x38c36f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4f5256,[_0x2c14b2])=>{if(this['_document']['version'])throw new _0x3bcb8b('realtimecollaborationclient-init-document-already-initialized',this);_0x4f5256['stop'](),this['_setPendingAction']();const _0x17660a=this['editor']['config']['get']('rootsAttributes'),_0xcf70f7=this['_getOperationsFromInitData'](_0x2c14b2,_0x17660a);0x0==_0xcf70f7['length']&&_0xcf70f7['push'](new _0x5a35fd(0x0)),_0x4f5256['return']=this['_connectService'](_0xcf70f7)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x49916c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x49916c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3426f2,[_0x4d4182,_0x319580])=>{_0x3426f2['stop']();const _0x61df94=this['editor']['model']['document']['getRoot'](_0x4d4182);if(!this['_knownRootNames']['has'](_0x4d4182)){const _0x16c2bd=_0x319580&&_0x319580['data']?_0x319580['data']:'',_0x2c5a3d=_0x319580&&_0x319580['attributes']?_0x319580['attributes']:{};await this['_loadRoot'](_0x4d4182,_0x16c2bd,_0x2c5a3d);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x61df94['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x61df94);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2e1a4b){const _0x274296=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0xfefba4}=this['editor']['plugins']['get'](n),_0x5bf105=new Set();for(const _0x27e490 of _0x2e1a4b){const _0x37273a=_0x27e490['_authorId'];_0x37273a&&!_0x274296['getUser'](_0x37273a)&&_0x5bf105['add'](_0x37273a);}if(0x0===_0x5bf105['size'])return;const _0x2aea38=await ht['getMany'](_0xfefba4,Array['from'](_0x5bf105));for(const _0x3d3414 of _0x2aea38)_0x274296['getUser'](_0x3d3414['id'])||_0x274296['addUser'](_0x3d3414);}['_getOperationsFromInitData'](_0x49af0a,_0x14edad={}){const _0x41b097=this['editor']['model'],_0x5491f7=[];let _0x4d07e7=0x0;const _0x345136='string'==typeof _0x49af0a?{'main':_0x49af0a}:_0x49af0a;for(const _0x399f29 of Object['keys'](_0x345136)){if(!this['_document']['roots']['has'](_0x399f29))throw new _0x3bcb8b('realtimecollaborationclient-init-non-existent-root',this);const _0x58cfaf=this['editor']['data']['parse'](_0x345136[_0x399f29]),_0x109ef4=this['_document']['getRoot'](_0x399f29),_0x2a3569=new _0x2eb663(_0x41b097['createPositionAt'](_0x109ef4,0x0),_0x58cfaf,_0x4d07e7++);_0x5491f7['push'](_0x2a3569);for(const [_0x474e16,_0x21cb28]of _0x58cfaf['markers']){const _0x497987=_0x41b097['createRange'](_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['start']['path']['slice']()),_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['end']['path']['slice']())),_0x1c977c=new _0xb76659(_0x474e16,null,_0x497987,_0x41b097['markers'],!0x0,_0x4d07e7++);_0x5491f7['push'](_0x1c977c);}}if(_0x14edad)for(const [_0x30be04,_0x48516d]of Object['entries'](_0x14edad)){const _0x29c538=_0x41b097['document']['getRoot'](_0x30be04);if(!_0x29c538)throw new _0x3bcb8b('multi-root-editor-root-attributes-no-root',null);for(const [_0x50c840,_0x33b824]of Object['entries'](_0x48516d))if(null!==_0x33b824){const _0x4d437c=new _0x587cfc(_0x29c538,_0x50c840,null,_0x33b824,_0x4d07e7++);_0x5491f7['push'](_0x4d437c);}}return _0x5491f7;}async['_loadRoot'](_0xf08f4c,_0xe56468,_0x4c239c){this['_getOperationsFromInitData']({[_0xf08f4c]:_0xe56468},{[_0xf08f4c]:_0x4c239c})['forEach']((_0x188866,_0x401baa)=>{_0x188866['baseVersion']=this['_document']['version']+_0x401baa,_0x188866['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x188866);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4e0a6a,_0x3573c4){let _0x452d52;this['_offset']=_0x4e0a6a['offset'];const _0xf24d51=_0x4e0a6a['wereChangesApplied']&&!_0x4e0a6a['initData'],_0x460ed8=_0xf24d51?0x0:_0x4e0a6a['data']['baseVersion'];if(_0x3573c4['forEach'](_0x381c25=>{_0x381c25['_isInit']=!0x0,_0x381c25['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x381c25['_authorId']=null;}),_0xf24d51)_0x452d52=_0x3573c4,this['_applyOperationsSet'](_0x452d52,_0xf24d51);else{if(_0x4e0a6a['initData']){const _0x45b73a=this['_getOperationsFromInitData'](_0x4e0a6a['initData']);this['_document']['history']['version']=-_0x45b73a['length'],_0x45b73a['forEach'](_0x374b4f=>{_0x374b4f['baseVersion']-=_0x45b73a['length'],_0x374b4f['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x374b4f['_isInit']=!0x0,_0x374b4f['_authorId']=null;}),this['_applyOperationsSet'](_0x45b73a,!0x0),this['serverHistory']['version']=-_0x45b73a['length']+this['_offset'],this['_updateServerHistory'](_0x45b73a);}this['_document']['history']['version']=_0x460ed8,_0x452d52=this['_decompressOperations'](_0x4e0a6a['data'],_0x4e0a6a['metadata']),await this['_fetchMissingUsers'](_0x452d52),this['_applyOperationsSet'](_0x452d52,_0xf24d51);}_0x4e0a6a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x452d52,_0x4e0a6a['lastOperationId']),this['_lastSyncedOperationId']=_0x4e0a6a['lastOperationId']),this['serverHistory']['version']=_0x460ed8+this['_offset'],this['_updateServerHistory'](_0x452d52),_0x3573c4['filter'](_0x522ea9=>{const _0x27c161=this['_getAffectedRoot'](_0x522ea9);return _0x27c161&&!this['_knownRootNames']['has'](_0x27c161);})['forEach']((_0x19938e,_0x464f77)=>{_0x19938e['baseVersion']=this['_document']['version']+_0x464f77,this['_saveOperationInBuffer'](_0x19938e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2d2b49,_0x44abcb){const _0x3b3f19=_0x44abcb&&_0x44abcb['message'];if(_0x3b3f19&&_0x3b3f19['startsWith']('realtimecollaborationclient'))throw _0x44abcb;const _0x54cf09=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x54cf09['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3bcb8b(_0x2d2b49,this['editor'],_0x3b3f19?{'originalError':_0x3b3f19}:void 0x0);}['_saveOperationInBuffer'](_0x2b0fe6){this['_knownOperations']['has'](_0x2b0fe6)||(this['_knownOperations']['add'](_0x2b0fe6),this['_bufferedOperations']['push'](_0x2b0fe6),this['_pendingAction']||'marker'==_0x2b0fe6['type']&&!_0x2b0fe6['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1be7c1=!0x1){!_0x1be7c1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2b5528=>{_0x2b5528&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x584a44=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x30772f){return _0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x584a44)||this['_crash'](_0x584a44['message'],_0x584a44);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3aacf1=>{this['on']('change:_isPendingUpdate',()=>{_0x3aacf1();});});}async['_sendBufferedOperations'](){const _0xe249ce=this['editor']['plugins']['get'](P);if(this['_shouldSendSelectionUpdate']()&&(_0xe249ce['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5dcdae=[...this['_bufferedOperations']];for(const _0x52ce64 of _0x5dcdae)_0x52ce64['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x52ce64);const _0x175589=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dcdae),_0x33dbca=H++,_0x104b2a=this['_compressOperations'](_0x5dcdae),_0x51701e=await this['_service']['sendOperations'](_0x104b2a,_0x104b2a['baseVersion'],_0x175589);try{return await this['_handleServerResponse'](_0x5dcdae,_0x51701e,_0x33dbca);}catch(_0x377465){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x377465);}}async['_handleServerResponse'](_0x401bc2,_0x1273b7,_0x1dbf0b){if('error'in _0x1273b7)throw _0x1273b7['error'];let _0x55a16b=!0x1;if(_0x1273b7['wereChangesApplied']){_0x1273b7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1273b7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a03ea=>!_0x401bc2['includes'](_0x1a03ea));for(const _0x31a050 of _0x401bc2)_0x31a050['createdAt']='lastOperationAcceptedAt'in _0x1273b7&&_0x1273b7['lastOperationAcceptedAt']||void 0x0;V(_0x401bc2,_0x1273b7['version']-_0x401bc2['length']),this['_updateServerHistory'](_0x401bc2);const _0x122dc9=_0x401bc2['filter'](_0x3f28d4=>{if(!_0x3f28d4['_isInit'])return!0x1;const _0x26eb53=this['_getAffectedRoot'](_0x3f28d4);return _0x26eb53&&!this['_knownRootNames']['has'](_0x26eb53);});V(_0x122dc9,this['_document']['version']),this['_applyOperationsSet'](_0x122dc9),_0x55a16b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xa919f8=this['_decompressOperations'](_0x1273b7['data'],_0x1273b7['metadata'])['filter'](_0x8f2d2e=>_0x8f2d2e['baseVersion']>=this['_lastServerVersion']);_0xa919f8['forEach'](_0x17919f=>this['_addKnownRoot'](_0x17919f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x169e62=>!_0x169e62['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x169e62))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xa919f8),_0x55a16b=this['_handleExternalOperations'](_0xa919f8,_0x1273b7['version'],_0x1273b7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x55a16b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xc4c343,_0x4ff10c,_0x2352bf){try{const _0x561a1d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x377530,operationsB:_0x1a4add,originalOperations:_0x4ac164}=_0x49e3bb(_0xc4c343,this['_bufferedOperations'],_0x561a1d);V(_0x377530,this['_document']['version']),V(_0x1a4add,_0x4ff10c);for(const _0x5091eb of _0x377530){const _0x4bf8db=_0x4ac164['get'](_0x5091eb);_0x5091eb['_authorId']=_0x4bf8db?_0x4bf8db['_authorId']:null;}_0x2352bf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xc4c343,_0x2352bf),this['_lastSyncedOperationId']=_0x2352bf),this['_bufferedOperations']=[..._0x1a4add],this['_applyOperationsSet'](_0x377530),this['_updateServerHistory'](_0xc4c343);}catch(_0x261837){return console['error'](_0x261837),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2fc655,_0x3cd385=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x20b8d8=>{for(const _0x423451 of _0x2fc655)this['_knownOperations']['add'](_0x423451),this['_addKnownRoot'](_0x423451),_0x20b8d8['batch']['addOperation'](_0x423451),this['editor']['model']['applyOperation'](_0x423451);});}['_addKnownRoot'](_0x5441d2){const _0x589ae4=this['_getAffectedRoot'](_0x5441d2);_0x589ae4&&this['_knownRootNames']['add'](_0x589ae4);}['_getAffectedRoot'](_0x549061){let _0x3d2daf,_0x3a4122;switch(_0x549061['type']){case'insert':_0x3d2daf=_0x549061['position']['root'];break;case'marker':if(_0x3a4122=_0x549061['newRange'],!_0x3a4122)return null;_0x3d2daf=_0x3a4122['root'];break;case'addRootAttribute':_0x3d2daf=_0x549061['root'];break;case'addRoot':_0x3d2daf=_0x549061['affectedSelectable'];break;case'move':_0x3d2daf=_0x549061['targetPosition']['root'];break;default:return null;}return _0x3d2daf['rootName'];}['_updateServerHistory'](_0x5c50a0){_0x5c50a0['forEach'](_0x383da8=>{const _0x55808d=_0x383da8['clone']();_0x55808d['_authorId']=_0x383da8['_authorId'],_0x55808d['_isInit']=!!_0x383da8['_isInit'],_0x55808d['createdAt']=_0x383da8['createdAt'],_0x55808d['baseVersion']+=this['_offset'],_0x383da8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x55808d),this['serverHistory']['addOperation'](_0x55808d);});}['_handleReconnectionError'](_0x93f24e){const _0x4e2dd5=this['editor']['plugins']['get']('Notification'),_0x357fd3=this['editor']['locale'];_0x93f24e||(_0x93f24e=U(_0x357fd3,'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.')),_0x4e2dd5['showWarning'](_0x93f24e,{'title':U(_0x357fd3,'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'](_0x25613c)['add'](U(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x25613c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2d055c){const _0x56f105=_0x2d055c['map'](_0x4e6914=>_0x4e6914['toJSON']());return this['_compressor']['compress'](_0x56f105);}['_decompressOperations'](_0x468551,_0x424d87){return this['_compressor']['decompress'](_0x468551)['map']((_0x54e3de,_0x2f02a9)=>{const _0x911eb6='init'==_0x424d87[_0x2f02a9]['type'];if('InsertOperation'==_0x54e3de['__className']){const _0x349b3d=_0x54e3de['position']['root'];!this['_document']['getRoot'](_0x349b3d)&&(this['_document']['createRoot']('$root',_0x349b3d)['_isAttached']=!0x1);}const _0x18cbd5=_0x53f985['fromJSON'](_0x54e3de,this['_document']);return _0x18cbd5['wasUndone']=_0x54e3de['wasUndone'],_0x18cbd5['_isInit']=_0x911eb6,_0x18cbd5['_authorId']=_0x911eb6?null:_0x424d87[_0x2f02a9]['userId'],_0x18cbd5['_isDisconnection']='cs:removeUser'===_0x424d87[_0x2f02a9]['type'],_0x18cbd5['createdAt']=_0x424d87[_0x2f02a9]['createdAt'],_0x18cbd5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x51e6cd=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x51e6cd&&_0x51e6cd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function V(_0x3da915,_0x5aafb8){for(const _0x5bb3f6 of _0x3da915)_0x5bb3f6['baseVersion']=_0x5aafb8++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x5c0992){this['_ignoredOperations']=_0x5c0992,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5e606f){let _0xcbe6d2=_0x5e606f['length'];for(;_0xcbe6d2--;){const _0x4ffeab=_0x5e606f[_0xcbe6d2];if(!this['_ignoredOperations']['has'](_0x4ffeab)){if(!this['_operationToId']['has'](_0x4ffeab)){const _0x317dc5=_0x388d37()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4ffeab,_0x317dc5);}return this['_operationToId']['get'](_0x4ffeab);}}}['setIdForTheLastOperation'](_0x3eedb2,_0x5868c7){if(!_0x5868c7)return;let _0x50eb60=_0x3eedb2['length'];for(;_0x50eb60--;){const _0x48ddb8=_0x3eedb2[_0x50eb60];this['_ignoredOperations']['has'](_0x48ddb8)||this['_operationToId']['set'](_0x48ddb8,_0x5868c7);}}}class a extends _0x29e178{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2ff9e0{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x33454b)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e8ae){super(_0x39e8ae),this['_services']=new Map();}async['init'](){const _0x14a5ab=this['context'],_0x3cde40=_0x14a5ab['plugins']['get']('CommentsRepository');if(_0x14a5ab['plugins']['get'](n)['addToReconnectionStack'](this),_0x3cde40['adapter']={'addCommentThread':async({channelId:_0xb9e810,threadId:_0x5287ea,comments:_0xd79d0f,resolvedAt:_0x2dc705,resolvedBy:_0x2de82b,context:_0x12fda5,attributes:_0x446acc})=>{const _0x5690ae=await this['_getService'](_0xb9e810)['addCommentThread']({'commentThreadId':_0x5287ea,'comments':_0xd79d0f['map'](_0x1fe910=>function(_0x1842cc,_0x4311fd,_0x4fe560){return{'commentThreadId':_0x4fe560,'commentId':_0x1842cc['commentId'],'userId':_0x1842cc['authorId'],'content':_0x1842cc['content'],'documentId':_0x4311fd,'createdAt':_0x1842cc['createdAt'],'attributes':_0x1842cc['attributes']||{}};}(_0x1fe910,_0xb9e810,_0x5287ea)),'resolvedAt':_0x2dc705,'resolvedBy':_0x2de82b,'context':_0x12fda5,'attributes':_0x446acc})['catch'](lt);return{'threadId':_0x5690ae['commentThreadId'],'comments':_0x5690ae['comments']};},'getCommentThread':async({channelId:_0x544588,threadId:_0x5504fb})=>{const _0x331eb2=await this['_getService'](_0x544588)['getCommentThread'](_0x5504fb)['catch'](X)['catch'](lt);return _0x331eb2?_0x331eb2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x331eb2]),{'threadId':_0x331eb2['commentThreadId'],'comments':_0x331eb2['comments']['map'](Z),'context':_0x331eb2['context'],'resolvedAt':_0x331eb2['resolvedAt'],'resolvedBy':_0x331eb2['resolvedBy'],'attributes':_0x331eb2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x29a946,threadId:_0x1c9b3b,context:_0x594ba5,unlinkedAt:_0x451076,attributes:_0x19e4b6})=>this['_getService'](_0x29a946)['updateCommentThread']({'commentThreadId':_0x1c9b3b,'context':_0x594ba5,'attributes':_0x19e4b6,'unlinkedAt':_0x451076})['catch'](X)['catch'](lt),'resolveCommentThread':async({channelId:_0x22cc90,threadId:_0x15e66d})=>{const _0x69fbc2=await this['_getService'](_0x22cc90)['resolveCommentThread'](_0x15e66d)['catch'](X)['catch'](lt);return{'threadId':_0x69fbc2['commentThreadId'],'resolvedAt':_0x69fbc2['resolvedAt'],'resolvedBy':_0x69fbc2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2a0af0,threadId:_0x5579fb})=>this['_getService'](_0x2a0af0)['reopenCommentThread'](_0x5579fb)['catch'](X)['catch'](lt),'removeCommentThread':({channelId:_0x523173,threadId:_0x2b28ec})=>this['_getService'](_0x523173)['removeCommentThread'](_0x2b28ec)['catch'](X)['catch'](lt),'addComment':({channelId:_0x36878d,threadId:_0x2fe7f6,commentId:_0x33a4a9,content:_0xdc000,attributes:_0xa6b7fb})=>this['_getService'](_0x36878d)['addComment'](_0x2fe7f6,_0x33a4a9,_0xdc000,_0xa6b7fb)['catch'](lt),'updateComment':({channelId:_0x57ae21,threadId:_0x1b258b,commentId:_0x22754b,content:_0x5ca260,attributes:_0x53d41a})=>this['_getService'](_0x57ae21)['updateComment'](_0x1b258b,_0x22754b,_0x5ca260,_0x53d41a)['catch'](X)['catch'](lt),'removeComment':({channelId:_0x4ece2f,threadId:_0x148c70,commentId:_0x28ee70})=>this['_getService'](_0x4ece2f)['removeComment'](_0x148c70,_0x28ee70)['catch'](X)['catch'](lt)},_0x14a5ab instanceof _0x32eb06){const _0x2b58ce=_0x14a5ab['config']['get']('collaboration.channelId'),_0x518fc7=_0x14a5ab['plugins']['get'](i);await this['_setUpService'](_0x2b58ce);const _0x4dd6bb=await this['_services']['get'](_0x2b58ce)['getConnectedSessions']();this['listenTo'](_0x518fc7,'sessionAdd:'+_0x2b58ce,(_0x1748f5,{session:_0x9ad872})=>{_0x9ad872['id']===_0x518fc7['mySessionId']&&(_0x1748f5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x9ad872['permissions'],_0x2b58ce));}),_0x518fc7['register'](_0x2b58ce,_0x4dd6bb);}}async['_setUpService'](_0x51f3c2){if(this['_services']['has'](_0x51f3c2))throw new _0x3bcb8b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x51f3c2});const _0x30707a=this['context']['plugins']['get']('CommentsRepository'),_0x1d5d05=new s['CommentsService'](_0x51f3c2);this['_services']['set'](_0x51f3c2,_0x1d5d05),this['listenTo'](_0x1d5d05,'commentThreadAdded',(_0x3abc17,_0x2a51d8)=>{const {commentThreadId:_0x72002c,documentId:_0x3b2e6b,context:_0x140627,attributes:_0x3d41fd,resolvedAt:_0xbecf9,resolvedBy:_0x2a1f30,comments:_0x371307}=_0x2a51d8;_0x30707a['getCommentThread'](_0x72002c)||_0x30707a['addCommentThread']({'threadId':_0x72002c,'channelId':_0x3b2e6b,'comments':_0x371307?_0x371307['map'](Z):[],'context':_0x140627,'attributes':_0x3d41fd,'resolvedAt':_0xbecf9,'resolvedBy':_0x2a1f30,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadUpdated',(_0x2d2fab,{commentThreadId:_0x4f867f,documentId:_0x4ffcc8,context:_0x1c02ed,unlinkedAt:_0x18b31f,attributes:_0x1040c8})=>{_0x30707a['getCommentThread'](_0x4f867f)&&_0x30707a['updateCommentThread']({'threadId':_0x4f867f,'channelId':_0x4ffcc8,'context':_0x1c02ed,'unlinkedAt':_0x18b31f,'attributes':_0x1040c8,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadResolved',(_0x353361,{commentThreadId:_0x5e372b,resolvedBy:_0x42bced,resolvedAt:_0x35d5a3})=>{const _0xd30eca=_0x30707a['getCommentThread'](_0x5e372b);_0xd30eca&&_0xd30eca['resolve']({'resolvedBy':_0x42bced,'resolvedAt':_0x35d5a3,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadReopened',(_0x83cd71,{commentThreadId:_0x3a70ad})=>{const _0x11662e=_0x30707a['getCommentThread'](_0x3a70ad);_0x11662e&&_0x11662e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadRemoved',(_0x14c4df,{commentThreadId:_0x3ad905})=>{const _0x132f54=_0x30707a['getCommentThread'](_0x3ad905);_0x132f54&&_0x132f54['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentAdded',(_0x8596ad,_0x57c1ff)=>{const _0x1e2671=_0x57c1ff['commentThreadId'],_0x39ab36=_0x30707a['getCommentThread'](_0x1e2671);_0x39ab36&&_0x39ab36['addComment']({...Z(_0x57c1ff),'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentUpdated',(_0x1a6779,{commentThreadId:_0x36feb5,commentId:_0x1508e9,content:_0x27d681,attributes:_0x54341d})=>{const _0x116ec5=_0x30707a['getCommentThread'](_0x36feb5);if(_0x116ec5){const _0xa66e4e=_0x116ec5['getComment'](_0x1508e9);_0xa66e4e&&_0xa66e4e['update']({'content':_0x27d681,'attributes':_0x54341d,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d5d05,'commentRemoved',(_0x14c6f9,{commentThreadId:_0x33cf71,commentId:_0x580bbc})=>{const _0x21adcb=_0x30707a['getCommentThread'](_0x33cf71);if(_0x21adcb){const _0x4fd199=_0x21adcb['getComment'](_0x580bbc);_0x4fd199&&_0x4fd199['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x51f3c2);}['destroy'](){if(this['context']instanceof _0x32eb06){const _0x185f5d=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x185f5d);}}['_terminateService'](_0x2d4447){if(!this['_services']['has'](_0x2d4447))throw new _0x3bcb8b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d4447});this['_getService'](_0x2d4447)['disconnect'](),this['_services']['delete'](_0x2d4447);}async['reconnect'](){for(const _0x547de4 of this['_services']['keys']())await this['_connectService'](_0x547de4);if(this['context']instanceof _0x32eb06){const _0x41f3b4=this['context']['config']['get']('collaboration.channelId'),_0x1767bb=this['context']['plugins']['get'](i);_0x1767bb['unregister'](_0x41f3b4);const _0x364a30=await this['_services']['get'](_0x41f3b4)['getConnectedSessions']();_0x1767bb['register'](_0x41f3b4,_0x364a30);}}async['_connectService'](_0x1000f6){const {connection:_0x228bcb}=this['context']['plugins']['get'](n),_0x5667e2=this['context']['plugins']['get']('CommentsRepository'),_0x1bee42=this['_services']['get'](_0x1000f6),_0x8dd084=await _0x1bee42['connect'](_0x228bcb);await this['_fetchMissingUsersForThreads'](_0x8dd084);const _0x16f0c5=new Set(Array['from'](_0x5667e2['getCommentThreads']({'channelId':_0x1000f6}),_0x5ee8a2=>_0x5ee8a2['id']));for(const _0xd052a of _0x8dd084)_0xd052a['deletedAt']||_0x16f0c5['delete'](_0xd052a['commentThreadId']);for(const _0xa57f5b of _0x16f0c5)_0x5667e2['getCommentThread'](_0xa57f5b)['remove']({'isFromAdapter':!0x0});for(const _0x3b4918 of _0x8dd084){let _0x2644ff=_0x5667e2['getCommentThread'](_0x3b4918['commentThreadId']);const {commentThreadId:_0x1396cd,context:_0x4eef4b,attributes:_0x4627e8,resolvedBy:_0x4c9ebc,resolvedAt:_0x55944e,unlinkedAt:_0x46e592,deletedAt:_0x4b596c}=_0x3b4918;if(_0x4b596c)continue;_0x2644ff||(_0x2644ff=_0x5667e2['addCommentThread']({'channelId':_0x1000f6,'threadId':_0x1396cd,'context':_0x4eef4b,'attributes':_0x4627e8||{},'resolvedBy':_0x4c9ebc,'resolvedAt':_0x55944e,'unlinkedAt':_0x46e592,'isFromAdapter':!0x0}));const _0x3d655f=new Set(Array['from'](_0x2644ff['comments'],_0x5770e4=>_0x5770e4['id']));for(const _0x16a738 of _0x3b4918['comments'])_0x3d655f['delete'](_0x16a738['commentId']);for(const _0x276e2e of _0x3d655f)_0x2644ff['getComment'](_0x276e2e)['remove']({'isFromAdapter':!0x0});for(const _0x1da82b of _0x3b4918['comments']){const _0x2440ae=_0x2644ff['getComment'](_0x1da82b['commentId']);_0x2440ae?_0x2440ae['content']!==_0x1da82b['content']&&_0x2440ae['update']({'content':_0x1da82b['content'],'isFromAdapter':!0x0}):_0x2644ff['addComment'](Object['assign'](Z(_0x1da82b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3de98c){if(!this['_services']['has'](_0x3de98c))throw new _0x3bcb8b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3de98c});return this['_services']['get'](_0x3de98c);}async['_fetchMissingUsersForThreads'](_0x2ed0bd){const _0x5c34bf=this['context']['plugins']['get'](_0x1fdd48),{connection:_0x47c07e}=this['context']['plugins']['get'](n),_0x3d14d4=new Set();for(const {resolvedBy:_0x5dfd34,comments:_0x5c5d93}of _0x2ed0bd){_0x5dfd34&&!_0x5c34bf['getUser'](_0x5dfd34)&&_0x3d14d4['add'](_0x5dfd34);for(const {userId:_0x1375f5}of _0x5c5d93)_0x5c34bf['getUser'](_0x1375f5)||_0x3d14d4['add'](_0x1375f5);}if(0x0===_0x3d14d4['size'])return;const _0x188d2f=await ht['getMany'](_0x47c07e,Array['from'](_0x3d14d4));for(const _0x102cef of _0x188d2f)_0x5c34bf['getUser'](_0x102cef['id'])||_0x5c34bf['addUser'](_0x102cef);}}async function X(_0x53874a){if('404'!==_0x53874a['code'])throw _0x53874a;}function lt(_0x24bea4){if((_0x1de51f=_0x24bea4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1de51f;throw _0x24bea4;}function Z(_0x431979){return{'threadId':_0x431979['commentThreadId'],'commentId':_0x431979['commentId'],'content':_0x431979['content'],'createdAt':_0x431979['createdAt'],'authorId':_0x431979['userId'],'attributes':_0x431979['attributes']||{}};}class m extends _0x29e178{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_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(_0x4b63f9){super(_0x4b63f9);const _0x5c2f27=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c2f27);}['init'](){const _0x4c1e72=this['editor']['plugins']['get'](n),_0xdf1ba8=this['editor']['plugins']['get']('TrackChangesEditing');return _0xdf1ba8['adapter']={'getSuggestion':async _0x155ea8=>{await this['_waitForServiceReady']();const _0x295aa2=await this['_trackChangesService']['get'](_0x155ea8)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x295aa2]),_0x295aa2;},'addSuggestion':async({id:_0x51c196,type:_0x3f10bb,data:_0x4bf25b,originalSuggestionId:_0x58633c,attributes:_0x21373a})=>{await this['_waitForServiceReady']();const _0x4e8ee5={'id':_0x51c196,'type':_0x3f10bb,'data':_0x4bf25b,'originalSuggestionId':_0x58633c,'attributes':_0x21373a},_0x13e651=await this['_trackChangesService']['add'](_0x51c196,_0x3f10bb,_0x4bf25b,_0x58633c,_0x21373a)['catch'](_0x37d09a=>{if(dt(_0x37d09a))return new Promise(_0xaf484a=>{this['_bufferedRequests']['set'](_0x51c196,{'resolve':_0xaf484a,'suggestionData':_0x4e8ee5});});throw _0x37d09a;});return this['_bufferedRequests']['delete'](_0x51c196),_0x13e651;},'updateSuggestion':async(_0x12ea48,_0x2fc7a8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2fc7a8['state'])return this['_trackChangesService']['update'](_0x12ea48,_0x2fc7a8)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x46c044,_0x1d9c5f)=>{_0xdf1ba8['hasSuggestion'](_0x1d9c5f['id'])&&(_0xdf1ba8['getSuggestion'](_0x1d9c5f['id'])['attributes']=_0x1d9c5f['attributes']);}),this['_trackChangesService']['connect'](_0x4c1e72['connection'])['then'](_0x1daeb3=>(_0x4c1e72['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1daeb3)['then'](()=>{for(const _0x324d55 of _0x1daeb3){_0xdf1ba8['addSuggestionData'](_0x324d55)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1f4f37=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x272618}=this['editor']['plugins']['get'](n),_0x7fdb29=await this['_trackChangesService']['connect'](_0x272618);await this['_fetchMissingUsersForThreads'](_0x7fdb29);for(const {suggestionData:_0x4906a0,resolve:_0x3555e3}of this['_bufferedRequests']['values']()){let _0x1e7456=_0x7fdb29['find'](_0x441c90=>_0x441c90['id']===_0x4906a0['id']);_0x1e7456||(_0x1e7456=await this['_trackChangesService']['add'](_0x4906a0['id'],_0x4906a0['type'],_0x4906a0['data'],_0x4906a0['originalSuggestionId'])),_0x3555e3(_0x1e7456);}for(const _0x16eb63 of _0x7fdb29)_0x1f4f37['hasSuggestion'](_0x16eb63['id'])||_0x1f4f37['addSuggestionData'](_0x16eb63);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x30f751=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3746fe=>{_0x3746fe['off'](),_0x30f751();});});}async['_fetchMissingUsersForThreads'](_0x2260f1){const _0x1276e4=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x23d44b}=this['editor']['plugins']['get'](n),_0x5bbc73=new Set();for(const {authorId:_0x201aac}of _0x2260f1)_0x1276e4['getUser'](_0x201aac)||_0x5bbc73['add'](_0x201aac);if(0x0===_0x5bbc73['size'])return;const _0x290625=await ht['getMany'](_0x23d44b,Array['from'](_0x5bbc73));for(const _0x3a0aa9 of _0x290625)_0x1276e4['getUser'](_0x3a0aa9['id'])||_0x1276e4['addUser'](_0x3a0aa9);}}function Y(_0x56266e){if(dt(_0x56266e))return new Promise(()=>{});throw _0x56266e;}function dt(_0x91c352){return _0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x29e178{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 _0x1d167e=this['editor']['plugins']['get'](n),_0x1edcbe=this['editor']['plugins']['get']('CommentsEditing'),_0x164aea=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1d167e,'change:state',(_0x69796e,_0x3ec527,_0x718421)=>{_0x1edcbe['isThreadsLoadingPaused']='connected'!==_0x718421;});}),this['listenTo'](_0x1d167e,'change:state',(_0x53f937,_0x3e35f3,_0x361c73)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x361c73);}),_0x164aea['_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 _0x29e178{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 _0x29e178{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18f624){super(_0x18f624);const _0x29574b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x29574b);}async['init'](){const _0x23bb15=this['editor']['plugins']['get'](l),_0x2c0763=_0x23bb15['serverHistory'],_0x5aae8e=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x2c0763,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23bb15['sessionId']});const _0x35dbdb=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xedb1cd=await tt['isBundleUploaded'](_0x5aae8e['connection'],_0x35dbdb);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xec1381})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xec1381)),'updateRevisions':async _0x5757ef=>{await this['_waitForServiceReady']();const _0xdb2098=this['_revisionTracker']['currentRevision'];if(_0xedb1cd&&0x1===_0x5757ef['length']&&_0x5757ef[0x0]['id']===_0xdb2098['id'])return _0x5757ef;for(const _0x32aac9 of _0x5757ef)_0x32aac9['id']===_0xdb2098['id']&&(_0x32aac9['isEmptyCurrent']=_0x32aac9['fromVersion']===_0x32aac9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5757ef,this['_lastRequestId'])['then'](_0x2cc848=>(this['_lastRequestId']=_0x2cc848,_0x5757ef))['catch'](_0x4d052a=>{if(st(_0x4d052a)||'400'===_0x4d052a['code']&&void 0x0!==_0x4d052a['data']['wrongRequestId']){for(const _0x1ed008 of _0x5757ef){!this['_revisionTracker']['repository']['getRevision'](_0x1ed008['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ed008['id'],_0x1ed008,!0x1);}if(st(_0x4d052a))throw _0x4d052a;return _0x5757ef;}throw _0x4d052a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x33f93b,{revisionsData:_0x24a439,requestId:_0x24e3f6})=>{Math['max'](..._0x24a439['map'](_0x56bfba=>_0x56bfba['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);}):this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);});const {revisions:_0x1add2e,requestId:_0x5d37ad}=await this['_revisionHistoryService']['connect'](_0x5aae8e['connection']);_0x5aae8e['addToReconnectionStack'](this),this['_lastRequestId']=_0x5d37ad,await this['_fetchMissingUsers'](_0x1add2e);for(const _0x25d0ea of _0x1add2e)this['_revisionTracker']['addRevisionData'](_0x25d0ea);this['listenTo'](_0x23bb15,'change:_isConnected',(_0x2093a2,_0x467377,_0x8756a1)=>{_0x8756a1&&(this['_oldOffset']=_0x23bb15['_offset'],_0x2093a2['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5aae8e,'state',_0x26ce4a=>_0x26ce4a===_0x2b57de['CONNECTED']);}async['reconnect'](){const _0x2b9e6c=this['editor']['plugins']['get'](n),_0x20086b=this['editor']['plugins']['get'](l),_0x5694a4=async()=>{const _0x56ce44=this['_revisionTracker']['currentRevision'],_0xda2310=_0x56ce44['id'],_0x191205=_0xda2310!==_0x20086b['sessionId'];if(_0x191205){const _0x57b3a6=_0x20086b['_offset']-this['_oldOffset'],_0x540aaa=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x56ce44['toVersion']+_0x57b3a6!==_0x540aaa){const _0x4f5698=_0x56ce44['fromVersion']+_0x57b3a6,_0x5b4ae7=this['editor']['plugins']['get'](_0x1fdd48),_0x1ff295=this['_revisionTracker']['buildRevisionData']({'revision':_0x56ce44,'from':_0x4f5698,'to':_0x540aaa});_0x1ff295['id']=_0x56ce44['id'];const _0x383638=_0x1ff295['authorsIds']['map'](_0x45473d=>_0x5b4ae7['getUser'](_0x45473d));_0x56ce44['_update']({..._0x1ff295,'authors':_0x383638},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x56ce44['id'],_0x1ff295,!0x0);}this['_revisionTracker']['_startingVersion']=_0x540aaa,(_0x56ce44['toVersion']===_0x56ce44['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xda2310)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xda2310),this['_revisionTracker']['_createCurrentRevision'](_0x540aaa));}const {revisions:_0xd84fc6,requestId:_0x436468}=await this['_revisionHistoryService']['reconnect'](_0x2b9e6c['connection'],this['_lastRequestId']);_0x191205&&_0xd84fc6['length']>0x0?_0x20086b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xd84fc6),this['_handleRevisionsUpdate'](_0xd84fc6,_0x436468),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20086b['_isConnected']?_0x5694a4():new Promise((_0xf5de10,_0x3d20f7)=>{_0x20086b['once']('change:_isConnected',()=>{_0x5694a4()['then'](_0xf5de10)['catch'](_0x3d20f7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x249606=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x138478=>{_0x138478['off'](),_0x249606();});});}['_getLatestVersionFromServerOperations'](){const _0x211749=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x461ff4 of _0x211749)if('marker'!==_0x461ff4['type']||_0x461ff4['affectsData'])return _0x461ff4['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b2ec2=this['editor']['plugins']['get'](l);return new Promise(_0xf001f2=>{_0x1b2ec2['_isPendingUpdate']?_0x1b2ec2['once']('change:_isPendingUpdate',()=>{_0xf001f2(this['_getLatestVersionFromServerOperations']());}):_0xf001f2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc1950,_0x1b066b){const _0x1713ad=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1b066b;for(const _0x364913 of _0xc1950){const _0x3e0f7f=_0x1713ad['getRevision'](_0x364913['id']);if(_0x3e0f7f){if((_0x364913['fromVersion']||_0x364913['toVersion'])&&(_0x364913['diffData']=null),_0x3e0f7f===this['_revisionTracker']['currentRevision']){const _0x3c6d37=Math['max'](_0x3e0f7f['toVersion'],_0x364913['toVersion']),_0x3a7954=Math['max'](_0x3e0f7f['fromVersion'],_0x364913['fromVersion']);let _0x3e0588;_0x3e0f7f['toVersion']===_0x364913['toVersion']&&_0x3e0f7f['fromVersion']===_0x364913['fromVersion']?(_0x3e0588=!0x0,this['_preventResendingRevisionData'](_0x364913)):_0x364913['toVersion']===_0x3c6d37&&_0x364913['fromVersion']===_0x3a7954?_0x3e0588=!0x1:(_0x3e0f7f['toVersion']===_0x3c6d37&&_0x3e0f7f['fromVersion']===_0x3a7954||this['_fixRevision']({'revision':_0x3e0f7f,'from':_0x3a7954,'to':_0x3c6d37}),_0x3e0588=!0x0),_0x3e0588&&(delete _0x364913['fromVersion'],delete _0x364913['toVersion'],delete _0x364913['diffData'],delete _0x364913['createdAt'],delete _0x364913['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x364913),this['_preventResendingRevisionData'](_0x364913);}else this['_revisionTracker']['addRevisionData'](_0x364913);}const _0x468792=_0x1713ad['getRevisions']();_0x468792['reverse']();for(let _0x57c6d4=0x0;_0x57c6d4<_0x468792['length']-0x1;_0x57c6d4++){const _0x16bcfd=_0x468792[_0x57c6d4],_0x3fa562=_0x468792[_0x57c6d4+0x1];if(_0x16bcfd['fromVersion']<_0x3fa562['toVersion']){const _0x220b3f=_0x3fa562['toVersion'],_0x53b490=Math['max'](_0x220b3f,_0x16bcfd['toVersion']);this['_fixRevision']({'revision':_0x16bcfd,'from':_0x220b3f,'to':_0x53b490});}}}['_fixRevision']({revision:_0x23996c,from:_0x59a332,to:_0x44755b}={}){const _0x41c828=this['editor']['plugins']['get'](_0x1fdd48),_0x280080=this['_revisionTracker']['buildRevisionData']({'revision':_0x23996c,'from':_0x59a332,'to':_0x44755b});_0x280080['authors']=_0x280080['authorsIds']['map'](_0x1a0ae1=>_0x41c828['getUser'](_0x1a0ae1)),_0x23996c['_update'](_0x280080);}['_preventResendingRevisionData'](_0x52b364){const _0x491656={};_0x491656['id']=_0x52b364['id'];for(const _0x3ce9c2 of Object['keys'](_0x52b364))'id'!==_0x3ce9c2&&(_0x491656[_0x3ce9c2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x491656['id'],_0x491656,!0x0);}async['_fetchMissingUsers'](_0xa04ac1){const _0x1d6464=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x2c8404}=this['editor']['plugins']['get'](n),_0x2530d6=new Set();for(const _0x2a87bc of _0xa04ac1){for(const _0x110e82 of _0x2a87bc['authorsIds'])_0x425871(_0x110e82);_0x2a87bc['creatorId']&&_0x425871(_0x2a87bc['creatorId']);}if(0x0===_0x2530d6['size'])return;const _0xf261e9=await ht['getMany'](_0x2c8404,Array['from'](_0x2530d6));for(const _0x1fa4fa of _0xf261e9)_0x1d6464['getUser'](_0x1fa4fa['id'])||_0x1d6464['addUser'](_0x1fa4fa);function _0x425871(_0x56d1dc){_0x1d6464['getUser'](_0x56d1dc)||_0x2530d6['add'](_0x56d1dc);}}}function st(_0x35d9d4){return _0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x29e178{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 _0x274a7e{['_collapseAt'];constructor(_0x3422a1,_0x127718=0x6){super(_0x3422a1);const _0x2ae2f2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x127718,this['bind']('isHidden')['to'](this,'usersCount',_0x4591a2=>_0x4591a2<_0x127718),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2ae2f2['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':_0x2ae2f2['to']('usersCount',_0xdd370e=>'+'+(_0xdd370e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x274a7e{['items'];['keystrokes'];constructor(_0xb79ae1){super(_0xb79ae1);const _0x3331d3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x50a46c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3331d3['if']('hasPopup'),'aria-expanded':_0x3331d3['to']('isExpanded',_0x98dca0=>this['hasPopup']&&String(_0x98dca0)),'aria-label':_0x3331d3['to']('hasPopup',_0x158ec7=>U(_0xb79ae1,_0x158ec7?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3331d3['to']('hasPopup',_0xd91b29=>!!_0xd91b29&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3331d3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3331d3['to'](_0x304e40=>{const _0x5c031f=_0x304e40,_0x74f8d6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x131373=document['querySelector']('.ck-balloon-panel_with-arrow');_0x74f8d6?.['contains'](_0x5c031f['relatedTarget'])||_0x131373?.['contains'](_0x5c031f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3fd623,_0x398f83,_0xf4210e)=>{this['element']&&(_0xf4210e?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 _0x274a7e{['counterView'];['inlineListView'];constructor(_0x395b23,_0x49a9ad=0x6){super(_0x395b23);const _0xb721b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x49a9ad),this['inlineListView']=new is(_0x395b23),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4aa515 of this['inlineListView']['items'])_0x4aa515['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',_0xb721b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x274a7e{['listWrapperView'];constructor(_0x35213b,_0x1166ec){super(_0x35213b);const _0x4d5782=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x35213b,_0x1166ec),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':U(_0x35213b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4d5782['to'](_0x2cab34=>{const _0x50eb59=_0x2cab34,_0x3b5bba=document['querySelector']('.ck-presence-list__list'),_0x3c7111=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3b5bba?.['contains'](_0x50eb59['relatedTarget'])||_0x3c7111?.['contains'](_0x50eb59['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x5dfe34{constructor(_0x5308e4,_0x1c9975){super(_0x5308e4);const _0x16391b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1c9975?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x16391b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x16391b['to']('role'),'aria-label':_0x16391b['to']('ariaLabel'),'aria-labelledby':_0x16391b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x129409['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5ef22c=this['element'];_0x5ef22c&&(this['_isScrollable']=Math['max'](_0x5ef22c['scrollHeight'],_0x5ef22c['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x3739c7,_0x36f6ee,_0x2f1112){super(_0x3739c7);const _0x1d4393=this['bindTemplate'];this['userView']=new ct(_0x3739c7,_0x36f6ee);const _0x3e3799={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x36f6ee['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x36f6ee['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x36f6ee['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2f1112&&(_0x3e3799['tag']='button',_0x3e3799['on']={'click':_0x1d4393['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e3799);}['focus'](){this['element']['focus']();}}class A extends _0x274a7e{['userView'];['markerView'];constructor(_0x42245e,_0x7684a7,_0x3019ce){super(_0x42245e);const _0x343b4b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42245e,_0x7684a7),this['markerView']=new MarkerView(_0x42245e,_0x7684a7);const _0x402fb8=new ot(_0x42245e);_0x402fb8['template']['tag']='span',_0x402fb8['text']=_0x7684a7['name'];const _0x94ea8d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x343b4b['to']('isFocusable',_0x546ccc=>!!_0x546ccc&&0x0),'aria-labelledby':_0x402fb8['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x343b4b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x343b4b['to']('hasTooltip',_0xee4eb5=>!_0xee4eb5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x402fb8]};_0x3019ce&&(_0x94ea8d['tag']='button',_0x94ea8d['on']={'click':_0x343b4b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x94ea8d);}}class MarkerView extends _0x274a7e{constructor(_0x3b0df9,_0x86d8a3){super(_0x3b0df9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x86d8a3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2ff9e0{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc8b05){super(_0xc8b05),this['context']['config']['define']('presenceList',x);const _0x1cea1d=_0xc8b05['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1cea1d)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);if(_0x1cea1d<0x1)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1ee515(),this['balloonPanelView']=new _0x4370e4(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x360fb6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x360fb6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x425d43,_0x2b69c2)=>{this['_handleUserAdd'](_0x2b69c2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5a8228,_0x5e38a6)=>{this['_handleUserRemove'](_0x5e38a6);});}['_createView'](){const _0x155963=this['context'],_0x45b134=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x275cdd=this['balloonPanelView'];if(!_0x3f91cd(_0x155963['config']['get']('presenceList.container')))throw new _0x3bcb8b('presencelist-missing-container',this);return _0x45b134['counterView']['bind']('usersCount')['to'](this),_0x45b134['bind']('isCollapsed')['to'](this,'usersCount',_0x3e3f88=>{const {collapseAt:_0x3f9215}=_0x155963['config']['get']('presenceList'),_0x5beedc=_0x3e3f88>=_0x3f9215;if(_0x5beedc&&!_0x45b134['inlineListView']['items']['find'](_0x128f40=>_0x128f40 instanceof b)){const _0x1235e0=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1235e0&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x45b134['inlineListView']['items']['add'](_0x45b134['counterView']);}return _0x5beedc||this['hideDropdown'](),_0x5beedc;}),_0x45b134['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x15e0f6=>{const _0x39b529=_0x155963['config']['get']('presenceList'),_0x34802f=new A(_0x155963['locale'],_0x15e0f6,!!_0x39b529['onClick']);return _0x34802f['bind']('hasTooltip')['to'](_0x45b134,'isCollapsed',_0x54d9d9=>!_0x54d9d9),_0x34802f['bind']('isFocusable')['to'](_0x45b134,'isCollapsed',_0x5ef28d=>!_0x5ef28d),_0x39b529['onClick']&&this['listenTo'](_0x34802f,'execute',()=>{this['view']['isCollapsed']||_0x39b529['onClick'](_0x15e0f6,_0x34802f['element']);}),_0x34802f;}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x45b134['inlineListView']['keystrokes']['set']('Enter',(_0x344d07,_0x3751ad)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3751ad());}),_0x45b134['render'](),_0x275cdd['render'](),_0x498225({'emitter':_0x45b134,'activator':()=>_0x275cdd['isVisible'],'contextElements':[_0x275cdd['element'],_0x45b134['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x155963['config']['get']('presenceList.container')['appendChild'](_0x45b134['element']),this['_bodyCollection']=new _0x152ea0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x45b134;}['_handleUserAdd'](_0x169685){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x169685['isMe'])return;const _0x2a73b3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a73b3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x51bcaa=_0x169685['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x169685,_0x51bcaa);}['_handleUserRemove'](_0x4f2470){this['usersCount']--;const {collapseAt:_0x4c4ba1}=this['context']['config']['get']('presenceList'),_0x19134c=this['usersCount']>=_0x4c4ba1;if(this['currentDisplayedUsers']['get'](_0x4f2470['id']))this['currentDisplayedUsers']['remove'](_0x4f2470['id']);else{if(_0x19134c&&this['currentDisplayedUsers']['length']+0x1===_0x4c4ba1-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)<this['usersCount']){for(const _0x533b50 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x533b50['id'])&&(this['currentDisplayedUsers']['add'](_0x533b50,Math['min'](this['currentDisplayedUsers']['length']-(_0x19134c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)===_0x4c4ba1-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x35f507=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x35f507['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x326cba}=this['presenceDropdownView'];_0x326cba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1dc819=>{if(!_0x35f507['displayMe']&&_0x1dc819['isMe'])return null;const _0x2e1267=new j(this['context']['locale'],_0x1dc819,!!_0x35f507['onClick']);return _0x35f507['onClick']&&this['listenTo'](_0x2e1267,'execute',()=>{_0x35f507['onClick'](_0x1dc819,_0x2e1267['element']);}),_0x2e1267;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x326cba['focus'](),_0x326cba['checkIfScrollable']();const _0x43ff91=(_0x42ce65,_0x2ef152)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ef152();};_0x326cba['keystrokes']['set']('Esc',_0x43ff91),_0x326cba['keystrokes']['set']('Shift+Tab',_0x43ff91),_0x326cba['keystrokes']['set']('Tab',(_0x2cf940,_0x1af05b)=>{!function(_0x179500){const _0x44fd1a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x59d611=>_0x59d611+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x281629=[...document['body']['querySelectorAll'](_0x44fd1a)]['filter'](_0x4cb283=>_0x4cb283===document['activeElement']||_0x4cb283['offsetWidth']+_0x4cb283['offsetHeight']>0x0)['sort']((_0x7cfcae,_0x4b1854)=>(_0x7cfcae['tabIndex']||0x0)-(_0x4b1854['tabIndex']||0x0)),_0x53da1b=_0x281629['indexOf'](_0x179500),_0x482c6e=_0x281629[(_0x53da1b+0x1)%_0x281629['length']];_0x482c6e&&_0x482c6e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1af05b();}),_0x326cba['focusTracker']['add'](this['view']['element']),_0x326cba['focusTracker']['on']('change:isFocused',(_0x144ade,_0x107fee,_0x32f68c)=>{_0x32f68c||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 _0x2ff9e0{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 _0x6f804a,Plugin as _0x25b979,PendingActions as _0x235b6b,Context as _0x506ccb}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2dbd2e,CKEditorError as _0xb4ae54,Collection as _0x247fc3,global as _0x57f3d3,version as nt,uid as _0x525198,KeystrokeHandler as _0x5360be}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3e1d7c,View as _0x1c3372,ListView as _0x4de888,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x146574,clickOutsideHandler as _0x144a34,BodyCollection as _0x5c43da}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x59bb9f,History as _0x49c641,NoOperation as _0x566909,InsertOperation as _0x4dfc76,MarkerOperation as _0x7b3172,RootAttributeOperation as _0x3b01b0,transformOperationSets as _0x3283fc,OperationFactory as _0x2f9f6e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x36321a,CollaborativeEditingService as _0x21cc40,User as ht,CommentsService as _0x3a26f5,TrackChangesService as _0x1035fa,RevisionHistoryService as _0x16dd6a,EditorService as _0x25c22d}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4fba0e,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x504bc6}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x245a67}from'es-toolkit/compat';class n extends _0x6f804a{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3e1d7c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xb23052){super(_0xb23052),this['set']('state',_0x36321a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2dbd2e())();}['init'](){const _0x145201=this['context'],_0x1857a9=_0x145201['plugins']['get']('CloudServices'),_0x854bd4=_0x145201['plugins']['get'](_0x3e1d7c);if(!_0x1857a9['token'])throw new _0xb4ae54('websocketgateway-missing-token',this);if(!_0x1857a9['webSocketUrl'])throw new _0xb4ae54('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'](_0x1857a9['token'],_0x1857a9['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5134aa=>{if(this['connection']=_0x5134aa,this['bind']('state')['to'](_0x5134aa,'state',this,'_isBrowserOffline',(_0x3da22f,_0x54ba08)=>('connected'!==_0x3da22f&&(this['_shouldPluginsReconnect']=!0x0),_0x54ba08||_0x3da22f!==_0x36321a['CONNECTED']?_0x36321a['DISCONNECTED']:this['state']==_0x36321a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x36321a['CONNECTING']):_0x36321a['CONNECTED'])),this['connection']['on']('error',(_0x3084f0,_0x38c974)=>{if('limitExceeded'!==_0x38c974['code'])throw console['error'](_0x38c974),new _0xb4ae54('cloudservices-init',null,{'originalError':_0x38c974});_0x854bd4['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'});}),!_0x5134aa['me'])return new Promise(_0x3e48a0=>_0x5134aa['on']('change:me',_0x3e48a0));})['catch'](_0xc1c03b=>{throw console['error'](_0xc1c03b),new _0xb4ae54('cloudservices-init',null,{'originalError':_0xc1c03b});});}['addToReconnectionStack'](_0x5b7927){if('function'!=typeof _0x5b7927['reconnect'])throw new _0xb4ae54('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5b7927))throw new _0xb4ae54('websocketgateway-plugin-already-registered',this,{'name':_0x5b7927['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5b7927);}['removeFromReconnectionStack'](_0x1ac1ac){this['_reconnectionStack']['delete'](_0x1ac1ac);}['isInReconnectionStack'](_0x103f81){return this['_reconnectionStack']['has'](_0x103f81);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x495a72=>_0x495a72['reconnect']())))['then'](()=>this['state']=_0x36321a['CONNECTED'])['catch'](_0x182ae8=>{throw console['error'](_0x182ae8),new _0xb4ae54('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x36321a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x6f804a{['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,_0x4fba0e];}constructor(_0x50ebb1){super(_0x50ebb1),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x247fc3(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4fba0e);}['init'](){const _0x278446=this['context']['plugins']['get'](n);this['listenTo'](_0x278446,'change:state',(_0xf474e9,_0x1412e9,_0x14a3bf)=>{if('connected'!==_0x14a3bf)this['channelSessions']['forEach'](_0x346632=>_0x346632['clear']()),this['channelConnectedUsers']['forEach'](_0x206cd6=>_0x206cd6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x23792b,_0x13acf1]of this['_registeredSessions'])for(const _0x55121d of _0x13acf1)this['_handleSessionAdd'](_0x23792b,_0x55121d);}}),this['_createUser'](_0x278446['connection']['me'],!0x0);}['register'](_0x550fd9,_0x37d088){if(this['_registeredSessions']['has'](_0x550fd9))throw new _0xb4ae54('sessions-register-already-registered',null,{'channelId':_0x550fd9});this['_registeredSessions']['set'](_0x550fd9,_0x37d088),this['channelSessions']['set'](_0x550fd9,new _0x247fc3()),this['channelConnectedUsers']['set'](_0x550fd9,new _0x247fc3()),this['listenTo'](_0x37d088,'add',(_0x3963d2,_0x221931)=>this['_handleSessionAdd'](_0x550fd9,_0x221931)),this['listenTo'](_0x37d088,'remove',(_0xc44466,_0x3640a4)=>this['_handleSessionRemove'](_0x550fd9,_0x3640a4));for(const _0x2ca5a5 of _0x37d088)this['_handleSessionAdd'](_0x550fd9,_0x2ca5a5);}['unregister'](_0x11fc63){if(!this['_registeredSessions']['has'](_0x11fc63))throw new _0xb4ae54('sessions-unregister-not-exist',null,{'channelId':_0x11fc63});const _0x1944cd=this['_registeredSessions']['get'](_0x11fc63);this['stopListening'](_0x1944cd);for(const _0xce34fb of _0x1944cd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x11fc63,_0xce34fb);this['_registeredSessions']['delete'](_0x11fc63),this['channelSessions']['delete'](_0x11fc63),this['channelConnectedUsers']['delete'](_0x11fc63);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3ca925){for(const _0x3ffab3 of this['channelSessions']['values']())for(const _0xac68cc of _0x3ffab3)if(_0xac68cc['id']===_0x3ca925)return _0xac68cc['user'];}['getUserSessions'](_0x2dbb8e,_0x553a00){const _0x41e212=_0x553a00?[this['channelSessions']['get'](_0x553a00)]:this['channelSessions']['values'](),_0x26fc40=new Set();for(const _0x28d43a of _0x41e212)for(const _0x9fee79 of _0x28d43a)_0x9fee79['user']['id']===_0x2dbb8e['id']&&_0x26fc40['add'](_0x9fee79['id']);return _0x26fc40;}['getUserRole'](_0x557a0c){for(const _0x5598ef of this['channelSessions']['values']())for(const _0x351c1e of _0x5598ef)if(_0x351c1e['user']===_0x557a0c)return _0x351c1e['role'];}['_handleSessionAdd'](_0x51ba5f,_0x4afe19){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4bff60=_0x4afe19['user'],_0x3f480f=this['_users']['getUser'](_0x4bff60['id'])||this['_createUser'](_0x4bff60),_0x204f30=Object['assign']({},_0x4afe19,{'user':_0x3f480f});if(this['channelSessions']['get'](_0x51ba5f)['add'](_0x204f30),!_0x4bff60['hiddenInPresenceList']){const _0x284e30=this['channelConnectedUsers']['get'](_0x51ba5f);_0x284e30['has'](_0x3f480f['id'])||_0x284e30['add'](_0x3f480f),this['allConnectedUsers']['has'](_0x3f480f['id'])||_0x4bff60['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3f480f,_0x3f480f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x51ba5f,{'channelId':_0x51ba5f,'session':_0x204f30});}['_handleSessionRemove'](_0x2c0a90,_0x323c43){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x529989=this['channelConnectedUsers']['get'](_0x2c0a90),_0x108d78=_0x323c43['user'];_0x108d78['id']&&(this['channelSessions']['get'](_0x2c0a90)['remove'](_0x323c43['id']),_0x529989['has'](_0x108d78['id'])&&!this['getUserSessions'](_0x108d78,_0x2c0a90)['size']&&_0x529989['remove'](_0x108d78['id']),this['allConnectedUsers']['get'](_0x108d78['id'])&&!this['getUserSessions'](_0x108d78)['size']&&this['allConnectedUsers']['remove'](_0x108d78['id']));}['_createUser'](_0x2373a0,_0xa3572){const _0xff6cda=this['_users']['addUser'](_0x2373a0);return _0xa3572&&this['_users']['defineMe'](_0x2373a0['id']),_0xff6cda['orderNumber']=this['_uniqueUsersCount']++,_0xff6cda;}}class N extends _0x25b979{['_domEmitter']=new(_0x2dbd2e())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3e01d0=this['editor'],_0xb19470=_0x3e01d0['plugins']['get'](i);_0x3e01d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3c62d4,{writer:_0x39fea8})=>function(_0xd435bb,_0x45e02f,_0x26ac71,_0x472f6d){const _0x1a8827=_0xd435bb['markerName']['split'](':')[0x2],_0x12dd32=_0x26ac71['getUserBySessionId'](_0x1a8827);if(!_0x12dd32||_0x1a8827===_0x26ac71['mySessionId'])return;if(!_0x472f6d['model']['schema']['checkChild'](_0xd435bb['markerRange']['start'],'$text'))return;const _0x5653aa={'class':'ck-user__marker\x20'+_0x12dd32['color']['getMarkerClass'](),'data-name':_0x12dd32['name'],'data-session-id':_0x1a8827},_0x10cef2=_0x472f6d['model']['markers']['get'](_0xd435bb['markerName']),_0x520ac1=_0x10cef2['getStart'](),_0x3116e1=_0x520ac1['nodeAfter'],_0x16caef=_0x472f6d['model']['schema'];if(_0x3116e1&&_0x16caef['isObject'](_0x3116e1)&&_0x16caef['isInline'](_0x3116e1)&&!_0x472f6d['model']['markers']['get']('user:range:'+_0x1a8827)['getRange']()['isCollapsed'])return;const _0x4fba67=_0x520ac1['parent'];return _0x472f6d['model']['schema']['isLimit'](_0x4fba67)&&!_0x472f6d['model']['hasContent'](_0x4fba67)&&(_0x5653aa['contenteditable']=!0x1),function(_0x236131,_0x5ea949,_0x3dfe47){const _0x1f5f46=_0x236131['createUIElement']('span',_0x5ea949);return _0x236131['setCustomProperty']('userPositionMarker',!0x0,_0x1f5f46),_0x1f5f46['render']=function(_0x266e41){const _0x9b3418=this['toDomElement'](_0x266e41),_0x1ec3ed=document['createElement']('span');return _0x1ec3ed['classList']['add']('ck-user__marker-tooltip'),_0x1ec3ed['setAttribute']('contenteditable','false'),_0x1ec3ed['setAttribute']('spellcheck','false'),_0x1ec3ed['textContent']=_0x3dfe47['name'],_0x9b3418['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1ec3ed['outerHTML']+'⁠',_0x9b3418['addEventListener']('mouseenter',()=>{_0x9b3418['classList']['add']('ck-user__marker_hovered');}),_0x9b3418['addEventListener']('mouseleave',()=>{_0x9b3418['classList']['remove']('ck-user__marker_hovered');}),_0x9b3418;},_0x1f5f46['isSimilar']=function(_0x1e9d22){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e9d22['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e9d22['getAttribute']('data-session-id'));},_0x1f5f46;}(_0x45e02f,_0x5653aa,_0x12dd32);}(_0x3c62d4,_0x39fea8,_0xb19470,_0x3e01d0)}),_0x3e01d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xddbd27=>function(_0x29d85b,_0x1f39eb){const _0x82bdb7=_0x29d85b['markerName']['split'](':')[0x2];if(_0x82bdb7===_0x1f39eb['mySessionId'])return null;const _0x485ed0=_0x1f39eb['getUserBySessionId'](_0x82bdb7);if(!_0x485ed0)return{'id':_0x82bdb7,'classes':[]};return{'id':_0x82bdb7,'classes':['ck-user__selection',_0x485ed0['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x82bdb7},'priority':0x7d0+_0x485ed0['orderNumber']};}(_0xddbd27,_0xb19470)}),function(_0x91ff2c){const _0x32a3e2=_0x91ff2c['model'],_0x431652=new Map(),_0x33f71f=_0x91ff2c['plugins']['get'](i);_0x32a3e2['markers']['on']('update:user:range',(_0x2f953d,_0x18d6ad,_0x197dff,_0x27b530)=>{if(!_0x27b530&&_0x431652['get'](_0x18d6ad['name']))return _0x431652['get'](_0x18d6ad['name'])['detach'](),void _0x431652['delete'](_0x18d6ad['name']);const _0x26afcf=_0x18d6ad['name']['split'](':')[0x2];if(_0x26afcf===_0x33f71f['mySessionId'])return;const _0xfbeefb='user:position:'+_0x26afcf;_0x32a3e2['markers']['has'](_0xfbeefb)&&_0x91ff2c['editing']['reconvertMarker'](_0xfbeefb),_0x18d6ad['on']('change:range',(_0x3fa395,_0x5cbf91,_0xa733c0)=>{if('$graveyard'!=_0x5cbf91['root']['rootName']&&'$graveyard'==_0x18d6ad['getRange']()['root']['rootName']&&!_0x431652['has'](_0x18d6ad['name'])){const _0x31e4a4=_0x32a3e2['schema']['getNearestSelectionRange'](_0xa733c0['deletionPosition']);if(_0x31e4a4){const _0x47e4e8=_0x59bb9f['fromRange'](_0x31e4a4);_0x431652['set'](_0x18d6ad['name'],_0x47e4e8),_0x47e4e8['on']('change:range',(_0x3c647b,_0x44db0,_0x5545f1)=>{if('$graveyard'==_0x47e4e8['root']['rootName']){const _0x26a344=_0x32a3e2['schema']['getNearestSelectionRange'](_0x5545f1['deletionPosition']);_0x26a344?(_0x47e4e8['start']=_0x26a344['start'],_0x47e4e8['end']=_0x26a344['end']):(_0x431652['delete'](_0x18d6ad['name']),_0x47e4e8['detach']());}});}}});}),_0x32a3e2['document']['on']('change',()=>{_0x431652['size']>0x0&&_0x32a3e2['enqueueChange']({'isUndoable':!0x1},_0x3316ea=>{for(const [_0x359703,_0x1dd5e2]of _0x431652)'$graveyard'==_0x32a3e2['markers']['get'](_0x359703)['getRange']()['root']['rootName']&&(J(_0x359703['split'](':')[0x2],_0x1dd5e2['toRange'](),_0x32a3e2,_0x3316ea),_0x1dd5e2['detach']());_0x431652['clear']();});});}(_0x3e01d0),this['_domEmitter']['listenTo'](_0x57f3d3['document'],'keydown',(_0x36e32a,{key:_0x56010c})=>{'Escape'===_0x56010c&&function(_0x5dca6d){_0x5dca6d['editing']['view']['change'](_0x4b47a7=>{for(const _0x4cf76d of _0x5dca6d['model']['markers']){if(!_0x4cf76d['name']['startsWith']('user:position'))continue;const _0x41140c=_0x5dca6d['editing']['mapper']['markerNameToElements'](_0x4cf76d['name']);if(_0x41140c){for(const _0x349a8a of _0x41140c)_0x4b47a7['removeClass']('ck-user__marker_hovered',_0x349a8a);}}});}(_0x3e01d0);},{'useCapture':!0x0});}['afterInit'](){const _0x259daf=this['editor'],_0x3bb581=_0x259daf['commands']['get']('undo');_0x3bb581&&_0x259daf['model']['on']('applyOperation',(_0x592e87,_0x1132d3)=>{const _0x2e8e67=_0x1132d3[0x0];if(!_0x2e8e67['isDocumentOperation'])return;if('marker'!=_0x2e8e67['type']||!_0x2e8e67['name']['startsWith']('user:'))return;const _0x16baab=_0x2e8e67['batch'];_0x3bb581['_createdBatches']['has'](_0x16baab)&&(_0x2e8e67['newRange']=_0x2e8e67['oldRange']?_0x259daf['model']['createRange'](_0x2e8e67['oldRange']['start'],_0x2e8e67['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x17ad26=this['editor'],_0x31be4a=_0x17ad26['model']['document'],_0x4813db=_0x17ad26['plugins']['get'](i);_0x17ad26['model']['enqueueChange']({'isUndoable':!0x1},_0x209d3b=>{const _0x5eb139='user:range:'+_0x4813db['mySessionId'],_0x56377e='user:position:'+_0x4813db['mySessionId'],_0x1f220a=_0x17ad26['model']['markers']['has'](_0x5eb139);_0x17ad26['editing']['view']['hasDomSelection']?J(_0x4813db['mySessionId'],_0x31be4a['selection']['getFirstRange'](),_0x17ad26['model'],_0x209d3b):_0x1f220a&&(_0x209d3b['removeMarker'](_0x5eb139),_0x209d3b['removeMarker'](_0x56377e));});}}function J(_0x131c55,_0x2f8199,_0x11f359,_0x4da829){const _0xe6a6a1='user:range:'+_0x131c55,_0x5d5ff3='user:position:'+_0x131c55,_0x176f18=_0x2f8199['getContainedElement']();let _0x422bcc=_0x2f8199['start'];if(_0x176f18&&_0x176f18['is']('element','tableCell')){const _0x5612a7=function(_0x3a09d1,_0x37232b){for(const _0x198ccc of _0x3a09d1['getPositions']())if(_0x37232b['schema']['checkChild'](_0x198ccc,'$text'))return _0x198ccc;}(_0x2f8199,_0x11f359);_0x5612a7&&(_0x422bcc=_0x5612a7,_0x2f8199=_0x4da829['createRange'](_0x422bcc));}const _0x5180e0=_0x4da829['createRange'](_0x422bcc);_0x11f359['markers']['has'](_0xe6a6a1)?(_0x4da829['updateMarker'](_0xe6a6a1,{'range':_0x2f8199}),_0x4da829['updateMarker'](_0x5d5ff3,{'range':_0x5180e0})):(_0x4da829['addMarker'](_0xe6a6a1,{'range':_0x2f8199,'usingOperation':!0x0}),_0x4da829['addMarker'](_0x5d5ff3,{'range':_0x5180e0,'usingOperation':!0x0}));}function B(_0x4ddb1f,_0x4b2f6d,_0x147b33){const _0x3f4958=_0x4ddb1f['t'],t=_0x4ddb1f['t'];switch(_0x4b2f6d){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 _0x3f4958({'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'},_0x147b33);default:return'';}}let z=0x1;class l extends _0x25b979{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x21cc40)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,N,_0x235b6b,_0x4fba0e,_0x3e1d7c];}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 _0x345825=this['serverHistory']['getOperations']();for(let _0x3b158=_0x345825['length']-0x1;_0x3b158>=0x0;_0x3b158--){const _0x2f547a=_0x345825[_0x3b158];if(!this['_disconnectionOperations']['has'](_0x2f547a))return _0x2f547a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3b9df9){if(super(_0x3b9df9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x49c641(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xb4ae54('collaboration-missing-channelid',this);const _0xaaadf6=_0x3b9df9['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0xaaadf6,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x504bc6(),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 _0x540954=this['editor'],_0x17f4b4=_0x540954['plugins']['get'](_0x4fba0e),_0x18d655=_0x540954['plugins']['get'](n);this['listenTo'](_0x17f4b4,'getOperationAuthor',(_0x509fe0,_0x1fcae7)=>{const _0x14bda3=_0x1fcae7[0x0];_0x14bda3['_authorId']&&(_0x509fe0['return']=_0x17f4b4['getUser'](_0x14bda3['_authorId']),_0x509fe0['stop']()),null===_0x14bda3['_authorId']&&(_0x509fe0['return']=null,_0x509fe0['stop']());},{'priority':'high'}),this['listenTo'](_0x540954['model']['document']['selection'],'change:range',(_0x59fc11,_0x5c3aaf)=>{_0x5c3aaf['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x540954['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x540954['model']['on']('applyOperation',(_0x1b818b,_0x5ceee2)=>{const _0x3d1b42=_0x5ceee2[0x0];_0x3d1b42['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3d1b42),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x18d655,'state',this,'_hasSynchronizationProblem',(_0x1c23e3,_0x18096c)=>'connected'===_0x1c23e3&&!_0x18096c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x540954['disableReadOnlyMode']('rtc-offline'):_0x540954['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x540954['disableReadOnlyMode']('rtc-offline'):_0x540954['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1e595e=this['editor']['plugins']['get'](i),_0x16d362=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x1e595e['unregister'](this['_channelId']);const _0x5f4cd8=await this['_service']['reconnect'](_0x16d362['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5f4cd8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x152cf2=await this['_service']['getConnectedSessions']();_0x1e595e['register'](this['_channelId'],_0x152cf2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3ac4bb){if(function(_0x10f1e2){return'404'===_0x10f1e2['code'];}(_0x3ac4bb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5dca9c){return'409'===_0x5dca9c['code'];}(_0x3ac4bb)){const _0x46fae2=B(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'](_0x46fae2);}else{if(!(_0x3ac4bb instanceof ReconnectionError))throw _0x3ac4bb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x677b6=this['editor']['plugins']['get'](n),_0x205e60=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x205e60['channelSessions']['has'](this['_channelId'])&&_0x205e60['unregister'](this['_channelId']),_0x677b6['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1b0e59){if(this['sessionId']!==_0x1b0e59['sessionId']&&this['_lastSyncedOperationId']!==_0x1b0e59['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x1b0e59['sessionId'],this['_handleServerResponse']([],{..._0x1b0e59,'wereChangesApplied':!0x1,'data':_0x1b0e59['data']},'reconnect');}async['_connectService'](_0x357ee7,_0x30ab1d=!0x1){const {connection:_0x46e7ad}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x46e7ad,this['_channelId'])['then'](_0x3f99d7=>this['_initSessionsHandling'](_0x3f99d7))['catch'](_0x23a8dd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x23a8dd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xeaf0d2,_0xb35574)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xb35574);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xeb945c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x357ee7);this['_isPendingUpdate']=!0x0;const _0x572731=await this['_service']['connect'](_0x46e7ad,this['_compressOperations'](_0x357ee7),_0xeb945c);if(this['sessionId']=_0x572731['sessionId'],_0x30ab1d){if(!_0x572731['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x572731['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x357ee7,_0x572731,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x572731,_0x357ee7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3a3c00=this['editor']['plugins']['get'](i),_0x1fd868=this['editor']['plugins']['get'](N),_0x359073=_0x3a3c00['channelSessions']['get'](this['_channelId']);_0x359073&&_0x359073['length']>0x1?_0x1fd868['createUserMarkerOperations']():this['listenTo'](_0x3a3c00,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3a3c00['channelSessions']['get'](this['_channelId'])['length']&&_0x1fd868['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x51a602,_0x40cfb4,_0x31973d,_0xfeb6bb){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x40cfb4){const _0x5172c2=this['_decompressOperations'](_0x31973d,_0xfeb6bb);await this['_fetchMissingUsers'](_0x5172c2),this['_handleExternalOperations'](_0x5172c2,_0x40cfb4,_0x31973d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x49a3f2}=this['editor'];let _0x57305f;try{_0x57305f=await this['_service']['getDocumentDetails']();}catch{const _0xb93821=B(_0x49a3f2,'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'](_0xb93821);}const _0x5220dc=_0x57305f['currentDocumentSession']||_0x57305f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5220dc['lastOperationId']){const _0x5129ec=B(_0x49a3f2,'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'](_0x5129ec);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x57f56a){const _0x58ba57=this['editor']['plugins']['get'](i);this['listenTo'](_0x58ba57,'sessionAdd:'+this['_channelId'],(_0x4e22a1,{session:_0x562630})=>{if(_0x562630['id']===_0x58ba57['mySessionId']){_0x4e22a1['off']();const _0x2bac27=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xe1587e=_0x562630['permissions'];_0x2bac27&&_0x2bac27['isEnabled']&&(_0xe1587e=_0xe1587e['filter'](_0x222c50=>'document:write'!==_0x222c50)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xe1587e,this['_channelId']);}}),_0x58ba57['register'](this['_channelId'],_0x57f56a);}['_initThrowingOnDataSet'](){const _0x49dd77=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4ef11e)=>{if(!_0x4ef11e[_0x4ef11e['length']-0x1]['suppressErrorInCollaboration'])throw new _0xb4ae54('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x49dd77['apply'](this['editor']['data'],_0x4ef11e);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4795ff,[_0x41d118])=>{if(this['_document']['version'])throw new _0xb4ae54('realtimecollaborationclient-init-document-already-initialized',this);_0x4795ff['stop'](),this['_setPendingAction']();const _0x3ca150=this['editor']['config']['get']('rootsAttributes'),_0x2162e7=this['_getOperationsFromInitData'](_0x41d118,_0x3ca150);0x0==_0x2162e7['length']&&_0x2162e7['push'](new _0x566909(0x0)),_0x4795ff['return']=this['_connectService'](_0x2162e7)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x46b213=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x46b213))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3e4d76,[_0x3e1168,_0x326e2])=>{_0x3e4d76['stop']();const _0x26f291=this['editor']['model']['document']['getRoot'](_0x3e1168);if(!this['_knownRootNames']['has'](_0x3e1168)){const _0x171efd=_0x326e2&&_0x326e2['data']?_0x326e2['data']:'',_0x147379=_0x326e2&&_0x326e2['attributes']?_0x326e2['attributes']:{};await this['_loadRoot'](_0x3e1168,_0x171efd,_0x147379);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x26f291['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x26f291);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x14d1e6){const _0xe3652b=this['editor']['plugins']['get'](_0x4fba0e),{connection:_0x407c24}=this['editor']['plugins']['get'](n),_0x17c24e=new Set();for(const _0x5084a of _0x14d1e6){const _0x87008d=_0x5084a['_authorId'];_0x87008d&&!_0xe3652b['getUser'](_0x87008d)&&_0x17c24e['add'](_0x87008d);}if(0x0===_0x17c24e['size'])return;const _0x47ab62=await ht['getMany'](_0x407c24,Array['from'](_0x17c24e));for(const _0x2f7865 of _0x47ab62)_0xe3652b['getUser'](_0x2f7865['id'])||_0xe3652b['addUser'](_0x2f7865);}['_getOperationsFromInitData'](_0x2c5438,_0x249893={}){const _0x37ed97=this['editor']['model'],_0x661660=[];let _0x33ab38=0x0;const _0x4e3895='string'==typeof _0x2c5438?{'main':_0x2c5438}:_0x2c5438;for(const _0x19d887 of Object['keys'](_0x4e3895)){if(!this['_document']['roots']['has'](_0x19d887))throw new _0xb4ae54('realtimecollaborationclient-init-non-existent-root',this);const _0x3b470c=this['editor']['data']['parse'](_0x4e3895[_0x19d887]),_0x14869b=this['_document']['getRoot'](_0x19d887),_0x45c20a=new _0x4dfc76(_0x37ed97['createPositionAt'](_0x14869b,0x0),_0x3b470c,_0x33ab38++);_0x661660['push'](_0x45c20a);for(const [_0x4718a8,_0xc03d36]of _0x3b470c['markers']){const _0x1627a7=_0x37ed97['createRange'](_0x37ed97['createPositionFromPath'](_0x14869b,_0xc03d36['start']['path']['slice']()),_0x37ed97['createPositionFromPath'](_0x14869b,_0xc03d36['end']['path']['slice']())),_0x24c85e=new _0x7b3172(_0x4718a8,null,_0x1627a7,_0x37ed97['markers'],!0x0,_0x33ab38++);_0x661660['push'](_0x24c85e);}}if(_0x249893)for(const [_0xb91e5f,_0x4ec710]of Object['entries'](_0x249893)){const _0x2a90b6=_0x37ed97['document']['getRoot'](_0xb91e5f);if(!_0x2a90b6)throw new _0xb4ae54('multi-root-editor-root-attributes-no-root',null);for(const [_0x23d38e,_0x3df3c1]of Object['entries'](_0x4ec710))if(null!==_0x3df3c1){const _0x12be2b=new _0x3b01b0(_0x2a90b6,_0x23d38e,null,_0x3df3c1,_0x33ab38++);_0x661660['push'](_0x12be2b);}}return _0x661660;}async['_loadRoot'](_0x56b140,_0x3333a4,_0x49fe52){this['_getOperationsFromInitData']({[_0x56b140]:_0x3333a4},{[_0x56b140]:_0x49fe52})['forEach']((_0x4fac65,_0x44ae69)=>{_0x4fac65['baseVersion']=this['_document']['version']+_0x44ae69,_0x4fac65['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4fac65);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5e9e49,_0x2be744){let _0x5f1ca7;this['_offset']=_0x5e9e49['offset'];const _0x1e82ea=_0x5e9e49['wereChangesApplied']&&!_0x5e9e49['initData'],_0x522d99=_0x1e82ea?0x0:_0x5e9e49['data']['baseVersion'];if(_0x2be744['forEach'](_0x47efb2=>{_0x47efb2['_isInit']=!0x0,_0x47efb2['createdAt']=_0x5e9e49['sessionCreatedAt'],_0x47efb2['_authorId']=null;}),_0x1e82ea)_0x5f1ca7=_0x2be744,this['_applyOperationsSet'](_0x5f1ca7,_0x1e82ea);else{if(_0x5e9e49['initData']){const _0x83b04d=this['_getOperationsFromInitData'](_0x5e9e49['initData']);this['_document']['history']['version']=-_0x83b04d['length'],_0x83b04d['forEach'](_0x567481=>{_0x567481['baseVersion']-=_0x83b04d['length'],_0x567481['createdAt']=_0x5e9e49['sessionCreatedAt'],_0x567481['_isInit']=!0x0,_0x567481['_authorId']=null;}),this['_applyOperationsSet'](_0x83b04d,!0x0),this['serverHistory']['version']=-_0x83b04d['length']+this['_offset'],this['_updateServerHistory'](_0x83b04d);}this['_document']['history']['version']=_0x522d99,_0x5f1ca7=this['_decompressOperations'](_0x5e9e49['data'],_0x5e9e49['metadata']),await this['_fetchMissingUsers'](_0x5f1ca7),this['_applyOperationsSet'](_0x5f1ca7,_0x1e82ea);}_0x5e9e49['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5f1ca7,_0x5e9e49['lastOperationId']),this['_lastSyncedOperationId']=_0x5e9e49['lastOperationId']),this['serverHistory']['version']=_0x522d99+this['_offset'],this['_updateServerHistory'](_0x5f1ca7),_0x2be744['filter'](_0x26f2fa=>{const _0x2aa8ab=this['_getAffectedRoot'](_0x26f2fa);return _0x2aa8ab&&!this['_knownRootNames']['has'](_0x2aa8ab);})['forEach']((_0x1f5590,_0x5e6e0f)=>{_0x1f5590['baseVersion']=this['_document']['version']+_0x5e6e0f,this['_saveOperationInBuffer'](_0x1f5590);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x313452,_0x381fdb){const _0x4ebf80=_0x381fdb&&_0x381fdb['message'];if(_0x4ebf80&&_0x4ebf80['startsWith']('realtimecollaborationclient'))throw _0x381fdb;const _0x219db1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x219db1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xb4ae54(_0x313452,this['editor'],_0x4ebf80?{'originalError':_0x4ebf80}:void 0x0);}['_saveOperationInBuffer'](_0x57738b){this['_knownOperations']['has'](_0x57738b)||(this['_knownOperations']['add'](_0x57738b),this['_bufferedOperations']['push'](_0x57738b),this['_pendingAction']||'marker'==_0x57738b['type']&&!_0x57738b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x493a4f=!0x1){!_0x493a4f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4629ca=>{_0x4629ca&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x335304=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3a861f){return _0x3a861f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3a861f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3a861f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x335304)||this['_crash'](_0x335304['message'],_0x335304);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x55f140=>{this['on']('change:_isPendingUpdate',()=>{_0x55f140();});});}async['_sendBufferedOperations'](){const _0x305385=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x305385['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5f22b4=[...this['_bufferedOperations']];for(const _0x5e33cb of _0x5f22b4)_0x5e33cb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5e33cb);const _0x4c1e80=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5f22b4),_0x50ab91=z++,_0x2d7e4c=this['_compressOperations'](_0x5f22b4),_0x5f3b27=await this['_service']['sendOperations'](_0x2d7e4c,_0x2d7e4c['baseVersion'],_0x4c1e80);try{return await this['_handleServerResponse'](_0x5f22b4,_0x5f3b27,_0x50ab91);}catch(_0x368908){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x368908);}}async['_handleServerResponse'](_0xeeee15,_0x485877,_0x4e4c4a){if('error'in _0x485877)throw _0x485877['error'];let _0x149003=!0x1;if(_0x485877['wereChangesApplied']){_0x485877['lastOperationId']&&(this['_lastSyncedOperationId']=_0x485877['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x189afd=>!_0xeeee15['includes'](_0x189afd));for(const _0x234286 of _0xeeee15)_0x234286['createdAt']='lastOperationAcceptedAt'in _0x485877&&_0x485877['lastOperationAcceptedAt']||void 0x0;H(_0xeeee15,_0x485877['version']-_0xeeee15['length']),this['_updateServerHistory'](_0xeeee15);const _0x5bdcc7=_0xeeee15['filter'](_0xbeff4f=>{if(!_0xbeff4f['_isInit'])return!0x1;const _0x51471b=this['_getAffectedRoot'](_0xbeff4f);return _0x51471b&&!this['_knownRootNames']['has'](_0x51471b);});H(_0x5bdcc7,this['_document']['version']),this['_applyOperationsSet'](_0x5bdcc7),_0x149003=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3af6f6=this['_decompressOperations'](_0x485877['data'],_0x485877['metadata'])['filter'](_0x222ee5=>_0x222ee5['baseVersion']>=this['_lastServerVersion']);_0x3af6f6['forEach'](_0x584b2c=>this['_addKnownRoot'](_0x584b2c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xf520d8=>!_0xf520d8['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xf520d8))),this['_bufferedOperations']['length']&&H(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3af6f6),_0x149003=this['_handleExternalOperations'](_0x3af6f6,_0x485877['version'],_0x485877['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x149003?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x37a5ba,_0x251df1,_0x7c83c2){try{const _0x3f9f14={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x98152c,operationsB:_0x1e634c,originalOperations:_0x3fa4ad}=_0x3283fc(_0x37a5ba,this['_bufferedOperations'],_0x3f9f14);H(_0x98152c,this['_document']['version']),H(_0x1e634c,_0x251df1);for(const _0x2124b9 of _0x98152c){const _0x43a760=_0x3fa4ad['get'](_0x2124b9);_0x2124b9['_authorId']=_0x43a760?_0x43a760['_authorId']:null;}_0x7c83c2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x37a5ba,_0x7c83c2),this['_lastSyncedOperationId']=_0x7c83c2),this['_bufferedOperations']=[..._0x1e634c],this['_applyOperationsSet'](_0x98152c),this['_updateServerHistory'](_0x37a5ba);}catch(_0x7b0030){return console['error'](_0x7b0030),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1aea17,_0x4f4a8f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3c1316=>{for(const _0x46cebf of _0x1aea17)this['_knownOperations']['add'](_0x46cebf),this['_addKnownRoot'](_0x46cebf),_0x3c1316['batch']['addOperation'](_0x46cebf),this['editor']['model']['applyOperation'](_0x46cebf);});}['_addKnownRoot'](_0x279e95){const _0x3417c=this['_getAffectedRoot'](_0x279e95);_0x3417c&&this['_knownRootNames']['add'](_0x3417c);}['_getAffectedRoot'](_0x1b912b){let _0x317df4,_0x1b9ef9;switch(_0x1b912b['type']){case'insert':_0x317df4=_0x1b912b['position']['root'];break;case'marker':if(_0x1b9ef9=_0x1b912b['newRange'],!_0x1b9ef9)return null;_0x317df4=_0x1b9ef9['root'];break;case'addRootAttribute':_0x317df4=_0x1b912b['root'];break;case'addRoot':_0x317df4=_0x1b912b['affectedSelectable'];break;case'move':_0x317df4=_0x1b912b['targetPosition']['root'];break;default:return null;}return _0x317df4['rootName'];}['_updateServerHistory'](_0x5df474){_0x5df474['forEach'](_0x45a6f6=>{const _0xc0fb25=_0x45a6f6['clone']();_0xc0fb25['_authorId']=_0x45a6f6['_authorId'],_0xc0fb25['_isInit']=!!_0x45a6f6['_isInit'],_0xc0fb25['createdAt']=_0x45a6f6['createdAt'],_0xc0fb25['baseVersion']+=this['_offset'],_0x45a6f6['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xc0fb25),this['serverHistory']['addOperation'](_0xc0fb25);});}['_handleReconnectionError'](_0x5f306f){const _0x58a2ed=this['editor']['plugins']['get']('Notification'),_0x2a63fa=this['editor']['locale'];_0x5f306f||(_0x5f306f=B(_0x2a63fa,'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.')),_0x58a2ed['showWarning'](_0x5f306f,{'title':B(_0x2a63fa,'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'](_0x235b6b)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x235b6b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2d5c58){const _0x51b171=_0x2d5c58['map'](_0x10941c=>_0x10941c['toJSON']());return this['_compressor']['compress'](_0x51b171);}['_decompressOperations'](_0x35f415,_0x359214){return this['_compressor']['decompress'](_0x35f415)['map']((_0x2e67f2,_0x23d322)=>{const _0x5d6196='init'==_0x359214[_0x23d322]['type'];if('InsertOperation'==_0x2e67f2['__className']){const _0x19b85c=_0x2e67f2['position']['root'];!this['_document']['getRoot'](_0x19b85c)&&(this['_document']['createRoot']('$root',_0x19b85c)['_isAttached']=!0x1);}const _0x1b518c=_0x2f9f6e['fromJSON'](_0x2e67f2,this['_document']);return _0x1b518c['wasUndone']=_0x2e67f2['wasUndone'],_0x1b518c['_isInit']=_0x5d6196,_0x1b518c['_authorId']=_0x5d6196?null:_0x359214[_0x23d322]['userId'],_0x1b518c['_isDisconnection']='cs:removeUser'===_0x359214[_0x23d322]['type'],_0x1b518c['createdAt']=_0x359214[_0x23d322]['createdAt'],_0x1b518c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x7a3f18=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x7a3f18&&_0x7a3f18['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function H(_0x2ebd14,_0x26e98b){for(const _0x35d48e of _0x2ebd14)_0x35d48e['baseVersion']=_0x26e98b++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x59ec0a){this['_ignoredOperations']=_0x59ec0a,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x258177){let _0x41014a=_0x258177['length'];for(;_0x41014a--;){const _0xa60319=_0x258177[_0x41014a];if(!this['_ignoredOperations']['has'](_0xa60319)){if(!this['_operationToId']['has'](_0xa60319)){const _0x2ce520=_0x525198()['slice'](0x1,0x12);this['_operationToId']['set'](_0xa60319,_0x2ce520);}return this['_operationToId']['get'](_0xa60319);}}}['setIdForTheLastOperation'](_0x37e157,_0xacf77c){if(!_0xacf77c)return;let _0x4faaa5=_0x37e157['length'];for(;_0x4faaa5--;){const _0x3f1180=_0x37e157[_0x4faaa5];this['_ignoredOperations']['has'](_0x3f1180)||this['_operationToId']['set'](_0x3f1180,_0xacf77c);}}}class a extends _0x25b979{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x6f804a{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3a26f5)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x4fba0e];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x221e66){super(_0x221e66),this['_services']=new Map();}async['init'](){const _0x37e86a=this['context'],_0x203228=_0x37e86a['plugins']['get']('CommentsRepository');if(_0x37e86a['plugins']['get'](n)['addToReconnectionStack'](this),_0x203228['adapter']={'addCommentThread':async({channelId:_0x396b0c,threadId:_0x42ac52,comments:_0x2113a4,resolvedAt:_0x389818,resolvedBy:_0x44f9ea,context:_0xa39db3,attributes:_0x9afce8})=>{const _0x13d852=await this['_getService'](_0x396b0c)['addCommentThread']({'commentThreadId':_0x42ac52,'comments':_0x2113a4['map'](_0x576995=>function(_0x5014f4,_0x393d4b,_0x1dbd06){return{'commentThreadId':_0x1dbd06,'commentId':_0x5014f4['commentId'],'userId':_0x5014f4['authorId'],'content':_0x5014f4['content'],'documentId':_0x393d4b,'createdAt':_0x5014f4['createdAt'],'attributes':_0x5014f4['attributes']||{}};}(_0x576995,_0x396b0c,_0x42ac52)),'resolvedAt':_0x389818,'resolvedBy':_0x44f9ea,'context':_0xa39db3,'attributes':_0x9afce8})['catch'](lt);return{'threadId':_0x13d852['commentThreadId'],'comments':_0x13d852['comments']};},'getCommentThread':async({channelId:_0x54d7e6,threadId:_0xcef519})=>{const _0x2c8fe7=await this['_getService'](_0x54d7e6)['getCommentThread'](_0xcef519)['catch'](f)['catch'](lt);return _0x2c8fe7?_0x2c8fe7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2c8fe7]),{'threadId':_0x2c8fe7['commentThreadId'],'comments':_0x2c8fe7['comments']['map'](p),'context':_0x2c8fe7['context'],'resolvedAt':_0x2c8fe7['resolvedAt'],'resolvedBy':_0x2c8fe7['resolvedBy'],'attributes':_0x2c8fe7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x24be81,threadId:_0x184c17,context:_0x28eea9,unlinkedAt:_0x1426f2,attributes:_0x21fdf0})=>this['_getService'](_0x24be81)['updateCommentThread']({'commentThreadId':_0x184c17,'context':_0x28eea9,'attributes':_0x21fdf0,'unlinkedAt':_0x1426f2})['catch'](f)['catch'](lt),'resolveCommentThread':async({channelId:_0x587672,threadId:_0x57b12e})=>{const _0x2a546f=await this['_getService'](_0x587672)['resolveCommentThread'](_0x57b12e)['catch'](f)['catch'](lt);return{'threadId':_0x2a546f['commentThreadId'],'resolvedAt':_0x2a546f['resolvedAt'],'resolvedBy':_0x2a546f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x233cb0,threadId:_0x16dd60})=>this['_getService'](_0x233cb0)['reopenCommentThread'](_0x16dd60)['catch'](f)['catch'](lt),'removeCommentThread':({channelId:_0x3d23f8,threadId:_0x9e332b})=>this['_getService'](_0x3d23f8)['removeCommentThread'](_0x9e332b)['catch'](f)['catch'](lt),'addComment':({channelId:_0x3d071c,threadId:_0x1ad221,commentId:_0x24028f,content:_0x12810d,attributes:_0xafd23})=>this['_getService'](_0x3d071c)['addComment'](_0x1ad221,_0x24028f,_0x12810d,_0xafd23)['catch'](lt),'updateComment':({channelId:_0x22bdc0,threadId:_0x210e64,commentId:_0xe78022,content:_0x2f1e5d,attributes:_0x16291d})=>this['_getService'](_0x22bdc0)['updateComment'](_0x210e64,_0xe78022,_0x2f1e5d,_0x16291d)['catch'](f)['catch'](lt),'removeComment':({channelId:_0x548745,threadId:_0x4e7bc5,commentId:_0x108129})=>this['_getService'](_0x548745)['removeComment'](_0x4e7bc5,_0x108129)['catch'](f)['catch'](lt)},_0x37e86a instanceof _0x506ccb){const _0x3349cd=_0x37e86a['config']['get']('collaboration.channelId'),_0x34bb37=_0x37e86a['plugins']['get'](i);await this['_setUpService'](_0x3349cd);const _0x4ccf96=await this['_services']['get'](_0x3349cd)['getConnectedSessions']();this['listenTo'](_0x34bb37,'sessionAdd:'+_0x3349cd,(_0x481fd5,{session:_0x24b635})=>{_0x24b635['id']===_0x34bb37['mySessionId']&&(_0x481fd5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x24b635['permissions'],_0x3349cd));}),_0x34bb37['register'](_0x3349cd,_0x4ccf96);}}async['_setUpService'](_0xa63e35){if(this['_services']['has'](_0xa63e35))throw new _0xb4ae54('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xa63e35});const _0x43830e=this['context']['plugins']['get']('CommentsRepository'),_0x3d7838=new s['CommentsService'](_0xa63e35);this['_services']['set'](_0xa63e35,_0x3d7838),this['listenTo'](_0x3d7838,'commentThreadAdded',(_0x7d70bc,_0x22d4c7)=>{const {commentThreadId:_0x2aeeb0,documentId:_0x625929,context:_0x527c7b,attributes:_0x4c9275,resolvedAt:_0x1ff0fe,resolvedBy:_0x1ad205,comments:_0x19600b}=_0x22d4c7;_0x43830e['getCommentThread'](_0x2aeeb0)||_0x43830e['addCommentThread']({'threadId':_0x2aeeb0,'channelId':_0x625929,'comments':_0x19600b?_0x19600b['map'](p):[],'context':_0x527c7b,'attributes':_0x4c9275,'resolvedAt':_0x1ff0fe,'resolvedBy':_0x1ad205,'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentThreadUpdated',(_0x1c6d3d,{commentThreadId:_0x7d6762,documentId:_0x907741,context:_0x42d5d0,unlinkedAt:_0x344e54,attributes:_0xb11611})=>{_0x43830e['getCommentThread'](_0x7d6762)&&_0x43830e['updateCommentThread']({'threadId':_0x7d6762,'channelId':_0x907741,'context':_0x42d5d0,'unlinkedAt':_0x344e54,'attributes':_0xb11611,'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentThreadResolved',(_0x183dd9,{commentThreadId:_0x4c07cb,resolvedBy:_0x3e9e14,resolvedAt:_0x12e5f0})=>{const _0x45bb89=_0x43830e['getCommentThread'](_0x4c07cb);_0x45bb89&&_0x45bb89['resolve']({'resolvedBy':_0x3e9e14,'resolvedAt':_0x12e5f0,'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentThreadReopened',(_0xa1363a,{commentThreadId:_0x4cdd81})=>{const _0x560714=_0x43830e['getCommentThread'](_0x4cdd81);_0x560714&&_0x560714['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentThreadRemoved',(_0x3899aa,{commentThreadId:_0x4764ae})=>{const _0x47b0cc=_0x43830e['getCommentThread'](_0x4764ae);_0x47b0cc&&_0x47b0cc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentAdded',(_0x3f85c5,_0x330168)=>{const _0x37f7ab=_0x330168['commentThreadId'],_0x3db75a=_0x43830e['getCommentThread'](_0x37f7ab);_0x3db75a&&_0x3db75a['addComment']({...p(_0x330168),'isFromAdapter':!0x0});}),this['listenTo'](_0x3d7838,'commentUpdated',(_0x403fca,{commentThreadId:_0x1120d4,commentId:_0x146fe5,content:_0x411193,attributes:_0x2b0e50})=>{const _0x32c085=_0x43830e['getCommentThread'](_0x1120d4);if(_0x32c085){const _0x5d4b1e=_0x32c085['getComment'](_0x146fe5);_0x5d4b1e&&_0x5d4b1e['update']({'content':_0x411193,'attributes':_0x2b0e50,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3d7838,'commentRemoved',(_0x2055cc,{commentThreadId:_0x345dbc,commentId:_0xa899d8})=>{const _0x4de994=_0x43830e['getCommentThread'](_0x345dbc);if(_0x4de994){const _0x133ddd=_0x4de994['getComment'](_0xa899d8);_0x133ddd&&_0x133ddd['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xa63e35);}['destroy'](){if(this['context']instanceof _0x506ccb){const _0x12636c=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x12636c);}}['_terminateService'](_0x97c675){if(!this['_services']['has'](_0x97c675))throw new _0xb4ae54('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x97c675});this['_getService'](_0x97c675)['disconnect'](),this['_services']['delete'](_0x97c675);}async['reconnect'](){for(const _0x304da5 of this['_services']['keys']())await this['_connectService'](_0x304da5);if(this['context']instanceof _0x506ccb){const _0x2b7fae=this['context']['config']['get']('collaboration.channelId'),_0x575866=this['context']['plugins']['get'](i);_0x575866['unregister'](_0x2b7fae);const _0x30e47c=await this['_services']['get'](_0x2b7fae)['getConnectedSessions']();_0x575866['register'](_0x2b7fae,_0x30e47c);}}async['_connectService'](_0x1e2675){const {connection:_0x3c7838}=this['context']['plugins']['get'](n),_0x1ccce8=this['context']['plugins']['get']('CommentsRepository'),_0x1e185e=this['_services']['get'](_0x1e2675),_0x50e894=await _0x1e185e['connect'](_0x3c7838);await this['_fetchMissingUsersForThreads'](_0x50e894);const _0x22b7ce=new Set(Array['from'](_0x1ccce8['getCommentThreads']({'channelId':_0x1e2675}),_0x2f62ba=>_0x2f62ba['id']));for(const _0xb51728 of _0x50e894)_0xb51728['deletedAt']||_0x22b7ce['delete'](_0xb51728['commentThreadId']);for(const _0x5bfdf3 of _0x22b7ce)_0x1ccce8['getCommentThread'](_0x5bfdf3)['remove']({'isFromAdapter':!0x0});for(const _0xfa3b56 of _0x50e894){let _0x4f6abe=_0x1ccce8['getCommentThread'](_0xfa3b56['commentThreadId']);const {commentThreadId:_0x6e241d,context:_0x234307,attributes:_0x1e8d55,resolvedBy:_0x496c3d,resolvedAt:_0x3d7bc6,unlinkedAt:_0x19d69a,deletedAt:_0x5d775e}=_0xfa3b56;if(_0x5d775e)continue;_0x4f6abe||(_0x4f6abe=_0x1ccce8['addCommentThread']({'channelId':_0x1e2675,'threadId':_0x6e241d,'context':_0x234307,'attributes':_0x1e8d55||{},'resolvedBy':_0x496c3d,'resolvedAt':_0x3d7bc6,'unlinkedAt':_0x19d69a,'isFromAdapter':!0x0}));const _0x24f30d=new Set(Array['from'](_0x4f6abe['comments'],_0x56e736=>_0x56e736['id']));for(const _0x277802 of _0xfa3b56['comments'])_0x24f30d['delete'](_0x277802['commentId']);for(const _0x33b219 of _0x24f30d)_0x4f6abe['getComment'](_0x33b219)['remove']({'isFromAdapter':!0x0});for(const _0xe80118 of _0xfa3b56['comments']){const _0x40d03a=_0x4f6abe['getComment'](_0xe80118['commentId']);_0x40d03a?_0x40d03a['content']!==_0xe80118['content']&&_0x40d03a['update']({'content':_0xe80118['content'],'isFromAdapter':!0x0}):_0x4f6abe['addComment'](Object['assign'](p(_0xe80118),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1721c4){if(!this['_services']['has'](_0x1721c4))throw new _0xb4ae54('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1721c4});return this['_services']['get'](_0x1721c4);}async['_fetchMissingUsersForThreads'](_0x2000fb){const _0x5e24b0=this['context']['plugins']['get'](_0x4fba0e),{connection:_0x5b2fe6}=this['context']['plugins']['get'](n),_0x2d035b=new Set();for(const {resolvedBy:_0x3e34a4,comments:_0x53ff3e}of _0x2000fb){_0x3e34a4&&!_0x5e24b0['getUser'](_0x3e34a4)&&_0x2d035b['add'](_0x3e34a4);for(const {userId:_0xd1b7a4}of _0x53ff3e)_0x5e24b0['getUser'](_0xd1b7a4)||_0x2d035b['add'](_0xd1b7a4);}if(0x0===_0x2d035b['size'])return;const _0x2051a1=await ht['getMany'](_0x5b2fe6,Array['from'](_0x2d035b));for(const _0x16894f of _0x2051a1)_0x5e24b0['getUser'](_0x16894f['id'])||_0x5e24b0['addUser'](_0x16894f);}}async function f(_0x4fb759){if('404'!==_0x4fb759['code'])throw _0x4fb759;}function lt(_0x4715f7){if((_0x1f6911=_0x4715f7)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1f6911['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1f6911['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1f6911;throw _0x4715f7;}function p(_0x5bbe51){return{'threadId':_0x5bbe51['commentThreadId'],'commentId':_0x5bbe51['commentId'],'content':_0x5bbe51['content'],'createdAt':_0x5bbe51['createdAt'],'authorId':_0x5bbe51['userId'],'attributes':_0x5bbe51['attributes']||{}};}class m extends _0x25b979{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1035fa)());['_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(_0x17852b){super(_0x17852b);const _0x4ba712=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x4ba712);}['init'](){const _0xd58ac7=this['editor']['plugins']['get'](n),_0x2533a3=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2533a3['adapter']={'getSuggestion':async _0x18708f=>{await this['_waitForServiceReady']();const _0x4bff16=await this['_trackChangesService']['get'](_0x18708f)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x4bff16]),_0x4bff16;},'addSuggestion':async({id:_0x4dcfa6,type:_0xf26695,data:_0x4b6945,originalSuggestionId:_0x385244,attributes:_0x3da32d})=>{await this['_waitForServiceReady']();const _0x3d346d={'id':_0x4dcfa6,'type':_0xf26695,'data':_0x4b6945,'originalSuggestionId':_0x385244,'attributes':_0x3da32d},_0x58eccc=await this['_trackChangesService']['add'](_0x4dcfa6,_0xf26695,_0x4b6945,_0x385244,_0x3da32d)['catch'](_0x2fb464=>{if(dt(_0x2fb464))return new Promise(_0x2b56a7=>{this['_bufferedRequests']['set'](_0x4dcfa6,{'resolve':_0x2b56a7,'suggestionData':_0x3d346d});});throw _0x2fb464;});return this['_bufferedRequests']['delete'](_0x4dcfa6),_0x58eccc;},'updateSuggestion':async(_0x4a651d,_0x10d2ab)=>{if(await this['_waitForServiceReady'](),'open'!==_0x10d2ab['state'])return this['_trackChangesService']['update'](_0x4a651d,_0x10d2ab)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x12c1bb,_0x1375b0)=>{_0x2533a3['hasSuggestion'](_0x1375b0['id'])&&(_0x2533a3['getSuggestion'](_0x1375b0['id'])['attributes']=_0x1375b0['attributes']);}),this['_trackChangesService']['connect'](_0xd58ac7['connection'])['then'](_0x8073f7=>(_0xd58ac7['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x8073f7)['then'](()=>{for(const _0x289f65 of _0x8073f7){_0x2533a3['addSuggestionData'](_0x289f65)['_saved']=!0x0;}})));}async['reconnect'](){const _0x438db8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3537f4}=this['editor']['plugins']['get'](n),_0x264a7d=await this['_trackChangesService']['connect'](_0x3537f4);await this['_fetchMissingUsersForThreads'](_0x264a7d);for(const {suggestionData:_0x550a83,resolve:_0x25ec99}of this['_bufferedRequests']['values']()){let _0x690eb7=_0x264a7d['find'](_0x5a6d89=>_0x5a6d89['id']===_0x550a83['id']);_0x690eb7||(_0x690eb7=await this['_trackChangesService']['add'](_0x550a83['id'],_0x550a83['type'],_0x550a83['data'],_0x550a83['originalSuggestionId'])),_0x25ec99(_0x690eb7);}for(const _0x5b4a6c of _0x264a7d)_0x438db8['hasSuggestion'](_0x5b4a6c['id'])||_0x438db8['addSuggestionData'](_0x5b4a6c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5d4afb=>{this['listenTo'](this['_trackChangesService'],'connected',_0x40e1a4=>{_0x40e1a4['off'](),_0x5d4afb();});});}async['_fetchMissingUsersForThreads'](_0x533990){const _0x83b023=this['editor']['plugins']['get'](_0x4fba0e),{connection:_0x9b6a82}=this['editor']['plugins']['get'](n),_0x51f5ab=new Set();for(const {authorId:_0x32bcee}of _0x533990)_0x83b023['getUser'](_0x32bcee)||_0x51f5ab['add'](_0x32bcee);if(0x0===_0x51f5ab['size'])return;const _0x527d48=await ht['getMany'](_0x9b6a82,Array['from'](_0x51f5ab));for(const _0x29f68f of _0x527d48)_0x83b023['getUser'](_0x29f68f['id'])||_0x83b023['addUser'](_0x29f68f);}}function A(_0x30bb06){if(dt(_0x30bb06))return new Promise(()=>{});throw _0x30bb06;}function dt(_0x802f70){return _0x802f70['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x802f70['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x25b979{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 _0x577f78=this['editor']['plugins']['get'](n),_0x2362a5=this['editor']['plugins']['get']('CommentsEditing'),_0x8b7220=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x577f78,'change:state',(_0x47c22c,_0x56ed14,_0x5f67a5)=>{_0x2362a5['isThreadsLoadingPaused']='connected'!==_0x5f67a5;});}),this['listenTo'](_0x577f78,'change:state',(_0x5fa135,_0x1c57c0,_0x413971)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x413971);}),_0x8b7220['_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 _0x25b979{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 _0x25b979{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x16dd6a)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x4fba0e];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x477479){super(_0x477479);const _0x15bd8f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x15bd8f);}async['init'](){const _0x39d88a=this['editor']['plugins']['get'](l),_0xe111aa=_0x39d88a['serverHistory'],_0x3b2647=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xe111aa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x39d88a['sessionId']});const _0x1feb35=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5b349d=await _0x25c22d['isBundleUploaded'](_0x3b2647['connection'],_0x1feb35);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3e87f1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3e87f1)),'updateRevisions':async _0x204858=>{await this['_waitForServiceReady']();const _0x47bfa9=this['_revisionTracker']['currentRevision'];if(_0x5b349d&&0x1===_0x204858['length']&&_0x204858[0x0]['id']===_0x47bfa9['id'])return _0x204858;for(const _0x1c305b of _0x204858)_0x1c305b['id']===_0x47bfa9['id']&&(_0x1c305b['isEmptyCurrent']=_0x1c305b['fromVersion']===_0x1c305b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x204858,this['_lastRequestId'])['then'](_0x9d8fc9=>(this['_lastRequestId']=_0x9d8fc9,_0x204858))['catch'](_0x36d865=>{if(b(_0x36d865)||'400'===_0x36d865['code']&&void 0x0!==_0x36d865['data']['wrongRequestId']){for(const _0x41e2d0 of _0x204858){!this['_revisionTracker']['repository']['getRevision'](_0x41e2d0['id'])||this['_revisionTracker']['_bufferUpdate'](_0x41e2d0['id'],_0x41e2d0,!0x1);}if(b(_0x36d865))throw _0x36d865;return _0x204858;}throw _0x36d865;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x65f68a,{revisionsData:_0x18c58c,requestId:_0x539926})=>{Math['max'](..._0x18c58c['map'](_0x32a7a7=>_0x32a7a7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x18c58c,_0x539926);}):this['_handleRevisionsUpdate'](_0x18c58c,_0x539926);});const {revisions:_0x93e961,requestId:_0x502fdf}=await this['_revisionHistoryService']['connect'](_0x3b2647['connection']);_0x3b2647['addToReconnectionStack'](this),this['_lastRequestId']=_0x502fdf,await this['_fetchMissingUsers'](_0x93e961);for(const _0x177c3d of _0x93e961)this['_revisionTracker']['addRevisionData'](_0x177c3d);this['listenTo'](_0x39d88a,'change:_isConnected',(_0x58bb1d,_0x9162d2,_0x1b6dfc)=>{_0x1b6dfc&&(this['_oldOffset']=_0x39d88a['_offset'],_0x58bb1d['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3b2647,'state',_0x67fdc1=>_0x67fdc1===_0x36321a['CONNECTED']);}async['reconnect'](){const _0x280788=this['editor']['plugins']['get'](n),_0x117192=this['editor']['plugins']['get'](l),_0x28f8f7=async()=>{const _0x31d7d6=this['_revisionTracker']['currentRevision'],_0x2d8d85=_0x31d7d6['id'],_0x56b7e7=_0x2d8d85!==_0x117192['sessionId'];if(_0x56b7e7){const _0x5a7b4a=_0x117192['_offset']-this['_oldOffset'],_0x22c727=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x31d7d6['toVersion']+_0x5a7b4a!==_0x22c727){const _0x45a79a=_0x31d7d6['fromVersion']+_0x5a7b4a,_0xb3c4bd=this['editor']['plugins']['get'](_0x4fba0e),_0x168414=this['_revisionTracker']['buildRevisionData']({'revision':_0x31d7d6,'from':_0x45a79a,'to':_0x22c727});_0x168414['id']=_0x31d7d6['id'];const _0x2655c7=_0x168414['authorsIds']['map'](_0x226102=>_0xb3c4bd['getUser'](_0x226102));_0x31d7d6['_update']({..._0x168414,'authors':_0x2655c7},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x31d7d6['id'],_0x168414,!0x0);}this['_revisionTracker']['_startingVersion']=_0x22c727,(_0x31d7d6['toVersion']===_0x31d7d6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2d8d85)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2d8d85),this['_revisionTracker']['_createCurrentRevision'](_0x22c727));}const {revisions:_0x99da9c,requestId:_0x18f9c7}=await this['_revisionHistoryService']['reconnect'](_0x280788['connection'],this['_lastRequestId']);_0x56b7e7&&_0x99da9c['length']>0x0?_0x117192['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x99da9c),this['_handleRevisionsUpdate'](_0x99da9c,_0x18f9c7),this['_revisionTracker']['sendBufferedUpdates']());};return _0x117192['_isConnected']?_0x28f8f7():new Promise((_0x113bf9,_0x5e5a55)=>{_0x117192['once']('change:_isConnected',()=>{_0x28f8f7()['then'](_0x113bf9)['catch'](_0x5e5a55);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xa89520=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5e8325=>{_0x5e8325['off'](),_0xa89520();});});}['_getLatestVersionFromServerOperations'](){const _0x55ddd9=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x302613 of _0x55ddd9)if('marker'!==_0x302613['type']||_0x302613['affectsData'])return _0x302613['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2cc296=this['editor']['plugins']['get'](l);return new Promise(_0x5314e7=>{_0x2cc296['_isPendingUpdate']?_0x2cc296['once']('change:_isPendingUpdate',()=>{_0x5314e7(this['_getLatestVersionFromServerOperations']());}):_0x5314e7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x57386c,_0x17c7fc){const _0x400794=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x17c7fc;for(const _0x48d000 of _0x57386c){const _0x21e1bd=_0x400794['getRevision'](_0x48d000['id']);if(_0x21e1bd){if((_0x48d000['fromVersion']||_0x48d000['toVersion'])&&(_0x48d000['diffData']=null),_0x21e1bd===this['_revisionTracker']['currentRevision']){const _0x46b05e=Math['max'](_0x21e1bd['toVersion'],_0x48d000['toVersion']),_0x2d80cc=Math['max'](_0x21e1bd['fromVersion'],_0x48d000['fromVersion']);let _0x5d7028;_0x21e1bd['toVersion']===_0x48d000['toVersion']&&_0x21e1bd['fromVersion']===_0x48d000['fromVersion']?(_0x5d7028=!0x0,this['_preventResendingRevisionData'](_0x48d000)):_0x48d000['toVersion']===_0x46b05e&&_0x48d000['fromVersion']===_0x2d80cc?_0x5d7028=!0x1:(_0x21e1bd['toVersion']===_0x46b05e&&_0x21e1bd['fromVersion']===_0x2d80cc||this['_fixRevision']({'revision':_0x21e1bd,'from':_0x2d80cc,'to':_0x46b05e}),_0x5d7028=!0x0),_0x5d7028&&(delete _0x48d000['fromVersion'],delete _0x48d000['toVersion'],delete _0x48d000['diffData'],delete _0x48d000['createdAt'],delete _0x48d000['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x48d000),this['_preventResendingRevisionData'](_0x48d000);}else this['_revisionTracker']['addRevisionData'](_0x48d000);}const _0x57baaf=_0x400794['getRevisions']();_0x57baaf['reverse']();for(let _0x4344e5=0x0;_0x4344e5<_0x57baaf['length']-0x1;_0x4344e5++){const _0x660bb9=_0x57baaf[_0x4344e5],_0x35cad4=_0x57baaf[_0x4344e5+0x1];if(_0x660bb9['fromVersion']<_0x35cad4['toVersion']){const _0x50483f=_0x35cad4['toVersion'],_0x5740fb=Math['max'](_0x50483f,_0x660bb9['toVersion']);this['_fixRevision']({'revision':_0x660bb9,'from':_0x50483f,'to':_0x5740fb});}}}['_fixRevision']({revision:_0x515260,from:_0x35a6a8,to:_0x1f744e}={}){const _0x901358=this['editor']['plugins']['get'](_0x4fba0e),_0x43fdaf=this['_revisionTracker']['buildRevisionData']({'revision':_0x515260,'from':_0x35a6a8,'to':_0x1f744e});_0x43fdaf['authors']=_0x43fdaf['authorsIds']['map'](_0x25e4fc=>_0x901358['getUser'](_0x25e4fc)),_0x515260['_update'](_0x43fdaf);}['_preventResendingRevisionData'](_0x44e278){const _0x162662={};_0x162662['id']=_0x44e278['id'];for(const _0x4db6fe of Object['keys'](_0x44e278))'id'!==_0x4db6fe&&(_0x162662[_0x4db6fe]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x162662['id'],_0x162662,!0x0);}async['_fetchMissingUsers'](_0x35799e){const _0x5071c5=this['editor']['plugins']['get'](_0x4fba0e),{connection:_0x82124c}=this['editor']['plugins']['get'](n),_0x68e5dc=new Set();for(const _0x32b4f6 of _0x35799e){for(const _0x169be3 of _0x32b4f6['authorsIds'])_0x17992e(_0x169be3);_0x32b4f6['creatorId']&&_0x17992e(_0x32b4f6['creatorId']);}if(0x0===_0x68e5dc['size'])return;const _0x49218=await ht['getMany'](_0x82124c,Array['from'](_0x68e5dc));for(const _0x388184 of _0x49218)_0x5071c5['getUser'](_0x388184['id'])||_0x5071c5['addUser'](_0x388184);function _0x17992e(_0x2edf8e){_0x5071c5['getUser'](_0x2edf8e)||_0x68e5dc['add'](_0x2edf8e);}}}function b(_0x295dc0){return _0x295dc0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x295dc0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x295dc0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x25b979{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class Z extends _0x1c3372{['_collapseAt'];constructor(_0x4607a5,_0x44cc6c=0x6){super(_0x4607a5);const _0x28527c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x44cc6c,this['bind']('isHidden')['to'](this,'usersCount',_0x17a4c2=>_0x17a4c2<_0x44cc6c),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x28527c['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':_0x28527c['to']('usersCount',_0x2db5b2=>'+'+(_0x2db5b2-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x1c3372{['items'];['keystrokes'];constructor(_0x7b63){super(_0x7b63);const _0x5a45c1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5360be(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5a45c1['if']('hasPopup'),'aria-expanded':_0x5a45c1['to']('isExpanded',_0x5bb8b0=>this['hasPopup']&&String(_0x5bb8b0)),'aria-label':_0x5a45c1['to']('hasPopup',_0x58c25e=>B(_0x7b63,_0x58c25e?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5a45c1['to']('hasPopup',_0x33df25=>!!_0x33df25&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5a45c1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5a45c1['to'](_0x6cd37=>{const _0x5ea4bc=_0x6cd37,_0x2da6d1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1107cd=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2da6d1?.['contains'](_0x5ea4bc['relatedTarget'])||_0x1107cd?.['contains'](_0x5ea4bc['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x333b88,_0xe63128,_0x32c3a1)=>{this['element']&&(_0x32c3a1?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 Y extends _0x1c3372{['counterView'];['inlineListView'];constructor(_0x8d3b9e,_0x151b8c=0x6){super(_0x8d3b9e);const _0x111f7b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new Z(this['locale'],_0x151b8c),this['inlineListView']=new is(_0x8d3b9e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x14b91c of this['inlineListView']['items'])_0x14b91c['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',_0x111f7b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class tt extends _0x1c3372{['listWrapperView'];constructor(_0x3711e9,_0x237b33){super(_0x3711e9);const _0x3c4577=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x3711e9,_0x237b33),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0x3711e9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3c4577['to'](_0x10d3d8=>{const _0x1743bb=_0x10d3d8,_0x4434f3=document['querySelector']('.ck-presence-list__list'),_0x395e25=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4434f3?.['contains'](_0x1743bb['relatedTarget'])||_0x395e25?.['contains'](_0x1743bb['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x4de888{constructor(_0x2c5149,_0x182271){super(_0x2c5149);const _0x7a8e13=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x182271?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x7a8e13['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x7a8e13['to']('role'),'aria-label':_0x7a8e13['to']('ariaLabel'),'aria-labelledby':_0x7a8e13['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x57f3d3['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4cd10f=this['element'];_0x4cd10f&&(this['_isScrollable']=Math['max'](_0x4cd10f['scrollHeight'],_0x4cd10f['clientHeight'])>0.8*window['innerHeight']);}}class st extends rt{['userView'];constructor(_0xfd44e4,_0x464d5b,_0x4f093a){super(_0xfd44e4);const _0x47798e=this['bindTemplate'];this['userView']=new ct(_0xfd44e4,_0x464d5b);const _0x246048={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x464d5b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x464d5b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x464d5b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x4f093a&&(_0x246048['tag']='button',_0x246048['on']={'click':_0x47798e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x246048);}['focus'](){this['element']['focus']();}}class it extends _0x1c3372{['userView'];['markerView'];constructor(_0x4900f9,_0x11ebe9,_0x56c5fc){super(_0x4900f9);const _0x488512=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x4900f9,_0x11ebe9),this['markerView']=new MarkerView(_0x4900f9,_0x11ebe9);const _0x2cc920=new ot(_0x4900f9);_0x2cc920['template']['tag']='span',_0x2cc920['text']=_0x11ebe9['name'];const _0x12ead6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x488512['to']('isFocusable',_0xcaed44=>!!_0xcaed44&&0x0),'aria-labelledby':_0x2cc920['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x488512['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x488512['to']('hasTooltip',_0x2b7d71=>!_0x2b7d71),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2cc920]};_0x56c5fc&&(_0x12ead6['tag']='button',_0x12ead6['on']={'click':_0x488512['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x12ead6);}}class MarkerView extends _0x1c3372{constructor(_0x258691,_0x3bf991){super(_0x258691),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3bf991['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const et={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x6f804a{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xad3726){super(_0xad3726),this['context']['config']['define']('presenceList',et);const _0x494f30=_0xad3726['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x494f30)throw new _0xb4ae54('presencelist-collapseat-invalid-format',this);if(_0x494f30<0x1)throw new _0xb4ae54('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x247fc3(),this['balloonPanelView']=new _0x146574(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2bf566 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2bf566);this['listenTo'](this['_allConnectedUsers'],'add',(_0x37f636,_0x47e298)=>{this['_handleUserAdd'](_0x47e298);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2efb9b,_0x177acb)=>{this['_handleUserRemove'](_0x177acb);});}['_createView'](){const _0x4a8fce=this['context'],_0x388caa=new Y(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x385da9=this['balloonPanelView'];if(!_0x245a67(_0x4a8fce['config']['get']('presenceList.container')))throw new _0xb4ae54('presencelist-missing-container',this);return _0x388caa['counterView']['bind']('usersCount')['to'](this),_0x388caa['bind']('isCollapsed')['to'](this,'usersCount',_0x14b98c=>{const {collapseAt:_0x314b8a}=_0x4a8fce['config']['get']('presenceList'),_0x1de2d4=_0x14b98c>=_0x314b8a;if(_0x1de2d4&&!_0x388caa['inlineListView']['items']['find'](_0x52ac15=>_0x52ac15 instanceof Z)){const _0x580540=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x580540&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x388caa['inlineListView']['items']['add'](_0x388caa['counterView']);}return _0x1de2d4||this['hideDropdown'](),_0x1de2d4;}),_0x388caa['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x420d31=>{const _0x127a66=_0x4a8fce['config']['get']('presenceList'),_0x714f12=new it(_0x4a8fce['locale'],_0x420d31,!!_0x127a66['onClick']);return _0x714f12['bind']('hasTooltip')['to'](_0x388caa,'isCollapsed',_0x4fd4f7=>!_0x4fd4f7),_0x714f12['bind']('isFocusable')['to'](_0x388caa,'isCollapsed',_0x5c6e72=>!_0x5c6e72),_0x127a66['onClick']&&this['listenTo'](_0x714f12,'execute',()=>{this['view']['isCollapsed']||_0x127a66['onClick'](_0x420d31,_0x714f12['element']);}),_0x714f12;}),this['listenTo'](_0x388caa['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x388caa['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x388caa['inlineListView']['keystrokes']['set']('Enter',(_0x33b79d,_0x3c5329)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3c5329());}),_0x388caa['render'](),_0x385da9['render'](),_0x144a34({'emitter':_0x388caa,'activator':()=>_0x385da9['isVisible'],'contextElements':[_0x385da9['element'],_0x388caa['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4a8fce['config']['get']('presenceList.container')['appendChild'](_0x388caa['element']),this['_bodyCollection']=new _0x5c43da(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x388caa;}['_handleUserAdd'](_0xdbaba){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xdbaba['isMe'])return;const _0x2c59f1=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2c59f1-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4947df=_0xdbaba['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xdbaba,_0x4947df);}['_handleUserRemove'](_0x4b20f6){this['usersCount']--;const {collapseAt:_0x56e1fc}=this['context']['config']['get']('presenceList'),_0x1fa543=this['usersCount']>=_0x56e1fc;if(this['currentDisplayedUsers']['get'](_0x4b20f6['id']))this['currentDisplayedUsers']['remove'](_0x4b20f6['id']);else{if(_0x1fa543&&this['currentDisplayedUsers']['length']+0x1===_0x56e1fc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1fa543?0x1:0x0)<this['usersCount']){for(const _0x362447 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x362447['id'])&&(this['currentDisplayedUsers']['add'](_0x362447,Math['min'](this['currentDisplayedUsers']['length']-(_0x1fa543?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1fa543?0x1:0x0)===_0x56e1fc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x261efe=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new tt(this['context']['locale'],!!_0x261efe['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x25ec65}=this['presenceDropdownView'];_0x25ec65['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x35f8e0=>{if(!_0x261efe['displayMe']&&_0x35f8e0['isMe'])return null;const _0x23c584=new st(this['context']['locale'],_0x35f8e0,!!_0x261efe['onClick']);return _0x261efe['onClick']&&this['listenTo'](_0x23c584,'execute',()=>{_0x261efe['onClick'](_0x35f8e0,_0x23c584['element']);}),_0x23c584;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x25ec65['focus'](),_0x25ec65['checkIfScrollable']();const _0x5500a7=(_0x54e6a4,_0x19a30c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x19a30c();};_0x25ec65['keystrokes']['set']('Esc',_0x5500a7),_0x25ec65['keystrokes']['set']('Shift+Tab',_0x5500a7),_0x25ec65['keystrokes']['set']('Tab',(_0x5834f7,_0x425799)=>{!function(_0x28a6e0){const _0x3459cd=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x32f569=>_0x32f569+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x55005d=[...document['body']['querySelectorAll'](_0x3459cd)]['filter'](_0x59dd5a=>_0x59dd5a===document['activeElement']||_0x59dd5a['offsetWidth']+_0x59dd5a['offsetHeight']>0x0)['sort']((_0x112acf,_0x12544d)=>(_0x112acf['tabIndex']||0x0)-(_0x12544d['tabIndex']||0x0)),_0x5dde6c=_0x55005d['indexOf'](_0x28a6e0),_0x451aac=_0x55005d[(_0x5dde6c+0x1)%_0x55005d['length']];_0x451aac&&_0x451aac['focus']();}(this['view']['element']),this['hideDropdown'](),_0x425799();}),_0x25ec65['focusTracker']['add'](this['view']['element']),_0x25ec65['focusTracker']['on']('change:isFocused',(_0x34302c,_0x15bcbe,_0x54ddc0)=>{_0x54ddc0||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 _0x6f804a{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':_0x488a09=>0x1!=_0x488a09}};
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':_0x11150d=>0x1!=_0x11150d}};