@ckeditor/ckeditor5-real-time-collaboration 43.3.1 → 44.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +16 -6
  2. package/build/real-time-collaboration.js +1 -1
  3. package/dist/augmentation.d.ts +8 -1
  4. package/dist/index.js +6 -6
  5. package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +12 -0
  6. package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +12 -0
  7. package/dist/translations/af.js +1 -1
  8. package/dist/translations/af.umd.js +1 -1
  9. package/dist/translations/ar.js +1 -1
  10. package/dist/translations/ar.umd.js +1 -1
  11. package/dist/translations/ast.js +1 -1
  12. package/dist/translations/ast.umd.js +1 -1
  13. package/dist/translations/az.js +1 -1
  14. package/dist/translations/az.umd.js +1 -1
  15. package/dist/translations/bg.js +1 -1
  16. package/dist/translations/bg.umd.js +1 -1
  17. package/dist/translations/bn.js +1 -1
  18. package/dist/translations/bn.umd.js +1 -1
  19. package/dist/translations/bs.js +1 -1
  20. package/dist/translations/bs.umd.js +1 -1
  21. package/dist/translations/ca.js +1 -1
  22. package/dist/translations/ca.umd.js +1 -1
  23. package/dist/translations/cs.js +1 -1
  24. package/dist/translations/cs.umd.js +1 -1
  25. package/dist/translations/da.js +1 -1
  26. package/dist/translations/da.umd.js +1 -1
  27. package/dist/translations/de-ch.js +1 -1
  28. package/dist/translations/de-ch.umd.js +1 -1
  29. package/dist/translations/de.js +1 -1
  30. package/dist/translations/de.umd.js +1 -1
  31. package/dist/translations/el.js +1 -1
  32. package/dist/translations/el.umd.js +1 -1
  33. package/dist/translations/en-au.js +1 -1
  34. package/dist/translations/en-au.umd.js +1 -1
  35. package/dist/translations/en-gb.js +1 -1
  36. package/dist/translations/en-gb.umd.js +1 -1
  37. package/dist/translations/en.js +1 -1
  38. package/dist/translations/en.umd.js +1 -1
  39. package/dist/translations/eo.js +1 -1
  40. package/dist/translations/eo.umd.js +1 -1
  41. package/dist/translations/es-co.js +1 -1
  42. package/dist/translations/es-co.umd.js +1 -1
  43. package/dist/translations/es.js +1 -1
  44. package/dist/translations/es.umd.js +1 -1
  45. package/dist/translations/et.js +1 -1
  46. package/dist/translations/et.umd.js +1 -1
  47. package/dist/translations/eu.js +1 -1
  48. package/dist/translations/eu.umd.js +1 -1
  49. package/dist/translations/fa.js +1 -1
  50. package/dist/translations/fa.umd.js +1 -1
  51. package/dist/translations/fi.js +1 -1
  52. package/dist/translations/fi.umd.js +1 -1
  53. package/dist/translations/fr.js +1 -1
  54. package/dist/translations/fr.umd.js +1 -1
  55. package/dist/translations/gl.js +1 -1
  56. package/dist/translations/gl.umd.js +1 -1
  57. package/dist/translations/gu.js +1 -1
  58. package/dist/translations/gu.umd.js +1 -1
  59. package/dist/translations/he.js +1 -1
  60. package/dist/translations/he.umd.js +1 -1
  61. package/dist/translations/hi.js +1 -1
  62. package/dist/translations/hi.umd.js +1 -1
  63. package/dist/translations/hr.js +1 -1
  64. package/dist/translations/hr.umd.js +1 -1
  65. package/dist/translations/hu.js +1 -1
  66. package/dist/translations/hu.umd.js +1 -1
  67. package/dist/translations/hy.js +1 -1
  68. package/dist/translations/hy.umd.js +1 -1
  69. package/dist/translations/id.js +1 -1
  70. package/dist/translations/id.umd.js +1 -1
  71. package/dist/translations/it.js +1 -1
  72. package/dist/translations/it.umd.js +1 -1
  73. package/dist/translations/ja.js +1 -1
  74. package/dist/translations/ja.umd.js +1 -1
  75. package/dist/translations/jv.js +1 -1
  76. package/dist/translations/jv.umd.js +1 -1
  77. package/dist/translations/kk.js +1 -1
  78. package/dist/translations/kk.umd.js +1 -1
  79. package/dist/translations/km.js +1 -1
  80. package/dist/translations/km.umd.js +1 -1
  81. package/dist/translations/kn.js +1 -1
  82. package/dist/translations/kn.umd.js +1 -1
  83. package/dist/translations/ko.js +1 -1
  84. package/dist/translations/ko.umd.js +1 -1
  85. package/dist/translations/ku.js +1 -1
  86. package/dist/translations/ku.umd.js +1 -1
  87. package/dist/translations/lt.js +1 -1
  88. package/dist/translations/lt.umd.js +1 -1
  89. package/dist/translations/lv.js +1 -1
  90. package/dist/translations/lv.umd.js +1 -1
  91. package/dist/translations/ms.js +1 -1
  92. package/dist/translations/ms.umd.js +1 -1
  93. package/dist/translations/nb.js +1 -1
  94. package/dist/translations/nb.umd.js +1 -1
  95. package/dist/translations/ne.js +1 -1
  96. package/dist/translations/ne.umd.js +1 -1
  97. package/dist/translations/nl.js +1 -1
  98. package/dist/translations/nl.umd.js +1 -1
  99. package/dist/translations/no.js +1 -1
  100. package/dist/translations/no.umd.js +1 -1
  101. package/dist/translations/oc.js +1 -1
  102. package/dist/translations/oc.umd.js +1 -1
  103. package/dist/translations/pl.js +1 -1
  104. package/dist/translations/pl.umd.js +1 -1
  105. package/dist/translations/pt-br.js +1 -1
  106. package/dist/translations/pt-br.umd.js +1 -1
  107. package/dist/translations/pt.js +1 -1
  108. package/dist/translations/pt.umd.js +1 -1
  109. package/dist/translations/ro.js +1 -1
  110. package/dist/translations/ro.umd.js +1 -1
  111. package/dist/translations/ru.js +1 -1
  112. package/dist/translations/ru.umd.js +1 -1
  113. package/dist/translations/si.js +1 -1
  114. package/dist/translations/si.umd.js +1 -1
  115. package/dist/translations/sk.js +1 -1
  116. package/dist/translations/sk.umd.js +1 -1
  117. package/dist/translations/sl.js +1 -1
  118. package/dist/translations/sl.umd.js +1 -1
  119. package/dist/translations/sq.js +1 -1
  120. package/dist/translations/sq.umd.js +1 -1
  121. package/dist/translations/sr-latn.js +1 -1
  122. package/dist/translations/sr-latn.umd.js +1 -1
  123. package/dist/translations/sr.js +1 -1
  124. package/dist/translations/sr.umd.js +1 -1
  125. package/dist/translations/sv.js +1 -1
  126. package/dist/translations/sv.umd.js +1 -1
  127. package/dist/translations/th.js +1 -1
  128. package/dist/translations/th.umd.js +1 -1
  129. package/dist/translations/ti.js +1 -1
  130. package/dist/translations/ti.umd.js +1 -1
  131. package/dist/translations/tk.js +1 -1
  132. package/dist/translations/tk.umd.js +1 -1
  133. package/dist/translations/tr.js +1 -1
  134. package/dist/translations/tr.umd.js +1 -1
  135. package/dist/translations/tt.js +1 -1
  136. package/dist/translations/tt.umd.js +1 -1
  137. package/dist/translations/ug.js +1 -1
  138. package/dist/translations/ug.umd.js +1 -1
  139. package/dist/translations/uk.js +1 -1
  140. package/dist/translations/uk.umd.js +1 -1
  141. package/dist/translations/ur.js +1 -1
  142. package/dist/translations/ur.umd.js +1 -1
  143. package/dist/translations/uz.js +1 -1
  144. package/dist/translations/uz.umd.js +1 -1
  145. package/dist/translations/vi.js +1 -1
  146. package/dist/translations/vi.umd.js +1 -1
  147. package/dist/translations/zh-cn.js +1 -1
  148. package/dist/translations/zh-cn.umd.js +1 -1
  149. package/dist/translations/zh.js +1 -1
  150. package/dist/translations/zh.umd.js +1 -1
  151. package/package.json +9 -9
  152. package/src/augmentation.d.ts +8 -1
  153. package/src/common-translations.js +1 -1
  154. package/src/index.js +1 -1
  155. package/src/presencelist/presencelistui.js +1 -1
  156. package/src/presencelist/view/presencecounterview.js +1 -1
  157. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  158. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  159. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  160. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  161. package/src/presencelist/view/presencelistview.js +1 -1
  162. package/src/presencelist.js +1 -1
  163. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
  164. package/src/realtimecollaborativecomments.js +1 -1
  165. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
  166. package/src/realtimecollaborativeediting/sessions.js +1 -1
  167. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  168. package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
  169. package/src/realtimecollaborativeediting.js +1 -1
  170. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +12 -0
  171. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
  172. package/src/realtimecollaborativerevisionhistory.js +1 -1
  173. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +12 -0
  174. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
  175. package/src/realtimecollaborativetrackchanges.js +1 -1
@@ -7,12 +7,19 @@
7
7
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
8
  */
9
9
  import type { PresenceListConfig } from './config.js';
10
- import type { RealTimeCollaborationClient } from './index.js';
10
+ import type { RealTimeCollaborativeEditing, RealTimeCollaborativeTrackChanges, RealTimeCollaborativeComments, RealTimeCollaborativeRevisionHistory, CloudServicesCommentsAdapter, CloudServicesTrackChangesAdapter, CloudServicesRevisionHistoryAdapter, RealTimeCollaborationClient } from './index.js';
11
11
  declare module '@ckeditor/ckeditor5-core' {
12
12
  interface EditorConfig {
13
13
  presenceList?: PresenceListConfig;
14
14
  }
15
15
  interface PluginsMap {
16
+ [RealTimeCollaborativeEditing.pluginName]: RealTimeCollaborativeEditing;
17
+ [RealTimeCollaborativeTrackChanges.pluginName]: RealTimeCollaborativeTrackChanges;
18
+ [RealTimeCollaborativeComments.pluginName]: RealTimeCollaborativeComments;
19
+ [RealTimeCollaborativeRevisionHistory.pluginName]: RealTimeCollaborativeRevisionHistory;
20
+ [CloudServicesCommentsAdapter.pluginName]: CloudServicesCommentsAdapter;
21
+ [CloudServicesTrackChangesAdapter.pluginName]: CloudServicesTrackChangesAdapter;
22
+ [CloudServicesRevisionHistoryAdapter.pluginName]: CloudServicesRevisionHistoryAdapter;
16
23
  [RealTimeCollaborationClient.pluginName]: RealTimeCollaborationClient;
17
24
  }
18
25
  }
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x2d3a19,Plugin as _0x1bed39,PendingActions as _0x5aec10,Context as _0x1c8cef}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2b71bb,CKEditorError as _0x42ffa0,Collection as _0x3e24e7,global as _0x1a4fbb,version as ht,uid as _0x163e32,KeystrokeHandler as _0x3e50ca}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3fde1c,View as _0x28ba21,ListView as _0x25ec3b,ListItemView as ct,LabelView as pt,BalloonPanelView as _0x5689c7,clickOutsideHandler as _0x26b942,BodyCollection as _0x15dce7}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x41ca1c,NoOperation as _0xb988fd,InsertOperation as _0x59c9e3,MarkerOperation as _0xaa88bb,RootAttributeOperation as _0x2c0d2c,transformSets as _0x408fa6,OperationFactory as _0x26c3a0}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x4b7c68,CollaborativeEditingService as _0x4a52fa,User as mt,CommentsService as tt,TrackChangesService as at,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x41e35a,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xab970e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x26db0b}from'lodash-es';class c extends _0x2d3a19{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3fde1c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1af6c0){super(_0x1af6c0),this['set']('state',_0x4b7c68['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x2b71bb);}['init'](){const _0x44ff3d=this['context'],_0x5c6474=_0x44ff3d['plugins']['get']('CloudServices'),_0x931ff2=_0x44ff3d['plugins']['get'](_0x3fde1c);if(!_0x5c6474['token'])throw new _0x42ffa0('websocketgateway-missing-token',this);if(!_0x5c6474['webSocketUrl'])throw new _0x42ffa0('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),c['WebSocketGateway']['connect'](_0x5c6474['token'],_0x5c6474['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x281e87=>{if(this['connection']=_0x281e87,this['bind']('state')['to'](_0x281e87,'state',this,'_isBrowserOffline',(_0x2f6a3e,_0x267b3f)=>('connected'!==_0x2f6a3e&&(this['_shouldPluginsReconnect']=!0x0),_0x267b3f||_0x2f6a3e!==_0x4b7c68['CONNECTED']?_0x4b7c68['DISCONNECTED']:this['state']==_0x4b7c68['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4b7c68['CONNECTING']):_0x4b7c68['CONNECTED'])),this['connection']['on']('error',(_0x5eba96,_0x2df828)=>{if('limitExceeded'!==_0x2df828['code'])throw console['error'](_0x2df828),new _0x42ffa0('cloudservices-init',null,{'originalError':_0x2df828});_0x931ff2['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'});}),!_0x281e87['me'])return new Promise(_0x373a90=>_0x281e87['on']('change:me',_0x373a90));})['catch'](_0x55a49b=>{throw console['error'](_0x55a49b),new _0x42ffa0('cloudservices-init',null,{'originalError':_0x55a49b});});}['addToReconnectionStack'](_0x1e8c5b){if('function'!=typeof _0x1e8c5b['reconnect'])throw new _0x42ffa0('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1e8c5b))throw new _0x42ffa0('websocketgateway-plugin-already-registered',this,{'name':_0x1e8c5b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1e8c5b);}['removeFromReconnectionStack'](_0x5b1fe4){this['_reconnectionStack']['delete'](_0x5b1fe4);}['isInReconnectionStack'](_0x527a4c){return this['_reconnectionStack']['has'](_0x527a4c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x15d40f=>_0x15d40f['reconnect']())))['then'](()=>this['state']=_0x4b7c68['CONNECTED'])['catch'](_0x349563=>{throw console['error'](_0x349563),new _0x42ffa0('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4b7c68['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x2d3a19{['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[c,_0x41e35a];}constructor(_0x3d424f){super(_0x3d424f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3e24e7(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x41e35a);}['init'](){const _0x1da43e=this['context']['plugins']['get'](c);this['listenTo'](_0x1da43e,'change:state',(_0x73dab9,_0x20b065,_0x572631)=>{if('connected'!==_0x572631)this['channelSessions']['forEach'](_0x450d45=>_0x450d45['clear']()),this['channelConnectedUsers']['forEach'](_0x26147d=>_0x26147d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x203da9,_0x1eea89]of this['_registeredSessions'])for(const _0x504434 of _0x1eea89)this['_handleSessionAdd'](_0x203da9,_0x504434);}}),this['_createUser'](_0x1da43e['connection']['me'],!0x0);}['register'](_0x36db49,_0x512423){if(this['_registeredSessions']['has'](_0x36db49))throw new _0x42ffa0('sessions-register-already-registered',null,{'channelId':_0x36db49});this['_registeredSessions']['set'](_0x36db49,_0x512423),this['channelSessions']['set'](_0x36db49,new _0x3e24e7()),this['channelConnectedUsers']['set'](_0x36db49,new _0x3e24e7()),this['listenTo'](_0x512423,'add',(_0x2b33f6,_0x290f58)=>this['_handleSessionAdd'](_0x36db49,_0x290f58)),this['listenTo'](_0x512423,'remove',(_0x26d258,_0x59c1c4)=>this['_handleSessionRemove'](_0x36db49,_0x59c1c4));for(const _0x71333b of _0x512423)this['_handleSessionAdd'](_0x36db49,_0x71333b);}['unregister'](_0x3b13c3){if(!this['_registeredSessions']['has'](_0x3b13c3))throw new _0x42ffa0('sessions-unregister-not-exist',null,{'channelId':_0x3b13c3});const _0x52da9c=this['_registeredSessions']['get'](_0x3b13c3);this['stopListening'](_0x52da9c);for(const _0x267636 of _0x52da9c)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x3b13c3,_0x267636);this['_registeredSessions']['delete'](_0x3b13c3),this['channelSessions']['delete'](_0x3b13c3),this['channelConnectedUsers']['delete'](_0x3b13c3);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x3b41e9){for(const _0x2271f7 of this['channelSessions']['values']())for(const _0x49628e of _0x2271f7)if(_0x49628e['id']===_0x3b41e9)return _0x49628e['user'];}['getUserSessions'](_0x566e6a,_0xfe67a1){const _0x234591=_0xfe67a1?[this['channelSessions']['get'](_0xfe67a1)]:this['channelSessions']['values'](),_0x4450ca=new Set();for(const _0x2e17ec of _0x234591)for(const _0x26f435 of _0x2e17ec)_0x26f435['user']['id']===_0x566e6a['id']&&_0x4450ca['add'](_0x26f435['id']);return _0x4450ca;}['getUserRole'](_0x108f2a){for(const _0x597e25 of this['channelSessions']['values']())for(const _0x3a645a of _0x597e25)if(_0x3a645a['user']===_0x108f2a)return _0x3a645a['role'];}['_handleSessionAdd'](_0x4d17f2,_0x22ea3d){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x49d5ec=_0x22ea3d['user'],_0x1852c5=this['_users']['getUser'](_0x49d5ec['id'])||this['_createUser'](_0x49d5ec),_0x179ada=Object['assign']({},_0x22ea3d,{'user':_0x1852c5});this['channelSessions']['get'](_0x4d17f2)['add'](_0x179ada);const _0xb42c75=this['channelConnectedUsers']['get'](_0x4d17f2);_0xb42c75['has'](_0x1852c5['id'])||_0xb42c75['add'](_0x1852c5),this['allConnectedUsers']['has'](_0x1852c5['id'])||this['allConnectedUsers']['add'](_0x1852c5,_0x1852c5['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x4d17f2,{'channelId':_0x4d17f2,'session':_0x179ada});}['_handleSessionRemove'](_0x449733,_0x2d496b){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x49243d=this['channelConnectedUsers']['get'](_0x449733),_0x30b812=_0x2d496b['user'];_0x30b812['id']&&(this['channelSessions']['get'](_0x449733)['remove'](_0x2d496b['id']),_0x49243d['has'](_0x30b812['id'])&&!this['getUserSessions'](_0x30b812,_0x449733)['size']&&_0x49243d['remove'](_0x30b812['id']),this['allConnectedUsers']['get'](_0x30b812['id'])&&!this['getUserSessions'](_0x30b812)['size']&&this['allConnectedUsers']['remove'](_0x30b812['id']));}['_createUser'](_0x480bc0,_0x3122b9){const _0x5ea2f3=this['_users']['addUser'](_0x480bc0);return _0x3122b9&&this['_users']['defineMe'](_0x480bc0['id']),_0x5ea2f3['orderNumber']=this['_uniqueUsersCount']++,_0x5ea2f3;}}class E extends _0x1bed39{['_domEmitter']=new(_0x2b71bb())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3172a0=this['editor'],_0x2da34c=_0x3172a0['plugins']['get'](i);_0x3172a0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x423d62,{writer:_0x3d1039})=>function(_0x54b039,_0x5abcc0,_0x58700d,_0x33f814){const _0x271aeb=_0x54b039['markerName']['split'](':')[0x2],_0x3007ad=_0x58700d['getUserBySessionId'](_0x271aeb);if(!_0x3007ad||_0x271aeb===_0x58700d['mySessionId'])return;if(!_0x33f814['model']['schema']['checkChild'](_0x54b039['markerRange']['start'],'$text'))return;const _0x46a8d2={'class':'ck-user__marker\x20'+_0x3007ad['color']['getMarkerClass'](),'data-name':_0x3007ad['name'],'data-session-id':_0x271aeb},_0x2ce975=_0x33f814['model']['markers']['get'](_0x54b039['markerName']),_0x578990=_0x2ce975['getStart'](),_0x312573=_0x578990['nodeAfter'],_0x396ec4=_0x33f814['model']['schema'];if(_0x312573&&_0x396ec4['isObject'](_0x312573)&&_0x396ec4['isInline'](_0x312573)&&!_0x33f814['model']['markers']['get']('user:range:'+_0x271aeb)['getRange']()['isCollapsed'])return;const _0x408d40=_0x578990['parent'];return _0x33f814['model']['schema']['isLimit'](_0x408d40)&&!_0x33f814['model']['hasContent'](_0x408d40)&&(_0x46a8d2['contenteditable']=!0x1),function(_0x4cb4e9,_0x273df0,_0x3c3920){const _0x2782b3=_0x4cb4e9['createUIElement']('span',_0x273df0);return _0x4cb4e9['setCustomProperty']('userPositionMarker',!0x0,_0x2782b3),_0x2782b3['render']=function(_0x3d716b){const _0x22debe=this['toDomElement'](_0x3d716b);return _0x22debe['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x3c3920['name']+'</span>⁠',_0x22debe['addEventListener']('mouseenter',()=>{_0x22debe['classList']['add']('ck-user__marker_hovered');}),_0x22debe['addEventListener']('mouseleave',()=>{_0x22debe['classList']['remove']('ck-user__marker_hovered');}),_0x22debe;},_0x2782b3['isSimilar']=function(_0x370a07){return!(!this['getCustomProperty']('userPositionMarker')||!_0x370a07['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x370a07['getAttribute']('data-session-id'));},_0x2782b3;}(_0x5abcc0,_0x46a8d2,_0x3007ad);}(_0x423d62,_0x3d1039,_0x2da34c,_0x3172a0)}),_0x3172a0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x315fd1=>function(_0x41aeda,_0x1004a5){const _0x141472=_0x41aeda['markerName']['split'](':')[0x2];if(_0x141472===_0x1004a5['mySessionId'])return null;const _0xc4efaf=_0x1004a5['getUserBySessionId'](_0x141472);if(!_0xc4efaf)return{'id':_0x141472,'classes':[]};return{'id':_0x141472,'classes':['ck-user__selection',_0xc4efaf['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x141472},'priority':0x7d0+_0xc4efaf['orderNumber']};}(_0x315fd1,_0x2da34c)}),function(_0x1a647b){const _0x2623b6=_0x1a647b['model'],_0x267fac=new Map(),_0x43f853=_0x1a647b['plugins']['get'](i);_0x2623b6['markers']['on']('update:user:range',(_0x53810b,_0xc2e742,_0x331de4,_0x31af6d)=>{if(!_0x31af6d&&_0x267fac['get'](_0xc2e742['name']))return _0x267fac['get'](_0xc2e742['name'])['detach'](),void _0x267fac['delete'](_0xc2e742['name']);const _0x45d6ef=_0xc2e742['name']['split'](':')[0x2];if(_0x45d6ef===_0x43f853['mySessionId'])return;const _0x2430b1='user:position:'+_0x45d6ef;_0x2623b6['markers']['has'](_0x2430b1)&&_0x1a647b['editing']['reconvertMarker'](_0x2430b1),_0xc2e742['on']('change:range',(_0x31c694,_0x351163,_0x53beae)=>{if('$graveyard'!=_0x351163['root']['rootName']&&'$graveyard'==_0xc2e742['getRange']()['root']['rootName']&&!_0x267fac['has'](_0xc2e742['name'])){const _0x296023=_0x2623b6['schema']['getNearestSelectionRange'](_0x53beae['deletionPosition']);if(_0x296023){const _0x23ddcf=ut['fromRange'](_0x296023);_0x267fac['set'](_0xc2e742['name'],_0x23ddcf),_0x23ddcf['on']('change:range',(_0x6b7af2,_0x273e61,_0xe59134)=>{if('$graveyard'==_0x23ddcf['root']['rootName']){const _0x5026b3=_0x2623b6['schema']['getNearestSelectionRange'](_0xe59134['deletionPosition']);_0x5026b3?(_0x23ddcf['start']=_0x5026b3['start'],_0x23ddcf['end']=_0x5026b3['end']):(_0x267fac['delete'](_0xc2e742['name']),_0x23ddcf['detach']());}});}}});}),_0x2623b6['document']['on']('change',()=>{_0x267fac['size']>0x0&&_0x2623b6['enqueueChange']({'isUndoable':!0x1},_0x18a230=>{for(const [_0x35218d,_0xefd8b3]of _0x267fac)'$graveyard'==_0x2623b6['markers']['get'](_0x35218d)['getRange']()['root']['rootName']&&(Q(_0x35218d['split'](':')[0x2],_0xefd8b3['toRange'](),_0x2623b6,_0x18a230),_0xefd8b3['detach']());_0x267fac['clear']();});});}(_0x3172a0),this['_domEmitter']['listenTo'](_0x1a4fbb['document'],'keydown',(_0x33ce15,{key:_0x2ae922})=>{'Escape'===_0x2ae922&&function(_0x565ae7){_0x565ae7['editing']['view']['change'](_0x4442cb=>{for(const _0x3d4bc8 of _0x565ae7['model']['markers']){if(!_0x3d4bc8['name']['startsWith']('user:position'))continue;const _0x25757d=_0x565ae7['editing']['mapper']['markerNameToElements'](_0x3d4bc8['name']);if(_0x25757d){for(const _0x20199f of _0x25757d)_0x4442cb['removeClass']('ck-user__marker_hovered',_0x20199f);}}});}(_0x3172a0);},{'useCapture':!0x0});}['afterInit'](){const _0x21826e=this['editor'],_0x4a30aa=_0x21826e['commands']['get']('undo');_0x4a30aa&&_0x21826e['model']['on']('applyOperation',(_0x2c33d4,_0x202b6d)=>{const _0x8026ee=_0x202b6d[0x0];if('marker'!=_0x8026ee['type']||!_0x8026ee['name']['startsWith']('user:'))return;const _0x5f1901=_0x8026ee['batch'];_0x4a30aa['_createdBatches']['has'](_0x5f1901)&&(_0x8026ee['newRange']=_0x8026ee['oldRange']?_0x21826e['model']['createRange'](_0x8026ee['oldRange']['start'],_0x8026ee['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5dc1e5=this['editor'],_0x232148=_0x5dc1e5['model']['document'],_0x24d335=_0x5dc1e5['plugins']['get'](i);_0x5dc1e5['model']['enqueueChange']({'isUndoable':!0x1},_0x572a0a=>{const _0xb71e1d='user:range:'+_0x24d335['mySessionId'],_0x227bf3='user:position:'+_0x24d335['mySessionId'],_0x3ae1a3=_0x5dc1e5['model']['markers']['has'](_0xb71e1d);_0x5dc1e5['editing']['view']['hasDomSelection']?Q(_0x24d335['mySessionId'],_0x232148['selection']['getFirstRange'](),_0x5dc1e5['model'],_0x572a0a):_0x3ae1a3&&(_0x572a0a['removeMarker'](_0xb71e1d),_0x572a0a['removeMarker'](_0x227bf3));});}}function Q(_0x34c20e,_0x10b871,_0x527c31,_0x492e57){const _0x382fae='user:range:'+_0x34c20e,_0x98ad61='user:position:'+_0x34c20e,_0xce0b99=_0x10b871['getContainedElement']();let _0xbbdb91=_0x10b871['start'];_0xce0b99&&_0xce0b99['is']('element','tableCell')&&(_0xbbdb91=function(_0xd03d8a,_0x5c8a43){for(const _0x417eeb of _0xd03d8a['getPositions']())if(_0x5c8a43['schema']['checkChild'](_0x417eeb,'$text'))return _0x417eeb;}(_0x10b871,_0x527c31),_0x10b871=_0x492e57['createRange'](_0xbbdb91));const _0x56e8d6=_0x492e57['createRange'](_0xbbdb91);_0x527c31['markers']['has'](_0x382fae)?(_0x492e57['updateMarker'](_0x382fae,{'range':_0x10b871}),_0x492e57['updateMarker'](_0x98ad61,{'range':_0x56e8d6})):(_0x492e57['addMarker'](_0x382fae,{'range':_0x10b871,'usingOperation':!0x0}),_0x492e57['addMarker'](_0x98ad61,{'range':_0x56e8d6,'usingOperation':!0x0}));}function B(_0x4c9214,_0x1d280f,_0x597c7e){const _0x28bbd6=_0x4c9214['t'],t=_0x4c9214['t'];switch(_0x1d280f){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 _0x28bbd6({'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'},_0x597c7e);default:return'';}}let F=0x1;class l extends _0x1bed39{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x4a52fa)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,E,_0x5aec10,_0x41e35a,_0x3fde1c];}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 _0x4e35fb=this['serverHistory']['getOperations']();for(let _0x500850=_0x4e35fb['length']-0x1;_0x500850>=0x0;_0x500850--){const _0x3b433f=_0x4e35fb[_0x500850];if(!this['_disconnectionOperations']['has'](_0x3b433f))return _0x3b433f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2053fa){if(super(_0x2053fa),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x41ca1c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x42ffa0('collaboration-missing-channelid',this);const _0x2fa2b2=_0x2053fa['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x2fa2b2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xab970e(),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 G(this['_disconnectionOperations']);}['init'](){const _0x4f7cbc=this['editor'],_0x2a6d6d=_0x4f7cbc['plugins']['get'](_0x41e35a),_0xe52e4b=_0x4f7cbc['plugins']['get'](c);this['listenTo'](_0x2a6d6d,'getOperationAuthor',(_0x47c472,_0x1c8d96)=>{const _0x499ee2=_0x1c8d96[0x0];_0x499ee2['_authorId']&&(_0x47c472['return']=_0x2a6d6d['getUser'](_0x499ee2['_authorId']),_0x47c472['stop']()),null===_0x499ee2['_authorId']&&(_0x47c472['return']=null,_0x47c472['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7cbc['model']['document']['selection'],'change:range',(_0x34cea2,_0x1845f9)=>{_0x1845f9['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7cbc['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7cbc['model']['on']('applyOperation',(_0x83d0e3,_0x1d1969)=>{const _0x6e37eb=_0x1d1969[0x0];_0x6e37eb['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x6e37eb),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xe52e4b,'state',this,'_hasSynchronizationProblem',(_0x4a9ae9,_0x3bdc24)=>'connected'===_0x4a9ae9&&!_0x3bdc24),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7cbc['disableReadOnlyMode']('rtc-offline'):_0x4f7cbc['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7cbc['disableReadOnlyMode']('rtc-offline'):_0x4f7cbc['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x11220b=this['editor']['plugins']['get'](i),_0xdd58c5=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x11220b['unregister'](this['_channelId']);const _0x1d4e98=await this['_service']['reconnect'](_0xdd58c5['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1d4e98)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1d5a0f=await this['_service']['getConnectedSessions']();_0x11220b['register'](this['_channelId'],_0x1d5a0f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1882a9){if(function(_0xdc8272){return'404'===_0xdc8272['code'];}(_0x1882a9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x20a869){return'409'===_0x20a869['code'];}(_0x1882a9)){const _0x5afc3f=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'](_0x5afc3f);}else{if(!(_0x1882a9 instanceof H))throw _0x1882a9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x22bdca=this['editor']['plugins']['get'](c),_0x3b6426=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3b6426['channelSessions']['has'](this['_channelId'])&&_0x3b6426['unregister'](this['_channelId']),_0x22bdca['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1e96d8){if(this['sessionId']!==_0x1e96d8['sessionId']&&this['_lastSyncedOperationId']!==_0x1e96d8['lastOperationId'])throw new H();return this['sessionId']=_0x1e96d8['sessionId'],this['_handleServerResponse']([],{..._0x1e96d8,'wereChangesApplied':!0x1,'data':_0x1e96d8['data']},'reconnect');}async['_connectService'](_0x2493e7,_0x5a08eb=!0x1){const {connection:_0x31cded}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x31cded,this['_channelId'])['then'](_0x3d62e5=>this['_initSessionsHandling'](_0x3d62e5))['catch'](_0x169dd9=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x169dd9);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x390fb8,_0x1fa49e)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1fa49e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4530e9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2493e7);this['_isPendingUpdate']=!0x0;const _0xb7d4b3=await this['_service']['connect'](_0x31cded,this['_compressOperations'](_0x2493e7),_0x4530e9);if(this['sessionId']=_0xb7d4b3['sessionId'],_0x5a08eb){if(!_0xb7d4b3['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb7d4b3['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2493e7,_0xb7d4b3,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb7d4b3,_0x2493e7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xd3b93a=this['editor']['plugins']['get'](i),_0x5d1b20=this['editor']['plugins']['get'](E),_0x38c144=_0xd3b93a['channelSessions']['get'](this['_channelId']);_0x38c144&&_0x38c144['length']>0x1?_0x5d1b20['createUserMarkerOperations']():this['listenTo'](_0xd3b93a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xd3b93a['channelSessions']['get'](this['_channelId'])['length']&&_0x5d1b20['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x327c7d,_0x1021e8,_0x3363d3,_0x13555d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1021e8){const _0x5b717e=this['_decompressOperations'](_0x3363d3,_0x13555d);await this['_fetchMissingUsers'](_0x5b717e),this['_handleExternalOperations'](_0x5b717e,_0x1021e8,_0x3363d3['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1f1be3}=this['editor'];let _0x3b2115;try{_0x3b2115=await this['_service']['getDocumentDetails']();}catch(_0x4e109f){const _0xfb7bd3=B(_0x1f1be3,'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'](_0xfb7bd3);}const _0x1f27a6=_0x3b2115['currentDocumentSession']||_0x3b2115['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x1f27a6['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x83cb96=B(_0x1f1be3,'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.');this['_handleReconnectionError'](_0x83cb96);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3894dd){const _0xde1783=this['editor']['plugins']['get'](i);this['listenTo'](_0xde1783,'sessionAdd:'+this['_channelId'],(_0x4d50dd,{session:_0x36dcba})=>{if(_0x36dcba['id']===_0xde1783['mySessionId']){_0x4d50dd['off']();const _0x1c338a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xf4d1cd=_0x36dcba['permissions'];_0x1c338a&&_0x1c338a['isEnabled']&&(_0xf4d1cd=_0xf4d1cd['filter'](_0x9471d=>'document:write'!==_0x9471d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xf4d1cd,this['_channelId']);}}),_0xde1783['register'](this['_channelId'],_0x3894dd);}['_initThrowingOnDataSet'](){const _0x3a5df9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2c3e7d)=>{if(!_0x2c3e7d[_0x2c3e7d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x42ffa0('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3a5df9['apply'](this['editor']['data'],_0x2c3e7d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1b9be8,[_0x1bf265])=>{if(this['_document']['version'])throw new _0x42ffa0('realtimecollaborationclient-init-document-already-initialized',this);_0x1b9be8['stop'](),this['_setPendingAction']();const _0x169fce=this['editor']['config']['get']('rootsAttributes'),_0x407a49=this['_getOperationsFromInitData'](_0x1bf265,_0x169fce);0x0==_0x407a49['length']&&_0x407a49['push'](new _0xb988fd(0x0)),_0x1b9be8['return']=this['_connectService'](_0x407a49)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3a5176=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3a5176))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x369836,[_0x3a89d3,_0x3a272b])=>{_0x369836['stop']();const _0x193272=this['editor']['model']['document']['getRoot'](_0x3a89d3);if(!this['_knownRootNames']['has'](_0x3a89d3)){const _0x29f0d6=_0x3a272b&&_0x3a272b['data']?_0x3a272b['data']:'',_0x2b9507=_0x3a272b&&_0x3a272b['attributes']?_0x3a272b['attributes']:{};await this['_loadRoot'](_0x3a89d3,_0x29f0d6,_0x2b9507);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x193272['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x193272);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5aeb9a){const _0x4801f0=this['editor']['plugins']['get'](_0x41e35a),{connection:_0x35f764}=this['editor']['plugins']['get'](c),_0x3658eb=new Set();for(const _0x28611f of _0x5aeb9a){const _0x5efccc=_0x28611f['_authorId'];_0x5efccc&&!_0x4801f0['getUser'](_0x5efccc)&&_0x3658eb['add'](_0x5efccc);}if(0x0===_0x3658eb['size'])return;const _0x5aeac6=await mt['getMany'](_0x35f764,Array['from'](_0x3658eb));for(const _0x1ebc1d of _0x5aeac6)_0x4801f0['getUser'](_0x1ebc1d['id'])||_0x4801f0['addUser'](_0x1ebc1d);}['_getOperationsFromInitData'](_0xdbb0ed,_0x4df2b2={}){const _0x4fe4c9=this['editor']['model'],_0x2a8085=[];let _0x4479a4=0x0;const _0x2851e2='string'==typeof _0xdbb0ed?{'main':_0xdbb0ed}:_0xdbb0ed;for(const _0x41249c of Object['keys'](_0x2851e2)){if(!this['_document']['roots']['has'](_0x41249c))throw new _0x42ffa0('realtimecollaborationclient-init-non-existent-root',this);const _0x2813f5=this['editor']['data']['parse'](_0x2851e2[_0x41249c]),_0x2cd706=this['_document']['getRoot'](_0x41249c),_0x30bddb=new _0x59c9e3(_0x4fe4c9['createPositionAt'](_0x2cd706,0x0),_0x2813f5,_0x4479a4++);_0x2a8085['push'](_0x30bddb);for(const [_0xa316ac,_0xbbebb]of _0x2813f5['markers']){const _0xcc65e1=_0x4fe4c9['createRange'](_0x4fe4c9['createPositionFromPath'](_0x2cd706,_0xbbebb['start']['path']['slice']()),_0x4fe4c9['createPositionFromPath'](_0x2cd706,_0xbbebb['end']['path']['slice']())),_0x1fd968=new _0xaa88bb(_0xa316ac,null,_0xcc65e1,_0x4fe4c9['markers'],!0x0,_0x4479a4++);_0x2a8085['push'](_0x1fd968);}}if(_0x4df2b2)for(const [_0xb16713,_0x462d56]of Object['entries'](_0x4df2b2)){const _0xa8fa3a=_0x4fe4c9['document']['getRoot'](_0xb16713);if(!_0xa8fa3a)throw new _0x42ffa0('multi-root-editor-root-attributes-no-root',null);for(const [_0x220375,_0x427c79]of Object['entries'](_0x462d56))if(null!==_0x427c79){const _0x3a114b=new _0x2c0d2c(_0xa8fa3a,_0x220375,null,_0x427c79,_0x4479a4++);_0x2a8085['push'](_0x3a114b);}}return _0x2a8085;}async['_loadRoot'](_0x23f950,_0x106171,_0x92ba9b){this['_getOperationsFromInitData']({[_0x23f950]:_0x106171},{[_0x23f950]:_0x92ba9b})['forEach']((_0x25706a,_0x5edd34)=>{_0x25706a['baseVersion']=this['_document']['version']+_0x5edd34,_0x25706a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x25706a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xae5cda,_0x2e3711){let _0x332f86;this['_offset']=_0xae5cda['offset'];const _0x3355c0=_0xae5cda['wereChangesApplied']&&!_0xae5cda['initData'],_0x24e6ca=_0x3355c0?0x0:_0xae5cda['data']['baseVersion'];if(_0x2e3711['forEach'](_0xb87059=>{_0xb87059['_isInit']=!0x0,_0xb87059['createdAt']=_0xae5cda['sessionCreatedAt'],_0xb87059['_authorId']=null;}),_0x3355c0)_0x332f86=_0x2e3711,this['_applyOperationsSet'](_0x332f86,_0x3355c0);else{if(_0xae5cda['initData']){const _0x3f83b6=this['_getOperationsFromInitData'](_0xae5cda['initData']);this['_document']['history']['version']=-_0x3f83b6['length'],_0x3f83b6['forEach'](_0x1d4deb=>{_0x1d4deb['baseVersion']-=_0x3f83b6['length'],_0x1d4deb['createdAt']=_0xae5cda['sessionCreatedAt'],_0x1d4deb['_isInit']=!0x0,_0x1d4deb['_authorId']=null;}),this['_applyOperationsSet'](_0x3f83b6,!0x0),this['serverHistory']['version']=-_0x3f83b6['length']+this['_offset'],this['_updateServerHistory'](_0x3f83b6);}this['_document']['history']['version']=_0x24e6ca,_0x332f86=this['_decompressOperations'](_0xae5cda['data'],_0xae5cda['metadata']),await this['_fetchMissingUsers'](_0x332f86),this['_applyOperationsSet'](_0x332f86,_0x3355c0);}_0xae5cda['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x332f86,_0xae5cda['lastOperationId']),this['_lastSyncedOperationId']=_0xae5cda['lastOperationId']),this['serverHistory']['version']=_0x24e6ca+this['_offset'],this['_updateServerHistory'](_0x332f86),_0x2e3711['filter'](_0x4c1d43=>{const _0x9aa8d0=this['_getAffectedRoot'](_0x4c1d43);return _0x9aa8d0&&!this['_knownRootNames']['has'](_0x9aa8d0);})['forEach']((_0x2d32d8,_0xb3528)=>{_0x2d32d8['baseVersion']=this['_document']['version']+_0xb3528,this['_saveOperationInBuffer'](_0x2d32d8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x63c8b4,_0x493c4b){throw this['_isPendingUpdate']=!0x0,_0x493c4b&&console['error'](_0x493c4b),new _0x42ffa0(_0x63c8b4,this['editor']);}['_saveOperationInBuffer'](_0x29327f){this['_knownOperations']['has'](_0x29327f)||(this['_knownOperations']['add'](_0x29327f),this['_bufferedOperations']['push'](_0x29327f),this['_pendingAction']||'marker'==_0x29327f['type']&&!_0x29327f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5a9be2=!0x1){!_0x5a9be2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x16981e=>{_0x16981e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4045d7=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x2fa4da){return _0x2fa4da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2fa4da['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2fa4da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4045d7))throw _0x4045d7;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x56f235=>{this['on']('change:_isPendingUpdate',()=>{_0x56f235();});});}async['_sendBufferedOperations'](){const _0x301fc1=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x301fc1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x16578f=[...this['_bufferedOperations']];for(const _0x3d4383 of _0x16578f)_0x3d4383['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3d4383);const _0x3cf61d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x16578f),_0x4ccfb1=F++,_0x1bc821=this['_compressOperations'](_0x16578f),_0x43fce3=await this['_service']['sendOperations'](_0x1bc821,_0x1bc821['baseVersion'],_0x3cf61d);try{return await this['_handleServerResponse'](_0x16578f,_0x43fce3,_0x4ccfb1);}catch(_0x5c6b20){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c6b20);}}async['_handleServerResponse'](_0x20942f,_0xfbff1c,_0x486d1e){if('error'in _0xfbff1c)throw _0xfbff1c['error'];let _0x5349a3=!0x1;if(_0xfbff1c['wereChangesApplied']){_0xfbff1c['lastOperationId']&&(this['_lastSyncedOperationId']=_0xfbff1c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x522677=>!_0x20942f['includes'](_0x522677));for(const _0x4f0006 of _0x20942f)_0x4f0006['createdAt']='lastOperationAcceptedAt'in _0xfbff1c&&_0xfbff1c['lastOperationAcceptedAt']||void 0x0;q(_0x20942f,_0xfbff1c['version']-_0x20942f['length']),this['_updateServerHistory'](_0x20942f);const _0x36bf23=_0x20942f['filter'](_0x2aee8f=>{if(!_0x2aee8f['_isInit'])return!0x1;const _0x4b8dba=this['_getAffectedRoot'](_0x2aee8f);return _0x4b8dba&&!this['_knownRootNames']['has'](_0x4b8dba);});q(_0x36bf23,this['_document']['version']),this['_applyOperationsSet'](_0x36bf23),_0x5349a3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x22c0eb=this['_decompressOperations'](_0xfbff1c['data'],_0xfbff1c['metadata'])['filter'](_0x364027=>_0x364027['baseVersion']>=this['_lastServerVersion']);_0x22c0eb['forEach'](_0x483935=>this['_addKnownRoot'](_0x483935)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x111985=>!_0x111985['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x111985))),this['_bufferedOperations']['length']&&q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x22c0eb),_0x5349a3=this['_handleExternalOperations'](_0x22c0eb,_0xfbff1c['version'],_0xfbff1c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5349a3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x25acf5,_0x211baf,_0x3b38d1){try{const _0x27627b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2b3946,operationsB:_0x47da91,originalOperations:_0x3ecc0a}=_0x408fa6(_0x25acf5,this['_bufferedOperations'],_0x27627b);q(_0x2b3946,this['_document']['version']),q(_0x47da91,_0x211baf);for(const _0x31aa5f of _0x2b3946){const _0x5ac535=_0x3ecc0a['get'](_0x31aa5f);_0x31aa5f['_authorId']=_0x5ac535?_0x5ac535['_authorId']:null;}_0x3b38d1&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x25acf5,_0x3b38d1),this['_lastSyncedOperationId']=_0x3b38d1),this['_bufferedOperations']=[..._0x47da91],this['_applyOperationsSet'](_0x2b3946),this['_updateServerHistory'](_0x25acf5);}catch(_0x5bc0b3){return console['error'](_0x5bc0b3),!0x1;}return!0x0;}['_applyOperationsSet'](_0x168702,_0x2a01c6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x206d00=>{for(const _0x3ac127 of _0x168702)this['_knownOperations']['add'](_0x3ac127),this['_addKnownRoot'](_0x3ac127),_0x206d00['batch']['addOperation'](_0x3ac127),this['editor']['model']['applyOperation'](_0x3ac127);});}['_addKnownRoot'](_0x117214){const _0x28fd30=this['_getAffectedRoot'](_0x117214);_0x28fd30&&this['_knownRootNames']['add'](_0x28fd30);}['_getAffectedRoot'](_0x6ce68a){let _0x52b643,_0x118939;switch(_0x6ce68a['type']){case'insert':_0x52b643=_0x6ce68a['position']['root'];break;case'marker':if(_0x118939=_0x6ce68a['newRange'],!_0x118939)return null;_0x52b643=_0x118939['root'];break;case'addRootAttribute':_0x52b643=_0x6ce68a['root'];break;case'addRoot':_0x52b643=_0x6ce68a['affectedSelectable'];break;case'move':_0x52b643=_0x6ce68a['targetPosition']['root'];break;default:return null;}return _0x52b643['rootName'];}['_updateServerHistory'](_0x5a3d68){_0x5a3d68['forEach'](_0xe84d89=>{const _0x330262=_0xe84d89['clone']();_0x330262['_authorId']=_0xe84d89['_authorId'],_0x330262['_isInit']=!!_0xe84d89['_isInit'],_0x330262['createdAt']=_0xe84d89['createdAt'],_0x330262['baseVersion']+=this['_offset'],_0xe84d89['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x330262),this['serverHistory']['addOperation'](_0x330262);});}['_handleReconnectionError'](_0x54e64e){const _0x3bfb1f=this['editor']['plugins']['get']('Notification'),_0x4f39fd=this['editor']['locale'];_0x54e64e||(_0x54e64e=B(_0x4f39fd,'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.')),_0x3bfb1f['showWarning'](_0x54e64e,{'title':B(_0x4f39fd,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5aec10)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5aec10)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2d6541){const _0x5cef07=_0x2d6541['map'](_0x1a1fdc=>_0x1a1fdc['toJSON']());return this['_compressor']['compress'](_0x5cef07);}['_decompressOperations'](_0x36884a,_0x323b68){return this['_compressor']['decompress'](_0x36884a)['map']((_0x1865f4,_0x4237d9)=>{const _0x2d038a='init'==_0x323b68[_0x4237d9]['type'];if('InsertOperation'==_0x1865f4['__className']){const _0x2b0003=_0x1865f4['position']['root'];!this['_document']['getRoot'](_0x2b0003)&&(this['_document']['createRoot']('$root',_0x2b0003)['_isAttached']=!0x1);}const _0xfd4823=_0x26c3a0['fromJSON'](_0x1865f4,this['_document']);return _0xfd4823['wasUndone']=_0x1865f4['wasUndone'],_0xfd4823['_isInit']=_0x2d038a,_0xfd4823['_authorId']=_0x2d038a?null:_0x323b68[_0x4237d9]['userId'],_0xfd4823['_isDisconnection']='cs:removeUser'===_0x323b68[_0x4237d9]['type'],_0xfd4823['createdAt']=_0x323b68[_0x4237d9]['createdAt'],_0xfd4823;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x33415c=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x33415c&&_0x33415c['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function q(_0x393832,_0x10d341){for(const _0x2f5043 of _0x393832)_0x2f5043['baseVersion']=_0x10d341++;}class G{['_ignoredOperations'];['_operationToId'];constructor(_0x44b14d){this['_ignoredOperations']=_0x44b14d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x453417){let _0x2bf301=_0x453417['length'];for(;_0x2bf301--;){const _0x1c3fc2=_0x453417[_0x2bf301];if(!this['_ignoredOperations']['has'](_0x1c3fc2)){if(!this['_operationToId']['has'](_0x1c3fc2)){const _0xb3820c=_0x163e32()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1c3fc2,_0xb3820c);}return this['_operationToId']['get'](_0x1c3fc2);}}}['setIdForTheLastOperation'](_0x183523,_0x284321){if(!_0x284321)return;let _0x38a996=_0x183523['length'];for(;_0x38a996--;){const _0x282007=_0x183523[_0x38a996];this['_ignoredOperations']['has'](_0x282007)||this['_operationToId']['set'](_0x282007,_0x284321);}}}class n extends _0x1bed39{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x2d3a19{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>tt)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x41e35a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35a06d){super(_0x35a06d),this['_services']=new Map();}async['init'](){const _0x486e2e=this['context'],_0x2b8cd6=_0x486e2e['plugins']['get']('CommentsRepository');if(_0x486e2e['plugins']['get'](c)['addToReconnectionStack'](this),_0x2b8cd6['adapter']={'addCommentThread':async({channelId:_0x1ac95e,threadId:_0xabcf76,comments:_0x3aa004,resolvedAt:_0x406689,resolvedBy:_0x245999,context:_0x28e56b,attributes:_0x17e164})=>{const _0x1ff9c2=await this['_getService'](_0x1ac95e)['addCommentThread']({'commentThreadId':_0xabcf76,'comments':_0x3aa004['map'](_0x1b3ecf=>function(_0x228d83,_0xc38987,_0x2b27f2){return{'commentThreadId':_0x2b27f2,'commentId':_0x228d83['commentId'],'userId':_0x228d83['authorId'],'content':_0x228d83['content'],'documentId':_0xc38987,'createdAt':_0x228d83['createdAt'],'attributes':_0x228d83['attributes']||{}};}(_0x1b3ecf,_0x1ac95e,_0xabcf76)),'resolvedAt':_0x406689,'resolvedBy':_0x245999,'context':_0x28e56b,'attributes':_0x17e164})['catch'](gt);return{'threadId':_0x1ff9c2['commentThreadId'],'comments':_0x1ff9c2['comments']};},'getCommentThread':async({channelId:_0x4c5863,threadId:_0x3c2f7a})=>{const _0x2da32=await this['_getService'](_0x4c5863)['getCommentThread'](_0x3c2f7a)['catch'](gt);return _0x2da32['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2da32]),{'threadId':_0x2da32['commentThreadId'],'comments':_0x2da32['comments']['map'](nt),'context':_0x2da32['context'],'resolvedAt':_0x2da32['resolvedAt'],'resolvedBy':_0x2da32['resolvedBy'],'attributes':_0x2da32['attributes']||{}});},'updateCommentThread':async({channelId:_0x4339ef,threadId:_0x24efe1,context:_0x19f94d,unlinkedAt:_0x360a9b,attributes:_0x200347})=>this['_getService'](_0x4339ef)['updateCommentThread']({'commentThreadId':_0x24efe1,'context':_0x19f94d,'attributes':_0x200347,'unlinkedAt':_0x360a9b})['catch'](et)['catch'](gt),'resolveCommentThread':async({channelId:_0x18d8a4,threadId:_0x21d07b})=>{const _0x361dcd=await this['_getService'](_0x18d8a4)['resolveCommentThread'](_0x21d07b)['catch'](et)['catch'](gt);return{'threadId':_0x361dcd['commentThreadId'],'resolvedAt':_0x361dcd['resolvedAt'],'resolvedBy':_0x361dcd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18e722,threadId:_0x2c5795})=>this['_getService'](_0x18e722)['reopenCommentThread'](_0x2c5795)['catch'](et)['catch'](gt),'removeCommentThread':({channelId:_0xd516b8,threadId:_0x547f86})=>this['_getService'](_0xd516b8)['removeCommentThread'](_0x547f86)['catch'](et)['catch'](gt),'addComment':({channelId:_0x335781,threadId:_0x313fbc,commentId:_0x293c44,content:_0x5f451f,attributes:_0x2052c8})=>this['_getService'](_0x335781)['addComment'](_0x313fbc,_0x293c44,_0x5f451f,_0x2052c8)['catch'](gt),'updateComment':({channelId:_0xb2ad31,threadId:_0x590637,commentId:_0x5e6393,content:_0x1311cf,attributes:_0x1fa6e0})=>this['_getService'](_0xb2ad31)['updateComment'](_0x590637,_0x5e6393,_0x1311cf,_0x1fa6e0)['catch'](et)['catch'](gt),'removeComment':({channelId:_0xc9c17d,threadId:_0x11bd89,commentId:_0x5395d7})=>this['_getService'](_0xc9c17d)['removeComment'](_0x11bd89,_0x5395d7)['catch'](et)['catch'](gt)},_0x486e2e instanceof _0x1c8cef){const _0x4610df=_0x486e2e['config']['get']('collaboration.channelId'),_0x41734c=_0x486e2e['plugins']['get'](i);await this['_setUpService'](_0x4610df);const _0x3759ac=await this['_services']['get'](_0x4610df)['getConnectedSessions']();this['listenTo'](_0x41734c,'sessionAdd:'+_0x4610df,(_0x3cc029,{session:_0x2e1078})=>{_0x2e1078['id']===_0x41734c['mySessionId']&&(_0x3cc029['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2e1078['permissions'],_0x4610df));}),_0x41734c['register'](_0x4610df,_0x3759ac);}}async['_setUpService'](_0x3eb302){if(this['_services']['has'](_0x3eb302))throw new _0x42ffa0('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3eb302});const _0x123bfa=this['context']['plugins']['get']('CommentsRepository'),_0x436899=new a['CommentsService'](_0x3eb302);this['_services']['set'](_0x3eb302,_0x436899),this['listenTo'](_0x436899,'commentThreadAdded',(_0x1c01ac,_0xa0ef86)=>{const {commentThreadId:_0xc89e9,documentId:_0x23a56a,context:_0x50d102,attributes:_0xffb3e0,resolvedAt:_0x21f502,resolvedBy:_0x5513dd,comments:_0x28317a}=_0xa0ef86;_0x123bfa['getCommentThread'](_0xc89e9)||_0x123bfa['addCommentThread']({'threadId':_0xc89e9,'channelId':_0x23a56a,'comments':_0x28317a?_0x28317a['map'](nt):[],'context':_0x50d102,'attributes':_0xffb3e0,'resolvedAt':_0x21f502,'resolvedBy':_0x5513dd,'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentThreadUpdated',(_0x56c1e8,{commentThreadId:_0xe2c125,documentId:_0x3597c7,context:_0x4d2289,unlinkedAt:_0x7c2c6c,attributes:_0x5c233c})=>{_0x123bfa['getCommentThread'](_0xe2c125)&&_0x123bfa['updateCommentThread']({'threadId':_0xe2c125,'channelId':_0x3597c7,'context':_0x4d2289,'unlinkedAt':_0x7c2c6c,'attributes':_0x5c233c,'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentThreadResolved',(_0x2b6c7b,{commentThreadId:_0x506967,resolvedBy:_0x3546a0,resolvedAt:_0x3fbb04})=>{const _0x54ac63=_0x123bfa['getCommentThread'](_0x506967);_0x54ac63&&_0x54ac63['resolve']({'resolvedBy':_0x3546a0,'resolvedAt':_0x3fbb04,'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentThreadReopened',(_0x159e12,{commentThreadId:_0x5578df})=>{const _0x340868=_0x123bfa['getCommentThread'](_0x5578df);_0x340868&&_0x340868['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentThreadRemoved',(_0xd6368,{commentThreadId:_0x597120})=>{const _0x5682b8=_0x123bfa['getCommentThread'](_0x597120);_0x5682b8&&_0x5682b8['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentAdded',(_0x4a091e,_0x23a7c0)=>{const _0x16a2be=_0x23a7c0['commentThreadId'],_0x487730=_0x123bfa['getCommentThread'](_0x16a2be);_0x487730&&_0x487730['addComment']({...nt(_0x23a7c0),'isFromAdapter':!0x0});}),this['listenTo'](_0x436899,'commentUpdated',(_0x304c05,{commentThreadId:_0x269942,commentId:_0x25901a,content:_0x2303d8,attributes:_0x5ccf35})=>{const _0x3e6d0c=_0x123bfa['getCommentThread'](_0x269942);if(_0x3e6d0c){const _0x516e60=_0x3e6d0c['getComment'](_0x25901a);_0x516e60&&_0x516e60['update']({'content':_0x2303d8,'attributes':_0x5ccf35,'isFromAdapter':!0x0});}}),this['listenTo'](_0x436899,'commentRemoved',(_0x340407,{commentThreadId:_0x532f78,commentId:_0x34643d})=>{const _0x984cb7=_0x123bfa['getCommentThread'](_0x532f78);if(_0x984cb7){const _0x27c3f4=_0x984cb7['getComment'](_0x34643d);_0x27c3f4&&_0x27c3f4['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3eb302);}['destroy'](){if(this['context']instanceof _0x1c8cef){const _0x153b8f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x153b8f);}}['_terminateService'](_0x460a01){if(!this['_services']['has'](_0x460a01))throw new _0x42ffa0('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x460a01});this['_getService'](_0x460a01)['disconnect'](),this['_services']['delete'](_0x460a01);}async['reconnect'](){for(const _0x49a36d of this['_services']['keys']())await this['_connectService'](_0x49a36d);if(this['context']instanceof _0x1c8cef){const _0x5cccf0=this['context']['config']['get']('collaboration.channelId'),_0xb6062a=this['context']['plugins']['get'](i);_0xb6062a['unregister'](_0x5cccf0);const _0x2d5fc8=await this['_services']['get'](_0x5cccf0)['getConnectedSessions']();_0xb6062a['register'](_0x5cccf0,_0x2d5fc8);}}async['_connectService'](_0x459057){const {connection:_0x2f5bda}=this['context']['plugins']['get'](c),_0x419daf=this['context']['plugins']['get']('CommentsRepository'),_0x292226=this['_services']['get'](_0x459057),_0x3a0b23=await _0x292226['connect'](_0x2f5bda);await this['_fetchMissingUsersForThreads'](_0x3a0b23);const _0x542074=new Set(Array['from'](_0x419daf['getCommentThreads']({'channelId':_0x459057}),_0x1190a8=>_0x1190a8['id']));for(const _0x5e39fe of _0x3a0b23)_0x5e39fe['deletedAt']||_0x542074['delete'](_0x5e39fe['commentThreadId']);for(const _0x2d9121 of _0x542074)_0x419daf['getCommentThread'](_0x2d9121)['remove']({'isFromAdapter':!0x0});for(const _0x30bcc2 of _0x3a0b23){let _0x8a6e75=_0x419daf['getCommentThread'](_0x30bcc2['commentThreadId']);const {commentThreadId:_0x226622,context:_0x2b2fcb,attributes:_0x222e27,resolvedBy:_0x1a7c9c,resolvedAt:_0x478de3,unlinkedAt:_0x30ed72,deletedAt:_0x3e24a4}=_0x30bcc2;if(_0x3e24a4)continue;_0x8a6e75||(_0x8a6e75=_0x419daf['addCommentThread']({'channelId':_0x459057,'threadId':_0x226622,'context':_0x2b2fcb,'attributes':_0x222e27||{},'resolvedBy':_0x1a7c9c,'resolvedAt':_0x478de3,'unlinkedAt':_0x30ed72,'isFromAdapter':!0x0}));const _0xfd015e=new Set(Array['from'](_0x8a6e75['comments'],_0x42d832=>_0x42d832['id']));for(const _0x28f005 of _0x30bcc2['comments'])_0xfd015e['delete'](_0x28f005['commentId']);for(const _0x524629 of _0xfd015e)_0x8a6e75['getComment'](_0x524629)['remove']({'isFromAdapter':!0x0});for(const _0x29b7f2 of _0x30bcc2['comments']){const _0x54cd4c=_0x8a6e75['getComment'](_0x29b7f2['commentId']);_0x54cd4c?_0x54cd4c['content']!==_0x29b7f2['content']&&_0x54cd4c['update']({'content':_0x29b7f2['content'],'isFromAdapter':!0x0}):_0x8a6e75['addComment'](Object['assign'](nt(_0x29b7f2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x394deb){if(!this['_services']['has'](_0x394deb))throw new _0x42ffa0('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x394deb});return this['_services']['get'](_0x394deb);}async['_fetchMissingUsersForThreads'](_0x4d654c){const _0x396ca4=this['context']['plugins']['get'](_0x41e35a),{connection:_0x35f8d3}=this['context']['plugins']['get'](c),_0x5841fb=new Set();for(const {resolvedBy:_0x352da0,comments:_0x14b075}of _0x4d654c){_0x352da0&&!_0x396ca4['getUser'](_0x352da0)&&_0x5841fb['add'](_0x352da0);for(const {userId:_0x4557c8}of _0x14b075)_0x396ca4['getUser'](_0x4557c8)||_0x5841fb['add'](_0x4557c8);}if(0x0===_0x5841fb['size'])return;const _0x4fee84=await mt['getMany'](_0x35f8d3,Array['from'](_0x5841fb));for(const _0x5e55f6 of _0x4fee84)_0x396ca4['getUser'](_0x5e55f6['id'])||_0x396ca4['addUser'](_0x5e55f6);}}async function et(_0x560670){if('404'!==_0x560670['code'])throw _0x560670;}function gt(_0x122e03){if((_0x30f63b=_0x122e03)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x30f63b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30f63b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x30f63b;throw _0x122e03;}function nt(_0x297101){return{'threadId':_0x297101['commentThreadId'],'commentId':_0x297101['commentId'],'content':_0x297101['content'],'createdAt':_0x297101['createdAt'],'authorId':_0x297101['userId'],'attributes':_0x297101['attributes']||{}};}class f extends _0x1bed39{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x5e74da){super(_0x5e74da);const _0x49ca3d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x49ca3d);}['init'](){const _0xf160a0=this['editor']['plugins']['get'](c),_0x5db2bc=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5db2bc['adapter']={'getSuggestion':async _0x255ff8=>{await this['_waitForServiceReady']();const _0x32013a=await this['_trackChangesService']['get'](_0x255ff8)['catch'](ot);return await this['_fetchMissingUsersForThreads']([_0x32013a]),_0x32013a;},'addSuggestion':async({id:_0x4563d4,type:_0x1fb236,data:_0x124218,originalSuggestionId:_0xf1a11f,attributes:_0x57b4c3})=>{await this['_waitForServiceReady']();const _0xfdebb9={'id':_0x4563d4,'type':_0x1fb236,'data':_0x124218,'originalSuggestionId':_0xf1a11f,'attributes':_0x57b4c3},_0x5227f0=await this['_trackChangesService']['add'](_0x4563d4,_0x1fb236,_0x124218,_0xf1a11f,_0x57b4c3)['catch'](_0x21380a=>{if(wt(_0x21380a))return new Promise(_0x41d81c=>{this['_bufferedRequests']['set'](_0x4563d4,{'resolve':_0x41d81c,'suggestionData':_0xfdebb9});});throw _0x21380a;});return this['_bufferedRequests']['delete'](_0x4563d4),_0x5227f0;},'updateSuggestion':async(_0x513f09,_0x5ee5e6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5ee5e6['state'])return this['_trackChangesService']['update'](_0x513f09,_0x5ee5e6)['catch'](ot);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1cadc5,_0x2e0fc5)=>{_0x5db2bc['hasSuggestion'](_0x2e0fc5['id'])&&(_0x5db2bc['getSuggestion'](_0x2e0fc5['id'])['attributes']=_0x2e0fc5['attributes']);}),this['_trackChangesService']['connect'](_0xf160a0['connection'])['then'](_0x26574d=>(_0xf160a0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x26574d)['then'](()=>{for(const _0x5bb1ab of _0x26574d){_0x5db2bc['addSuggestionData'](_0x5bb1ab)['_saved']=!0x0;}})));}async['reconnect'](){const _0x55150d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2cf341}=this['editor']['plugins']['get'](c),_0x338a73=await this['_trackChangesService']['connect'](_0x2cf341);await this['_fetchMissingUsersForThreads'](_0x338a73);for(const {suggestionData:_0x3a476b,resolve:_0x12eac8}of this['_bufferedRequests']['values']()){let _0x164ac0=_0x338a73['find'](_0x34a3ca=>_0x34a3ca['id']===_0x3a476b['id']);_0x164ac0||(_0x164ac0=await this['_trackChangesService']['add'](_0x3a476b['id'],_0x3a476b['type'],_0x3a476b['data'],_0x3a476b['originalSuggestionId'])),_0x12eac8(_0x164ac0);}for(const _0x5ec7d7 of _0x338a73)_0x55150d['hasSuggestion'](_0x5ec7d7['id'])||_0x55150d['addSuggestionData'](_0x5ec7d7);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x25416c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3367b2=>{_0x3367b2['off'](),_0x25416c();});});}async['_fetchMissingUsersForThreads'](_0x216435){const _0x3c15d4=this['editor']['plugins']['get'](_0x41e35a),{connection:_0x3fc23d}=this['editor']['plugins']['get'](c),_0x2e49eb=new Set();for(const {authorId:_0x9b48f4}of _0x216435)_0x3c15d4['getUser'](_0x9b48f4)||_0x2e49eb['add'](_0x9b48f4);if(0x0===_0x2e49eb['size'])return;const _0x5eefac=await mt['getMany'](_0x3fc23d,Array['from'](_0x2e49eb));for(const _0x16ba03 of _0x5eefac)_0x3c15d4['getUser'](_0x16ba03['id'])||_0x3c15d4['addUser'](_0x16ba03);}}function ot(_0x8b36e1){if(wt(_0x8b36e1))return new Promise(()=>{});throw _0x8b36e1;}function wt(_0x30034d){return _0x30034d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30034d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x1bed39{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x261bd8=this['editor']['plugins']['get'](c),_0x581fe5=this['editor']['plugins']['get']('CommentsEditing'),_0x49c9b2=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x261bd8,'change:state',(_0x2f1f81,_0x35054f,_0x39aea5)=>{_0x581fe5['isThreadsLoadingPaused']='connected'!==_0x39aea5;});}),this['listenTo'](_0x261bd8,'change:state',(_0x3a87f9,_0x1267d1,_0x418c5f)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x418c5f);}),_0x49c9b2['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x1bed39{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x1bed39{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x41e35a];}constructor(_0x2c4bde){super(_0x2c4bde);const _0x13fc65=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x13fc65);}async['init'](){const _0x72e54=this['editor']['plugins']['get'](l),_0x605098=_0x72e54['serverHistory'],_0x5e462e=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x605098,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x72e54['sessionId']});const _0x198e65=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x333d6c=await it['isBundleUploaded'](_0x5e462e['connection'],_0x198e65);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x5bab6c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5bab6c)),'updateRevisions':async _0x4c615d=>{await this['_waitForServiceReady']();const _0x4ed40e=this['_revisionTracker']['currentRevision'];if(_0x333d6c&&0x1===_0x4c615d['length']&&_0x4c615d[0x0]['id']===_0x4ed40e['id'])return _0x4c615d;for(const _0x29076f of _0x4c615d)_0x29076f['id']===_0x4ed40e['id']&&(_0x29076f['isEmptyCurrent']=_0x29076f['fromVersion']===_0x29076f['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4c615d,this['_lastRequestId'])['then'](_0x22bf16=>(this['_lastRequestId']=_0x22bf16,_0x4c615d))['catch'](_0x150c21=>{if(rt(_0x150c21)||'400'===_0x150c21['code']&&void 0x0!==_0x150c21['data']['wrongRequestId']){for(const _0xb20cac of _0x4c615d){!this['_revisionTracker']['repository']['getRevision'](_0xb20cac['id'])||this['_revisionTracker']['_bufferUpdate'](_0xb20cac['id'],_0xb20cac,!0x1);}if(rt(_0x150c21))throw _0x150c21;return _0x4c615d;}throw _0x150c21;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d12a3,{revisionsData:_0x255cc1,requestId:_0x169151})=>{Math['max'](..._0x255cc1['map'](_0x483e5b=>_0x483e5b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x255cc1,_0x169151);}):this['_handleRevisionsUpdate'](_0x255cc1,_0x169151);});const {revisions:_0x10da44,requestId:_0x387194}=await this['_revisionHistoryService']['connect'](_0x5e462e['connection']);_0x5e462e['addToReconnectionStack'](this),this['_lastRequestId']=_0x387194,await this['_fetchMissingUsers'](_0x10da44);for(const _0x6d0e47 of _0x10da44)this['_revisionTracker']['addRevisionData'](_0x6d0e47);this['listenTo'](_0x72e54,'change:_isConnected',(_0x3ad312,_0x72fcaa,_0x91c35)=>{_0x91c35&&(this['_oldOffset']=_0x72e54['_offset'],_0x3ad312['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5e462e,'state',_0x1472f2=>_0x1472f2===_0x4b7c68['CONNECTED']);}async['reconnect'](){const _0xc7fa48=this['editor']['plugins']['get'](c),_0x2f2046=this['editor']['plugins']['get'](l),_0x6411d2=async()=>{const _0x3a21ea=this['_revisionTracker']['currentRevision'],_0x35ffd5=_0x3a21ea['id'],_0x3ffc8e=_0x35ffd5!==_0x2f2046['sessionId'];if(_0x3ffc8e){const _0x180fa8=_0x2f2046['_offset']-this['_oldOffset'],_0x10f4b4=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3a21ea['toVersion']+_0x180fa8!==_0x10f4b4){const _0x20664e=_0x3a21ea['fromVersion']+_0x180fa8,_0x3f7687=this['editor']['plugins']['get'](_0x41e35a),_0x4e5e4b=this['_revisionTracker']['buildRevisionData']({'revision':_0x3a21ea,'from':_0x20664e,'to':_0x10f4b4});_0x4e5e4b['id']=_0x3a21ea['id'];const _0x245074=_0x4e5e4b['authorsIds']['map'](_0x1b1616=>_0x3f7687['getUser'](_0x1b1616));_0x3a21ea['_update']({..._0x4e5e4b,'authors':_0x245074},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3a21ea['id'],_0x4e5e4b,!0x0);}this['_revisionTracker']['_startingVersion']=_0x10f4b4,(_0x3a21ea['toVersion']===_0x3a21ea['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x35ffd5)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x35ffd5),this['_revisionTracker']['_createCurrentRevision'](_0x10f4b4));}const {revisions:_0x319c19,requestId:_0x5db952}=await this['_revisionHistoryService']['reconnect'](_0xc7fa48['connection'],this['_lastRequestId']);_0x3ffc8e&&_0x319c19['length']>0x0?_0x2f2046['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x319c19),this['_handleRevisionsUpdate'](_0x319c19,_0x5db952),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2f2046['_isConnected']?_0x6411d2():new Promise((_0x54e9d7,_0x234698)=>{_0x2f2046['once']('change:_isConnected',()=>{_0x6411d2()['then'](_0x54e9d7)['catch'](_0x234698);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3cc46c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d2bfc=>{_0x4d2bfc['off'](),_0x3cc46c();});});}['_getLatestVersionFromServerOperations'](){const _0x232fb1=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3ea7f6 of _0x232fb1)if('marker'!==_0x3ea7f6['type']||_0x3ea7f6['affectsData'])return _0x3ea7f6['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3ac395=this['editor']['plugins']['get'](l);return new Promise(_0x11ce1f=>{_0x3ac395['_isPendingUpdate']?_0x3ac395['once']('change:_isPendingUpdate',()=>{_0x11ce1f(this['_getLatestVersionFromServerOperations']());}):_0x11ce1f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x564741,_0x37eeb5){const _0x5d8e04=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x37eeb5;for(const _0x37a827 of _0x564741){const _0x2029b3=_0x5d8e04['getRevision'](_0x37a827['id']);if(_0x2029b3){if((_0x37a827['fromVersion']||_0x37a827['toVersion'])&&(_0x37a827['diffData']=null),_0x2029b3===this['_revisionTracker']['currentRevision']){const _0x5795e0=Math['max'](_0x2029b3['toVersion'],_0x37a827['toVersion']),_0x39e7de=Math['max'](_0x2029b3['fromVersion'],_0x37a827['fromVersion']);let _0x4931e5;_0x2029b3['toVersion']===_0x37a827['toVersion']&&_0x2029b3['fromVersion']===_0x37a827['fromVersion']?(_0x4931e5=!0x0,this['_preventResendingRevisionData'](_0x37a827)):_0x37a827['toVersion']===_0x5795e0&&_0x37a827['fromVersion']===_0x39e7de?_0x4931e5=!0x1:(_0x2029b3['toVersion']===_0x5795e0&&_0x2029b3['fromVersion']===_0x39e7de||this['_fixRevision']({'revision':_0x2029b3,'from':_0x39e7de,'to':_0x5795e0}),_0x4931e5=!0x0),_0x4931e5&&(delete _0x37a827['fromVersion'],delete _0x37a827['toVersion'],delete _0x37a827['diffData'],delete _0x37a827['createdAt'],delete _0x37a827['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x37a827),this['_preventResendingRevisionData'](_0x37a827);}else this['_revisionTracker']['addRevisionData'](_0x37a827);}const _0xd3a17b=_0x5d8e04['getRevisions']();_0xd3a17b['reverse']();for(let _0x5876a9=0x0;_0x5876a9<_0xd3a17b['length']-0x1;_0x5876a9++){const _0x15170f=_0xd3a17b[_0x5876a9],_0x1b5eae=_0xd3a17b[_0x5876a9+0x1];if(_0x15170f['fromVersion']<_0x1b5eae['toVersion']){const _0x4edbea=_0x1b5eae['toVersion'],_0x106284=Math['max'](_0x4edbea,_0x15170f['toVersion']);this['_fixRevision']({'revision':_0x15170f,'from':_0x4edbea,'to':_0x106284});}}}['_fixRevision']({revision:_0x1d946a,from:_0x5d3ec5,to:_0x9c941}={}){const _0x474cf4=this['editor']['plugins']['get'](_0x41e35a),_0x5a152f=this['_revisionTracker']['buildRevisionData']({'revision':_0x1d946a,'from':_0x5d3ec5,'to':_0x9c941});_0x5a152f['authors']=_0x5a152f['authorsIds']['map'](_0x5c9b2b=>_0x474cf4['getUser'](_0x5c9b2b)),_0x1d946a['_update'](_0x5a152f);}['_preventResendingRevisionData'](_0x431f2d){const _0xdae457={};_0xdae457['id']=_0x431f2d['id'];for(const _0x1a57fd of Object['keys'](_0x431f2d))'id'!==_0x1a57fd&&(_0xdae457[_0x1a57fd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xdae457['id'],_0xdae457,!0x0);}async['_fetchMissingUsers'](_0x5a1a4e){const _0x2557ff=this['editor']['plugins']['get'](_0x41e35a),{connection:_0x2dbb86}=this['editor']['plugins']['get'](c),_0x5c6b4f=new Set();for(const _0x31753e of _0x5a1a4e){for(const _0x1117c5 of _0x31753e['authorsIds'])_0x1d3fd0(_0x1117c5);_0x31753e['creatorId']&&_0x1d3fd0(_0x31753e['creatorId']);}if(0x0===_0x5c6b4f['size'])return;const _0x102bf9=await mt['getMany'](_0x2dbb86,Array['from'](_0x5c6b4f));for(const _0x5ec9ba of _0x102bf9)_0x2557ff['getUser'](_0x5ec9ba['id'])||_0x2557ff['addUser'](_0x5ec9ba);function _0x1d3fd0(_0x2e59cf){_0x2557ff['getUser'](_0x2e59cf)||_0x5c6b4f['add'](_0x2e59cf);}}}function rt(_0x464d69){return _0x464d69['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x464d69['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x464d69['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1bed39{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x28ba21{constructor(_0x30ab94){super(_0x30ab94);const _0x1c97ce=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x1c97ce['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x1c97ce['to']('usersCount',_0xd069f5=>B(_0x30ab94,'CONNECTED_USERS',_0xd069f5))}]});}}class es extends _0x28ba21{['items'];['keystrokes'];constructor(_0x33d6b7){super(_0x33d6b7);const _0xb22c16=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3e50ca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb22c16['if']('hasPopup'),'aria-expanded':_0xb22c16['to']('isExpanded',_0x12ce44=>this['hasPopup']&&String(_0x12ce44)),'aria-label':_0xb22c16['to']('hasPopup',_0x8f8b9f=>B(_0x33d6b7,_0x8f8b9f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb22c16['to']('hasPopup',_0x50b9c6=>!!_0x50b9c6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0xb22c16['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x344c16,_0x2b15ea,_0x1c3a7e)=>{this['element']&&(_0x1c3a7e?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 L extends _0x28ba21{['counterView'];['inlineListView'];constructor(_0x317d07){super(_0x317d07);const _0x1e6e76=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x317d07),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4164d2 of this['inlineListView']['items'])_0x4164d2['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',_0x1e6e76['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x28ba21{['listWrapperView'];constructor(_0x1d663a,_0x411b62){super(_0x1d663a),this['listWrapperView']=new vt(_0x1d663a,_0x411b62),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0x1d663a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x25ec3b{constructor(_0x1489e8,_0x567f2d){super(_0x1489e8);const _0x4754a4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x567f2d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4754a4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4754a4['to']('role'),'aria-label':_0x4754a4['to']('ariaLabel'),'aria-labelledby':_0x4754a4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1a4fbb['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2ec0bb=this['element'];_0x2ec0bb&&(this['_isScrollable']=Math['max'](_0x2ec0bb['scrollHeight'],_0x2ec0bb['clientHeight'])>0.8*window['innerHeight']);}}class k extends ct{['userView'];constructor(_0x58e48f,_0x42c684,_0x8cb226){super(_0x58e48f);const _0x110ee9=this['bindTemplate'];this['userView']=new lt(_0x58e48f,_0x42c684);const _0x580251={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x42c684['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x42c684['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42c684['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x8cb226&&(_0x580251['tag']='button',_0x580251['on']={'click':_0x110ee9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x580251);}['focus'](){this['element']['focus']();}}class y extends _0x28ba21{['userView'];['markerView'];constructor(_0xcd7ee0,_0x47bf74,_0x1af21c){super(_0xcd7ee0);const _0x4fbebb=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0xcd7ee0,_0x47bf74),this['markerView']=new dt(_0xcd7ee0,_0x47bf74);const _0x57421c=new pt(_0xcd7ee0);_0x57421c['template']['tag']='span',_0x57421c['text']=_0x47bf74['name'];const _0x36ec41={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4fbebb['to']('isFocusable',_0x35035f=>!!_0x35035f&&0x0),'aria-labelledby':_0x57421c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4fbebb['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4fbebb['to']('hasTooltip',_0x38a50a=>!_0x38a50a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x57421c]};_0x1af21c&&(_0x36ec41['tag']='button',_0x36ec41['on']={'click':_0x4fbebb['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x36ec41);}}class dt extends _0x28ba21{constructor(_0x277616,_0xe70aea){super(_0x277616),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe70aea['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2d3a19{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x393f11){super(_0x393f11),this['context']['config']['define']('presenceList',A);const _0xbb407c=_0x393f11['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xbb407c)throw new _0x42ffa0('presencelist-collapseat-invalid-format',this);if(_0xbb407c<0x1)throw new _0x42ffa0('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3e24e7(),this['balloonPanelView']=new _0x5689c7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5ea9a9 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ea9a9);this['listenTo'](this['_allConnectedUsers'],'add',(_0x402852,_0x20be83)=>{this['_handleUserAdd'](_0x20be83);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x148091,_0x3de67a)=>{this['_handleUserRemove'](_0x3de67a);});}['_createView'](){const _0x27c248=this['context'],_0x128368=new L(this['context']['locale']),_0x383055=this['balloonPanelView'];if(!_0x26db0b(_0x27c248['config']['get']('presenceList.container')))throw new _0x42ffa0('presencelist-missing-container',this);return _0x128368['counterView']['bind']('usersCount')['to'](this),_0x128368['bind']('isCollapsed')['to'](this,'usersCount',_0x29b017=>{const {collapseAt:_0xac93d6,displayMe:_0x47c319}=_0x27c248['config']['get']('presenceList'),_0x11697f=_0x29b017>=_0xac93d6;return _0x128368['counterView']['isHidden']=!(0x1==_0x29b017&&_0x47c319||_0x11697f),_0x11697f||this['hideDropdown'](),_0x11697f;}),_0x128368['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x218e9c=>{const _0x231ac9=_0x27c248['config']['get']('presenceList'),_0x30b4cf=new y(_0x27c248['locale'],_0x218e9c,!!_0x231ac9['onClick']);return _0x30b4cf['bind']('hasTooltip')['to'](_0x128368,'isCollapsed',_0x43f1c9=>!_0x43f1c9),_0x30b4cf['bind']('isFocusable')['to'](_0x128368,'isCollapsed',_0x17b0ac=>!_0x17b0ac),_0x231ac9['onClick']&&this['listenTo'](_0x30b4cf,'execute',()=>{this['view']['isCollapsed']||_0x231ac9['onClick'](_0x218e9c,_0x30b4cf['element']);}),_0x30b4cf;}),this['listenTo'](_0x128368['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x128368['inlineListView']['keystrokes']['set']('Enter',(_0x34b5be,_0x387edd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x387edd());}),_0x128368['render'](),_0x383055['render'](),_0x26b942({'emitter':_0x128368,'activator':()=>_0x383055['isVisible'],'contextElements':[_0x383055['element'],_0x128368['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27c248['config']['get']('presenceList.container')['appendChild'](_0x128368['element']),this['_bodyCollection']=new _0x15dce7(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x128368;}['_handleUserAdd'](_0x267019){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x267019['isMe'])return;const _0x5a653d=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x5a653d&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x5c73c2=_0x267019['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x267019,_0x5c73c2);}['_handleUserRemove'](_0x2ff1e1){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x2ff1e1['id'])&&(this['currentDisplayedUsers']['remove'](_0x2ff1e1['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x7cf985 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x7cf985['id']))return void this['currentDisplayedUsers']['add'](_0x7cf985,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x33a4be=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x33a4be['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x555ac8}=this['presenceDropdownView'];_0x555ac8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xa19df4=>{if(!_0x33a4be['displayMe']&&_0xa19df4['isMe'])return null;const _0x23b499=new k(this['context']['locale'],_0xa19df4,!!_0x33a4be['onClick']);return _0x33a4be['onClick']&&this['listenTo'](_0x23b499,'execute',()=>{_0x33a4be['onClick'](_0xa19df4,_0x23b499['element']);}),_0x23b499;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x555ac8['focus'](),_0x555ac8['checkIfScrollable']();const _0x4ff0d9=(_0x34fb65,_0x7a3194)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x7a3194();};_0x555ac8['keystrokes']['set']('Esc',_0x4ff0d9),_0x555ac8['keystrokes']['set']('Shift+Tab',_0x4ff0d9),_0x555ac8['keystrokes']['set']('Tab',(_0x183352,_0x160e47)=>{!function(_0x16b7a2){const _0x2da2e9=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x6c1757=>_0x6c1757+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2976fc=[...document['body']['querySelectorAll'](_0x2da2e9)]['filter'](_0x2aa45a=>_0x2aa45a===document['activeElement']||_0x2aa45a['offsetWidth']+_0x2aa45a['offsetHeight']>0x0)['sort']((_0x756e09,_0x3d9bae)=>(_0x756e09['tabIndex']||0x0)-(_0x3d9bae['tabIndex']||0x0)),_0x54be33=_0x2976fc['indexOf'](_0x16b7a2),_0x422849=_0x2976fc[(_0x54be33+0x1)%_0x2976fc['length']];_0x422849&&_0x422849['focus']();}(this['view']['element']),this['hideDropdown'](),_0x160e47();}),_0x555ac8['focusTracker']['add'](this['view']['element']),_0x555ac8['focusTracker']['on']('change:isFocused',(_0x54797e,_0x19c201,_0x38bccd)=>{_0x38bccd||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 s extends _0x2d3a19{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x375b1b,Plugin as _0x3b1a90,PendingActions as _0x491601,Context as _0x445727}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4ab1ad,CKEditorError as _0x3443e5,Collection as _0x2718c8,global as _0x3b8f5d,version as dt,uid as _0x3831d0,KeystrokeHandler as _0x23d333}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1dfc1e,View as _0x360a48,ListView as _0x5b2324,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x2ae021,clickOutsideHandler as _0x25d192,BodyCollection as tt}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x49f383,NoOperation as _0x51c15b,InsertOperation as _0x1b8f90,MarkerOperation as _0x17a7da,RootAttributeOperation as _0x44a68e,transformSets as _0x1790a5,OperationFactory as _0x540e13}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x51d08e,CollaborativeEditingService as _0xfd8b2a,User as mt,CommentsService as _0x3354a4,TrackChangesService as nt,RevisionHistoryService as _0x141eee,EditorService as _0x132f7f}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4fe278,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x481af2}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as st}from'lodash-es';class c extends _0x375b1b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1dfc1e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1904e6){super(_0x1904e6),this['set']('state',_0x51d08e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4ab1ad);}['init'](){const _0x2ce7b0=this['context'],_0x1d594e=_0x2ce7b0['plugins']['get']('CloudServices'),_0x22fc62=_0x2ce7b0['plugins']['get'](_0x1dfc1e);if(!_0x1d594e['token'])throw new _0x3443e5('websocketgateway-missing-token',this);if(!_0x1d594e['webSocketUrl'])throw new _0x3443e5('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),c['WebSocketGateway']['connect'](_0x1d594e['token'],_0x1d594e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x40aed8=>{if(this['connection']=_0x40aed8,this['bind']('state')['to'](_0x40aed8,'state',this,'_isBrowserOffline',(_0x57eab6,_0x122a70)=>('connected'!==_0x57eab6&&(this['_shouldPluginsReconnect']=!0x0),_0x122a70||_0x57eab6!==_0x51d08e['CONNECTED']?_0x51d08e['DISCONNECTED']:this['state']==_0x51d08e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x51d08e['CONNECTING']):_0x51d08e['CONNECTED'])),this['connection']['on']('error',(_0x1241d9,_0x3ea848)=>{if('limitExceeded'!==_0x3ea848['code'])throw console['error'](_0x3ea848),new _0x3443e5('cloudservices-init',null,{'originalError':_0x3ea848});_0x22fc62['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'});}),!_0x40aed8['me'])return new Promise(_0x483e7b=>_0x40aed8['on']('change:me',_0x483e7b));})['catch'](_0x350102=>{throw console['error'](_0x350102),new _0x3443e5('cloudservices-init',null,{'originalError':_0x350102});});}['addToReconnectionStack'](_0x338a2c){if('function'!=typeof _0x338a2c['reconnect'])throw new _0x3443e5('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x338a2c))throw new _0x3443e5('websocketgateway-plugin-already-registered',this,{'name':_0x338a2c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x338a2c);}['removeFromReconnectionStack'](_0x7a4e11){this['_reconnectionStack']['delete'](_0x7a4e11);}['isInReconnectionStack'](_0x165f90){return this['_reconnectionStack']['has'](_0x165f90);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x302117=>_0x302117['reconnect']())))['then'](()=>this['state']=_0x51d08e['CONNECTED'])['catch'](_0x140ae2=>{throw console['error'](_0x140ae2),new _0x3443e5('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x51d08e['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x375b1b{['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[c,_0x4fe278];}constructor(_0x4fbfd9){super(_0x4fbfd9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2718c8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4fe278);}['init'](){const _0x402cf9=this['context']['plugins']['get'](c);this['listenTo'](_0x402cf9,'change:state',(_0x4b06e6,_0x5da501,_0x22e4ef)=>{if('connected'!==_0x22e4ef)this['channelSessions']['forEach'](_0xe7fda1=>_0xe7fda1['clear']()),this['channelConnectedUsers']['forEach'](_0x376cc5=>_0x376cc5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x47fcb6,_0x38bb05]of this['_registeredSessions'])for(const _0x20c486 of _0x38bb05)this['_handleSessionAdd'](_0x47fcb6,_0x20c486);}}),this['_createUser'](_0x402cf9['connection']['me'],!0x0);}['register'](_0x50a20c,_0x1976dc){if(this['_registeredSessions']['has'](_0x50a20c))throw new _0x3443e5('sessions-register-already-registered',null,{'channelId':_0x50a20c});this['_registeredSessions']['set'](_0x50a20c,_0x1976dc),this['channelSessions']['set'](_0x50a20c,new _0x2718c8()),this['channelConnectedUsers']['set'](_0x50a20c,new _0x2718c8()),this['listenTo'](_0x1976dc,'add',(_0x13f209,_0x13ba1f)=>this['_handleSessionAdd'](_0x50a20c,_0x13ba1f)),this['listenTo'](_0x1976dc,'remove',(_0x1def98,_0x5c197b)=>this['_handleSessionRemove'](_0x50a20c,_0x5c197b));for(const _0x562e7c of _0x1976dc)this['_handleSessionAdd'](_0x50a20c,_0x562e7c);}['unregister'](_0x6a1b4){if(!this['_registeredSessions']['has'](_0x6a1b4))throw new _0x3443e5('sessions-unregister-not-exist',null,{'channelId':_0x6a1b4});const _0x5e512b=this['_registeredSessions']['get'](_0x6a1b4);this['stopListening'](_0x5e512b);for(const _0x45e562 of _0x5e512b)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x6a1b4,_0x45e562);this['_registeredSessions']['delete'](_0x6a1b4),this['channelSessions']['delete'](_0x6a1b4),this['channelConnectedUsers']['delete'](_0x6a1b4);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5bbf71){for(const _0x403c0c of this['channelSessions']['values']())for(const _0x6ac881 of _0x403c0c)if(_0x6ac881['id']===_0x5bbf71)return _0x6ac881['user'];}['getUserSessions'](_0x132bfc,_0x185cee){const _0x9e7810=_0x185cee?[this['channelSessions']['get'](_0x185cee)]:this['channelSessions']['values'](),_0x2a39a1=new Set();for(const _0x1665ff of _0x9e7810)for(const _0x56576e of _0x1665ff)_0x56576e['user']['id']===_0x132bfc['id']&&_0x2a39a1['add'](_0x56576e['id']);return _0x2a39a1;}['getUserRole'](_0x4dd2a8){for(const _0x47108f of this['channelSessions']['values']())for(const _0x46445d of _0x47108f)if(_0x46445d['user']===_0x4dd2a8)return _0x46445d['role'];}['_handleSessionAdd'](_0x46601a,_0x14d501){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5b8ef9=_0x14d501['user'],_0x4b0ee9=this['_users']['getUser'](_0x5b8ef9['id'])||this['_createUser'](_0x5b8ef9),_0x440214=Object['assign']({},_0x14d501,{'user':_0x4b0ee9});this['channelSessions']['get'](_0x46601a)['add'](_0x440214);const _0xeca01d=this['channelConnectedUsers']['get'](_0x46601a);_0xeca01d['has'](_0x4b0ee9['id'])||_0xeca01d['add'](_0x4b0ee9),this['allConnectedUsers']['has'](_0x4b0ee9['id'])||this['allConnectedUsers']['add'](_0x4b0ee9,_0x4b0ee9['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x46601a,{'channelId':_0x46601a,'session':_0x440214});}['_handleSessionRemove'](_0x4f02b3,_0x2a5ba2){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x55f764=this['channelConnectedUsers']['get'](_0x4f02b3),_0x4ba8ca=_0x2a5ba2['user'];_0x4ba8ca['id']&&(this['channelSessions']['get'](_0x4f02b3)['remove'](_0x2a5ba2['id']),_0x55f764['has'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca,_0x4f02b3)['size']&&_0x55f764['remove'](_0x4ba8ca['id']),this['allConnectedUsers']['get'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca)['size']&&this['allConnectedUsers']['remove'](_0x4ba8ca['id']));}['_createUser'](_0x29f76f,_0xf3f427){const _0x14b344=this['_users']['addUser'](_0x29f76f);return _0xf3f427&&this['_users']['defineMe'](_0x29f76f['id']),_0x14b344['orderNumber']=this['_uniqueUsersCount']++,_0x14b344;}}class N extends _0x3b1a90{['_domEmitter']=new(_0x4ab1ad())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x52b5a5=this['editor'],_0x2b6bd3=_0x52b5a5['plugins']['get'](i);_0x52b5a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x566d65,{writer:_0x562c8c})=>function(_0x122a2c,_0xc7c3f2,_0x386885,_0x15b37f){const _0x298d15=_0x122a2c['markerName']['split'](':')[0x2],_0x581943=_0x386885['getUserBySessionId'](_0x298d15);if(!_0x581943||_0x298d15===_0x386885['mySessionId'])return;if(!_0x15b37f['model']['schema']['checkChild'](_0x122a2c['markerRange']['start'],'$text'))return;const _0x4de790={'class':'ck-user__marker\x20'+_0x581943['color']['getMarkerClass'](),'data-name':_0x581943['name'],'data-session-id':_0x298d15},_0x48de3a=_0x15b37f['model']['markers']['get'](_0x122a2c['markerName']),_0x7ed9ff=_0x48de3a['getStart'](),_0x42aee3=_0x7ed9ff['nodeAfter'],_0x2f2215=_0x15b37f['model']['schema'];if(_0x42aee3&&_0x2f2215['isObject'](_0x42aee3)&&_0x2f2215['isInline'](_0x42aee3)&&!_0x15b37f['model']['markers']['get']('user:range:'+_0x298d15)['getRange']()['isCollapsed'])return;const _0x47d683=_0x7ed9ff['parent'];return _0x15b37f['model']['schema']['isLimit'](_0x47d683)&&!_0x15b37f['model']['hasContent'](_0x47d683)&&(_0x4de790['contenteditable']=!0x1),function(_0x490139,_0x27c6df,_0x48a67d){const _0x4bd0bb=_0x490139['createUIElement']('span',_0x27c6df);return _0x490139['setCustomProperty']('userPositionMarker',!0x0,_0x4bd0bb),_0x4bd0bb['render']=function(_0x1f9db5){const _0xb81324=this['toDomElement'](_0x1f9db5);return _0xb81324['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x48a67d['name']+'</span>⁠',_0xb81324['addEventListener']('mouseenter',()=>{_0xb81324['classList']['add']('ck-user__marker_hovered');}),_0xb81324['addEventListener']('mouseleave',()=>{_0xb81324['classList']['remove']('ck-user__marker_hovered');}),_0xb81324;},_0x4bd0bb['isSimilar']=function(_0x1f5ed3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f5ed3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f5ed3['getAttribute']('data-session-id'));},_0x4bd0bb;}(_0xc7c3f2,_0x4de790,_0x581943);}(_0x566d65,_0x562c8c,_0x2b6bd3,_0x52b5a5)}),_0x52b5a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5ead90=>function(_0x3a0f14,_0x54084c){const _0x1734e8=_0x3a0f14['markerName']['split'](':')[0x2];if(_0x1734e8===_0x54084c['mySessionId'])return null;const _0x464a18=_0x54084c['getUserBySessionId'](_0x1734e8);if(!_0x464a18)return{'id':_0x1734e8,'classes':[]};return{'id':_0x1734e8,'classes':['ck-user__selection',_0x464a18['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1734e8},'priority':0x7d0+_0x464a18['orderNumber']};}(_0x5ead90,_0x2b6bd3)}),function(_0x2e8163){const _0x1aa15c=_0x2e8163['model'],_0x51dffa=new Map(),_0x259d2c=_0x2e8163['plugins']['get'](i);_0x1aa15c['markers']['on']('update:user:range',(_0x16c337,_0xc9ca47,_0x289b3e,_0x38444b)=>{if(!_0x38444b&&_0x51dffa['get'](_0xc9ca47['name']))return _0x51dffa['get'](_0xc9ca47['name'])['detach'](),void _0x51dffa['delete'](_0xc9ca47['name']);const _0x5616bd=_0xc9ca47['name']['split'](':')[0x2];if(_0x5616bd===_0x259d2c['mySessionId'])return;const _0x15b1d9='user:position:'+_0x5616bd;_0x1aa15c['markers']['has'](_0x15b1d9)&&_0x2e8163['editing']['reconvertMarker'](_0x15b1d9),_0xc9ca47['on']('change:range',(_0x29ed07,_0x3438a9,_0x2fcd42)=>{if('$graveyard'!=_0x3438a9['root']['rootName']&&'$graveyard'==_0xc9ca47['getRange']()['root']['rootName']&&!_0x51dffa['has'](_0xc9ca47['name'])){const _0x386abc=_0x1aa15c['schema']['getNearestSelectionRange'](_0x2fcd42['deletionPosition']);if(_0x386abc){const _0x1af3dc=ut['fromRange'](_0x386abc);_0x51dffa['set'](_0xc9ca47['name'],_0x1af3dc),_0x1af3dc['on']('change:range',(_0x230be7,_0xdee545,_0x253dca)=>{if('$graveyard'==_0x1af3dc['root']['rootName']){const _0x2d1f29=_0x1aa15c['schema']['getNearestSelectionRange'](_0x253dca['deletionPosition']);_0x2d1f29?(_0x1af3dc['start']=_0x2d1f29['start'],_0x1af3dc['end']=_0x2d1f29['end']):(_0x51dffa['delete'](_0xc9ca47['name']),_0x1af3dc['detach']());}});}}});}),_0x1aa15c['document']['on']('change',()=>{_0x51dffa['size']>0x0&&_0x1aa15c['enqueueChange']({'isUndoable':!0x1},_0x2d93f7=>{for(const [_0x2e9f0c,_0x224d66]of _0x51dffa)'$graveyard'==_0x1aa15c['markers']['get'](_0x2e9f0c)['getRange']()['root']['rootName']&&(G(_0x2e9f0c['split'](':')[0x2],_0x224d66['toRange'](),_0x1aa15c,_0x2d93f7),_0x224d66['detach']());_0x51dffa['clear']();});});}(_0x52b5a5),this['_domEmitter']['listenTo'](_0x3b8f5d['document'],'keydown',(_0x1609dd,{key:_0x29d335})=>{'Escape'===_0x29d335&&function(_0x19093b){_0x19093b['editing']['view']['change'](_0x4425b0=>{for(const _0x44b3dd of _0x19093b['model']['markers']){if(!_0x44b3dd['name']['startsWith']('user:position'))continue;const _0x5a0313=_0x19093b['editing']['mapper']['markerNameToElements'](_0x44b3dd['name']);if(_0x5a0313){for(const _0x3bbec8 of _0x5a0313)_0x4425b0['removeClass']('ck-user__marker_hovered',_0x3bbec8);}}});}(_0x52b5a5);},{'useCapture':!0x0});}['afterInit'](){const _0x1fb92a=this['editor'],_0x452b97=_0x1fb92a['commands']['get']('undo');_0x452b97&&_0x1fb92a['model']['on']('applyOperation',(_0x3798ae,_0x24c4dc)=>{const _0x3be09d=_0x24c4dc[0x0];if('marker'!=_0x3be09d['type']||!_0x3be09d['name']['startsWith']('user:'))return;const _0x1aa639=_0x3be09d['batch'];_0x452b97['_createdBatches']['has'](_0x1aa639)&&(_0x3be09d['newRange']=_0x3be09d['oldRange']?_0x1fb92a['model']['createRange'](_0x3be09d['oldRange']['start'],_0x3be09d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3c121b=this['editor'],_0x173c55=_0x3c121b['model']['document'],_0x4e0bcf=_0x3c121b['plugins']['get'](i);_0x3c121b['model']['enqueueChange']({'isUndoable':!0x1},_0x3b940=>{const _0x2026f1='user:range:'+_0x4e0bcf['mySessionId'],_0x5a460e='user:position:'+_0x4e0bcf['mySessionId'],_0x45ae66=_0x3c121b['model']['markers']['has'](_0x2026f1);_0x3c121b['editing']['view']['hasDomSelection']?G(_0x4e0bcf['mySessionId'],_0x173c55['selection']['getFirstRange'](),_0x3c121b['model'],_0x3b940):_0x45ae66&&(_0x3b940['removeMarker'](_0x2026f1),_0x3b940['removeMarker'](_0x5a460e));});}}function G(_0xdecb36,_0x35d52f,_0x1efc7d,_0x3cc9be){const _0x4502f0='user:range:'+_0xdecb36,_0x216dd8='user:position:'+_0xdecb36,_0x4b4efb=_0x35d52f['getContainedElement']();let _0x2841e2=_0x35d52f['start'];_0x4b4efb&&_0x4b4efb['is']('element','tableCell')&&(_0x2841e2=function(_0x29b971,_0x51b7d4){for(const _0x3ea707 of _0x29b971['getPositions']())if(_0x51b7d4['schema']['checkChild'](_0x3ea707,'$text'))return _0x3ea707;}(_0x35d52f,_0x1efc7d),_0x35d52f=_0x3cc9be['createRange'](_0x2841e2));const _0x6d61b3=_0x3cc9be['createRange'](_0x2841e2);_0x1efc7d['markers']['has'](_0x4502f0)?(_0x3cc9be['updateMarker'](_0x4502f0,{'range':_0x35d52f}),_0x3cc9be['updateMarker'](_0x216dd8,{'range':_0x6d61b3})):(_0x3cc9be['addMarker'](_0x4502f0,{'range':_0x35d52f,'usingOperation':!0x0}),_0x3cc9be['addMarker'](_0x216dd8,{'range':_0x6d61b3,'usingOperation':!0x0}));}function E(_0x414cb2,_0x458886,_0x442afb){const _0x562b45=_0x414cb2['t'],t=_0x414cb2['t'];switch(_0x458886){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 _0x562b45({'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'},_0x442afb);default:return'';}}let M=0x1;class l extends _0x3b1a90{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xfd8b2a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,N,_0x491601,_0x4fe278,_0x1dfc1e];}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 _0x42c9b0=this['serverHistory']['getOperations']();for(let _0x3cd933=_0x42c9b0['length']-0x1;_0x3cd933>=0x0;_0x3cd933--){const _0x245e84=_0x42c9b0[_0x3cd933];if(!this['_disconnectionOperations']['has'](_0x245e84))return _0x245e84['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4fb606){if(super(_0x4fb606),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x49f383(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3443e5('collaboration-missing-channelid',this);const _0x34c4fe=_0x4fb606['config']['get']('cloudServices.bundleVersion')||dt;this['_service']=new l['CollaborativeEditingService'](_0x34c4fe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x481af2(),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 W(this['_disconnectionOperations']);}['init'](){const _0x161552=this['editor'],_0x2eeb33=_0x161552['plugins']['get'](_0x4fe278),_0x307231=_0x161552['plugins']['get'](c);this['listenTo'](_0x2eeb33,'getOperationAuthor',(_0x222289,_0x340dec)=>{const _0x2d51d3=_0x340dec[0x0];_0x2d51d3['_authorId']&&(_0x222289['return']=_0x2eeb33['getUser'](_0x2d51d3['_authorId']),_0x222289['stop']()),null===_0x2d51d3['_authorId']&&(_0x222289['return']=null,_0x222289['stop']());},{'priority':'high'}),this['listenTo'](_0x161552['model']['document']['selection'],'change:range',(_0x304100,_0x12bb37)=>{_0x12bb37['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x161552['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x161552['model']['on']('applyOperation',(_0x21977e,_0x52e13d)=>{const _0x89fd53=_0x52e13d[0x0];_0x89fd53['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x89fd53),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x307231,'state',this,'_hasSynchronizationProblem',(_0x3c7724,_0x2619fa)=>'connected'===_0x3c7724&&!_0x2619fa),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x26f74d=this['editor']['plugins']['get'](i),_0x127e28=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x26f74d['unregister'](this['_channelId']);const _0x5abb65=await this['_service']['reconnect'](_0x127e28['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5abb65)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1b72d2=await this['_service']['getConnectedSessions']();_0x26f74d['register'](this['_channelId'],_0x1b72d2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x273888){if(function(_0x355621){return'404'===_0x355621['code'];}(_0x273888)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x31acb9){return'409'===_0x31acb9['code'];}(_0x273888)){const _0x19c7d7=E(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'](_0x19c7d7);}else{if(!(_0x273888 instanceof z))throw _0x273888;this['_handleReconnectionError']();}}}}['destroy'](){const _0x49da24=this['editor']['plugins']['get'](c),_0x18a57a=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x18a57a['channelSessions']['has'](this['_channelId'])&&_0x18a57a['unregister'](this['_channelId']),_0x49da24['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x8c21fc){if(this['sessionId']!==_0x8c21fc['sessionId']&&this['_lastSyncedOperationId']!==_0x8c21fc['lastOperationId'])throw new z();return this['sessionId']=_0x8c21fc['sessionId'],this['_handleServerResponse']([],{..._0x8c21fc,'wereChangesApplied':!0x1,'data':_0x8c21fc['data']},'reconnect');}async['_connectService'](_0x55c562,_0x404220=!0x1){const {connection:_0x26c4e8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x26c4e8,this['_channelId'])['then'](_0x3ba3fc=>this['_initSessionsHandling'](_0x3ba3fc))['catch'](_0x391ba5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x391ba5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x19ebaa,_0x1e1154)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1e1154);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3d38dc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x55c562);this['_isPendingUpdate']=!0x0;const _0x4cfdc7=await this['_service']['connect'](_0x26c4e8,this['_compressOperations'](_0x55c562),_0x3d38dc);if(this['sessionId']=_0x4cfdc7['sessionId'],_0x404220){if(!_0x4cfdc7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4cfdc7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x55c562,_0x4cfdc7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4cfdc7,_0x55c562);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1532dc=this['editor']['plugins']['get'](i),_0x30a1ca=this['editor']['plugins']['get'](N),_0x360b82=_0x1532dc['channelSessions']['get'](this['_channelId']);_0x360b82&&_0x360b82['length']>0x1?_0x30a1ca['createUserMarkerOperations']():this['listenTo'](_0x1532dc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1532dc['channelSessions']['get'](this['_channelId'])['length']&&_0x30a1ca['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1f7ea5,_0x18efab,_0x371152,_0x48e0ea){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x18efab){const _0x306a2e=this['_decompressOperations'](_0x371152,_0x48e0ea);await this['_fetchMissingUsers'](_0x306a2e),this['_handleExternalOperations'](_0x306a2e,_0x18efab,_0x371152['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4fa786}=this['editor'];let _0x46d23c;try{_0x46d23c=await this['_service']['getDocumentDetails']();}catch(_0x3ed00e){const _0x1721b8=E(_0x4fa786,'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'](_0x1721b8);}const _0x67a621=_0x46d23c['currentDocumentSession']||_0x46d23c['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x67a621['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x357774=E(_0x4fa786,'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.');this['_handleReconnectionError'](_0x357774);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x591a5b){const _0x57461e=this['editor']['plugins']['get'](i);this['listenTo'](_0x57461e,'sessionAdd:'+this['_channelId'],(_0x58e5f8,{session:_0x191cd1})=>{if(_0x191cd1['id']===_0x57461e['mySessionId']){_0x58e5f8['off']();const _0x1405ee=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f080=_0x191cd1['permissions'];_0x1405ee&&_0x1405ee['isEnabled']&&(_0x33f080=_0x33f080['filter'](_0x41eb0d=>'document:write'!==_0x41eb0d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f080,this['_channelId']);}}),_0x57461e['register'](this['_channelId'],_0x591a5b);}['_initThrowingOnDataSet'](){const _0x6500b8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x20878d)=>{if(!_0x20878d[_0x20878d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3443e5('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x6500b8['apply'](this['editor']['data'],_0x20878d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xa32651,[_0x5a7933])=>{if(this['_document']['version'])throw new _0x3443e5('realtimecollaborationclient-init-document-already-initialized',this);_0xa32651['stop'](),this['_setPendingAction']();const _0x5796b1=this['editor']['config']['get']('rootsAttributes'),_0x467e88=this['_getOperationsFromInitData'](_0x5a7933,_0x5796b1);0x0==_0x467e88['length']&&_0x467e88['push'](new _0x51c15b(0x0)),_0xa32651['return']=this['_connectService'](_0x467e88)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5c34cb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5c34cb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ecdf9,[_0x4c10f9,_0x4a0056])=>{_0x4ecdf9['stop']();const _0x2a51e6=this['editor']['model']['document']['getRoot'](_0x4c10f9);if(!this['_knownRootNames']['has'](_0x4c10f9)){const _0x2f6f33=_0x4a0056&&_0x4a0056['data']?_0x4a0056['data']:'',_0x4005b6=_0x4a0056&&_0x4a0056['attributes']?_0x4a0056['attributes']:{};await this['_loadRoot'](_0x4c10f9,_0x2f6f33,_0x4005b6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2a51e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2a51e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2d5e0e){const _0x4a9840=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x3eed42}=this['editor']['plugins']['get'](c),_0x28bb33=new Set();for(const _0x5c77e9 of _0x2d5e0e){const _0x530ae3=_0x5c77e9['_authorId'];_0x530ae3&&!_0x4a9840['getUser'](_0x530ae3)&&_0x28bb33['add'](_0x530ae3);}if(0x0===_0x28bb33['size'])return;const _0x5e9e17=await mt['getMany'](_0x3eed42,Array['from'](_0x28bb33));for(const _0x54ae8e of _0x5e9e17)_0x4a9840['getUser'](_0x54ae8e['id'])||_0x4a9840['addUser'](_0x54ae8e);}['_getOperationsFromInitData'](_0x4e3311,_0x327652={}){const _0x3e92b7=this['editor']['model'],_0x298021=[];let _0x1deeeb=0x0;const _0x283131='string'==typeof _0x4e3311?{'main':_0x4e3311}:_0x4e3311;for(const _0x402987 of Object['keys'](_0x283131)){if(!this['_document']['roots']['has'](_0x402987))throw new _0x3443e5('realtimecollaborationclient-init-non-existent-root',this);const _0x2a7b1b=this['editor']['data']['parse'](_0x283131[_0x402987]),_0x18fcd2=this['_document']['getRoot'](_0x402987),_0x583f98=new _0x1b8f90(_0x3e92b7['createPositionAt'](_0x18fcd2,0x0),_0x2a7b1b,_0x1deeeb++);_0x298021['push'](_0x583f98);for(const [_0x4c2e16,_0x255ec0]of _0x2a7b1b['markers']){const _0x288367=_0x3e92b7['createRange'](_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['start']['path']['slice']()),_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['end']['path']['slice']())),_0x1b52ec=new _0x17a7da(_0x4c2e16,null,_0x288367,_0x3e92b7['markers'],!0x0,_0x1deeeb++);_0x298021['push'](_0x1b52ec);}}if(_0x327652)for(const [_0x3e418a,_0x209993]of Object['entries'](_0x327652)){const _0x3831d3=_0x3e92b7['document']['getRoot'](_0x3e418a);if(!_0x3831d3)throw new _0x3443e5('multi-root-editor-root-attributes-no-root',null);for(const [_0x275640,_0x55b22b]of Object['entries'](_0x209993))if(null!==_0x55b22b){const _0x941c48=new _0x44a68e(_0x3831d3,_0x275640,null,_0x55b22b,_0x1deeeb++);_0x298021['push'](_0x941c48);}}return _0x298021;}async['_loadRoot'](_0x2b5783,_0x12f240,_0x4eac92){this['_getOperationsFromInitData']({[_0x2b5783]:_0x12f240},{[_0x2b5783]:_0x4eac92})['forEach']((_0xda459a,_0xb6c7d2)=>{_0xda459a['baseVersion']=this['_document']['version']+_0xb6c7d2,_0xda459a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xda459a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x39044c,_0x5e5be5){let _0x4b49fc;this['_offset']=_0x39044c['offset'];const _0x307984=_0x39044c['wereChangesApplied']&&!_0x39044c['initData'],_0x2b396f=_0x307984?0x0:_0x39044c['data']['baseVersion'];if(_0x5e5be5['forEach'](_0x1e8f0a=>{_0x1e8f0a['_isInit']=!0x0,_0x1e8f0a['createdAt']=_0x39044c['sessionCreatedAt'],_0x1e8f0a['_authorId']=null;}),_0x307984)_0x4b49fc=_0x5e5be5,this['_applyOperationsSet'](_0x4b49fc,_0x307984);else{if(_0x39044c['initData']){const _0x1c6590=this['_getOperationsFromInitData'](_0x39044c['initData']);this['_document']['history']['version']=-_0x1c6590['length'],_0x1c6590['forEach'](_0x3f9770=>{_0x3f9770['baseVersion']-=_0x1c6590['length'],_0x3f9770['createdAt']=_0x39044c['sessionCreatedAt'],_0x3f9770['_isInit']=!0x0,_0x3f9770['_authorId']=null;}),this['_applyOperationsSet'](_0x1c6590,!0x0),this['serverHistory']['version']=-_0x1c6590['length']+this['_offset'],this['_updateServerHistory'](_0x1c6590);}this['_document']['history']['version']=_0x2b396f,_0x4b49fc=this['_decompressOperations'](_0x39044c['data'],_0x39044c['metadata']),await this['_fetchMissingUsers'](_0x4b49fc),this['_applyOperationsSet'](_0x4b49fc,_0x307984);}_0x39044c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4b49fc,_0x39044c['lastOperationId']),this['_lastSyncedOperationId']=_0x39044c['lastOperationId']),this['serverHistory']['version']=_0x2b396f+this['_offset'],this['_updateServerHistory'](_0x4b49fc),_0x5e5be5['filter'](_0x2d9b31=>{const _0x597415=this['_getAffectedRoot'](_0x2d9b31);return _0x597415&&!this['_knownRootNames']['has'](_0x597415);})['forEach']((_0x1bd300,_0x30891b)=>{_0x1bd300['baseVersion']=this['_document']['version']+_0x30891b,this['_saveOperationInBuffer'](_0x1bd300);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2a7dbc,_0xcd85d,_0x1b5e42){throw this['_isPendingUpdate']=!0x0,_0xcd85d&&console['error'](_0xcd85d),_0x1b5e42&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3443e5(_0x2a7dbc,this['editor']);}['_saveOperationInBuffer'](_0x45c8f4){this['_knownOperations']['has'](_0x45c8f4)||(this['_knownOperations']['add'](_0x45c8f4),this['_bufferedOperations']['push'](_0x45c8f4),this['_pendingAction']||'marker'==_0x45c8f4['type']&&!_0x45c8f4['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x11ce07=!0x1){!_0x11ce07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4db03f=>{_0x4db03f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x530dcb=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b075b){return _0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x530dcb)||this['_crash'](_0x530dcb['message'],_0x530dcb,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x447394=>{this['on']('change:_isPendingUpdate',()=>{_0x447394();});});}async['_sendBufferedOperations'](){const _0x2d32b1=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x2d32b1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3bc901=[...this['_bufferedOperations']];for(const _0x3dabba of _0x3bc901)_0x3dabba['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dabba);const _0x35a3a6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3bc901),_0x40d9e9=M++,_0xcc0400=this['_compressOperations'](_0x3bc901),_0x3fa78d=await this['_service']['sendOperations'](_0xcc0400,_0xcc0400['baseVersion'],_0x35a3a6);try{return await this['_handleServerResponse'](_0x3bc901,_0x3fa78d,_0x40d9e9);}catch(_0x4ea29c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4ea29c);}}async['_handleServerResponse'](_0x301704,_0x318fbf,_0x4a8282){if('error'in _0x318fbf)throw _0x318fbf['error'];let _0x439969=!0x1;if(_0x318fbf['wereChangesApplied']){_0x318fbf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x318fbf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x181761=>!_0x301704['includes'](_0x181761));for(const _0x39c6fa of _0x301704)_0x39c6fa['createdAt']='lastOperationAcceptedAt'in _0x318fbf&&_0x318fbf['lastOperationAcceptedAt']||void 0x0;V(_0x301704,_0x318fbf['version']-_0x301704['length']),this['_updateServerHistory'](_0x301704);const _0x482320=_0x301704['filter'](_0x17b2f3=>{if(!_0x17b2f3['_isInit'])return!0x1;const _0x5348d2=this['_getAffectedRoot'](_0x17b2f3);return _0x5348d2&&!this['_knownRootNames']['has'](_0x5348d2);});V(_0x482320,this['_document']['version']),this['_applyOperationsSet'](_0x482320),_0x439969=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4edb3f=this['_decompressOperations'](_0x318fbf['data'],_0x318fbf['metadata'])['filter'](_0x23df2c=>_0x23df2c['baseVersion']>=this['_lastServerVersion']);_0x4edb3f['forEach'](_0x1ae6b3=>this['_addKnownRoot'](_0x1ae6b3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5b7ecb=>!_0x5b7ecb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5b7ecb))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4edb3f),_0x439969=this['_handleExternalOperations'](_0x4edb3f,_0x318fbf['version'],_0x318fbf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x439969?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x17a7e4,_0x5baab1,_0x41645c){try{const _0x3a67ae={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x243791,operationsB:_0x468f9f,originalOperations:_0x4efdcb}=_0x1790a5(_0x17a7e4,this['_bufferedOperations'],_0x3a67ae);V(_0x243791,this['_document']['version']),V(_0x468f9f,_0x5baab1);for(const _0x3e6de2 of _0x243791){const _0x2847b7=_0x4efdcb['get'](_0x3e6de2);_0x3e6de2['_authorId']=_0x2847b7?_0x2847b7['_authorId']:null;}_0x41645c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17a7e4,_0x41645c),this['_lastSyncedOperationId']=_0x41645c),this['_bufferedOperations']=[..._0x468f9f],this['_applyOperationsSet'](_0x243791),this['_updateServerHistory'](_0x17a7e4);}catch(_0x411410){return console['error'](_0x411410),!0x1;}return!0x0;}['_applyOperationsSet'](_0x494f02,_0x120f71=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x419d6f=>{for(const _0x3ed52b of _0x494f02)this['_knownOperations']['add'](_0x3ed52b),this['_addKnownRoot'](_0x3ed52b),_0x419d6f['batch']['addOperation'](_0x3ed52b),this['editor']['model']['applyOperation'](_0x3ed52b);});}['_addKnownRoot'](_0x2f4810){const _0x5f2432=this['_getAffectedRoot'](_0x2f4810);_0x5f2432&&this['_knownRootNames']['add'](_0x5f2432);}['_getAffectedRoot'](_0x2869ca){let _0x4bb83a,_0x3094d1;switch(_0x2869ca['type']){case'insert':_0x4bb83a=_0x2869ca['position']['root'];break;case'marker':if(_0x3094d1=_0x2869ca['newRange'],!_0x3094d1)return null;_0x4bb83a=_0x3094d1['root'];break;case'addRootAttribute':_0x4bb83a=_0x2869ca['root'];break;case'addRoot':_0x4bb83a=_0x2869ca['affectedSelectable'];break;case'move':_0x4bb83a=_0x2869ca['targetPosition']['root'];break;default:return null;}return _0x4bb83a['rootName'];}['_updateServerHistory'](_0xf4c4d9){_0xf4c4d9['forEach'](_0x4f3b8c=>{const _0x481f7d=_0x4f3b8c['clone']();_0x481f7d['_authorId']=_0x4f3b8c['_authorId'],_0x481f7d['_isInit']=!!_0x4f3b8c['_isInit'],_0x481f7d['createdAt']=_0x4f3b8c['createdAt'],_0x481f7d['baseVersion']+=this['_offset'],_0x4f3b8c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x481f7d),this['serverHistory']['addOperation'](_0x481f7d);});}['_handleReconnectionError'](_0x59e9db){const _0x2cb87a=this['editor']['plugins']['get']('Notification'),_0x35f014=this['editor']['locale'];_0x59e9db||(_0x59e9db=E(_0x35f014,'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.')),_0x2cb87a['showWarning'](_0x59e9db,{'title':E(_0x35f014,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x491601)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x491601)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x44ded6){const _0x273d87=_0x44ded6['map'](_0x3c638f=>_0x3c638f['toJSON']());return this['_compressor']['compress'](_0x273d87);}['_decompressOperations'](_0x37010a,_0x569f64){return this['_compressor']['decompress'](_0x37010a)['map']((_0xb64a4c,_0x27597d)=>{const _0x24e606='init'==_0x569f64[_0x27597d]['type'];if('InsertOperation'==_0xb64a4c['__className']){const _0x57b9c4=_0xb64a4c['position']['root'];!this['_document']['getRoot'](_0x57b9c4)&&(this['_document']['createRoot']('$root',_0x57b9c4)['_isAttached']=!0x1);}const _0x20a49f=_0x540e13['fromJSON'](_0xb64a4c,this['_document']);return _0x20a49f['wasUndone']=_0xb64a4c['wasUndone'],_0x20a49f['_isInit']=_0x24e606,_0x20a49f['_authorId']=_0x24e606?null:_0x569f64[_0x27597d]['userId'],_0x20a49f['_isDisconnection']='cs:removeUser'===_0x569f64[_0x27597d]['type'],_0x20a49f['createdAt']=_0x569f64[_0x27597d]['createdAt'],_0x20a49f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5aa1a2=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5aa1a2&&_0x5aa1a2['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function V(_0x126f7a,_0x40eb6f){for(const _0x23591f of _0x126f7a)_0x23591f['baseVersion']=_0x40eb6f++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x36f50e){this['_ignoredOperations']=_0x36f50e,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5cfb83){let _0x1ce9b4=_0x5cfb83['length'];for(;_0x1ce9b4--;){const _0x2e35ae=_0x5cfb83[_0x1ce9b4];if(!this['_ignoredOperations']['has'](_0x2e35ae)){if(!this['_operationToId']['has'](_0x2e35ae)){const _0x36caa5=_0x3831d0()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2e35ae,_0x36caa5);}return this['_operationToId']['get'](_0x2e35ae);}}}['setIdForTheLastOperation'](_0x5135dc,_0x3204fa){if(!_0x3204fa)return;let _0x17edcb=_0x5135dc['length'];for(;_0x17edcb--;){const _0x57fa0a=_0x5135dc[_0x17edcb];this['_ignoredOperations']['has'](_0x57fa0a)||this['_operationToId']['set'](_0x57fa0a,_0x3204fa);}}}class n extends _0x3b1a90{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x375b1b{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3354a4)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e4294){super(_0x2e4294),this['_services']=new Map();}async['init'](){const _0x2729d5=this['context'],_0x1215d6=_0x2729d5['plugins']['get']('CommentsRepository');if(_0x2729d5['plugins']['get'](c)['addToReconnectionStack'](this),_0x1215d6['adapter']={'addCommentThread':async({channelId:_0xd5e649,threadId:_0x51d395,comments:_0x1b012f,resolvedAt:_0x40d5af,resolvedBy:_0xc07d57,context:_0x1b2b56,attributes:_0x478a26})=>{const _0x394e8c=await this['_getService'](_0xd5e649)['addCommentThread']({'commentThreadId':_0x51d395,'comments':_0x1b012f['map'](_0xff77b9=>function(_0x311d79,_0x5b8b68,_0x1c2123){return{'commentThreadId':_0x1c2123,'commentId':_0x311d79['commentId'],'userId':_0x311d79['authorId'],'content':_0x311d79['content'],'documentId':_0x5b8b68,'createdAt':_0x311d79['createdAt'],'attributes':_0x311d79['attributes']||{}};}(_0xff77b9,_0xd5e649,_0x51d395)),'resolvedAt':_0x40d5af,'resolvedBy':_0xc07d57,'context':_0x1b2b56,'attributes':_0x478a26})['catch'](gt);return{'threadId':_0x394e8c['commentThreadId'],'comments':_0x394e8c['comments']};},'getCommentThread':async({channelId:_0x181118,threadId:_0x287a99})=>{const _0x3cc209=await this['_getService'](_0x181118)['getCommentThread'](_0x287a99)['catch'](gt);return _0x3cc209['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3cc209]),{'threadId':_0x3cc209['commentThreadId'],'comments':_0x3cc209['comments']['map'](b),'context':_0x3cc209['context'],'resolvedAt':_0x3cc209['resolvedAt'],'resolvedBy':_0x3cc209['resolvedBy'],'attributes':_0x3cc209['attributes']||{}});},'updateCommentThread':async({channelId:_0x1cb468,threadId:_0x3d205a,context:_0x213a5b,unlinkedAt:_0x37cd38,attributes:_0x236db1})=>this['_getService'](_0x1cb468)['updateCommentThread']({'commentThreadId':_0x3d205a,'context':_0x213a5b,'attributes':_0x236db1,'unlinkedAt':_0x37cd38})['catch'](y)['catch'](gt),'resolveCommentThread':async({channelId:_0x157382,threadId:_0x377f1c})=>{const _0x3a9528=await this['_getService'](_0x157382)['resolveCommentThread'](_0x377f1c)['catch'](y)['catch'](gt);return{'threadId':_0x3a9528['commentThreadId'],'resolvedAt':_0x3a9528['resolvedAt'],'resolvedBy':_0x3a9528['resolvedBy']};},'reopenCommentThread':async({channelId:_0x498b93,threadId:_0x48f5f9})=>this['_getService'](_0x498b93)['reopenCommentThread'](_0x48f5f9)['catch'](y)['catch'](gt),'removeCommentThread':({channelId:_0x25768a,threadId:_0x5515f3})=>this['_getService'](_0x25768a)['removeCommentThread'](_0x5515f3)['catch'](y)['catch'](gt),'addComment':({channelId:_0x114690,threadId:_0x282f6d,commentId:_0x3195e0,content:_0x49cee7,attributes:_0x41d0c8})=>this['_getService'](_0x114690)['addComment'](_0x282f6d,_0x3195e0,_0x49cee7,_0x41d0c8)['catch'](gt),'updateComment':({channelId:_0x11bea2,threadId:_0x26a799,commentId:_0x590238,content:_0x34357a,attributes:_0x3c922f})=>this['_getService'](_0x11bea2)['updateComment'](_0x26a799,_0x590238,_0x34357a,_0x3c922f)['catch'](y)['catch'](gt),'removeComment':({channelId:_0x35599b,threadId:_0x3911a3,commentId:_0x2ae8dd})=>this['_getService'](_0x35599b)['removeComment'](_0x3911a3,_0x2ae8dd)['catch'](y)['catch'](gt)},_0x2729d5 instanceof _0x445727){const _0x51cbb4=_0x2729d5['config']['get']('collaboration.channelId'),_0x16359b=_0x2729d5['plugins']['get'](i);await this['_setUpService'](_0x51cbb4);const _0x1e5099=await this['_services']['get'](_0x51cbb4)['getConnectedSessions']();this['listenTo'](_0x16359b,'sessionAdd:'+_0x51cbb4,(_0x24e609,{session:_0xecbe49})=>{_0xecbe49['id']===_0x16359b['mySessionId']&&(_0x24e609['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xecbe49['permissions'],_0x51cbb4));}),_0x16359b['register'](_0x51cbb4,_0x1e5099);}}async['_setUpService'](_0x313342){if(this['_services']['has'](_0x313342))throw new _0x3443e5('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x313342});const _0x310de3=this['context']['plugins']['get']('CommentsRepository'),_0x5c6b5a=new a['CommentsService'](_0x313342);this['_services']['set'](_0x313342,_0x5c6b5a),this['listenTo'](_0x5c6b5a,'commentThreadAdded',(_0x1510bf,_0x5b9676)=>{const {commentThreadId:_0x1474cb,documentId:_0xe60eeb,context:_0x18aa69,attributes:_0x4bf455,resolvedAt:_0xe55393,resolvedBy:_0x2ec56f,comments:_0xcb8b8e}=_0x5b9676;_0x310de3['getCommentThread'](_0x1474cb)||_0x310de3['addCommentThread']({'threadId':_0x1474cb,'channelId':_0xe60eeb,'comments':_0xcb8b8e?_0xcb8b8e['map'](b):[],'context':_0x18aa69,'attributes':_0x4bf455,'resolvedAt':_0xe55393,'resolvedBy':_0x2ec56f,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadUpdated',(_0x2501c1,{commentThreadId:_0x55a263,documentId:_0x35cc4c,context:_0x48273a,unlinkedAt:_0xfd57d,attributes:_0xf7e017})=>{_0x310de3['getCommentThread'](_0x55a263)&&_0x310de3['updateCommentThread']({'threadId':_0x55a263,'channelId':_0x35cc4c,'context':_0x48273a,'unlinkedAt':_0xfd57d,'attributes':_0xf7e017,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadResolved',(_0x4e48b9,{commentThreadId:_0x37b6ab,resolvedBy:_0x517b40,resolvedAt:_0x5e0f22})=>{const _0x2060f0=_0x310de3['getCommentThread'](_0x37b6ab);_0x2060f0&&_0x2060f0['resolve']({'resolvedBy':_0x517b40,'resolvedAt':_0x5e0f22,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadReopened',(_0x17ef2a,{commentThreadId:_0x15875d})=>{const _0x32ccdd=_0x310de3['getCommentThread'](_0x15875d);_0x32ccdd&&_0x32ccdd['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadRemoved',(_0x5b5237,{commentThreadId:_0xf71d98})=>{const _0x155156=_0x310de3['getCommentThread'](_0xf71d98);_0x155156&&_0x155156['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentAdded',(_0x35fe27,_0x3187cc)=>{const _0x550259=_0x3187cc['commentThreadId'],_0x2c08cb=_0x310de3['getCommentThread'](_0x550259);_0x2c08cb&&_0x2c08cb['addComment']({...b(_0x3187cc),'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentUpdated',(_0x40a9d3,{commentThreadId:_0x42c4d8,commentId:_0x1a2b4f,content:_0x1d330,attributes:_0x56ea18})=>{const _0x4a1619=_0x310de3['getCommentThread'](_0x42c4d8);if(_0x4a1619){const _0x9d5491=_0x4a1619['getComment'](_0x1a2b4f);_0x9d5491&&_0x9d5491['update']({'content':_0x1d330,'attributes':_0x56ea18,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5c6b5a,'commentRemoved',(_0x2a4944,{commentThreadId:_0x2bd65a,commentId:_0x40a5f6})=>{const _0x47cfe5=_0x310de3['getCommentThread'](_0x2bd65a);if(_0x47cfe5){const _0x39a891=_0x47cfe5['getComment'](_0x40a5f6);_0x39a891&&_0x39a891['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x313342);}['destroy'](){if(this['context']instanceof _0x445727){const _0x55f468=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x55f468);}}['_terminateService'](_0x2a0ddd){if(!this['_services']['has'](_0x2a0ddd))throw new _0x3443e5('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2a0ddd});this['_getService'](_0x2a0ddd)['disconnect'](),this['_services']['delete'](_0x2a0ddd);}async['reconnect'](){for(const _0x2ce61e of this['_services']['keys']())await this['_connectService'](_0x2ce61e);if(this['context']instanceof _0x445727){const _0x328d44=this['context']['config']['get']('collaboration.channelId'),_0x4785b3=this['context']['plugins']['get'](i);_0x4785b3['unregister'](_0x328d44);const _0x4d80c2=await this['_services']['get'](_0x328d44)['getConnectedSessions']();_0x4785b3['register'](_0x328d44,_0x4d80c2);}}async['_connectService'](_0x3fd4c6){const {connection:_0x55652d}=this['context']['plugins']['get'](c),_0x307db2=this['context']['plugins']['get']('CommentsRepository'),_0x64e4be=this['_services']['get'](_0x3fd4c6),_0x155268=await _0x64e4be['connect'](_0x55652d);await this['_fetchMissingUsersForThreads'](_0x155268);const _0x452cc6=new Set(Array['from'](_0x307db2['getCommentThreads']({'channelId':_0x3fd4c6}),_0x5260df=>_0x5260df['id']));for(const _0x182292 of _0x155268)_0x182292['deletedAt']||_0x452cc6['delete'](_0x182292['commentThreadId']);for(const _0x37062b of _0x452cc6)_0x307db2['getCommentThread'](_0x37062b)['remove']({'isFromAdapter':!0x0});for(const _0x189978 of _0x155268){let _0x20805f=_0x307db2['getCommentThread'](_0x189978['commentThreadId']);const {commentThreadId:_0x1d72b4,context:_0x786ede,attributes:_0x52f059,resolvedBy:_0xa65230,resolvedAt:_0x1d729e,unlinkedAt:_0x14a6eb,deletedAt:_0x14f127}=_0x189978;if(_0x14f127)continue;_0x20805f||(_0x20805f=_0x307db2['addCommentThread']({'channelId':_0x3fd4c6,'threadId':_0x1d72b4,'context':_0x786ede,'attributes':_0x52f059||{},'resolvedBy':_0xa65230,'resolvedAt':_0x1d729e,'unlinkedAt':_0x14a6eb,'isFromAdapter':!0x0}));const _0xccb9d7=new Set(Array['from'](_0x20805f['comments'],_0x2ae594=>_0x2ae594['id']));for(const _0x26e501 of _0x189978['comments'])_0xccb9d7['delete'](_0x26e501['commentId']);for(const _0x2ecda8 of _0xccb9d7)_0x20805f['getComment'](_0x2ecda8)['remove']({'isFromAdapter':!0x0});for(const _0x1703ec of _0x189978['comments']){const _0x3d7573=_0x20805f['getComment'](_0x1703ec['commentId']);_0x3d7573?_0x3d7573['content']!==_0x1703ec['content']&&_0x3d7573['update']({'content':_0x1703ec['content'],'isFromAdapter':!0x0}):_0x20805f['addComment'](Object['assign'](b(_0x1703ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0xf99476){if(!this['_services']['has'](_0xf99476))throw new _0x3443e5('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xf99476});return this['_services']['get'](_0xf99476);}async['_fetchMissingUsersForThreads'](_0x152968){const _0x5d61b9=this['context']['plugins']['get'](_0x4fe278),{connection:_0x1c69df}=this['context']['plugins']['get'](c),_0x5d4c37=new Set();for(const {resolvedBy:_0x2cb039,comments:_0x13fb75}of _0x152968){_0x2cb039&&!_0x5d61b9['getUser'](_0x2cb039)&&_0x5d4c37['add'](_0x2cb039);for(const {userId:_0x428df0}of _0x13fb75)_0x5d61b9['getUser'](_0x428df0)||_0x5d4c37['add'](_0x428df0);}if(0x0===_0x5d4c37['size'])return;const _0x4e6292=await mt['getMany'](_0x1c69df,Array['from'](_0x5d4c37));for(const _0x5beabf of _0x4e6292)_0x5d61b9['getUser'](_0x5beabf['id'])||_0x5d61b9['addUser'](_0x5beabf);}}async function y(_0x588aed){if('404'!==_0x588aed['code'])throw _0x588aed;}function gt(_0x4732ac){if((_0x443bbb=_0x4732ac)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x443bbb;throw _0x4732ac;}function b(_0x2a138c){return{'threadId':_0x2a138c['commentThreadId'],'commentId':_0x2a138c['commentId'],'content':_0x2a138c['content'],'createdAt':_0x2a138c['createdAt'],'authorId':_0x2a138c['userId'],'attributes':_0x2a138c['attributes']||{}};}class f extends _0x3b1a90{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>nt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51bdc5){super(_0x51bdc5);const _0x313212=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x313212);}['init'](){const _0x4d560c=this['editor']['plugins']['get'](c),_0x48f063=this['editor']['plugins']['get']('TrackChangesEditing');return _0x48f063['adapter']={'getSuggestion':async _0x2a5313=>{await this['_waitForServiceReady']();const _0x1db4bc=await this['_trackChangesService']['get'](_0x2a5313)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x1db4bc]),_0x1db4bc;},'addSuggestion':async({id:_0x7c794f,type:_0x467829,data:_0x152474,originalSuggestionId:_0x591548,attributes:_0x129858})=>{await this['_waitForServiceReady']();const _0x3cda3e={'id':_0x7c794f,'type':_0x467829,'data':_0x152474,'originalSuggestionId':_0x591548,'attributes':_0x129858},_0x5f0de4=await this['_trackChangesService']['add'](_0x7c794f,_0x467829,_0x152474,_0x591548,_0x129858)['catch'](_0x149c3f=>{if(wt(_0x149c3f))return new Promise(_0x495f8a=>{this['_bufferedRequests']['set'](_0x7c794f,{'resolve':_0x495f8a,'suggestionData':_0x3cda3e});});throw _0x149c3f;});return this['_bufferedRequests']['delete'](_0x7c794f),_0x5f0de4;},'updateSuggestion':async(_0x2191ce,_0x483227)=>{if(await this['_waitForServiceReady'](),'open'!==_0x483227['state'])return this['_trackChangesService']['update'](_0x2191ce,_0x483227)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x56ab3b,_0x4cdcb7)=>{_0x48f063['hasSuggestion'](_0x4cdcb7['id'])&&(_0x48f063['getSuggestion'](_0x4cdcb7['id'])['attributes']=_0x4cdcb7['attributes']);}),this['_trackChangesService']['connect'](_0x4d560c['connection'])['then'](_0x38be6b=>(_0x4d560c['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x38be6b)['then'](()=>{for(const _0x19eac3 of _0x38be6b){_0x48f063['addSuggestionData'](_0x19eac3)['_saved']=!0x0;}})));}async['reconnect'](){const _0xd01241=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1e21b0}=this['editor']['plugins']['get'](c),_0x14fc60=await this['_trackChangesService']['connect'](_0x1e21b0);await this['_fetchMissingUsersForThreads'](_0x14fc60);for(const {suggestionData:_0x3b4c45,resolve:_0x5e426c}of this['_bufferedRequests']['values']()){let _0x20798f=_0x14fc60['find'](_0x337e9c=>_0x337e9c['id']===_0x3b4c45['id']);_0x20798f||(_0x20798f=await this['_trackChangesService']['add'](_0x3b4c45['id'],_0x3b4c45['type'],_0x3b4c45['data'],_0x3b4c45['originalSuggestionId'])),_0x5e426c(_0x20798f);}for(const _0x218afc of _0x14fc60)_0xd01241['hasSuggestion'](_0x218afc['id'])||_0xd01241['addSuggestionData'](_0x218afc);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x9b154a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x829ca0=>{_0x829ca0['off'](),_0x9b154a();});});}async['_fetchMissingUsersForThreads'](_0x27442f){const _0x1654c7=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x4a82ed}=this['editor']['plugins']['get'](c),_0xd8d4dc=new Set();for(const {authorId:_0x268971}of _0x27442f)_0x1654c7['getUser'](_0x268971)||_0xd8d4dc['add'](_0x268971);if(0x0===_0xd8d4dc['size'])return;const _0x3249a1=await mt['getMany'](_0x4a82ed,Array['from'](_0xd8d4dc));for(const _0xef079 of _0x3249a1)_0x1654c7['getUser'](_0xef079['id'])||_0x1654c7['addUser'](_0xef079);}}function w(_0x226313){if(wt(_0x226313))return new Promise(()=>{});throw _0x226313;}function wt(_0x4a96e2){return _0x4a96e2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a96e2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x3b1a90{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1b98b1=this['editor']['plugins']['get'](c),_0x3526aa=this['editor']['plugins']['get']('CommentsEditing'),_0x5d6bf2=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1b98b1,'change:state',(_0x32c166,_0x45ac29,_0x1b98b5)=>{_0x3526aa['isThreadsLoadingPaused']='connected'!==_0x1b98b5;});}),this['listenTo'](_0x1b98b1,'change:state',(_0x15178f,_0xeb51fb,_0x546cfa)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x546cfa);}),_0x5d6bf2['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x3b1a90{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x3b1a90{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x141eee)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5160a3){super(_0x5160a3);const _0x520633=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x520633);}async['init'](){const _0x1e69e8=this['editor']['plugins']['get'](l),_0x23903e=_0x1e69e8['serverHistory'],_0x2b3d2f=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x23903e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1e69e8['sessionId']});const _0x3b69e7=this['editor']['config']['get']('cloudServices.bundleVersion')||dt,_0x12a74c=await _0x132f7f['isBundleUploaded'](_0x2b3d2f['connection'],_0x3b69e7);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4a53c6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4a53c6)),'updateRevisions':async _0x769f13=>{await this['_waitForServiceReady']();const _0x3969ee=this['_revisionTracker']['currentRevision'];if(_0x12a74c&&0x1===_0x769f13['length']&&_0x769f13[0x0]['id']===_0x3969ee['id'])return _0x769f13;for(const _0x31136e of _0x769f13)_0x31136e['id']===_0x3969ee['id']&&(_0x31136e['isEmptyCurrent']=_0x31136e['fromVersion']===_0x31136e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x769f13,this['_lastRequestId'])['then'](_0x40f064=>(this['_lastRequestId']=_0x40f064,_0x769f13))['catch'](_0x49f9c5=>{if(X(_0x49f9c5)||'400'===_0x49f9c5['code']&&void 0x0!==_0x49f9c5['data']['wrongRequestId']){for(const _0x177a73 of _0x769f13){!this['_revisionTracker']['repository']['getRevision'](_0x177a73['id'])||this['_revisionTracker']['_bufferUpdate'](_0x177a73['id'],_0x177a73,!0x1);}if(X(_0x49f9c5))throw _0x49f9c5;return _0x769f13;}throw _0x49f9c5;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2cb35e,{revisionsData:_0xafe875,requestId:_0x1985b0})=>{Math['max'](..._0xafe875['map'](_0x24bf3b=>_0x24bf3b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);}):this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);});const {revisions:_0x59d0b6,requestId:_0x325554}=await this['_revisionHistoryService']['connect'](_0x2b3d2f['connection']);_0x2b3d2f['addToReconnectionStack'](this),this['_lastRequestId']=_0x325554,await this['_fetchMissingUsers'](_0x59d0b6);for(const _0x12ef1e of _0x59d0b6)this['_revisionTracker']['addRevisionData'](_0x12ef1e);this['listenTo'](_0x1e69e8,'change:_isConnected',(_0x4169ed,_0x1e614b,_0x29c3a0)=>{_0x29c3a0&&(this['_oldOffset']=_0x1e69e8['_offset'],_0x4169ed['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2b3d2f,'state',_0x488b5e=>_0x488b5e===_0x51d08e['CONNECTED']);}async['reconnect'](){const _0x13a0aa=this['editor']['plugins']['get'](c),_0x5b2803=this['editor']['plugins']['get'](l),_0x147e05=async()=>{const _0x2d01c7=this['_revisionTracker']['currentRevision'],_0xae1ab3=_0x2d01c7['id'],_0x30658=_0xae1ab3!==_0x5b2803['sessionId'];if(_0x30658){const _0x3219e5=_0x5b2803['_offset']-this['_oldOffset'],_0x10fd77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d01c7['toVersion']+_0x3219e5!==_0x10fd77){const _0x58c2e7=_0x2d01c7['fromVersion']+_0x3219e5,_0x3de5cc=this['editor']['plugins']['get'](_0x4fe278),_0x34f40d=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d01c7,'from':_0x58c2e7,'to':_0x10fd77});_0x34f40d['id']=_0x2d01c7['id'];const _0x1d711a=_0x34f40d['authorsIds']['map'](_0x4770a1=>_0x3de5cc['getUser'](_0x4770a1));_0x2d01c7['_update']({..._0x34f40d,'authors':_0x1d711a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d01c7['id'],_0x34f40d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x10fd77,(_0x2d01c7['toVersion']===_0x2d01c7['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xae1ab3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xae1ab3),this['_revisionTracker']['_createCurrentRevision'](_0x10fd77));}const {revisions:_0x5a0563,requestId:_0x17ac98}=await this['_revisionHistoryService']['reconnect'](_0x13a0aa['connection'],this['_lastRequestId']);_0x30658&&_0x5a0563['length']>0x0?_0x5b2803['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5a0563),this['_handleRevisionsUpdate'](_0x5a0563,_0x17ac98),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5b2803['_isConnected']?_0x147e05():new Promise((_0x51ceff,_0x1a159c)=>{_0x5b2803['once']('change:_isConnected',()=>{_0x147e05()['then'](_0x51ceff)['catch'](_0x1a159c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x7a515f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4e666c=>{_0x4e666c['off'](),_0x7a515f();});});}['_getLatestVersionFromServerOperations'](){const _0x5073f8=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2c101f of _0x5073f8)if('marker'!==_0x2c101f['type']||_0x2c101f['affectsData'])return _0x2c101f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x29b394=this['editor']['plugins']['get'](l);return new Promise(_0x38feb7=>{_0x29b394['_isPendingUpdate']?_0x29b394['once']('change:_isPendingUpdate',()=>{_0x38feb7(this['_getLatestVersionFromServerOperations']());}):_0x38feb7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4a174e,_0xe11f){const _0x536281=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xe11f;for(const _0x3af240 of _0x4a174e){const _0x471cc2=_0x536281['getRevision'](_0x3af240['id']);if(_0x471cc2){if((_0x3af240['fromVersion']||_0x3af240['toVersion'])&&(_0x3af240['diffData']=null),_0x471cc2===this['_revisionTracker']['currentRevision']){const _0x69b19e=Math['max'](_0x471cc2['toVersion'],_0x3af240['toVersion']),_0x5737cc=Math['max'](_0x471cc2['fromVersion'],_0x3af240['fromVersion']);let _0x1f6e48;_0x471cc2['toVersion']===_0x3af240['toVersion']&&_0x471cc2['fromVersion']===_0x3af240['fromVersion']?(_0x1f6e48=!0x0,this['_preventResendingRevisionData'](_0x3af240)):_0x3af240['toVersion']===_0x69b19e&&_0x3af240['fromVersion']===_0x5737cc?_0x1f6e48=!0x1:(_0x471cc2['toVersion']===_0x69b19e&&_0x471cc2['fromVersion']===_0x5737cc||this['_fixRevision']({'revision':_0x471cc2,'from':_0x5737cc,'to':_0x69b19e}),_0x1f6e48=!0x0),_0x1f6e48&&(delete _0x3af240['fromVersion'],delete _0x3af240['toVersion'],delete _0x3af240['diffData'],delete _0x3af240['createdAt'],delete _0x3af240['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3af240),this['_preventResendingRevisionData'](_0x3af240);}else this['_revisionTracker']['addRevisionData'](_0x3af240);}const _0x3e61b0=_0x536281['getRevisions']();_0x3e61b0['reverse']();for(let _0x23a35b=0x0;_0x23a35b<_0x3e61b0['length']-0x1;_0x23a35b++){const _0x31e4d9=_0x3e61b0[_0x23a35b],_0x1eafd1=_0x3e61b0[_0x23a35b+0x1];if(_0x31e4d9['fromVersion']<_0x1eafd1['toVersion']){const _0x2db3dc=_0x1eafd1['toVersion'],_0x1b997c=Math['max'](_0x2db3dc,_0x31e4d9['toVersion']);this['_fixRevision']({'revision':_0x31e4d9,'from':_0x2db3dc,'to':_0x1b997c});}}}['_fixRevision']({revision:_0x2bd86c,from:_0x2297b1,to:_0x1c6b10}={}){const _0x166733=this['editor']['plugins']['get'](_0x4fe278),_0x159b0a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2bd86c,'from':_0x2297b1,'to':_0x1c6b10});_0x159b0a['authors']=_0x159b0a['authorsIds']['map'](_0x18f49a=>_0x166733['getUser'](_0x18f49a)),_0x2bd86c['_update'](_0x159b0a);}['_preventResendingRevisionData'](_0x242191){const _0x45e917={};_0x45e917['id']=_0x242191['id'];for(const _0x51acce of Object['keys'](_0x242191))'id'!==_0x51acce&&(_0x45e917[_0x51acce]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x45e917['id'],_0x45e917,!0x0);}async['_fetchMissingUsers'](_0x139f5c){const _0x203668=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x2232fa}=this['editor']['plugins']['get'](c),_0x2136ad=new Set();for(const _0x3af32f of _0x139f5c){for(const _0x569c90 of _0x3af32f['authorsIds'])_0x370b90(_0x569c90);_0x3af32f['creatorId']&&_0x370b90(_0x3af32f['creatorId']);}if(0x0===_0x2136ad['size'])return;const _0x64b8ba=await mt['getMany'](_0x2232fa,Array['from'](_0x2136ad));for(const _0x250f92 of _0x64b8ba)_0x203668['getUser'](_0x250f92['id'])||_0x203668['addUser'](_0x250f92);function _0x370b90(_0x549b21){_0x203668['getUser'](_0x549b21)||_0x2136ad['add'](_0x549b21);}}}function X(_0x25ab06){return _0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3b1a90{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x360a48{constructor(_0x3e8753){super(_0x3e8753);const _0x3ef9e3=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3ef9e3['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3ef9e3['to']('usersCount',_0x26d52=>E(_0x3e8753,'CONNECTED_USERS',_0x26d52))}]});}}class es extends _0x360a48{['items'];['keystrokes'];constructor(_0x5a307f){super(_0x5a307f);const _0x1779fd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x23d333(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1779fd['if']('hasPopup'),'aria-expanded':_0x1779fd['to']('isExpanded',_0x4f1483=>this['hasPopup']&&String(_0x4f1483)),'aria-label':_0x1779fd['to']('hasPopup',_0x4c0050=>E(_0x5a307f,_0x4c0050?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1779fd['to']('hasPopup',_0x238632=>!!_0x238632&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x1779fd['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x4b71ff,_0x567fc0,_0x149b24)=>{this['element']&&(_0x149b24?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 it extends _0x360a48{['counterView'];['inlineListView'];constructor(_0x311d35){super(_0x311d35);const _0x11c623=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x311d35),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x160cf4 of this['inlineListView']['items'])_0x160cf4['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',_0x11c623['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class et extends _0x360a48{['listWrapperView'];constructor(_0x1ef629,_0x41e970){super(_0x1ef629),this['listWrapperView']=new vt(_0x1ef629,_0x41e970),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x1ef629,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x5b2324{constructor(_0x380b5c,_0x825807){super(_0x380b5c);const _0x6bd9be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x825807?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x6bd9be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x6bd9be['to']('role'),'aria-label':_0x6bd9be['to']('ariaLabel'),'aria-labelledby':_0x6bd9be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3b8f5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3eecac=this['element'];_0x3eecac&&(this['_isScrollable']=Math['max'](_0x3eecac['scrollHeight'],_0x3eecac['clientHeight'])>0.8*window['innerHeight']);}}class ht extends ct{['userView'];constructor(_0x284254,_0x165615,_0x40ff81){super(_0x284254);const _0x16f7c4=this['bindTemplate'];this['userView']=new at(_0x284254,_0x165615);const _0xfe9812={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165615['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165615['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165615['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x40ff81&&(_0xfe9812['tag']='button',_0xfe9812['on']={'click':_0x16f7c4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfe9812);}['focus'](){this['element']['focus']();}}class rt extends _0x360a48{['userView'];['markerView'];constructor(_0x2a1d0e,_0x22a331,_0x3f871a){super(_0x2a1d0e);const _0x396ad9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x2a1d0e,_0x22a331),this['markerView']=new pt(_0x2a1d0e,_0x22a331);const _0x36c8b0=new lt(_0x2a1d0e);_0x36c8b0['template']['tag']='span',_0x36c8b0['text']=_0x22a331['name'];const _0x5de156={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x396ad9['to']('isFocusable',_0x588cef=>!!_0x588cef&&0x0),'aria-labelledby':_0x36c8b0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x396ad9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x396ad9['to']('hasTooltip',_0x515e6e=>!_0x515e6e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x36c8b0]};_0x3f871a&&(_0x5de156['tag']='button',_0x5de156['on']={'click':_0x396ad9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5de156);}}class pt extends _0x360a48{constructor(_0x3c63b1,_0x50c504){super(_0x3c63b1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x50c504['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ot={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x375b1b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4f31bb){super(_0x4f31bb),this['context']['config']['define']('presenceList',ot);const _0x5c93bd=_0x4f31bb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5c93bd)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);if(_0x5c93bd<0x1)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2718c8(),this['balloonPanelView']=new _0x2ae021(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x574fd6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x574fd6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x194765,_0x512b5d)=>{this['_handleUserAdd'](_0x512b5d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1630a8,_0x42dcbd)=>{this['_handleUserRemove'](_0x42dcbd);});}['_createView'](){const _0x27b430=this['context'],_0x4f9018=new it(this['context']['locale']),_0x1a0581=this['balloonPanelView'];if(!st(_0x27b430['config']['get']('presenceList.container')))throw new _0x3443e5('presencelist-missing-container',this);return _0x4f9018['counterView']['bind']('usersCount')['to'](this),_0x4f9018['bind']('isCollapsed')['to'](this,'usersCount',_0x3d78bc=>{const {collapseAt:_0x7ab8df,displayMe:_0x1367e0}=_0x27b430['config']['get']('presenceList'),_0x180c86=_0x3d78bc>=_0x7ab8df;return _0x4f9018['counterView']['isHidden']=!(0x1==_0x3d78bc&&_0x1367e0||_0x180c86),_0x180c86||this['hideDropdown'](),_0x180c86;}),_0x4f9018['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1aa5fc=>{const _0x518643=_0x27b430['config']['get']('presenceList'),_0x2a32f9=new rt(_0x27b430['locale'],_0x1aa5fc,!!_0x518643['onClick']);return _0x2a32f9['bind']('hasTooltip')['to'](_0x4f9018,'isCollapsed',_0x26afd5=>!_0x26afd5),_0x2a32f9['bind']('isFocusable')['to'](_0x4f9018,'isCollapsed',_0x194cf1=>!_0x194cf1),_0x518643['onClick']&&this['listenTo'](_0x2a32f9,'execute',()=>{this['view']['isCollapsed']||_0x518643['onClick'](_0x1aa5fc,_0x2a32f9['element']);}),_0x2a32f9;}),this['listenTo'](_0x4f9018['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x4f9018['inlineListView']['keystrokes']['set']('Enter',(_0x395c6b,_0x318806)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x318806());}),_0x4f9018['render'](),_0x1a0581['render'](),_0x25d192({'emitter':_0x4f9018,'activator':()=>_0x1a0581['isVisible'],'contextElements':[_0x1a0581['element'],_0x4f9018['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27b430['config']['get']('presenceList.container')['appendChild'](_0x4f9018['element']),this['_bodyCollection']=new tt(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4f9018;}['_handleUserAdd'](_0x204875){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x204875['isMe'])return;const _0xce857e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0xce857e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4959a4=_0x204875['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x204875,_0x4959a4);}['_handleUserRemove'](_0x3de51c){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3de51c['id'])&&(this['currentDisplayedUsers']['remove'](_0x3de51c['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x384153 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x384153['id']))return void this['currentDisplayedUsers']['add'](_0x384153,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1fc93a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new et(this['context']['locale'],!!_0x1fc93a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x2f675e}=this['presenceDropdownView'];_0x2f675e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2358b8=>{if(!_0x1fc93a['displayMe']&&_0x2358b8['isMe'])return null;const _0x238a20=new ht(this['context']['locale'],_0x2358b8,!!_0x1fc93a['onClick']);return _0x1fc93a['onClick']&&this['listenTo'](_0x238a20,'execute',()=>{_0x1fc93a['onClick'](_0x2358b8,_0x238a20['element']);}),_0x238a20;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2f675e['focus'](),_0x2f675e['checkIfScrollable']();const _0x521675=(_0x437be6,_0x1e793b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e793b();};_0x2f675e['keystrokes']['set']('Esc',_0x521675),_0x2f675e['keystrokes']['set']('Shift+Tab',_0x521675),_0x2f675e['keystrokes']['set']('Tab',(_0x37c95b,_0x5a4f50)=>{!function(_0x4bd00d){const _0x11f19f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xe64dce=>_0xe64dce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x586776=[...document['body']['querySelectorAll'](_0x11f19f)]['filter'](_0x5d3a58=>_0x5d3a58===document['activeElement']||_0x5d3a58['offsetWidth']+_0x5d3a58['offsetHeight']>0x0)['sort']((_0x1a8640,_0x512a9f)=>(_0x1a8640['tabIndex']||0x0)-(_0x512a9f['tabIndex']||0x0)),_0x173953=_0x586776['indexOf'](_0x4bd00d),_0x3ee3cf=_0x586776[(_0x173953+0x1)%_0x586776['length']];_0x3ee3cf&&_0x3ee3cf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5a4f50();}),_0x2f675e['focusTracker']['add'](this['view']['element']),_0x2f675e['focusTracker']['on']('change:isFocused',(_0x1828ff,_0x351ccc,_0x178ffd)=>{_0x178ffd||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 s extends _0x375b1b{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
@@ -25,6 +25,18 @@ export default class CloudServicesRevisionHistoryAdapter extends Plugin implemen
25
25
  * @inheritDoc
26
26
  */
27
27
  static get requires(): readonly [typeof WebSocketGateway, typeof RealTimeCollaborationClient, "RevisionTracker", typeof Sessions, typeof Users];
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get pluginName(): "CloudServicesRevisionHistoryAdapter";
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isOfficialPlugin(): true;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ static get isPremiumPlugin(): true;
28
40
  /**
29
41
  * @inheritDoc
30
42
  */