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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 _0x39d5da,Plugin as _0x27d590,PendingActions as _0x19f112,Context as _0x5bfadf}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x33556b,CKEditorError as _0x1b7f9d,Collection as _0x5537fa,global as _0x31082d,version as dt,uid as _0x40aeaa,KeystrokeHandler as _0x127892}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x362261,View as _0x223bed,ListView as _0x6c055f,ListItemView as ct,LabelView as lt,BalloonPanelView as tt,clickOutsideHandler as _0x4367c7,BodyCollection as st}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x8e518f,NoOperation as _0x33216c,InsertOperation as _0x2522c2,MarkerOperation as _0x5d0fef,RootAttributeOperation as _0x46ec06,transformSets as _0x5b6935,OperationFactory as _0x35f2d5}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x151d50,CollaborativeEditingService as _0xe5ae00,User as mt,CommentsService as _0x1c0992,TrackChangesService as _0x309631,RevisionHistoryService as _0x1d8807,EditorService as _0x35e74c}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x59a1a9,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4d8a5d}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as it}from'lodash-es';class c extends _0x39d5da{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x362261];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3375d8){super(_0x3375d8),this['set']('state',_0x151d50['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x33556b);}['init'](){const _0x2a09ac=this['context'],_0x415330=_0x2a09ac['plugins']['get']('CloudServices'),_0x51df11=_0x2a09ac['plugins']['get'](_0x362261);if(!_0x415330['token'])throw new _0x1b7f9d('websocketgateway-missing-token',this);if(!_0x415330['webSocketUrl'])throw new _0x1b7f9d('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'](_0x415330['token'],_0x415330['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x209ea8=>{if(this['connection']=_0x209ea8,this['bind']('state')['to'](_0x209ea8,'state',this,'_isBrowserOffline',(_0x199148,_0x3bad9e)=>('connected'!==_0x199148&&(this['_shouldPluginsReconnect']=!0x0),_0x3bad9e||_0x199148!==_0x151d50['CONNECTED']?_0x151d50['DISCONNECTED']:this['state']==_0x151d50['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x151d50['CONNECTING']):_0x151d50['CONNECTED'])),this['connection']['on']('error',(_0xc23a0,_0x4ec1e9)=>{if('limitExceeded'!==_0x4ec1e9['code'])throw console['error'](_0x4ec1e9),new _0x1b7f9d('cloudservices-init',null,{'originalError':_0x4ec1e9});_0x51df11['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'});}),!_0x209ea8['me'])return new Promise(_0x50a6d1=>_0x209ea8['on']('change:me',_0x50a6d1));})['catch'](_0x305d5f=>{throw console['error'](_0x305d5f),new _0x1b7f9d('cloudservices-init',null,{'originalError':_0x305d5f});});}['addToReconnectionStack'](_0x45f00a){if('function'!=typeof _0x45f00a['reconnect'])throw new _0x1b7f9d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x45f00a))throw new _0x1b7f9d('websocketgateway-plugin-already-registered',this,{'name':_0x45f00a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x45f00a);}['removeFromReconnectionStack'](_0x5553f4){this['_reconnectionStack']['delete'](_0x5553f4);}['isInReconnectionStack'](_0x552d62){return this['_reconnectionStack']['has'](_0x552d62);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xdfaa54=>_0xdfaa54['reconnect']())))['then'](()=>this['state']=_0x151d50['CONNECTED'])['catch'](_0x57d6a2=>{throw console['error'](_0x57d6a2),new _0x1b7f9d('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x151d50['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x39d5da{['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,_0x59a1a9];}constructor(_0xe95990){super(_0xe95990),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5537fa(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x59a1a9);}['init'](){const _0x26cd45=this['context']['plugins']['get'](c);this['listenTo'](_0x26cd45,'change:state',(_0x21879b,_0x3f5834,_0x5a3fd8)=>{if('connected'!==_0x5a3fd8)this['channelSessions']['forEach'](_0x44366b=>_0x44366b['clear']()),this['channelConnectedUsers']['forEach'](_0x55724c=>_0x55724c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xd74cd,_0x4cb996]of this['_registeredSessions'])for(const _0xc297f3 of _0x4cb996)this['_handleSessionAdd'](_0xd74cd,_0xc297f3);}}),this['_createUser'](_0x26cd45['connection']['me'],!0x0);}['register'](_0x5dea34,_0x47b944){if(this['_registeredSessions']['has'](_0x5dea34))throw new _0x1b7f9d('sessions-register-already-registered',null,{'channelId':_0x5dea34});this['_registeredSessions']['set'](_0x5dea34,_0x47b944),this['channelSessions']['set'](_0x5dea34,new _0x5537fa()),this['channelConnectedUsers']['set'](_0x5dea34,new _0x5537fa()),this['listenTo'](_0x47b944,'add',(_0x27342e,_0x313d17)=>this['_handleSessionAdd'](_0x5dea34,_0x313d17)),this['listenTo'](_0x47b944,'remove',(_0x538d66,_0xbc50dd)=>this['_handleSessionRemove'](_0x5dea34,_0xbc50dd));for(const _0x8b80cc of _0x47b944)this['_handleSessionAdd'](_0x5dea34,_0x8b80cc);}['unregister'](_0x5ae613){if(!this['_registeredSessions']['has'](_0x5ae613))throw new _0x1b7f9d('sessions-unregister-not-exist',null,{'channelId':_0x5ae613});const _0x481e0f=this['_registeredSessions']['get'](_0x5ae613);this['stopListening'](_0x481e0f);for(const _0x35f0cf of _0x481e0f)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x5ae613,_0x35f0cf);this['_registeredSessions']['delete'](_0x5ae613),this['channelSessions']['delete'](_0x5ae613),this['channelConnectedUsers']['delete'](_0x5ae613);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0xd648c1){for(const _0x5d5518 of this['channelSessions']['values']())for(const _0x11f888 of _0x5d5518)if(_0x11f888['id']===_0xd648c1)return _0x11f888['user'];}['getUserSessions'](_0x5d30eb,_0x3d152){const _0x13e980=_0x3d152?[this['channelSessions']['get'](_0x3d152)]:this['channelSessions']['values'](),_0x103933=new Set();for(const _0x3cef0c of _0x13e980)for(const _0x2d6524 of _0x3cef0c)_0x2d6524['user']['id']===_0x5d30eb['id']&&_0x103933['add'](_0x2d6524['id']);return _0x103933;}['getUserRole'](_0x303ce0){for(const _0x5e7491 of this['channelSessions']['values']())for(const _0x348baa of _0x5e7491)if(_0x348baa['user']===_0x303ce0)return _0x348baa['role'];}['_handleSessionAdd'](_0x3dafd5,_0x5bf288){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4488aa=_0x5bf288['user'],_0x336e56=this['_users']['getUser'](_0x4488aa['id'])||this['_createUser'](_0x4488aa),_0x20775=Object['assign']({},_0x5bf288,{'user':_0x336e56});this['channelSessions']['get'](_0x3dafd5)['add'](_0x20775);const _0x54ec06=this['channelConnectedUsers']['get'](_0x3dafd5);_0x54ec06['has'](_0x336e56['id'])||_0x54ec06['add'](_0x336e56),this['allConnectedUsers']['has'](_0x336e56['id'])||this['allConnectedUsers']['add'](_0x336e56,_0x336e56['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3dafd5,{'channelId':_0x3dafd5,'session':_0x20775});}['_handleSessionRemove'](_0xf9f9c,_0x1b1267){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4d129a=this['channelConnectedUsers']['get'](_0xf9f9c),_0x217506=_0x1b1267['user'];_0x217506['id']&&(this['channelSessions']['get'](_0xf9f9c)['remove'](_0x1b1267['id']),_0x4d129a['has'](_0x217506['id'])&&!this['getUserSessions'](_0x217506,_0xf9f9c)['size']&&_0x4d129a['remove'](_0x217506['id']),this['allConnectedUsers']['get'](_0x217506['id'])&&!this['getUserSessions'](_0x217506)['size']&&this['allConnectedUsers']['remove'](_0x217506['id']));}['_createUser'](_0x1c7d98,_0x5e0dec){const _0x3d9646=this['_users']['addUser'](_0x1c7d98);return _0x5e0dec&&this['_users']['defineMe'](_0x1c7d98['id']),_0x3d9646['orderNumber']=this['_uniqueUsersCount']++,_0x3d9646;}}class N extends _0x27d590{['_domEmitter']=new(_0x33556b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4c7266=this['editor'],_0x35e51b=_0x4c7266['plugins']['get'](i);_0x4c7266['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x404273,{writer:_0x1c9a79})=>function(_0x5f462b,_0x2e1143,_0x586c3d,_0x5803e8){const _0x26260f=_0x5f462b['markerName']['split'](':')[0x2],_0x3dc808=_0x586c3d['getUserBySessionId'](_0x26260f);if(!_0x3dc808||_0x26260f===_0x586c3d['mySessionId'])return;if(!_0x5803e8['model']['schema']['checkChild'](_0x5f462b['markerRange']['start'],'$text'))return;const _0x60c88b={'class':'ck-user__marker\x20'+_0x3dc808['color']['getMarkerClass'](),'data-name':_0x3dc808['name'],'data-session-id':_0x26260f},_0x176c8f=_0x5803e8['model']['markers']['get'](_0x5f462b['markerName']),_0x394d90=_0x176c8f['getStart'](),_0x13652a=_0x394d90['nodeAfter'],_0x3e4a47=_0x5803e8['model']['schema'];if(_0x13652a&&_0x3e4a47['isObject'](_0x13652a)&&_0x3e4a47['isInline'](_0x13652a)&&!_0x5803e8['model']['markers']['get']('user:range:'+_0x26260f)['getRange']()['isCollapsed'])return;const _0x45c07a=_0x394d90['parent'];return _0x5803e8['model']['schema']['isLimit'](_0x45c07a)&&!_0x5803e8['model']['hasContent'](_0x45c07a)&&(_0x60c88b['contenteditable']=!0x1),function(_0xc4eb6e,_0x284638,_0x4f2227){const _0x198459=_0xc4eb6e['createUIElement']('span',_0x284638);return _0xc4eb6e['setCustomProperty']('userPositionMarker',!0x0,_0x198459),_0x198459['render']=function(_0xa27a54){const _0x4d7d4a=this['toDomElement'](_0xa27a54);return _0x4d7d4a['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>'+_0x4f2227['name']+'</span>⁠',_0x4d7d4a['addEventListener']('mouseenter',()=>{_0x4d7d4a['classList']['add']('ck-user__marker_hovered');}),_0x4d7d4a['addEventListener']('mouseleave',()=>{_0x4d7d4a['classList']['remove']('ck-user__marker_hovered');}),_0x4d7d4a;},_0x198459['isSimilar']=function(_0x4fb102){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4fb102['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4fb102['getAttribute']('data-session-id'));},_0x198459;}(_0x2e1143,_0x60c88b,_0x3dc808);}(_0x404273,_0x1c9a79,_0x35e51b,_0x4c7266)}),_0x4c7266['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1998bd=>function(_0x495446,_0x1f7714){const _0x4c278a=_0x495446['markerName']['split'](':')[0x2];if(_0x4c278a===_0x1f7714['mySessionId'])return null;const _0x1a7e87=_0x1f7714['getUserBySessionId'](_0x4c278a);if(!_0x1a7e87)return{'id':_0x4c278a,'classes':[]};return{'id':_0x4c278a,'classes':['ck-user__selection',_0x1a7e87['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4c278a},'priority':0x7d0+_0x1a7e87['orderNumber']};}(_0x1998bd,_0x35e51b)}),function(_0x1ec68e){const _0x37516e=_0x1ec68e['model'],_0x58018a=new Map(),_0x132b6a=_0x1ec68e['plugins']['get'](i);_0x37516e['markers']['on']('update:user:range',(_0x518715,_0x2dfa58,_0x1f1077,_0x20ade9)=>{if(!_0x20ade9&&_0x58018a['get'](_0x2dfa58['name']))return _0x58018a['get'](_0x2dfa58['name'])['detach'](),void _0x58018a['delete'](_0x2dfa58['name']);const _0x399a82=_0x2dfa58['name']['split'](':')[0x2];if(_0x399a82===_0x132b6a['mySessionId'])return;const _0x5f8381='user:position:'+_0x399a82;_0x37516e['markers']['has'](_0x5f8381)&&_0x1ec68e['editing']['reconvertMarker'](_0x5f8381),_0x2dfa58['on']('change:range',(_0x24781e,_0x24ca28,_0xdff982)=>{if('$graveyard'!=_0x24ca28['root']['rootName']&&'$graveyard'==_0x2dfa58['getRange']()['root']['rootName']&&!_0x58018a['has'](_0x2dfa58['name'])){const _0x34a376=_0x37516e['schema']['getNearestSelectionRange'](_0xdff982['deletionPosition']);if(_0x34a376){const _0x5b46e8=ut['fromRange'](_0x34a376);_0x58018a['set'](_0x2dfa58['name'],_0x5b46e8),_0x5b46e8['on']('change:range',(_0x16f462,_0x35ec89,_0x3553a3)=>{if('$graveyard'==_0x5b46e8['root']['rootName']){const _0x35e2cc=_0x37516e['schema']['getNearestSelectionRange'](_0x3553a3['deletionPosition']);_0x35e2cc?(_0x5b46e8['start']=_0x35e2cc['start'],_0x5b46e8['end']=_0x35e2cc['end']):(_0x58018a['delete'](_0x2dfa58['name']),_0x5b46e8['detach']());}});}}});}),_0x37516e['document']['on']('change',()=>{_0x58018a['size']>0x0&&_0x37516e['enqueueChange']({'isUndoable':!0x1},_0x30545d=>{for(const [_0x1a4be0,_0x5e0369]of _0x58018a)'$graveyard'==_0x37516e['markers']['get'](_0x1a4be0)['getRange']()['root']['rootName']&&(G(_0x1a4be0['split'](':')[0x2],_0x5e0369['toRange'](),_0x37516e,_0x30545d),_0x5e0369['detach']());_0x58018a['clear']();});});}(_0x4c7266),this['_domEmitter']['listenTo'](_0x31082d['document'],'keydown',(_0x978dbf,{key:_0x200ada})=>{'Escape'===_0x200ada&&function(_0x196998){_0x196998['editing']['view']['change'](_0x436070=>{for(const _0x4547a9 of _0x196998['model']['markers']){if(!_0x4547a9['name']['startsWith']('user:position'))continue;const _0x31f6e5=_0x196998['editing']['mapper']['markerNameToElements'](_0x4547a9['name']);if(_0x31f6e5){for(const _0x2108cc of _0x31f6e5)_0x436070['removeClass']('ck-user__marker_hovered',_0x2108cc);}}});}(_0x4c7266);},{'useCapture':!0x0});}['afterInit'](){const _0x4277d5=this['editor'],_0x1e0e9f=_0x4277d5['commands']['get']('undo');_0x1e0e9f&&_0x4277d5['model']['on']('applyOperation',(_0x17f041,_0x2f22b1)=>{const _0x5b652e=_0x2f22b1[0x0];if('marker'!=_0x5b652e['type']||!_0x5b652e['name']['startsWith']('user:'))return;const _0x532129=_0x5b652e['batch'];_0x1e0e9f['_createdBatches']['has'](_0x532129)&&(_0x5b652e['newRange']=_0x5b652e['oldRange']?_0x4277d5['model']['createRange'](_0x5b652e['oldRange']['start'],_0x5b652e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x41aa55=this['editor'],_0x362f0f=_0x41aa55['model']['document'],_0x46d4e0=_0x41aa55['plugins']['get'](i);_0x41aa55['model']['enqueueChange']({'isUndoable':!0x1},_0x498388=>{const _0x5e6ad2='user:range:'+_0x46d4e0['mySessionId'],_0x17cf1f='user:position:'+_0x46d4e0['mySessionId'],_0xa775a1=_0x41aa55['model']['markers']['has'](_0x5e6ad2);_0x41aa55['editing']['view']['hasDomSelection']?G(_0x46d4e0['mySessionId'],_0x362f0f['selection']['getFirstRange'](),_0x41aa55['model'],_0x498388):_0xa775a1&&(_0x498388['removeMarker'](_0x5e6ad2),_0x498388['removeMarker'](_0x17cf1f));});}}function G(_0x32f02a,_0x417a8c,_0x5dd7f3,_0x4d7aff){const _0x4c3741='user:range:'+_0x32f02a,_0x5d86a1='user:position:'+_0x32f02a,_0x3887c3=_0x417a8c['getContainedElement']();let _0x5997cd=_0x417a8c['start'];_0x3887c3&&_0x3887c3['is']('element','tableCell')&&(_0x5997cd=function(_0x5dc32e,_0x49c199){for(const _0x4ba8f6 of _0x5dc32e['getPositions']())if(_0x49c199['schema']['checkChild'](_0x4ba8f6,'$text'))return _0x4ba8f6;}(_0x417a8c,_0x5dd7f3),_0x417a8c=_0x4d7aff['createRange'](_0x5997cd));const _0x5cc2a0=_0x4d7aff['createRange'](_0x5997cd);_0x5dd7f3['markers']['has'](_0x4c3741)?(_0x4d7aff['updateMarker'](_0x4c3741,{'range':_0x417a8c}),_0x4d7aff['updateMarker'](_0x5d86a1,{'range':_0x5cc2a0})):(_0x4d7aff['addMarker'](_0x4c3741,{'range':_0x417a8c,'usingOperation':!0x0}),_0x4d7aff['addMarker'](_0x5d86a1,{'range':_0x5cc2a0,'usingOperation':!0x0}));}function E(_0x1e8d76,_0x145db9,_0x4b0bb6){const _0x3b705f=_0x1e8d76['t'],t=_0x1e8d76['t'];switch(_0x145db9){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 _0x3b705f({'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'},_0x4b0bb6);default:return'';}}let M=0x1;class l extends _0x27d590{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xe5ae00)());['_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,_0x19f112,_0x59a1a9,_0x362261];}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 _0x5833ff=this['serverHistory']['getOperations']();for(let _0x43a662=_0x5833ff['length']-0x1;_0x43a662>=0x0;_0x43a662--){const _0x5bc86b=_0x5833ff[_0x43a662];if(!this['_disconnectionOperations']['has'](_0x5bc86b))return _0x5bc86b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3f76bd){if(super(_0x3f76bd),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x8e518f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1b7f9d('collaboration-missing-channelid',this);const _0x1dd62a=_0x3f76bd['config']['get']('cloudServices.bundleVersion')||dt;this['_service']=new l['CollaborativeEditingService'](_0x1dd62a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4d8a5d(),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 _0x1be984=this['editor'],_0x43c443=_0x1be984['plugins']['get'](_0x59a1a9),_0x34130f=_0x1be984['plugins']['get'](c);this['listenTo'](_0x43c443,'getOperationAuthor',(_0x4ea714,_0x2b92f9)=>{const _0xe1f9ce=_0x2b92f9[0x0];_0xe1f9ce['_authorId']&&(_0x4ea714['return']=_0x43c443['getUser'](_0xe1f9ce['_authorId']),_0x4ea714['stop']()),null===_0xe1f9ce['_authorId']&&(_0x4ea714['return']=null,_0x4ea714['stop']());},{'priority':'high'}),this['listenTo'](_0x1be984['model']['document']['selection'],'change:range',(_0x4cd3e9,_0x5da977)=>{_0x5da977['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1be984['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1be984['model']['on']('applyOperation',(_0x150bd4,_0x38b8d3)=>{const _0x3d9825=_0x38b8d3[0x0];_0x3d9825['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3d9825),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x34130f,'state',this,'_hasSynchronizationProblem',(_0x32f5e4,_0x13b35f)=>'connected'===_0x32f5e4&&!_0x13b35f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1be984['disableReadOnlyMode']('rtc-offline'):_0x1be984['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1be984['disableReadOnlyMode']('rtc-offline'):_0x1be984['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x25fcdf=this['editor']['plugins']['get'](i),_0x5813d8=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x25fcdf['unregister'](this['_channelId']);const _0x459388=await this['_service']['reconnect'](_0x5813d8['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x459388)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4223da=await this['_service']['getConnectedSessions']();_0x25fcdf['register'](this['_channelId'],_0x4223da),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x281166){if(function(_0xbf4234){return'404'===_0xbf4234['code'];}(_0x281166)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x28570d){return'409'===_0x28570d['code'];}(_0x281166)){const _0x5a37a6=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'](_0x5a37a6);}else{if(!(_0x281166 instanceof z))throw _0x281166;this['_handleReconnectionError']();}}}}['destroy'](){const _0x105d5a=this['editor']['plugins']['get'](c),_0x42aade=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x42aade['channelSessions']['has'](this['_channelId'])&&_0x42aade['unregister'](this['_channelId']),_0x105d5a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5f32e9){if(this['sessionId']!==_0x5f32e9['sessionId']&&this['_lastSyncedOperationId']!==_0x5f32e9['lastOperationId'])throw new z();return this['sessionId']=_0x5f32e9['sessionId'],this['_handleServerResponse']([],{..._0x5f32e9,'wereChangesApplied':!0x1,'data':_0x5f32e9['data']},'reconnect');}async['_connectService'](_0x20029d,_0x471633=!0x1){const {connection:_0x4e30cc}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x4e30cc,this['_channelId'])['then'](_0x519662=>this['_initSessionsHandling'](_0x519662))['catch'](_0x252ba6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x252ba6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x17b0f7,_0x17f985)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x17f985);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x24444b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x20029d);this['_isPendingUpdate']=!0x0;const _0xb0634a=await this['_service']['connect'](_0x4e30cc,this['_compressOperations'](_0x20029d),_0x24444b);if(this['sessionId']=_0xb0634a['sessionId'],_0x471633){if(!_0xb0634a['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb0634a['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x20029d,_0xb0634a,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb0634a,_0x20029d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5ea37d=this['editor']['plugins']['get'](i),_0x3bb0e2=this['editor']['plugins']['get'](N),_0x3bc37c=_0x5ea37d['channelSessions']['get'](this['_channelId']);_0x3bc37c&&_0x3bc37c['length']>0x1?_0x3bb0e2['createUserMarkerOperations']():this['listenTo'](_0x5ea37d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5ea37d['channelSessions']['get'](this['_channelId'])['length']&&_0x3bb0e2['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x18aa77,_0x2c0c74,_0x4cbe7a,_0x5a673e){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2c0c74){const _0x32acac=this['_decompressOperations'](_0x4cbe7a,_0x5a673e);await this['_fetchMissingUsers'](_0x32acac),this['_handleExternalOperations'](_0x32acac,_0x2c0c74,_0x4cbe7a['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3dc56d}=this['editor'];let _0x221fdc;try{_0x221fdc=await this['_service']['getDocumentDetails']();}catch(_0x34dbf8){const _0x122e7a=E(_0x3dc56d,'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'](_0x122e7a);}const _0x55595e=_0x221fdc['currentDocumentSession']||_0x221fdc['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x55595e['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x18ecd7=E(_0x3dc56d,'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'](_0x18ecd7);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x53fa87){const _0x97216=this['editor']['plugins']['get'](i);this['listenTo'](_0x97216,'sessionAdd:'+this['_channelId'],(_0x13f8fd,{session:_0x10a8dc})=>{if(_0x10a8dc['id']===_0x97216['mySessionId']){_0x13f8fd['off']();const _0x2e5a35=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x12eb68=_0x10a8dc['permissions'];_0x2e5a35&&_0x2e5a35['isEnabled']&&(_0x12eb68=_0x12eb68['filter'](_0x5148ec=>'document:write'!==_0x5148ec)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x12eb68,this['_channelId']);}}),_0x97216['register'](this['_channelId'],_0x53fa87);}['_initThrowingOnDataSet'](){const _0x4bc4a4=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5e258f)=>{if(!_0x5e258f[_0x5e258f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1b7f9d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4bc4a4['apply'](this['editor']['data'],_0x5e258f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3f70fd,[_0x3361eb])=>{if(this['_document']['version'])throw new _0x1b7f9d('realtimecollaborationclient-init-document-already-initialized',this);_0x3f70fd['stop'](),this['_setPendingAction']();const _0x4b2275=this['editor']['config']['get']('rootsAttributes'),_0x22acd7=this['_getOperationsFromInitData'](_0x3361eb,_0x4b2275);0x0==_0x22acd7['length']&&_0x22acd7['push'](new _0x33216c(0x0)),_0x3f70fd['return']=this['_connectService'](_0x22acd7)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x165bc4=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x165bc4))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdae4fa,[_0x2d88dd,_0x1ce810])=>{_0xdae4fa['stop']();const _0x38740a=this['editor']['model']['document']['getRoot'](_0x2d88dd);if(!this['_knownRootNames']['has'](_0x2d88dd)){const _0x7d481e=_0x1ce810&&_0x1ce810['data']?_0x1ce810['data']:'',_0x1250cc=_0x1ce810&&_0x1ce810['attributes']?_0x1ce810['attributes']:{};await this['_loadRoot'](_0x2d88dd,_0x7d481e,_0x1250cc);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x38740a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x38740a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x52bc9b){const _0x1247c8=this['editor']['plugins']['get'](_0x59a1a9),{connection:_0x4ee3f1}=this['editor']['plugins']['get'](c),_0x925baa=new Set();for(const _0xf4b75c of _0x52bc9b){const _0x4256be=_0xf4b75c['_authorId'];_0x4256be&&!_0x1247c8['getUser'](_0x4256be)&&_0x925baa['add'](_0x4256be);}if(0x0===_0x925baa['size'])return;const _0x30e184=await mt['getMany'](_0x4ee3f1,Array['from'](_0x925baa));for(const _0x1abf0b of _0x30e184)_0x1247c8['getUser'](_0x1abf0b['id'])||_0x1247c8['addUser'](_0x1abf0b);}['_getOperationsFromInitData'](_0x280058,_0x508e62={}){const _0x18d453=this['editor']['model'],_0x6012c0=[];let _0x379391=0x0;const _0x1d4d3f='string'==typeof _0x280058?{'main':_0x280058}:_0x280058;for(const _0x453684 of Object['keys'](_0x1d4d3f)){if(!this['_document']['roots']['has'](_0x453684))throw new _0x1b7f9d('realtimecollaborationclient-init-non-existent-root',this);const _0x6da3a3=this['editor']['data']['parse'](_0x1d4d3f[_0x453684]),_0x45be7d=this['_document']['getRoot'](_0x453684),_0x404860=new _0x2522c2(_0x18d453['createPositionAt'](_0x45be7d,0x0),_0x6da3a3,_0x379391++);_0x6012c0['push'](_0x404860);for(const [_0x3b7f0d,_0x457ef]of _0x6da3a3['markers']){const _0x34c780=_0x18d453['createRange'](_0x18d453['createPositionFromPath'](_0x45be7d,_0x457ef['start']['path']['slice']()),_0x18d453['createPositionFromPath'](_0x45be7d,_0x457ef['end']['path']['slice']())),_0x2fac1f=new _0x5d0fef(_0x3b7f0d,null,_0x34c780,_0x18d453['markers'],!0x0,_0x379391++);_0x6012c0['push'](_0x2fac1f);}}if(_0x508e62)for(const [_0x4417fd,_0x221c46]of Object['entries'](_0x508e62)){const _0x30c126=_0x18d453['document']['getRoot'](_0x4417fd);if(!_0x30c126)throw new _0x1b7f9d('multi-root-editor-root-attributes-no-root',null);for(const [_0x4e8056,_0x1ec288]of Object['entries'](_0x221c46))if(null!==_0x1ec288){const _0x5b8b33=new _0x46ec06(_0x30c126,_0x4e8056,null,_0x1ec288,_0x379391++);_0x6012c0['push'](_0x5b8b33);}}return _0x6012c0;}async['_loadRoot'](_0x18b73f,_0x2d288c,_0x68fba2){this['_getOperationsFromInitData']({[_0x18b73f]:_0x2d288c},{[_0x18b73f]:_0x68fba2})['forEach']((_0x26fd74,_0x2aea2f)=>{_0x26fd74['baseVersion']=this['_document']['version']+_0x2aea2f,_0x26fd74['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x26fd74);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2d5525,_0x2f91ce){let _0x33d061;this['_offset']=_0x2d5525['offset'];const _0x36408e=_0x2d5525['wereChangesApplied']&&!_0x2d5525['initData'],_0x58ff27=_0x36408e?0x0:_0x2d5525['data']['baseVersion'];if(_0x2f91ce['forEach'](_0x2714bc=>{_0x2714bc['_isInit']=!0x0,_0x2714bc['createdAt']=_0x2d5525['sessionCreatedAt'],_0x2714bc['_authorId']=null;}),_0x36408e)_0x33d061=_0x2f91ce,this['_applyOperationsSet'](_0x33d061,_0x36408e);else{if(_0x2d5525['initData']){const _0x1731fd=this['_getOperationsFromInitData'](_0x2d5525['initData']);this['_document']['history']['version']=-_0x1731fd['length'],_0x1731fd['forEach'](_0x3140a5=>{_0x3140a5['baseVersion']-=_0x1731fd['length'],_0x3140a5['createdAt']=_0x2d5525['sessionCreatedAt'],_0x3140a5['_isInit']=!0x0,_0x3140a5['_authorId']=null;}),this['_applyOperationsSet'](_0x1731fd,!0x0),this['serverHistory']['version']=-_0x1731fd['length']+this['_offset'],this['_updateServerHistory'](_0x1731fd);}this['_document']['history']['version']=_0x58ff27,_0x33d061=this['_decompressOperations'](_0x2d5525['data'],_0x2d5525['metadata']),await this['_fetchMissingUsers'](_0x33d061),this['_applyOperationsSet'](_0x33d061,_0x36408e);}_0x2d5525['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x33d061,_0x2d5525['lastOperationId']),this['_lastSyncedOperationId']=_0x2d5525['lastOperationId']),this['serverHistory']['version']=_0x58ff27+this['_offset'],this['_updateServerHistory'](_0x33d061),_0x2f91ce['filter'](_0x15b68d=>{const _0xb75bed=this['_getAffectedRoot'](_0x15b68d);return _0xb75bed&&!this['_knownRootNames']['has'](_0xb75bed);})['forEach']((_0x5bde4f,_0x296c48)=>{_0x5bde4f['baseVersion']=this['_document']['version']+_0x296c48,this['_saveOperationInBuffer'](_0x5bde4f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4ca936,_0x1b64fd,_0x11a74b){throw this['_isPendingUpdate']=!0x0,_0x1b64fd&&console['error'](_0x1b64fd),_0x11a74b&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1b7f9d(_0x4ca936,this['editor']);}['_saveOperationInBuffer'](_0x3f3eb1){this['_knownOperations']['has'](_0x3f3eb1)||(this['_knownOperations']['add'](_0x3f3eb1),this['_bufferedOperations']['push'](_0x3f3eb1),this['_pendingAction']||'marker'==_0x3f3eb1['type']&&!_0x3f3eb1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4bd2f7=!0x1){!_0x4bd2f7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3e5617=>{_0x3e5617&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4abe53=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x23d283){return _0x23d283['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23d283['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x23d283['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4abe53)||this['_crash'](_0x4abe53['message'],_0x4abe53,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x59252e=>{this['on']('change:_isPendingUpdate',()=>{_0x59252e();});});}async['_sendBufferedOperations'](){const _0x2779dc=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x2779dc['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3e4134=[...this['_bufferedOperations']];for(const _0x4ecf5c of _0x3e4134)_0x4ecf5c['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4ecf5c);const _0x38247d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3e4134),_0x4c5a60=M++,_0x24c805=this['_compressOperations'](_0x3e4134),_0x2eb53c=await this['_service']['sendOperations'](_0x24c805,_0x24c805['baseVersion'],_0x38247d);try{return await this['_handleServerResponse'](_0x3e4134,_0x2eb53c,_0x4c5a60);}catch(_0x50f9a7){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x50f9a7);}}async['_handleServerResponse'](_0x11bc56,_0x1da90c,_0x34df7c){if('error'in _0x1da90c)throw _0x1da90c['error'];let _0x2ecf4c=!0x1;if(_0x1da90c['wereChangesApplied']){_0x1da90c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1da90c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a83d5=>!_0x11bc56['includes'](_0x1a83d5));for(const _0xb59000 of _0x11bc56)_0xb59000['createdAt']='lastOperationAcceptedAt'in _0x1da90c&&_0x1da90c['lastOperationAcceptedAt']||void 0x0;V(_0x11bc56,_0x1da90c['version']-_0x11bc56['length']),this['_updateServerHistory'](_0x11bc56);const _0x1a4ca6=_0x11bc56['filter'](_0x268d09=>{if(!_0x268d09['_isInit'])return!0x1;const _0x18d9f5=this['_getAffectedRoot'](_0x268d09);return _0x18d9f5&&!this['_knownRootNames']['has'](_0x18d9f5);});V(_0x1a4ca6,this['_document']['version']),this['_applyOperationsSet'](_0x1a4ca6),_0x2ecf4c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x900f85=this['_decompressOperations'](_0x1da90c['data'],_0x1da90c['metadata'])['filter'](_0x51b465=>_0x51b465['baseVersion']>=this['_lastServerVersion']);_0x900f85['forEach'](_0x474c46=>this['_addKnownRoot'](_0x474c46)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x34c36f=>!_0x34c36f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x34c36f))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x900f85),_0x2ecf4c=this['_handleExternalOperations'](_0x900f85,_0x1da90c['version'],_0x1da90c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2ecf4c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1ab6d0,_0xc65886,_0x52f95c){try{const _0x178c1c={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x18e47d,operationsB:_0x286a89,originalOperations:_0x506ff1}=_0x5b6935(_0x1ab6d0,this['_bufferedOperations'],_0x178c1c);V(_0x18e47d,this['_document']['version']),V(_0x286a89,_0xc65886);for(const _0x33c258 of _0x18e47d){const _0x24be43=_0x506ff1['get'](_0x33c258);_0x33c258['_authorId']=_0x24be43?_0x24be43['_authorId']:null;}_0x52f95c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1ab6d0,_0x52f95c),this['_lastSyncedOperationId']=_0x52f95c),this['_bufferedOperations']=[..._0x286a89],this['_applyOperationsSet'](_0x18e47d),this['_updateServerHistory'](_0x1ab6d0);}catch(_0x1642fc){return console['error'](_0x1642fc),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5ab35e,_0x22279a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5a3e50=>{for(const _0x1b2cab of _0x5ab35e)this['_knownOperations']['add'](_0x1b2cab),this['_addKnownRoot'](_0x1b2cab),_0x5a3e50['batch']['addOperation'](_0x1b2cab),this['editor']['model']['applyOperation'](_0x1b2cab);});}['_addKnownRoot'](_0x488bc0){const _0x54a6c3=this['_getAffectedRoot'](_0x488bc0);_0x54a6c3&&this['_knownRootNames']['add'](_0x54a6c3);}['_getAffectedRoot'](_0x4a2332){let _0x4c972a,_0x263b40;switch(_0x4a2332['type']){case'insert':_0x4c972a=_0x4a2332['position']['root'];break;case'marker':if(_0x263b40=_0x4a2332['newRange'],!_0x263b40)return null;_0x4c972a=_0x263b40['root'];break;case'addRootAttribute':_0x4c972a=_0x4a2332['root'];break;case'addRoot':_0x4c972a=_0x4a2332['affectedSelectable'];break;case'move':_0x4c972a=_0x4a2332['targetPosition']['root'];break;default:return null;}return _0x4c972a['rootName'];}['_updateServerHistory'](_0x31de88){_0x31de88['forEach'](_0x5ddee5=>{const _0x786597=_0x5ddee5['clone']();_0x786597['_authorId']=_0x5ddee5['_authorId'],_0x786597['_isInit']=!!_0x5ddee5['_isInit'],_0x786597['createdAt']=_0x5ddee5['createdAt'],_0x786597['baseVersion']+=this['_offset'],_0x5ddee5['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x786597),this['serverHistory']['addOperation'](_0x786597);});}['_handleReconnectionError'](_0x48b633){const _0x48eca4=this['editor']['plugins']['get']('Notification'),_0x1f02e8=this['editor']['locale'];_0x48b633||(_0x48b633=E(_0x1f02e8,'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.')),_0x48eca4['showWarning'](_0x48b633,{'title':E(_0x1f02e8,'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'](_0x19f112)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19f112)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x1db123){const _0x5f54c8=_0x1db123['map'](_0xa97fa0=>_0xa97fa0['toJSON']());return this['_compressor']['compress'](_0x5f54c8);}['_decompressOperations'](_0x2303f6,_0x551baf){return this['_compressor']['decompress'](_0x2303f6)['map']((_0x5d80c5,_0x33998a)=>{const _0x5e60a3='init'==_0x551baf[_0x33998a]['type'];if('InsertOperation'==_0x5d80c5['__className']){const _0x39a46a=_0x5d80c5['position']['root'];!this['_document']['getRoot'](_0x39a46a)&&(this['_document']['createRoot']('$root',_0x39a46a)['_isAttached']=!0x1);}const _0x1e1318=_0x35f2d5['fromJSON'](_0x5d80c5,this['_document']);return _0x1e1318['wasUndone']=_0x5d80c5['wasUndone'],_0x1e1318['_isInit']=_0x5e60a3,_0x1e1318['_authorId']=_0x5e60a3?null:_0x551baf[_0x33998a]['userId'],_0x1e1318['_isDisconnection']='cs:removeUser'===_0x551baf[_0x33998a]['type'],_0x1e1318['createdAt']=_0x551baf[_0x33998a]['createdAt'],_0x1e1318;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x11db21=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x11db21&&_0x11db21['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function V(_0x555483,_0xab0d81){for(const _0x1a728c of _0x555483)_0x1a728c['baseVersion']=_0xab0d81++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x4afd57){this['_ignoredOperations']=_0x4afd57,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x583e54){let _0x4ee61e=_0x583e54['length'];for(;_0x4ee61e--;){const _0x4af995=_0x583e54[_0x4ee61e];if(!this['_ignoredOperations']['has'](_0x4af995)){if(!this['_operationToId']['has'](_0x4af995)){const _0x788b97=_0x40aeaa()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4af995,_0x788b97);}return this['_operationToId']['get'](_0x4af995);}}}['setIdForTheLastOperation'](_0x216d7,_0x46e0b3){if(!_0x46e0b3)return;let _0x33aa52=_0x216d7['length'];for(;_0x33aa52--;){const _0x39b4c0=_0x216d7[_0x33aa52];this['_ignoredOperations']['has'](_0x39b4c0)||this['_operationToId']['set'](_0x39b4c0,_0x46e0b3);}}}class n extends _0x27d590{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x39d5da{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1c0992)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x59a1a9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x59c81a){super(_0x59c81a),this['_services']=new Map();}async['init'](){const _0x4668c4=this['context'],_0xac1d78=_0x4668c4['plugins']['get']('CommentsRepository');if(_0x4668c4['plugins']['get'](c)['addToReconnectionStack'](this),_0xac1d78['adapter']={'addCommentThread':async({channelId:_0x1d01b1,threadId:_0x3eee99,comments:_0x16355f,resolvedAt:_0x2537d5,resolvedBy:_0x4cde1c,context:_0x2e50ee,attributes:_0x3141b3})=>{const _0x159c71=await this['_getService'](_0x1d01b1)['addCommentThread']({'commentThreadId':_0x3eee99,'comments':_0x16355f['map'](_0x5b7b98=>function(_0x2d2e4e,_0x3ec49e,_0x3b0604){return{'commentThreadId':_0x3b0604,'commentId':_0x2d2e4e['commentId'],'userId':_0x2d2e4e['authorId'],'content':_0x2d2e4e['content'],'documentId':_0x3ec49e,'createdAt':_0x2d2e4e['createdAt'],'attributes':_0x2d2e4e['attributes']||{}};}(_0x5b7b98,_0x1d01b1,_0x3eee99)),'resolvedAt':_0x2537d5,'resolvedBy':_0x4cde1c,'context':_0x2e50ee,'attributes':_0x3141b3})['catch'](gt);return{'threadId':_0x159c71['commentThreadId'],'comments':_0x159c71['comments']};},'getCommentThread':async({channelId:_0x1dc641,threadId:_0x3cba28})=>{const _0x5efb50=await this['_getService'](_0x1dc641)['getCommentThread'](_0x3cba28)['catch'](gt);return _0x5efb50['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5efb50]),{'threadId':_0x5efb50['commentThreadId'],'comments':_0x5efb50['comments']['map'](b),'context':_0x5efb50['context'],'resolvedAt':_0x5efb50['resolvedAt'],'resolvedBy':_0x5efb50['resolvedBy'],'attributes':_0x5efb50['attributes']||{}});},'updateCommentThread':async({channelId:_0x5e65f8,threadId:_0x34ae36,context:_0x2cfc40,unlinkedAt:_0x40fed1,attributes:_0x353c8e})=>this['_getService'](_0x5e65f8)['updateCommentThread']({'commentThreadId':_0x34ae36,'context':_0x2cfc40,'attributes':_0x353c8e,'unlinkedAt':_0x40fed1})['catch'](y)['catch'](gt),'resolveCommentThread':async({channelId:_0x569351,threadId:_0x5a23a8})=>{const _0x4ee5f4=await this['_getService'](_0x569351)['resolveCommentThread'](_0x5a23a8)['catch'](y)['catch'](gt);return{'threadId':_0x4ee5f4['commentThreadId'],'resolvedAt':_0x4ee5f4['resolvedAt'],'resolvedBy':_0x4ee5f4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x11f72a,threadId:_0x5f28f2})=>this['_getService'](_0x11f72a)['reopenCommentThread'](_0x5f28f2)['catch'](y)['catch'](gt),'removeCommentThread':({channelId:_0x1139ca,threadId:_0x1dcaab})=>this['_getService'](_0x1139ca)['removeCommentThread'](_0x1dcaab)['catch'](y)['catch'](gt),'addComment':({channelId:_0x58b265,threadId:_0x45f2e7,commentId:_0x1280d5,content:_0x388057,attributes:_0x16a514})=>this['_getService'](_0x58b265)['addComment'](_0x45f2e7,_0x1280d5,_0x388057,_0x16a514)['catch'](gt),'updateComment':({channelId:_0x230034,threadId:_0x3b9d32,commentId:_0x1291e8,content:_0x10e482,attributes:_0x15df51})=>this['_getService'](_0x230034)['updateComment'](_0x3b9d32,_0x1291e8,_0x10e482,_0x15df51)['catch'](y)['catch'](gt),'removeComment':({channelId:_0x228c16,threadId:_0x373ae8,commentId:_0x165600})=>this['_getService'](_0x228c16)['removeComment'](_0x373ae8,_0x165600)['catch'](y)['catch'](gt)},_0x4668c4 instanceof _0x5bfadf){const _0x37eaa7=_0x4668c4['config']['get']('collaboration.channelId'),_0x35cb71=_0x4668c4['plugins']['get'](i);await this['_setUpService'](_0x37eaa7);const _0x332687=await this['_services']['get'](_0x37eaa7)['getConnectedSessions']();this['listenTo'](_0x35cb71,'sessionAdd:'+_0x37eaa7,(_0xfa5f85,{session:_0x483fd0})=>{_0x483fd0['id']===_0x35cb71['mySessionId']&&(_0xfa5f85['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x483fd0['permissions'],_0x37eaa7));}),_0x35cb71['register'](_0x37eaa7,_0x332687);}}async['_setUpService'](_0x4c6a44){if(this['_services']['has'](_0x4c6a44))throw new _0x1b7f9d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4c6a44});const _0x440ec9=this['context']['plugins']['get']('CommentsRepository'),_0x38765d=new a['CommentsService'](_0x4c6a44);this['_services']['set'](_0x4c6a44,_0x38765d),this['listenTo'](_0x38765d,'commentThreadAdded',(_0x96e3ea,_0x2c6dae)=>{const {commentThreadId:_0x2744d5,documentId:_0x537d58,context:_0x28fc73,attributes:_0x5cbc9a,resolvedAt:_0x55ac4b,resolvedBy:_0x32b069,comments:_0x1198f2}=_0x2c6dae;_0x440ec9['getCommentThread'](_0x2744d5)||_0x440ec9['addCommentThread']({'threadId':_0x2744d5,'channelId':_0x537d58,'comments':_0x1198f2?_0x1198f2['map'](b):[],'context':_0x28fc73,'attributes':_0x5cbc9a,'resolvedAt':_0x55ac4b,'resolvedBy':_0x32b069,'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentThreadUpdated',(_0x2e10f0,{commentThreadId:_0x4100b3,documentId:_0x1f7b04,context:_0x1bb6a5,unlinkedAt:_0x13be65,attributes:_0x21bc54})=>{_0x440ec9['getCommentThread'](_0x4100b3)&&_0x440ec9['updateCommentThread']({'threadId':_0x4100b3,'channelId':_0x1f7b04,'context':_0x1bb6a5,'unlinkedAt':_0x13be65,'attributes':_0x21bc54,'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentThreadResolved',(_0x15503a,{commentThreadId:_0x176354,resolvedBy:_0x25b787,resolvedAt:_0x17f0ed})=>{const _0x47e3ff=_0x440ec9['getCommentThread'](_0x176354);_0x47e3ff&&_0x47e3ff['resolve']({'resolvedBy':_0x25b787,'resolvedAt':_0x17f0ed,'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentThreadReopened',(_0x3d17d2,{commentThreadId:_0x2789c7})=>{const _0x32f136=_0x440ec9['getCommentThread'](_0x2789c7);_0x32f136&&_0x32f136['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentThreadRemoved',(_0x2c4962,{commentThreadId:_0x74b2c3})=>{const _0x5afdeb=_0x440ec9['getCommentThread'](_0x74b2c3);_0x5afdeb&&_0x5afdeb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentAdded',(_0x474696,_0x444f9c)=>{const _0x2802ec=_0x444f9c['commentThreadId'],_0x5a9ee0=_0x440ec9['getCommentThread'](_0x2802ec);_0x5a9ee0&&_0x5a9ee0['addComment']({...b(_0x444f9c),'isFromAdapter':!0x0});}),this['listenTo'](_0x38765d,'commentUpdated',(_0x20df22,{commentThreadId:_0x42fb94,commentId:_0x15f562,content:_0x282d8d,attributes:_0x3bd228})=>{const _0x10b5f2=_0x440ec9['getCommentThread'](_0x42fb94);if(_0x10b5f2){const _0x373901=_0x10b5f2['getComment'](_0x15f562);_0x373901&&_0x373901['update']({'content':_0x282d8d,'attributes':_0x3bd228,'isFromAdapter':!0x0});}}),this['listenTo'](_0x38765d,'commentRemoved',(_0x55c66b,{commentThreadId:_0x4ffcb3,commentId:_0x4061f1})=>{const _0x4a98ef=_0x440ec9['getCommentThread'](_0x4ffcb3);if(_0x4a98ef){const _0x202d7b=_0x4a98ef['getComment'](_0x4061f1);_0x202d7b&&_0x202d7b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4c6a44);}['destroy'](){if(this['context']instanceof _0x5bfadf){const _0x17e175=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x17e175);}}['_terminateService'](_0x52fbea){if(!this['_services']['has'](_0x52fbea))throw new _0x1b7f9d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x52fbea});this['_getService'](_0x52fbea)['disconnect'](),this['_services']['delete'](_0x52fbea);}async['reconnect'](){for(const _0x31f65d of this['_services']['keys']())await this['_connectService'](_0x31f65d);if(this['context']instanceof _0x5bfadf){const _0x26ec80=this['context']['config']['get']('collaboration.channelId'),_0x1ef5ef=this['context']['plugins']['get'](i);_0x1ef5ef['unregister'](_0x26ec80);const _0x4e7c48=await this['_services']['get'](_0x26ec80)['getConnectedSessions']();_0x1ef5ef['register'](_0x26ec80,_0x4e7c48);}}async['_connectService'](_0x35e753){const {connection:_0x2898f2}=this['context']['plugins']['get'](c),_0x2e2131=this['context']['plugins']['get']('CommentsRepository'),_0x396316=this['_services']['get'](_0x35e753),_0x3dbd9f=await _0x396316['connect'](_0x2898f2);await this['_fetchMissingUsersForThreads'](_0x3dbd9f);const _0x5e36af=new Set(Array['from'](_0x2e2131['getCommentThreads']({'channelId':_0x35e753}),_0x38ab3c=>_0x38ab3c['id']));for(const _0x522f42 of _0x3dbd9f)_0x522f42['deletedAt']||_0x5e36af['delete'](_0x522f42['commentThreadId']);for(const _0x5dc4d5 of _0x5e36af)_0x2e2131['getCommentThread'](_0x5dc4d5)['remove']({'isFromAdapter':!0x0});for(const _0xa29821 of _0x3dbd9f){let _0x59ffc0=_0x2e2131['getCommentThread'](_0xa29821['commentThreadId']);const {commentThreadId:_0x1f10bd,context:_0x525c0e,attributes:_0x45d60b,resolvedBy:_0x18555c,resolvedAt:_0x484e08,unlinkedAt:_0x28152f,deletedAt:_0x55c017}=_0xa29821;if(_0x55c017)continue;_0x59ffc0||(_0x59ffc0=_0x2e2131['addCommentThread']({'channelId':_0x35e753,'threadId':_0x1f10bd,'context':_0x525c0e,'attributes':_0x45d60b||{},'resolvedBy':_0x18555c,'resolvedAt':_0x484e08,'unlinkedAt':_0x28152f,'isFromAdapter':!0x0}));const _0x1bd3f0=new Set(Array['from'](_0x59ffc0['comments'],_0x32d99e=>_0x32d99e['id']));for(const _0x1a7758 of _0xa29821['comments'])_0x1bd3f0['delete'](_0x1a7758['commentId']);for(const _0xf7e1d3 of _0x1bd3f0)_0x59ffc0['getComment'](_0xf7e1d3)['remove']({'isFromAdapter':!0x0});for(const _0x3dfc85 of _0xa29821['comments']){const _0x2c2073=_0x59ffc0['getComment'](_0x3dfc85['commentId']);_0x2c2073?_0x2c2073['content']!==_0x3dfc85['content']&&_0x2c2073['update']({'content':_0x3dfc85['content'],'isFromAdapter':!0x0}):_0x59ffc0['addComment'](Object['assign'](b(_0x3dfc85),{'isFromAdapter':!0x0}));}}}['_getService'](_0x14b790){if(!this['_services']['has'](_0x14b790))throw new _0x1b7f9d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x14b790});return this['_services']['get'](_0x14b790);}async['_fetchMissingUsersForThreads'](_0x3cb008){const _0x290a26=this['context']['plugins']['get'](_0x59a1a9),{connection:_0x302250}=this['context']['plugins']['get'](c),_0x52e8d3=new Set();for(const {resolvedBy:_0x33886e,comments:_0x2a4d09}of _0x3cb008){_0x33886e&&!_0x290a26['getUser'](_0x33886e)&&_0x52e8d3['add'](_0x33886e);for(const {userId:_0x248356}of _0x2a4d09)_0x290a26['getUser'](_0x248356)||_0x52e8d3['add'](_0x248356);}if(0x0===_0x52e8d3['size'])return;const _0x2f8a08=await mt['getMany'](_0x302250,Array['from'](_0x52e8d3));for(const _0xcad1c9 of _0x2f8a08)_0x290a26['getUser'](_0xcad1c9['id'])||_0x290a26['addUser'](_0xcad1c9);}}async function y(_0xd24a72){if('404'!==_0xd24a72['code'])throw _0xd24a72;}function gt(_0x19e37f){if((_0x2ceeb3=_0x19e37f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2ceeb3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ceeb3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2ceeb3;throw _0x19e37f;}function b(_0x5c793a){return{'threadId':_0x5c793a['commentThreadId'],'commentId':_0x5c793a['commentId'],'content':_0x5c793a['content'],'createdAt':_0x5c793a['createdAt'],'authorId':_0x5c793a['userId'],'attributes':_0x5c793a['attributes']||{}};}class f extends _0x27d590{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x309631)());['_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(_0x532456){super(_0x532456);const _0x31b6b2=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x31b6b2);}['init'](){const _0x3d6dba=this['editor']['plugins']['get'](c),_0x2eaf62=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2eaf62['adapter']={'getSuggestion':async _0x5e66d4=>{await this['_waitForServiceReady']();const _0x4a1f41=await this['_trackChangesService']['get'](_0x5e66d4)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x4a1f41]),_0x4a1f41;},'addSuggestion':async({id:_0x44bcef,type:_0x37a41e,data:_0x44727c,originalSuggestionId:_0x5e9038,attributes:_0x384178})=>{await this['_waitForServiceReady']();const _0x2ddb74={'id':_0x44bcef,'type':_0x37a41e,'data':_0x44727c,'originalSuggestionId':_0x5e9038,'attributes':_0x384178},_0x426e9c=await this['_trackChangesService']['add'](_0x44bcef,_0x37a41e,_0x44727c,_0x5e9038,_0x384178)['catch'](_0x28a337=>{if(wt(_0x28a337))return new Promise(_0x13c465=>{this['_bufferedRequests']['set'](_0x44bcef,{'resolve':_0x13c465,'suggestionData':_0x2ddb74});});throw _0x28a337;});return this['_bufferedRequests']['delete'](_0x44bcef),_0x426e9c;},'updateSuggestion':async(_0x4fa8ce,_0x33e43e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33e43e['state'])return this['_trackChangesService']['update'](_0x4fa8ce,_0x33e43e)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4c050e,_0x4f2aa7)=>{_0x2eaf62['hasSuggestion'](_0x4f2aa7['id'])&&(_0x2eaf62['getSuggestion'](_0x4f2aa7['id'])['attributes']=_0x4f2aa7['attributes']);}),this['_trackChangesService']['connect'](_0x3d6dba['connection'])['then'](_0x2823c6=>(_0x3d6dba['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2823c6)['then'](()=>{for(const _0x4721c6 of _0x2823c6){_0x2eaf62['addSuggestionData'](_0x4721c6)['_saved']=!0x0;}})));}async['reconnect'](){const _0x26f4d0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x84aaf7}=this['editor']['plugins']['get'](c),_0x2bcd37=await this['_trackChangesService']['connect'](_0x84aaf7);await this['_fetchMissingUsersForThreads'](_0x2bcd37);for(const {suggestionData:_0x227464,resolve:_0x20491a}of this['_bufferedRequests']['values']()){let _0x17ac6f=_0x2bcd37['find'](_0x911c4d=>_0x911c4d['id']===_0x227464['id']);_0x17ac6f||(_0x17ac6f=await this['_trackChangesService']['add'](_0x227464['id'],_0x227464['type'],_0x227464['data'],_0x227464['originalSuggestionId'])),_0x20491a(_0x17ac6f);}for(const _0x5ebbf1 of _0x2bcd37)_0x26f4d0['hasSuggestion'](_0x5ebbf1['id'])||_0x26f4d0['addSuggestionData'](_0x5ebbf1);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1d6809=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3b9fbf=>{_0x3b9fbf['off'](),_0x1d6809();});});}async['_fetchMissingUsersForThreads'](_0x5570db){const _0x42ee99=this['editor']['plugins']['get'](_0x59a1a9),{connection:_0x397b4f}=this['editor']['plugins']['get'](c),_0x178e78=new Set();for(const {authorId:_0x46a810}of _0x5570db)_0x42ee99['getUser'](_0x46a810)||_0x178e78['add'](_0x46a810);if(0x0===_0x178e78['size'])return;const _0x2f6d38=await mt['getMany'](_0x397b4f,Array['from'](_0x178e78));for(const _0x23fc0e of _0x2f6d38)_0x42ee99['getUser'](_0x23fc0e['id'])||_0x42ee99['addUser'](_0x23fc0e);}}function w(_0x14798a){if(wt(_0x14798a))return new Promise(()=>{});throw _0x14798a;}function wt(_0x273a6){return _0x273a6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x273a6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x27d590{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 _0x26911f=this['editor']['plugins']['get'](c),_0x2e2d92=this['editor']['plugins']['get']('CommentsEditing'),_0x43fc6f=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x26911f,'change:state',(_0x595e07,_0x495c7f,_0x176a18)=>{_0x2e2d92['isThreadsLoadingPaused']='connected'!==_0x176a18;});}),this['listenTo'](_0x26911f,'change:state',(_0x218990,_0x1911ff,_0x504441)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x504441);}),_0x43fc6f['_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 _0x27d590{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 _0x27d590{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x1d8807)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x59a1a9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14b635){super(_0x14b635);const _0x2a9b68=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2a9b68);}async['init'](){const _0xa814d3=this['editor']['plugins']['get'](l),_0x37c2ad=_0xa814d3['serverHistory'],_0x52a8fd=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x37c2ad,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xa814d3['sessionId']});const _0x2b8d40=this['editor']['config']['get']('cloudServices.bundleVersion')||dt,_0x550eb2=await _0x35e74c['isBundleUploaded'](_0x52a8fd['connection'],_0x2b8d40);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4468bf})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4468bf)),'updateRevisions':async _0x3912e2=>{await this['_waitForServiceReady']();const _0xf98759=this['_revisionTracker']['currentRevision'];if(_0x550eb2&&0x1===_0x3912e2['length']&&_0x3912e2[0x0]['id']===_0xf98759['id'])return _0x3912e2;for(const _0xd76cd7 of _0x3912e2)_0xd76cd7['id']===_0xf98759['id']&&(_0xd76cd7['isEmptyCurrent']=_0xd76cd7['fromVersion']===_0xd76cd7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3912e2,this['_lastRequestId'])['then'](_0x5a4fb1=>(this['_lastRequestId']=_0x5a4fb1,_0x3912e2))['catch'](_0x27bb71=>{if(X(_0x27bb71)||'400'===_0x27bb71['code']&&void 0x0!==_0x27bb71['data']['wrongRequestId']){for(const _0x8df1ee of _0x3912e2){!this['_revisionTracker']['repository']['getRevision'](_0x8df1ee['id'])||this['_revisionTracker']['_bufferUpdate'](_0x8df1ee['id'],_0x8df1ee,!0x1);}if(X(_0x27bb71))throw _0x27bb71;return _0x3912e2;}throw _0x27bb71;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1c14a5,{revisionsData:_0x14274b,requestId:_0xb8aca2})=>{Math['max'](..._0x14274b['map'](_0x435392=>_0x435392['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x14274b,_0xb8aca2);}):this['_handleRevisionsUpdate'](_0x14274b,_0xb8aca2);});const {revisions:_0x349efd,requestId:_0x20f763}=await this['_revisionHistoryService']['connect'](_0x52a8fd['connection']);_0x52a8fd['addToReconnectionStack'](this),this['_lastRequestId']=_0x20f763,await this['_fetchMissingUsers'](_0x349efd);for(const _0x23178a of _0x349efd)this['_revisionTracker']['addRevisionData'](_0x23178a);this['listenTo'](_0xa814d3,'change:_isConnected',(_0x2522b9,_0x549dc4,_0x2a399b)=>{_0x2a399b&&(this['_oldOffset']=_0xa814d3['_offset'],_0x2522b9['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x52a8fd,'state',_0x40fdd9=>_0x40fdd9===_0x151d50['CONNECTED']);}async['reconnect'](){const _0xfba6e5=this['editor']['plugins']['get'](c),_0x2f1c09=this['editor']['plugins']['get'](l),_0x163a90=async()=>{const _0x5e4156=this['_revisionTracker']['currentRevision'],_0x270391=_0x5e4156['id'],_0x272f8c=_0x270391!==_0x2f1c09['sessionId'];if(_0x272f8c){const _0x1f5a4a=_0x2f1c09['_offset']-this['_oldOffset'],_0x2da586=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5e4156['toVersion']+_0x1f5a4a!==_0x2da586){const _0x5467c3=_0x5e4156['fromVersion']+_0x1f5a4a,_0x3c3505=this['editor']['plugins']['get'](_0x59a1a9),_0x267f54=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e4156,'from':_0x5467c3,'to':_0x2da586});_0x267f54['id']=_0x5e4156['id'];const _0x511a5f=_0x267f54['authorsIds']['map'](_0x292e9b=>_0x3c3505['getUser'](_0x292e9b));_0x5e4156['_update']({..._0x267f54,'authors':_0x511a5f},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5e4156['id'],_0x267f54,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2da586,(_0x5e4156['toVersion']===_0x5e4156['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x270391)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x270391),this['_revisionTracker']['_createCurrentRevision'](_0x2da586));}const {revisions:_0x4fbe1c,requestId:_0x2336bb}=await this['_revisionHistoryService']['reconnect'](_0xfba6e5['connection'],this['_lastRequestId']);_0x272f8c&&_0x4fbe1c['length']>0x0?_0x2f1c09['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4fbe1c),this['_handleRevisionsUpdate'](_0x4fbe1c,_0x2336bb),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2f1c09['_isConnected']?_0x163a90():new Promise((_0x59d6ae,_0x41db08)=>{_0x2f1c09['once']('change:_isConnected',()=>{_0x163a90()['then'](_0x59d6ae)['catch'](_0x41db08);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3b7561=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x27a573=>{_0x27a573['off'](),_0x3b7561();});});}['_getLatestVersionFromServerOperations'](){const _0x5e08a9=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x465567 of _0x5e08a9)if('marker'!==_0x465567['type']||_0x465567['affectsData'])return _0x465567['baseVersion']+0x1;}['_getLatestVersion'](){const _0x949b9a=this['editor']['plugins']['get'](l);return new Promise(_0x38be73=>{_0x949b9a['_isPendingUpdate']?_0x949b9a['once']('change:_isPendingUpdate',()=>{_0x38be73(this['_getLatestVersionFromServerOperations']());}):_0x38be73(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x57bef8,_0xce4aef){const _0x859c24=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xce4aef;for(const _0x4d0cb5 of _0x57bef8){const _0xb19bb6=_0x859c24['getRevision'](_0x4d0cb5['id']);if(_0xb19bb6){if((_0x4d0cb5['fromVersion']||_0x4d0cb5['toVersion'])&&(_0x4d0cb5['diffData']=null),_0xb19bb6===this['_revisionTracker']['currentRevision']){const _0x24eb7a=Math['max'](_0xb19bb6['toVersion'],_0x4d0cb5['toVersion']),_0x8438e2=Math['max'](_0xb19bb6['fromVersion'],_0x4d0cb5['fromVersion']);let _0x2e8425;_0xb19bb6['toVersion']===_0x4d0cb5['toVersion']&&_0xb19bb6['fromVersion']===_0x4d0cb5['fromVersion']?(_0x2e8425=!0x0,this['_preventResendingRevisionData'](_0x4d0cb5)):_0x4d0cb5['toVersion']===_0x24eb7a&&_0x4d0cb5['fromVersion']===_0x8438e2?_0x2e8425=!0x1:(_0xb19bb6['toVersion']===_0x24eb7a&&_0xb19bb6['fromVersion']===_0x8438e2||this['_fixRevision']({'revision':_0xb19bb6,'from':_0x8438e2,'to':_0x24eb7a}),_0x2e8425=!0x0),_0x2e8425&&(delete _0x4d0cb5['fromVersion'],delete _0x4d0cb5['toVersion'],delete _0x4d0cb5['diffData'],delete _0x4d0cb5['createdAt'],delete _0x4d0cb5['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4d0cb5),this['_preventResendingRevisionData'](_0x4d0cb5);}else this['_revisionTracker']['addRevisionData'](_0x4d0cb5);}const _0x2e2b2b=_0x859c24['getRevisions']();_0x2e2b2b['reverse']();for(let _0x2ac9e8=0x0;_0x2ac9e8<_0x2e2b2b['length']-0x1;_0x2ac9e8++){const _0x11fac4=_0x2e2b2b[_0x2ac9e8],_0x187a36=_0x2e2b2b[_0x2ac9e8+0x1];if(_0x11fac4['fromVersion']<_0x187a36['toVersion']){const _0x44d375=_0x187a36['toVersion'],_0x49c48e=Math['max'](_0x44d375,_0x11fac4['toVersion']);this['_fixRevision']({'revision':_0x11fac4,'from':_0x44d375,'to':_0x49c48e});}}}['_fixRevision']({revision:_0x2fbaf0,from:_0x536c29,to:_0xe04d2f}={}){const _0x4c0844=this['editor']['plugins']['get'](_0x59a1a9),_0xcf321f=this['_revisionTracker']['buildRevisionData']({'revision':_0x2fbaf0,'from':_0x536c29,'to':_0xe04d2f});_0xcf321f['authors']=_0xcf321f['authorsIds']['map'](_0x3b0c98=>_0x4c0844['getUser'](_0x3b0c98)),_0x2fbaf0['_update'](_0xcf321f);}['_preventResendingRevisionData'](_0x52060d){const _0x573b20={};_0x573b20['id']=_0x52060d['id'];for(const _0x38b738 of Object['keys'](_0x52060d))'id'!==_0x38b738&&(_0x573b20[_0x38b738]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x573b20['id'],_0x573b20,!0x0);}async['_fetchMissingUsers'](_0x4dc440){const _0xb4869c=this['editor']['plugins']['get'](_0x59a1a9),{connection:_0x572ba5}=this['editor']['plugins']['get'](c),_0x30afe1=new Set();for(const _0x25b590 of _0x4dc440){for(const _0x14bbf9 of _0x25b590['authorsIds'])_0x1c6d1d(_0x14bbf9);_0x25b590['creatorId']&&_0x1c6d1d(_0x25b590['creatorId']);}if(0x0===_0x30afe1['size'])return;const _0x27094b=await mt['getMany'](_0x572ba5,Array['from'](_0x30afe1));for(const _0x512e5a of _0x27094b)_0xb4869c['getUser'](_0x512e5a['id'])||_0xb4869c['addUser'](_0x512e5a);function _0x1c6d1d(_0x39992e){_0xb4869c['getUser'](_0x39992e)||_0x30afe1['add'](_0x39992e);}}}function X(_0x357510){return _0x357510['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x357510['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x357510['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x27d590{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 _0x223bed{constructor(_0x2f6316){super(_0x2f6316);const _0x2801e9=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x2801e9['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x2801e9['to']('usersCount',_0x1bf51e=>E(_0x2f6316,'CONNECTED_USERS',_0x1bf51e))}]});}}class es extends _0x223bed{['items'];['keystrokes'];constructor(_0x5cb3f4){super(_0x5cb3f4);const _0x3385bd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x127892(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3385bd['if']('hasPopup'),'aria-expanded':_0x3385bd['to']('isExpanded',_0x1e9d29=>this['hasPopup']&&String(_0x1e9d29)),'aria-label':_0x3385bd['to']('hasPopup',_0x4f7fbd=>E(_0x5cb3f4,_0x4f7fbd?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3385bd['to']('hasPopup',_0x170fdc=>!!_0x170fdc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x3385bd['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x297d4a,_0x173ffc,_0xf17377)=>{this['element']&&(_0xf17377?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 et extends _0x223bed{['counterView'];['inlineListView'];constructor(_0x49d9d8){super(_0x49d9d8);const _0x4917d1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x49d9d8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x53853b of this['inlineListView']['items'])_0x53853b['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',_0x4917d1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class ht extends _0x223bed{['listWrapperView'];constructor(_0x1d70b2,_0x51a0a0){super(_0x1d70b2),this['listWrapperView']=new vt(_0x1d70b2,_0x51a0a0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x1d70b2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x6c055f{constructor(_0x2d39c4,_0x2ca3fa){super(_0x2d39c4);const _0x1347b3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2ca3fa?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1347b3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1347b3['to']('role'),'aria-label':_0x1347b3['to']('ariaLabel'),'aria-labelledby':_0x1347b3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x31082d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x469079=this['element'];_0x469079&&(this['_isScrollable']=Math['max'](_0x469079['scrollHeight'],_0x469079['clientHeight'])>0.8*window['innerHeight']);}}class rt extends ct{['userView'];constructor(_0x1b15dd,_0x4d006a,_0x15cbe9){super(_0x1b15dd);const _0x3aabae=this['bindTemplate'];this['userView']=new at(_0x1b15dd,_0x4d006a);const _0x5dc59e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4d006a['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4d006a['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4d006a['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x15cbe9&&(_0x5dc59e['tag']='button',_0x5dc59e['on']={'click':_0x3aabae['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5dc59e);}['focus'](){this['element']['focus']();}}class ot extends _0x223bed{['userView'];['markerView'];constructor(_0x1eb9bd,_0x5e6f8f,_0x3b9965){super(_0x1eb9bd);const _0x21e5bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x1eb9bd,_0x5e6f8f),this['markerView']=new pt(_0x1eb9bd,_0x5e6f8f);const _0x395c94=new lt(_0x1eb9bd);_0x395c94['template']['tag']='span',_0x395c94['text']=_0x5e6f8f['name'];const _0xfa9ad4={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x21e5bd['to']('isFocusable',_0x5eb355=>!!_0x5eb355&&0x0),'aria-labelledby':_0x395c94['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x21e5bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x21e5bd['to']('hasTooltip',_0x30cc3a=>!_0x30cc3a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x395c94]};_0x3b9965&&(_0xfa9ad4['tag']='button',_0xfa9ad4['on']={'click':_0x21e5bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfa9ad4);}}class pt extends _0x223bed{constructor(_0x5b8981,_0x1a72c5){super(_0x5b8981),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1a72c5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const nt={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x39d5da{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4d1e84){super(_0x4d1e84),this['context']['config']['define']('presenceList',nt);const _0x4bb5b2=_0x4d1e84['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4bb5b2)throw new _0x1b7f9d('presencelist-collapseat-invalid-format',this);if(_0x4bb5b2<0x1)throw new _0x1b7f9d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5537fa(),this['balloonPanelView']=new tt(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19753d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19753d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x267bd2,_0xe63384)=>{this['_handleUserAdd'](_0xe63384);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4284e7,_0x4a62b3)=>{this['_handleUserRemove'](_0x4a62b3);});}['_createView'](){const _0x2e67e7=this['context'],_0x11bfa8=new et(this['context']['locale']),_0x5d98f2=this['balloonPanelView'];if(!it(_0x2e67e7['config']['get']('presenceList.container')))throw new _0x1b7f9d('presencelist-missing-container',this);return _0x11bfa8['counterView']['bind']('usersCount')['to'](this),_0x11bfa8['bind']('isCollapsed')['to'](this,'usersCount',_0x3fa28f=>{const {collapseAt:_0x328720,displayMe:_0x4b40f4}=_0x2e67e7['config']['get']('presenceList'),_0x48d32a=_0x3fa28f>=_0x328720;return _0x11bfa8['counterView']['isHidden']=!(0x1==_0x3fa28f&&_0x4b40f4||_0x48d32a),_0x48d32a||this['hideDropdown'](),_0x48d32a;}),_0x11bfa8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4d4422=>{const _0x5015be=_0x2e67e7['config']['get']('presenceList'),_0x3d8b0b=new ot(_0x2e67e7['locale'],_0x4d4422,!!_0x5015be['onClick']);return _0x3d8b0b['bind']('hasTooltip')['to'](_0x11bfa8,'isCollapsed',_0x2469f2=>!_0x2469f2),_0x3d8b0b['bind']('isFocusable')['to'](_0x11bfa8,'isCollapsed',_0x5d1aaf=>!_0x5d1aaf),_0x5015be['onClick']&&this['listenTo'](_0x3d8b0b,'execute',()=>{this['view']['isCollapsed']||_0x5015be['onClick'](_0x4d4422,_0x3d8b0b['element']);}),_0x3d8b0b;}),this['listenTo'](_0x11bfa8['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x11bfa8['inlineListView']['keystrokes']['set']('Enter',(_0x56c748,_0x5b72e1)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b72e1());}),_0x11bfa8['render'](),_0x5d98f2['render'](),_0x4367c7({'emitter':_0x11bfa8,'activator':()=>_0x5d98f2['isVisible'],'contextElements':[_0x5d98f2['element'],_0x11bfa8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2e67e7['config']['get']('presenceList.container')['appendChild'](_0x11bfa8['element']),this['_bodyCollection']=new st(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x11bfa8;}['_handleUserAdd'](_0x537b5d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x537b5d['isMe'])return;const _0x340f9f=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x340f9f&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x438893=_0x537b5d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x537b5d,_0x438893);}['_handleUserRemove'](_0x397182){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x397182['id'])&&(this['currentDisplayedUsers']['remove'](_0x397182['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0xf05252 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xf05252['id']))return void this['currentDisplayedUsers']['add'](_0xf05252,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xe0f5cf=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new ht(this['context']['locale'],!!_0xe0f5cf['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3441d0}=this['presenceDropdownView'];_0x3441d0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x35ab82=>{if(!_0xe0f5cf['displayMe']&&_0x35ab82['isMe'])return null;const _0x365f5a=new rt(this['context']['locale'],_0x35ab82,!!_0xe0f5cf['onClick']);return _0xe0f5cf['onClick']&&this['listenTo'](_0x365f5a,'execute',()=>{_0xe0f5cf['onClick'](_0x35ab82,_0x365f5a['element']);}),_0x365f5a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3441d0['focus'](),_0x3441d0['checkIfScrollable']();const _0xf1c294=(_0x2552d8,_0x38f1d3)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x38f1d3();};_0x3441d0['keystrokes']['set']('Esc',_0xf1c294),_0x3441d0['keystrokes']['set']('Shift+Tab',_0xf1c294),_0x3441d0['keystrokes']['set']('Tab',(_0x5cb6ec,_0x19a1d6)=>{!function(_0x3442ee){const _0x152eb7=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5148d3=>_0x5148d3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x229525=[...document['body']['querySelectorAll'](_0x152eb7)]['filter'](_0x239f18=>_0x239f18===document['activeElement']||_0x239f18['offsetWidth']+_0x239f18['offsetHeight']>0x0)['sort']((_0x2868e1,_0x5ade3f)=>(_0x2868e1['tabIndex']||0x0)-(_0x5ade3f['tabIndex']||0x0)),_0x5d9c3b=_0x229525['indexOf'](_0x3442ee),_0x30baff=_0x229525[(_0x5d9c3b+0x1)%_0x229525['length']];_0x30baff&&_0x30baff['focus']();}(this['view']['element']),this['hideDropdown'](),_0x19a1d6();}),_0x3441d0['focusTracker']['add'](this['view']['element']),_0x3441d0['focusTracker']['on']('change:isFocused',(_0x7058b2,_0x53b3d0,_0x15abe2)=>{_0x15abe2||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 _0x39d5da{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
  */