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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.js +1 -1
  4. package/dist/translations/af.umd.js +1 -1
  5. package/dist/translations/ar.js +1 -1
  6. package/dist/translations/ar.umd.js +1 -1
  7. package/dist/translations/ast.js +1 -1
  8. package/dist/translations/ast.umd.js +1 -1
  9. package/dist/translations/az.js +1 -1
  10. package/dist/translations/az.umd.js +1 -1
  11. package/dist/translations/be.js +1 -1
  12. package/dist/translations/be.umd.js +1 -1
  13. package/dist/translations/bg.js +1 -1
  14. package/dist/translations/bg.umd.js +1 -1
  15. package/dist/translations/bn.js +1 -1
  16. package/dist/translations/bn.umd.js +1 -1
  17. package/dist/translations/bs.js +1 -1
  18. package/dist/translations/bs.umd.js +1 -1
  19. package/dist/translations/ca.js +1 -1
  20. package/dist/translations/ca.umd.js +1 -1
  21. package/dist/translations/cs.js +1 -1
  22. package/dist/translations/cs.umd.js +1 -1
  23. package/dist/translations/da.js +1 -1
  24. package/dist/translations/da.umd.js +1 -1
  25. package/dist/translations/de-ch.js +1 -1
  26. package/dist/translations/de-ch.umd.js +1 -1
  27. package/dist/translations/de.js +1 -1
  28. package/dist/translations/de.umd.js +1 -1
  29. package/dist/translations/el.js +1 -1
  30. package/dist/translations/el.umd.js +1 -1
  31. package/dist/translations/en-au.js +1 -1
  32. package/dist/translations/en-au.umd.js +1 -1
  33. package/dist/translations/en-gb.js +1 -1
  34. package/dist/translations/en-gb.umd.js +1 -1
  35. package/dist/translations/en.js +1 -1
  36. package/dist/translations/en.umd.js +1 -1
  37. package/dist/translations/eo.js +1 -1
  38. package/dist/translations/eo.umd.js +1 -1
  39. package/dist/translations/es-co.js +1 -1
  40. package/dist/translations/es-co.umd.js +1 -1
  41. package/dist/translations/es.js +1 -1
  42. package/dist/translations/es.umd.js +1 -1
  43. package/dist/translations/et.js +1 -1
  44. package/dist/translations/et.umd.js +1 -1
  45. package/dist/translations/eu.js +1 -1
  46. package/dist/translations/eu.umd.js +1 -1
  47. package/dist/translations/fa.js +1 -1
  48. package/dist/translations/fa.umd.js +1 -1
  49. package/dist/translations/fi.js +1 -1
  50. package/dist/translations/fi.umd.js +1 -1
  51. package/dist/translations/fr.js +1 -1
  52. package/dist/translations/fr.umd.js +1 -1
  53. package/dist/translations/gl.js +1 -1
  54. package/dist/translations/gl.umd.js +1 -1
  55. package/dist/translations/gu.js +1 -1
  56. package/dist/translations/gu.umd.js +1 -1
  57. package/dist/translations/he.js +1 -1
  58. package/dist/translations/he.umd.js +1 -1
  59. package/dist/translations/hi.js +1 -1
  60. package/dist/translations/hi.umd.js +1 -1
  61. package/dist/translations/hr.js +1 -1
  62. package/dist/translations/hr.umd.js +1 -1
  63. package/dist/translations/hu.js +1 -1
  64. package/dist/translations/hu.umd.js +1 -1
  65. package/dist/translations/hy.js +1 -1
  66. package/dist/translations/hy.umd.js +1 -1
  67. package/dist/translations/id.js +1 -1
  68. package/dist/translations/id.umd.js +1 -1
  69. package/dist/translations/it.js +1 -1
  70. package/dist/translations/it.umd.js +1 -1
  71. package/dist/translations/ja.js +1 -1
  72. package/dist/translations/ja.umd.js +1 -1
  73. package/dist/translations/jv.js +1 -1
  74. package/dist/translations/jv.umd.js +1 -1
  75. package/dist/translations/kk.js +1 -1
  76. package/dist/translations/kk.umd.js +1 -1
  77. package/dist/translations/km.js +1 -1
  78. package/dist/translations/km.umd.js +1 -1
  79. package/dist/translations/kn.js +1 -1
  80. package/dist/translations/kn.umd.js +1 -1
  81. package/dist/translations/ko.js +1 -1
  82. package/dist/translations/ko.umd.js +1 -1
  83. package/dist/translations/ku.js +1 -1
  84. package/dist/translations/ku.umd.js +1 -1
  85. package/dist/translations/lt.js +1 -1
  86. package/dist/translations/lt.umd.js +1 -1
  87. package/dist/translations/lv.js +1 -1
  88. package/dist/translations/lv.umd.js +1 -1
  89. package/dist/translations/ms.js +1 -1
  90. package/dist/translations/ms.umd.js +1 -1
  91. package/dist/translations/nb.js +1 -1
  92. package/dist/translations/nb.umd.js +1 -1
  93. package/dist/translations/ne.js +1 -1
  94. package/dist/translations/ne.umd.js +1 -1
  95. package/dist/translations/nl.js +1 -1
  96. package/dist/translations/nl.umd.js +1 -1
  97. package/dist/translations/no.js +1 -1
  98. package/dist/translations/no.umd.js +1 -1
  99. package/dist/translations/oc.js +1 -1
  100. package/dist/translations/oc.umd.js +1 -1
  101. package/dist/translations/pl.js +1 -1
  102. package/dist/translations/pl.umd.js +1 -1
  103. package/dist/translations/pt-br.js +1 -1
  104. package/dist/translations/pt-br.umd.js +1 -1
  105. package/dist/translations/pt.js +1 -1
  106. package/dist/translations/pt.umd.js +1 -1
  107. package/dist/translations/ro.js +1 -1
  108. package/dist/translations/ro.umd.js +1 -1
  109. package/dist/translations/ru.js +1 -1
  110. package/dist/translations/ru.umd.js +1 -1
  111. package/dist/translations/si.js +1 -1
  112. package/dist/translations/si.umd.js +1 -1
  113. package/dist/translations/sk.js +1 -1
  114. package/dist/translations/sk.umd.js +1 -1
  115. package/dist/translations/sl.js +1 -1
  116. package/dist/translations/sl.umd.js +1 -1
  117. package/dist/translations/sq.js +1 -1
  118. package/dist/translations/sq.umd.js +1 -1
  119. package/dist/translations/sr-latn.js +1 -1
  120. package/dist/translations/sr-latn.umd.js +1 -1
  121. package/dist/translations/sr.js +1 -1
  122. package/dist/translations/sr.umd.js +1 -1
  123. package/dist/translations/sv.js +1 -1
  124. package/dist/translations/sv.umd.js +1 -1
  125. package/dist/translations/th.js +1 -1
  126. package/dist/translations/th.umd.js +1 -1
  127. package/dist/translations/ti.js +1 -1
  128. package/dist/translations/ti.umd.js +1 -1
  129. package/dist/translations/tk.js +1 -1
  130. package/dist/translations/tk.umd.js +1 -1
  131. package/dist/translations/tr.js +1 -1
  132. package/dist/translations/tr.umd.js +1 -1
  133. package/dist/translations/tt.js +1 -1
  134. package/dist/translations/tt.umd.js +1 -1
  135. package/dist/translations/ug.js +1 -1
  136. package/dist/translations/ug.umd.js +1 -1
  137. package/dist/translations/uk.js +1 -1
  138. package/dist/translations/uk.umd.js +1 -1
  139. package/dist/translations/ur.js +1 -1
  140. package/dist/translations/ur.umd.js +1 -1
  141. package/dist/translations/uz.js +1 -1
  142. package/dist/translations/uz.umd.js +1 -1
  143. package/dist/translations/vi.js +1 -1
  144. package/dist/translations/vi.umd.js +1 -1
  145. package/dist/translations/zh-cn.js +1 -1
  146. package/dist/translations/zh-cn.umd.js +1 -1
  147. package/dist/translations/zh.js +1 -1
  148. package/dist/translations/zh.umd.js +1 -1
  149. package/package.json +15 -15
  150. package/src/common-translations.js +1 -1
  151. package/src/index.js +1 -1
  152. package/src/presencelist/presencelistui.js +1 -1
  153. package/src/presencelist/view/presencecounterview.js +1 -1
  154. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  155. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  156. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  157. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  158. package/src/presencelist/view/presencelistview.js +1 -1
  159. package/src/presencelist.js +1 -1
  160. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
  161. package/src/realtimecollaborativecomments.js +1 -1
  162. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
  163. package/src/realtimecollaborativeediting/sessions.js +1 -1
  164. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  165. package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
  166. package/src/realtimecollaborativeediting.js +1 -1
  167. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
  168. package/src/realtimecollaborativerevisionhistory.js +1 -1
  169. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
  170. package/src/realtimecollaborativetrackchanges.js +1 -1
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x38fb43,Plugin as _0x1178f7,PendingActions as _0x477f66,Context as _0x8ee687}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x429a99,CKEditorError as _0x138eb8,Collection as _0x505ced,global as _0x439b3d,version as nt,uid as _0x57da16,KeystrokeHandler as _0x5c6d96}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3b6069,View as _0x260788,ListView as _0x1953fa,ListItemView as et,LabelView as it,BalloonPanelView as _0x2b336b,clickOutsideHandler as _0x1b15b6,BodyCollection as _0x11f0a4}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3b0e83,History as _0x3f7e60,NoOperation as _0x42bd19,InsertOperation as _0x17ca5c,MarkerOperation as _0x5b36d3,RootAttributeOperation as _0x47a098,transformOperationSets as _0x4eaa7b,OperationFactory as _0xc5e8b3}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ot,WEB_SOCKET_GATEWAY_STATES as _0x34396e,CollaborativeEditingService as _0x4aa299,User as rt,CommentsService as _0x17ae11,TrackChangesService as tt,RevisionHistoryService as _0x366578,EditorService as _0x332ed7}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5d9668,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3b6f0c}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3c8a9f}from'es-toolkit/compat';class n extends _0x38fb43{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ot)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3b6069];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x571c45){super(_0x571c45),this['set']('state',_0x34396e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x429a99())();}['init'](){const _0x27f1d6=this['context'],_0x416962=_0x27f1d6['plugins']['get']('CloudServices'),_0x541c0f=_0x27f1d6['plugins']['get'](_0x3b6069);if(!_0x416962['token'])throw new _0x138eb8('websocketgateway-missing-token',this);if(!_0x416962['webSocketUrl'])throw new _0x138eb8('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x416962['token'],_0x416962['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x933fb6=>{if(this['connection']=_0x933fb6,this['bind']('state')['to'](_0x933fb6,'state',this,'_isBrowserOffline',(_0x5b4ffa,_0x408af9)=>('connected'!==_0x5b4ffa&&(this['_shouldPluginsReconnect']=!0x0),_0x408af9||_0x5b4ffa!==_0x34396e['CONNECTED']?_0x34396e['DISCONNECTED']:this['state']==_0x34396e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x34396e['CONNECTING']):_0x34396e['CONNECTED'])),this['connection']['on']('error',(_0x90344f,_0x41abd2)=>{if('limitExceeded'!==_0x41abd2['code'])throw console['error'](_0x41abd2),new _0x138eb8('cloudservices-init',null,{'originalError':_0x41abd2});_0x541c0f['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x933fb6['me'])return new Promise(_0x319cc2=>_0x933fb6['on']('change:me',_0x319cc2));})['catch'](_0x214614=>{throw console['error'](_0x214614),new _0x138eb8('cloudservices-init',null,{'originalError':_0x214614});});}['addToReconnectionStack'](_0x5b90d3){if('function'!=typeof _0x5b90d3['reconnect'])throw new _0x138eb8('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5b90d3))throw new _0x138eb8('websocketgateway-plugin-already-registered',this,{'name':_0x5b90d3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5b90d3);}['removeFromReconnectionStack'](_0x10bc3b){this['_reconnectionStack']['delete'](_0x10bc3b);}['isInReconnectionStack'](_0x594ebb){return this['_reconnectionStack']['has'](_0x594ebb);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1d65a0=>_0x1d65a0['reconnect']())))['then'](()=>this['state']=_0x34396e['CONNECTED'])['catch'](_0x216de5=>{throw console['error'](_0x216de5),new _0x138eb8('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x34396e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x38fb43{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x5d9668];}constructor(_0x1bbc4f){super(_0x1bbc4f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x505ced(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5d9668);}['init'](){const _0x479939=this['context']['plugins']['get'](n);this['listenTo'](_0x479939,'change:state',(_0x24424e,_0x41ec61,_0x4c2878)=>{if('connected'!==_0x4c2878)this['channelSessions']['forEach'](_0x2e8584=>_0x2e8584['clear']()),this['channelConnectedUsers']['forEach'](_0x1e8588=>_0x1e8588['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31ceab,_0x2cf675]of this['_registeredSessions'])for(const _0x114188 of _0x2cf675)this['_handleSessionAdd'](_0x31ceab,_0x114188);}}),this['_createUser'](_0x479939['connection']['me'],!0x0);}['register'](_0x2a4b6a,_0x3b6f0d){if(this['_registeredSessions']['has'](_0x2a4b6a))throw new _0x138eb8('sessions-register-already-registered',null,{'channelId':_0x2a4b6a});this['_registeredSessions']['set'](_0x2a4b6a,_0x3b6f0d),this['channelSessions']['set'](_0x2a4b6a,new _0x505ced()),this['channelConnectedUsers']['set'](_0x2a4b6a,new _0x505ced()),this['listenTo'](_0x3b6f0d,'add',(_0xc960b3,_0x1e2048)=>this['_handleSessionAdd'](_0x2a4b6a,_0x1e2048)),this['listenTo'](_0x3b6f0d,'remove',(_0x33d932,_0x18fbfb)=>this['_handleSessionRemove'](_0x2a4b6a,_0x18fbfb));for(const _0x5da6d2 of _0x3b6f0d)this['_handleSessionAdd'](_0x2a4b6a,_0x5da6d2);}['unregister'](_0x5c3bd3){if(!this['_registeredSessions']['has'](_0x5c3bd3))throw new _0x138eb8('sessions-unregister-not-exist',null,{'channelId':_0x5c3bd3});const _0x208648=this['_registeredSessions']['get'](_0x5c3bd3);this['stopListening'](_0x208648);for(const _0x197fe8 of _0x208648)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5c3bd3,_0x197fe8);this['_registeredSessions']['delete'](_0x5c3bd3),this['channelSessions']['delete'](_0x5c3bd3),this['channelConnectedUsers']['delete'](_0x5c3bd3);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5de3d9){for(const _0x45e8ed of this['channelSessions']['values']())for(const _0x42ba5f of _0x45e8ed)if(_0x42ba5f['id']===_0x5de3d9)return _0x42ba5f['user'];}['getUserSessions'](_0x159604,_0x4ddbd2){const _0x1cdbc6=_0x4ddbd2?[this['channelSessions']['get'](_0x4ddbd2)]:this['channelSessions']['values'](),_0x5836df=new Set();for(const _0x3257f8 of _0x1cdbc6)for(const _0x45977f of _0x3257f8)_0x45977f['user']['id']===_0x159604['id']&&_0x5836df['add'](_0x45977f['id']);return _0x5836df;}['getUserRole'](_0x585262){for(const _0x1e977e of this['channelSessions']['values']())for(const _0xeac735 of _0x1e977e)if(_0xeac735['user']===_0x585262)return _0xeac735['role'];}['_handleSessionAdd'](_0x310365,_0x401fe6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x11b4c2=_0x401fe6['user'],_0x2c83bb=this['_users']['getUser'](_0x11b4c2['id'])||this['_createUser'](_0x11b4c2),_0x1a6e54=Object['assign']({},_0x401fe6,{'user':_0x2c83bb});if(this['channelSessions']['get'](_0x310365)['add'](_0x1a6e54),!_0x11b4c2['hiddenInPresenceList']){const _0x1edd0a=this['channelConnectedUsers']['get'](_0x310365);_0x1edd0a['has'](_0x2c83bb['id'])||_0x1edd0a['add'](_0x2c83bb),this['allConnectedUsers']['has'](_0x2c83bb['id'])||_0x11b4c2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2c83bb,_0x2c83bb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x310365,{'channelId':_0x310365,'session':_0x1a6e54});}['_handleSessionRemove'](_0x378610,_0x18c17b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x530739=this['channelConnectedUsers']['get'](_0x378610),_0x59a32c=_0x18c17b['user'];_0x59a32c['id']&&(this['channelSessions']['get'](_0x378610)['remove'](_0x18c17b['id']),_0x530739['has'](_0x59a32c['id'])&&!this['getUserSessions'](_0x59a32c,_0x378610)['size']&&_0x530739['remove'](_0x59a32c['id']),this['allConnectedUsers']['get'](_0x59a32c['id'])&&!this['getUserSessions'](_0x59a32c)['size']&&this['allConnectedUsers']['remove'](_0x59a32c['id']));}['_createUser'](_0x32597b,_0x592b00){const _0x3a21d4=this['_users']['addUser'](_0x32597b);return _0x592b00&&this['_users']['defineMe'](_0x32597b['id']),_0x3a21d4['orderNumber']=this['_uniqueUsersCount']++,_0x3a21d4;}}class G extends _0x1178f7{['_domEmitter']=new(_0x429a99())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3fb856=this['editor'],_0x530964=_0x3fb856['plugins']['get'](i);_0x3fb856['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1e1725,{writer:_0x1bea8b})=>function(_0x446830,_0x378742,_0xf5041f,_0x1aec36){const _0xdb9c47=_0x446830['markerName']['split'](':')[0x2],_0x131087=_0xf5041f['getUserBySessionId'](_0xdb9c47);if(!_0x131087||_0xdb9c47===_0xf5041f['mySessionId'])return;if(!_0x1aec36['model']['schema']['checkChild'](_0x446830['markerRange']['start'],'$text'))return;const _0x3e9efc={'class':'ck-user__marker\x20'+_0x131087['color']['getMarkerClass'](),'data-name':_0x131087['name'],'data-session-id':_0xdb9c47},_0x1e8a02=_0x1aec36['model']['markers']['get'](_0x446830['markerName']),_0x1dedc5=_0x1e8a02['getStart'](),_0x31416c=_0x1dedc5['nodeAfter'],_0x5a96a3=_0x1aec36['model']['schema'];if(_0x31416c&&_0x5a96a3['isObject'](_0x31416c)&&_0x5a96a3['isInline'](_0x31416c)&&!_0x1aec36['model']['markers']['get']('user:range:'+_0xdb9c47)['getRange']()['isCollapsed'])return;const _0x16df7a=_0x1dedc5['parent'];return _0x1aec36['model']['schema']['isLimit'](_0x16df7a)&&!_0x1aec36['model']['hasContent'](_0x16df7a)&&(_0x3e9efc['contenteditable']=!0x1),function(_0x4d281b,_0x1e5fae,_0x4b5c18){const _0x4ad7f6=_0x4d281b['createUIElement']('span',_0x1e5fae);return _0x4d281b['setCustomProperty']('userPositionMarker',!0x0,_0x4ad7f6),_0x4ad7f6['render']=function(_0x4e470e){const _0x21369e=this['toDomElement'](_0x4e470e),_0x161b95=document['createElement']('span');return _0x161b95['classList']['add']('ck-user__marker-tooltip'),_0x161b95['setAttribute']('contenteditable','false'),_0x161b95['setAttribute']('spellcheck','false'),_0x161b95['textContent']=_0x4b5c18['name'],_0x21369e['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x161b95['outerHTML']+'⁠',_0x21369e['addEventListener']('mouseenter',()=>{_0x21369e['classList']['add']('ck-user__marker_hovered');}),_0x21369e['addEventListener']('mouseleave',()=>{_0x21369e['classList']['remove']('ck-user__marker_hovered');}),_0x21369e;},_0x4ad7f6['isSimilar']=function(_0x54907f){return!(!this['getCustomProperty']('userPositionMarker')||!_0x54907f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x54907f['getAttribute']('data-session-id'));},_0x4ad7f6;}(_0x378742,_0x3e9efc,_0x131087);}(_0x1e1725,_0x1bea8b,_0x530964,_0x3fb856)}),_0x3fb856['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2503f8=>function(_0xe81e9e,_0x253286){const _0xaa29a0=_0xe81e9e['markerName']['split'](':')[0x2];if(_0xaa29a0===_0x253286['mySessionId'])return null;const _0x3a5696=_0x253286['getUserBySessionId'](_0xaa29a0);if(!_0x3a5696)return{'id':_0xaa29a0,'classes':[]};return{'id':_0xaa29a0,'classes':['ck-user__selection',_0x3a5696['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xaa29a0},'priority':0x7d0+_0x3a5696['orderNumber']};}(_0x2503f8,_0x530964)}),function(_0x588300){const _0x2b7921=_0x588300['model'],_0x22154e=new Map(),_0x457bc0=_0x588300['plugins']['get'](i);_0x2b7921['markers']['on']('update:user:range',(_0x308648,_0x44418f,_0x27a4fb,_0x2367a3)=>{if(!_0x2367a3&&_0x22154e['get'](_0x44418f['name']))return _0x22154e['get'](_0x44418f['name'])['detach'](),void _0x22154e['delete'](_0x44418f['name']);const _0x1cde19=_0x44418f['name']['split'](':')[0x2];if(_0x1cde19===_0x457bc0['mySessionId'])return;const _0x2fb64a='user:position:'+_0x1cde19;_0x2b7921['markers']['has'](_0x2fb64a)&&_0x588300['editing']['reconvertMarker'](_0x2fb64a),_0x44418f['on']('change:range',(_0x247bc2,_0x12ae72,_0x30795)=>{if('$graveyard'!=_0x12ae72['root']['rootName']&&'$graveyard'==_0x44418f['getRange']()['root']['rootName']&&!_0x22154e['has'](_0x44418f['name'])){const _0x10bdb7=_0x2b7921['schema']['getNearestSelectionRange'](_0x30795['deletionPosition']);if(_0x10bdb7){const _0x30cc4c=_0x3b0e83['fromRange'](_0x10bdb7);_0x22154e['set'](_0x44418f['name'],_0x30cc4c),_0x30cc4c['on']('change:range',(_0x46d91b,_0x6aefc5,_0x552431)=>{if('$graveyard'==_0x30cc4c['root']['rootName']){const _0x263241=_0x2b7921['schema']['getNearestSelectionRange'](_0x552431['deletionPosition']);_0x263241?(_0x30cc4c['start']=_0x263241['start'],_0x30cc4c['end']=_0x263241['end']):(_0x22154e['delete'](_0x44418f['name']),_0x30cc4c['detach']());}});}}});}),_0x2b7921['document']['on']('change',()=>{_0x22154e['size']>0x0&&_0x2b7921['enqueueChange']({'isUndoable':!0x1},_0x4201c7=>{for(const [_0x2c2a21,_0x1e56d8]of _0x22154e)'$graveyard'==_0x2b7921['markers']['get'](_0x2c2a21)['getRange']()['root']['rootName']&&(re(_0x2c2a21['split'](':')[0x2],_0x1e56d8['toRange'](),_0x2b7921,_0x4201c7),_0x1e56d8['detach']());_0x22154e['clear']();});});}(_0x3fb856),this['_domEmitter']['listenTo'](_0x439b3d['document'],'keydown',(_0x2bd436,{key:_0x12dd3c})=>{'Escape'===_0x12dd3c&&function(_0x4e2597){_0x4e2597['editing']['view']['change'](_0x48b698=>{for(const _0x23f7dc of _0x4e2597['model']['markers']){if(!_0x23f7dc['name']['startsWith']('user:position'))continue;const _0x31f93b=_0x4e2597['editing']['mapper']['markerNameToElements'](_0x23f7dc['name']);if(_0x31f93b){for(const _0x2f57e7 of _0x31f93b)_0x48b698['removeClass']('ck-user__marker_hovered',_0x2f57e7);}}});}(_0x3fb856);},{'useCapture':!0x0});}['afterInit'](){const _0x5f179f=this['editor'],_0x1db3d7=_0x5f179f['commands']['get']('undo');_0x1db3d7&&_0x5f179f['model']['on']('applyOperation',(_0x596211,_0x26475b)=>{const _0xc100ec=_0x26475b[0x0];if(!_0xc100ec['isDocumentOperation'])return;if('marker'!=_0xc100ec['type']||!_0xc100ec['name']['startsWith']('user:'))return;const _0x4adf2a=_0xc100ec['batch'];_0x1db3d7['_createdBatches']['has'](_0x4adf2a)&&(_0xc100ec['newRange']=_0xc100ec['oldRange']?_0x5f179f['model']['createRange'](_0xc100ec['oldRange']['start'],_0xc100ec['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x404d4e=this['editor'],_0x8e5b6c=_0x404d4e['model']['document'],_0x4fbe1d=_0x404d4e['plugins']['get'](i);_0x404d4e['model']['enqueueChange']({'isUndoable':!0x1},_0xd610bb=>{const _0xb18e58='user:range:'+_0x4fbe1d['mySessionId'],_0x275e58='user:position:'+_0x4fbe1d['mySessionId'],_0x409905=_0x404d4e['model']['markers']['has'](_0xb18e58);_0x404d4e['editing']['view']['hasDomSelection']?re(_0x4fbe1d['mySessionId'],_0x8e5b6c['selection']['getFirstRange'](),_0x404d4e['model'],_0xd610bb):_0x409905&&(_0xd610bb['removeMarker'](_0xb18e58),_0xd610bb['removeMarker'](_0x275e58));});}}function re(_0x3d9c11,_0x2aa8f3,_0x48a46c,_0x18cb72){const _0x2c2c95='user:range:'+_0x3d9c11,_0x383f89='user:position:'+_0x3d9c11,_0x25c5ff=_0x2aa8f3['getContainedElement']();let _0x3b9d43=_0x2aa8f3['start'];if(_0x25c5ff&&_0x25c5ff['is']('element','tableCell')){const _0x20fb77=function(_0x36535c,_0x4774c9){for(const _0x3f4d83 of _0x36535c['getPositions']())if(_0x4774c9['schema']['checkChild'](_0x3f4d83,'$text'))return _0x3f4d83;}(_0x2aa8f3,_0x48a46c);_0x20fb77&&(_0x3b9d43=_0x20fb77,_0x2aa8f3=_0x18cb72['createRange'](_0x3b9d43));}const _0x2771ac=_0x18cb72['createRange'](_0x3b9d43);_0x48a46c['markers']['has'](_0x2c2c95)?(_0x18cb72['updateMarker'](_0x2c2c95,{'range':_0x2aa8f3}),_0x18cb72['updateMarker'](_0x383f89,{'range':_0x2771ac})):(_0x18cb72['addMarker'](_0x2c2c95,{'range':_0x2aa8f3,'usingOperation':!0x0}),_0x18cb72['addMarker'](_0x383f89,{'range':_0x2771ac,'usingOperation':!0x0}));}function $(_0x2fbf49,_0x39d501,_0x62cde2){const _0x366e91=_0x2fbf49['t'],t=_0x2fbf49['t'];switch(_0x39d501){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x366e91({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x62cde2);default:return'';}}let Q=0x1;class l extends _0x1178f7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x4aa299)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x477f66,_0x5d9668,_0x3b6069];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x496d54=this['serverHistory']['getOperations']();for(let _0x1cfa0d=_0x496d54['length']-0x1;_0x1cfa0d>=0x0;_0x1cfa0d--){const _0x190164=_0x496d54[_0x1cfa0d];if(!this['_disconnectionOperations']['has'](_0x190164))return _0x190164['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x109fe7){if(super(_0x109fe7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3f7e60(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x138eb8('collaboration-missing-channelid',this);const _0x4abff9=_0x109fe7['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4abff9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3b6f0c(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x250ef4=this['editor'],_0x8ba856=_0x250ef4['plugins']['get'](_0x5d9668),_0x2f877e=_0x250ef4['plugins']['get'](n);this['listenTo'](_0x8ba856,'getOperationAuthor',(_0x50caca,_0x14cbf7)=>{const _0x372178=_0x14cbf7[0x0];_0x372178['_authorId']&&(_0x50caca['return']=_0x8ba856['getUser'](_0x372178['_authorId']),_0x50caca['stop']()),null===_0x372178['_authorId']&&(_0x50caca['return']=null,_0x50caca['stop']());},{'priority':'high'}),this['listenTo'](_0x250ef4['model']['document']['selection'],'change:range',(_0xf8d251,_0x5366e1)=>{_0x5366e1['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x250ef4['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x250ef4['model']['on']('applyOperation',(_0x3c6181,_0x54d35f)=>{const _0x16b0fd=_0x54d35f[0x0];_0x16b0fd['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x16b0fd),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2f877e,'state',this,'_hasSynchronizationProblem',(_0x12c9d9,_0x58eb47)=>'connected'===_0x12c9d9&&!_0x58eb47),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x250ef4['disableReadOnlyMode']('rtc-offline'):_0x250ef4['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x250ef4['disableReadOnlyMode']('rtc-offline'):_0x250ef4['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5ef5a9=this['editor']['plugins']['get'](i),_0x1ee0eb=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x5ef5a9['unregister'](this['_channelId']);const _0x1e60b9=await this['_service']['reconnect'](_0x1ee0eb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e60b9)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2b3440=await this['_service']['getConnectedSessions']();_0x5ef5a9['register'](this['_channelId'],_0x2b3440),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5baefd){if(function(_0x302672){return'404'===_0x302672['code'];}(_0x5baefd)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x19cc1e){return'409'===_0x19cc1e['code'];}(_0x5baefd)){const _0x2881c4=$(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2881c4);}else{if(!(_0x5baefd instanceof ReconnectionError))throw _0x5baefd;this['_handleReconnectionError']();}}}}['destroy'](){const _0x189883=this['editor']['plugins']['get'](n),_0x12274d=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x12274d['channelSessions']['has'](this['_channelId'])&&_0x12274d['unregister'](this['_channelId']),_0x189883['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1db030){if(this['sessionId']!==_0x1db030['sessionId']&&this['_lastSyncedOperationId']!==_0x1db030['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x1db030['sessionId'],this['_handleServerResponse']([],{..._0x1db030,'wereChangesApplied':!0x1,'data':_0x1db030['data']},'reconnect');}async['_connectService'](_0x32f47d,_0x2bd8f5=!0x1){const {connection:_0x415285}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x415285,this['_channelId'])['then'](_0x39ec2c=>this['_initSessionsHandling'](_0x39ec2c))['catch'](_0x380663=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x380663);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2a9d75,_0x2d09ff)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2d09ff);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x35270b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x32f47d);this['_isPendingUpdate']=!0x0;const _0x3998c9=await this['_service']['connect'](_0x415285,this['_compressOperations'](_0x32f47d),_0x35270b);if(this['sessionId']=_0x3998c9['sessionId'],_0x2bd8f5){if(!_0x3998c9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3998c9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x32f47d,_0x3998c9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3998c9,_0x32f47d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x51d626=this['editor']['plugins']['get'](i),_0xa0d40=this['editor']['plugins']['get'](G),_0x28d56b=_0x51d626['channelSessions']['get'](this['_channelId']);_0x28d56b&&_0x28d56b['length']>0x1?_0xa0d40['createUserMarkerOperations']():this['listenTo'](_0x51d626,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x51d626['channelSessions']['get'](this['_channelId'])['length']&&_0xa0d40['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x556763,_0x4969a8,_0x1489dc,_0x3b7b07){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4969a8){const _0x1a367d=this['_decompressOperations'](_0x1489dc,_0x3b7b07);await this['_fetchMissingUsers'](_0x1a367d),this['_handleExternalOperations'](_0x1a367d,_0x4969a8,_0x1489dc['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x244cd2}=this['editor'];let _0x10fca9;try{_0x10fca9=await this['_service']['getDocumentDetails']();}catch{const _0x388086=$(_0x244cd2,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x388086);}const _0x2ce69f=_0x10fca9['currentDocumentSession']||_0x10fca9['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2ce69f['lastOperationId']){const _0x3fa11c=$(_0x244cd2,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3fa11c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x42d829){const _0x3d413a=this['editor']['plugins']['get'](i);this['listenTo'](_0x3d413a,'sessionAdd:'+this['_channelId'],(_0x25bc19,{session:_0x1a0fd1})=>{if(_0x1a0fd1['id']===_0x3d413a['mySessionId']){_0x25bc19['off']();const _0x36a6e5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3943de=_0x1a0fd1['permissions'];_0x36a6e5&&_0x36a6e5['isEnabled']&&(_0x3943de=_0x3943de['filter'](_0x37063d=>'document:write'!==_0x37063d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3943de,this['_channelId']);}}),_0x3d413a['register'](this['_channelId'],_0x42d829);}['_initThrowingOnDataSet'](){const _0x1ac6b4=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x13f5db)=>{if(!_0x13f5db[_0x13f5db['length']-0x1]['suppressErrorInCollaboration'])throw new _0x138eb8('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1ac6b4['apply'](this['editor']['data'],_0x13f5db);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1d971f,[_0x41fff5])=>{if(this['_document']['version'])throw new _0x138eb8('realtimecollaborationclient-init-document-already-initialized',this);_0x1d971f['stop'](),this['_setPendingAction']();const _0x576e50=this['editor']['config']['get']('rootsAttributes'),_0x45aad9=this['_getOperationsFromInitData'](_0x41fff5,_0x576e50);0x0==_0x45aad9['length']&&_0x45aad9['push'](new _0x42bd19(0x0)),_0x1d971f['return']=this['_connectService'](_0x45aad9)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x273bdf=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x273bdf))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x35a1ef,[_0x502b96,_0x5b5dd6])=>{_0x35a1ef['stop']();const _0x34b7e4=this['editor']['model']['document']['getRoot'](_0x502b96);if(!this['_knownRootNames']['has'](_0x502b96)){const _0x2008bc=_0x5b5dd6&&_0x5b5dd6['data']?_0x5b5dd6['data']:'',_0x31bcbb=_0x5b5dd6&&_0x5b5dd6['attributes']?_0x5b5dd6['attributes']:{};await this['_loadRoot'](_0x502b96,_0x2008bc,_0x31bcbb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x34b7e4['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x34b7e4);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x529e44){const _0x5b914e=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x3b2456}=this['editor']['plugins']['get'](n),_0x3a029a=new Set();for(const _0x1ff6ec of _0x529e44){const _0x2bbcbe=_0x1ff6ec['_authorId'];_0x2bbcbe&&!_0x5b914e['getUser'](_0x2bbcbe)&&_0x3a029a['add'](_0x2bbcbe);}if(0x0===_0x3a029a['size'])return;const _0x3ba7e8=await rt['getMany'](_0x3b2456,Array['from'](_0x3a029a));for(const _0x5644f1 of _0x3ba7e8)_0x5b914e['getUser'](_0x5644f1['id'])||_0x5b914e['addUser'](_0x5644f1);}['_getOperationsFromInitData'](_0x320b20,_0x5067b3={}){const _0x1b9d7b=this['editor']['model'],_0x117e4e=[];let _0x4c7338=0x0;const _0x130d00='string'==typeof _0x320b20?{'main':_0x320b20}:_0x320b20;for(const _0x35d7c8 of Object['keys'](_0x130d00)){if(!this['_document']['roots']['has'](_0x35d7c8))throw new _0x138eb8('realtimecollaborationclient-init-non-existent-root',this);const _0x598fb7=this['editor']['data']['parse'](_0x130d00[_0x35d7c8]),_0x1e2230=this['_document']['getRoot'](_0x35d7c8),_0x3a7b43=new _0x17ca5c(_0x1b9d7b['createPositionAt'](_0x1e2230,0x0),_0x598fb7,_0x4c7338++);_0x117e4e['push'](_0x3a7b43);for(const [_0x35e894,_0x4fa1fc]of _0x598fb7['markers']){const _0x38560e=_0x1b9d7b['createRange'](_0x1b9d7b['createPositionFromPath'](_0x1e2230,_0x4fa1fc['start']['path']['slice']()),_0x1b9d7b['createPositionFromPath'](_0x1e2230,_0x4fa1fc['end']['path']['slice']())),_0x5777b7=new _0x5b36d3(_0x35e894,null,_0x38560e,_0x1b9d7b['markers'],!0x0,_0x4c7338++);_0x117e4e['push'](_0x5777b7);}}if(_0x5067b3)for(const [_0x48255a,_0x34961a]of Object['entries'](_0x5067b3)){const _0x23aaa5=_0x1b9d7b['document']['getRoot'](_0x48255a);if(!_0x23aaa5)throw new _0x138eb8('multi-root-editor-root-attributes-no-root',null);for(const [_0x2277cf,_0x3dedc6]of Object['entries'](_0x34961a))if(null!==_0x3dedc6){const _0xcac4e0=new _0x47a098(_0x23aaa5,_0x2277cf,null,_0x3dedc6,_0x4c7338++);_0x117e4e['push'](_0xcac4e0);}}return _0x117e4e;}async['_loadRoot'](_0x353643,_0x2d453a,_0x22c1a3){this['_getOperationsFromInitData']({[_0x353643]:_0x2d453a},{[_0x353643]:_0x22c1a3})['forEach']((_0x22a0e0,_0x4073a3)=>{_0x22a0e0['baseVersion']=this['_document']['version']+_0x4073a3,_0x22a0e0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x22a0e0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3e1129,_0x32c3cc){let _0x1f5c3e;this['_offset']=_0x3e1129['offset'];const _0x25c70e=_0x3e1129['wereChangesApplied']&&!_0x3e1129['initData'],_0x2f014b=_0x25c70e?0x0:_0x3e1129['data']['baseVersion'];if(_0x32c3cc['forEach'](_0x3da5c0=>{_0x3da5c0['_isInit']=!0x0,_0x3da5c0['createdAt']=_0x3e1129['sessionCreatedAt'],_0x3da5c0['_authorId']=null;}),_0x25c70e)_0x1f5c3e=_0x32c3cc,this['_applyOperationsSet'](_0x1f5c3e,_0x25c70e);else{if(_0x3e1129['initData']){const _0x592efa=this['_getOperationsFromInitData'](_0x3e1129['initData']);this['_document']['history']['version']=-_0x592efa['length'],_0x592efa['forEach'](_0x4aad44=>{_0x4aad44['baseVersion']-=_0x592efa['length'],_0x4aad44['createdAt']=_0x3e1129['sessionCreatedAt'],_0x4aad44['_isInit']=!0x0,_0x4aad44['_authorId']=null;}),this['_applyOperationsSet'](_0x592efa,!0x0),this['serverHistory']['version']=-_0x592efa['length']+this['_offset'],this['_updateServerHistory'](_0x592efa);}this['_document']['history']['version']=_0x2f014b,_0x1f5c3e=this['_decompressOperations'](_0x3e1129['data'],_0x3e1129['metadata']),await this['_fetchMissingUsers'](_0x1f5c3e),this['_applyOperationsSet'](_0x1f5c3e,_0x25c70e);}_0x3e1129['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f5c3e,_0x3e1129['lastOperationId']),this['_lastSyncedOperationId']=_0x3e1129['lastOperationId']),this['serverHistory']['version']=_0x2f014b+this['_offset'],this['_updateServerHistory'](_0x1f5c3e),_0x32c3cc['filter'](_0x25b807=>{const _0x11fdf9=this['_getAffectedRoot'](_0x25b807);return _0x11fdf9&&!this['_knownRootNames']['has'](_0x11fdf9);})['forEach']((_0x2277de,_0xb84cca)=>{_0x2277de['baseVersion']=this['_document']['version']+_0xb84cca,this['_saveOperationInBuffer'](_0x2277de);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x19d095,_0x1acaec){const _0x15ced5=_0x1acaec&&_0x1acaec['message'];if(_0x15ced5&&_0x15ced5['startsWith']('realtimecollaborationclient'))throw _0x1acaec;const _0x4e9ed1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4e9ed1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x138eb8(_0x19d095,this['editor'],_0x15ced5?{'originalError':_0x15ced5}:void 0x0);}['_saveOperationInBuffer'](_0x46d8c0){this['_knownOperations']['has'](_0x46d8c0)||(this['_knownOperations']['add'](_0x46d8c0),this['_bufferedOperations']['push'](_0x46d8c0),this['_pendingAction']||'marker'==_0x46d8c0['type']&&!_0x46d8c0['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3c333e=!0x1){!_0x3c333e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4be5d6=>{_0x4be5d6&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x184df4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4a0e2b){return _0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4a0e2b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x184df4)||this['_crash'](_0x184df4['message'],_0x184df4);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x29abfa=>{this['on']('change:_isPendingUpdate',()=>{_0x29abfa();});});}async['_sendBufferedOperations'](){const _0x4a7c11=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x4a7c11['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5cb1a3=[...this['_bufferedOperations']];for(const _0x3a9c60 of _0x5cb1a3)_0x3a9c60['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3a9c60);const _0x5e5a3b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5cb1a3),_0x345f4c=Q++,_0x5be54f=this['_compressOperations'](_0x5cb1a3),_0x3ff0e4=await this['_service']['sendOperations'](_0x5be54f,_0x5be54f['baseVersion'],_0x5e5a3b);try{return await this['_handleServerResponse'](_0x5cb1a3,_0x3ff0e4,_0x345f4c);}catch(_0x425735){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x425735);}}async['_handleServerResponse'](_0x23f8a1,_0x329f18,_0x36b7f5){if('error'in _0x329f18)throw _0x329f18['error'];let _0x2c4166=!0x1;if(_0x329f18['wereChangesApplied']){_0x329f18['lastOperationId']&&(this['_lastSyncedOperationId']=_0x329f18['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ec746=>!_0x23f8a1['includes'](_0x1ec746));for(const _0x5edbe2 of _0x23f8a1)_0x5edbe2['createdAt']='lastOperationAcceptedAt'in _0x329f18&&_0x329f18['lastOperationAcceptedAt']||void 0x0;X(_0x23f8a1,_0x329f18['version']-_0x23f8a1['length']),this['_updateServerHistory'](_0x23f8a1);const _0x59d977=_0x23f8a1['filter'](_0x121e46=>{if(!_0x121e46['_isInit'])return!0x1;const _0x45915b=this['_getAffectedRoot'](_0x121e46);return _0x45915b&&!this['_knownRootNames']['has'](_0x45915b);});X(_0x59d977,this['_document']['version']),this['_applyOperationsSet'](_0x59d977),_0x2c4166=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44a952=this['_decompressOperations'](_0x329f18['data'],_0x329f18['metadata'])['filter'](_0x4fd408=>_0x4fd408['baseVersion']>=this['_lastServerVersion']);_0x44a952['forEach'](_0x96e8cb=>this['_addKnownRoot'](_0x96e8cb)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x553aac=>!_0x553aac['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x553aac))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44a952),_0x2c4166=this['_handleExternalOperations'](_0x44a952,_0x329f18['version'],_0x329f18['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2c4166?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3779bf,_0x318c15,_0x506cff){try{const _0x3d382b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2563fb,operationsB:_0x391588,originalOperations:_0x329e6a}=_0x4eaa7b(_0x3779bf,this['_bufferedOperations'],_0x3d382b);X(_0x2563fb,this['_document']['version']),X(_0x391588,_0x318c15);for(const _0x3ca111 of _0x2563fb){const _0x190aa2=_0x329e6a['get'](_0x3ca111);_0x3ca111['_authorId']=_0x190aa2?_0x190aa2['_authorId']:null;}_0x506cff&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3779bf,_0x506cff),this['_lastSyncedOperationId']=_0x506cff),this['_bufferedOperations']=[..._0x391588],this['_applyOperationsSet'](_0x2563fb),this['_updateServerHistory'](_0x3779bf);}catch(_0x32e6cb){return console['error'](_0x32e6cb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x183a90,_0x1155ba=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xc45404=>{for(const _0x49f898 of _0x183a90)this['_knownOperations']['add'](_0x49f898),this['_addKnownRoot'](_0x49f898),_0xc45404['batch']['addOperation'](_0x49f898),this['editor']['model']['applyOperation'](_0x49f898);});}['_addKnownRoot'](_0x5cc1dd){const _0x3afeeb=this['_getAffectedRoot'](_0x5cc1dd);_0x3afeeb&&this['_knownRootNames']['add'](_0x3afeeb);}['_getAffectedRoot'](_0x325375){let _0xd233f2,_0x14eff1;switch(_0x325375['type']){case'insert':_0xd233f2=_0x325375['position']['root'];break;case'marker':if(_0x14eff1=_0x325375['newRange'],!_0x14eff1)return null;_0xd233f2=_0x14eff1['root'];break;case'addRootAttribute':_0xd233f2=_0x325375['root'];break;case'addRoot':_0xd233f2=_0x325375['affectedSelectable'];break;case'move':_0xd233f2=_0x325375['targetPosition']['root'];break;default:return null;}return _0xd233f2['rootName'];}['_updateServerHistory'](_0x19b7cc){_0x19b7cc['forEach'](_0x425c25=>{const _0x1cc394=_0x425c25['clone']();_0x1cc394['_authorId']=_0x425c25['_authorId'],_0x1cc394['_isInit']=!!_0x425c25['_isInit'],_0x1cc394['createdAt']=_0x425c25['createdAt'],_0x1cc394['baseVersion']+=this['_offset'],_0x425c25['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc394),this['serverHistory']['addOperation'](_0x1cc394);});}['_handleReconnectionError'](_0x1672f5){const _0x83c180=this['editor']['plugins']['get']('Notification'),_0x1c146b=this['editor']['locale'];_0x1672f5||(_0x1672f5=$(_0x1c146b,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x83c180['showWarning'](_0x1672f5,{'title':$(_0x1c146b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x477f66)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x477f66)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x18e7a0){const _0x157f62=_0x18e7a0['map'](_0x3b267c=>_0x3b267c['toJSON']());return this['_compressor']['compress'](_0x157f62);}['_decompressOperations'](_0x4d2960,_0x54ef68){return this['_compressor']['decompress'](_0x4d2960)['map']((_0x1b292c,_0xb9a8fc)=>{const _0x55cbfc='init'==_0x54ef68[_0xb9a8fc]['type'];if('InsertOperation'==_0x1b292c['__className']){const _0x423f25=_0x1b292c['position']['root'];!this['_document']['getRoot'](_0x423f25)&&(this['_document']['createRoot']('$root',_0x423f25)['_isAttached']=!0x1);}const _0x21368b=_0xc5e8b3['fromJSON'](_0x1b292c,this['_document']);return _0x21368b['wasUndone']=_0x1b292c['wasUndone'],_0x21368b['_isInit']=_0x55cbfc,_0x21368b['_authorId']=_0x55cbfc?null:_0x54ef68[_0xb9a8fc]['userId'],_0x21368b['_isDisconnection']='cs:removeUser'===_0x54ef68[_0xb9a8fc]['type'],_0x21368b['createdAt']=_0x54ef68[_0xb9a8fc]['createdAt'],_0x21368b;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xda53c4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xda53c4&&_0xda53c4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function X(_0x30e9c5,_0x5eb5cd){for(const _0x4254a1 of _0x30e9c5)_0x4254a1['baseVersion']=_0x5eb5cd++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x32c0c2){this['_ignoredOperations']=_0x32c0c2,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1e2b81){let _0x1a9641=_0x1e2b81['length'];for(;_0x1a9641--;){const _0x3140a0=_0x1e2b81[_0x1a9641];if(!this['_ignoredOperations']['has'](_0x3140a0)){if(!this['_operationToId']['has'](_0x3140a0)){const _0x2a7c46=_0x57da16()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3140a0,_0x2a7c46);}return this['_operationToId']['get'](_0x3140a0);}}}['setIdForTheLastOperation'](_0x3f9fd1,_0xda224e){if(!_0xda224e)return;let _0x13c393=_0x3f9fd1['length'];for(;_0x13c393--;){const _0x2e9bfc=_0x3f9fd1[_0x13c393];this['_ignoredOperations']['has'](_0x2e9bfc)||this['_operationToId']['set'](_0x2e9bfc,_0xda224e);}}}class a extends _0x1178f7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x38fb43{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x17ae11)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5d9668];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13e5cd){super(_0x13e5cd),this['_services']=new Map();}async['init'](){const _0x49a5ad=this['context'],_0x2bc3c5=_0x49a5ad['plugins']['get']('CommentsRepository');if(_0x49a5ad['plugins']['get'](n)['addToReconnectionStack'](this),_0x2bc3c5['adapter']={'addCommentThread':async({channelId:_0x5c02fe,threadId:_0x2d3168,comments:_0x598380,resolvedAt:_0x491b97,resolvedBy:_0x579fd4,context:_0x5db092,attributes:_0x19c09c})=>{const _0x4d9614=await this['_getService'](_0x5c02fe)['addCommentThread']({'commentThreadId':_0x2d3168,'comments':_0x598380['map'](_0x412117=>function(_0x4a4194,_0x435185,_0x438de6){return{'commentThreadId':_0x438de6,'commentId':_0x4a4194['commentId'],'userId':_0x4a4194['authorId'],'content':_0x4a4194['content'],'documentId':_0x435185,'createdAt':_0x4a4194['createdAt'],'attributes':_0x4a4194['attributes']||{}};}(_0x412117,_0x5c02fe,_0x2d3168)),'resolvedAt':_0x491b97,'resolvedBy':_0x579fd4,'context':_0x5db092,'attributes':_0x19c09c})['catch'](at);return{'threadId':_0x4d9614['commentThreadId'],'comments':_0x4d9614['comments']};},'getCommentThread':async({channelId:_0x2630f7,threadId:_0x10d1cb})=>{const _0x17ada5=await this['_getService'](_0x2630f7)['getCommentThread'](_0x10d1cb)['catch'](F)['catch'](at);return _0x17ada5?_0x17ada5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x17ada5]),{'threadId':_0x17ada5['commentThreadId'],'comments':_0x17ada5['comments']['map'](S),'context':_0x17ada5['context'],'resolvedAt':_0x17ada5['resolvedAt'],'resolvedBy':_0x17ada5['resolvedBy'],'attributes':_0x17ada5['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x56d48e,threadId:_0x5a2485,context:_0x179570,unlinkedAt:_0x37ffca,attributes:_0x23afa0})=>this['_getService'](_0x56d48e)['updateCommentThread']({'commentThreadId':_0x5a2485,'context':_0x179570,'attributes':_0x23afa0,'unlinkedAt':_0x37ffca})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x34dec0,threadId:_0x3edf65})=>{const _0xf61d77=await this['_getService'](_0x34dec0)['resolveCommentThread'](_0x3edf65)['catch'](F)['catch'](at);return{'threadId':_0xf61d77['commentThreadId'],'resolvedAt':_0xf61d77['resolvedAt'],'resolvedBy':_0xf61d77['resolvedBy']};},'reopenCommentThread':async({channelId:_0x58e8a9,threadId:_0x187e40})=>this['_getService'](_0x58e8a9)['reopenCommentThread'](_0x187e40)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x33d1a0,threadId:_0x17d03f})=>this['_getService'](_0x33d1a0)['removeCommentThread'](_0x17d03f)['catch'](F)['catch'](at),'addComment':({channelId:_0x572976,threadId:_0x379621,commentId:_0x2ca90a,content:_0x16eae0,attributes:_0x3da434})=>this['_getService'](_0x572976)['addComment'](_0x379621,_0x2ca90a,_0x16eae0,_0x3da434)['catch'](at),'updateComment':({channelId:_0x41d31e,threadId:_0x118389,commentId:_0x3525f2,content:_0x51dc34,attributes:_0x8cf56c})=>this['_getService'](_0x41d31e)['updateComment'](_0x118389,_0x3525f2,_0x51dc34,_0x8cf56c)['catch'](F)['catch'](at),'removeComment':({channelId:_0x2ead83,threadId:_0x39c0ff,commentId:_0x2dffce})=>this['_getService'](_0x2ead83)['removeComment'](_0x39c0ff,_0x2dffce)['catch'](F)['catch'](at)},_0x49a5ad instanceof _0x8ee687){const _0x4f9195=_0x49a5ad['config']['get']('collaboration.channelId'),_0x21b23b=_0x49a5ad['plugins']['get'](i);await this['_setUpService'](_0x4f9195);const _0xb0f426=await this['_services']['get'](_0x4f9195)['getConnectedSessions']();this['listenTo'](_0x21b23b,'sessionAdd:'+_0x4f9195,(_0x322db2,{session:_0x58bb0a})=>{_0x58bb0a['id']===_0x21b23b['mySessionId']&&(_0x322db2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x58bb0a['permissions'],_0x4f9195));}),_0x21b23b['register'](_0x4f9195,_0xb0f426);}}async['_setUpService'](_0x4521d3){if(this['_services']['has'](_0x4521d3))throw new _0x138eb8('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4521d3});const _0x5eed65=this['context']['plugins']['get']('CommentsRepository'),_0x592115=new s['CommentsService'](_0x4521d3);this['_services']['set'](_0x4521d3,_0x592115),this['listenTo'](_0x592115,'commentThreadAdded',(_0x37742a,_0xc9f158)=>{const {commentThreadId:_0x23dafc,documentId:_0x350801,context:_0x4c18e0,attributes:_0x388be6,resolvedAt:_0x391b80,resolvedBy:_0x5f28dc,comments:_0x5eb94e}=_0xc9f158;_0x5eed65['getCommentThread'](_0x23dafc)||_0x5eed65['addCommentThread']({'threadId':_0x23dafc,'channelId':_0x350801,'comments':_0x5eb94e?_0x5eb94e['map'](S):[],'context':_0x4c18e0,'attributes':_0x388be6,'resolvedAt':_0x391b80,'resolvedBy':_0x5f28dc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadUpdated',(_0x4e6cdf,{commentThreadId:_0x419de7,documentId:_0x375444,context:_0x5ab033,unlinkedAt:_0x2e0a21,attributes:_0x103bcc})=>{_0x5eed65['getCommentThread'](_0x419de7)&&_0x5eed65['updateCommentThread']({'threadId':_0x419de7,'channelId':_0x375444,'context':_0x5ab033,'unlinkedAt':_0x2e0a21,'attributes':_0x103bcc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadResolved',(_0x27bc71,{commentThreadId:_0x447c0a,resolvedBy:_0x5dccf6,resolvedAt:_0x3eb5fc})=>{const _0x13e57c=_0x5eed65['getCommentThread'](_0x447c0a);_0x13e57c&&_0x13e57c['resolve']({'resolvedBy':_0x5dccf6,'resolvedAt':_0x3eb5fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadReopened',(_0x11cef4,{commentThreadId:_0x1baef2})=>{const _0x567062=_0x5eed65['getCommentThread'](_0x1baef2);_0x567062&&_0x567062['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentThreadRemoved',(_0x61dd81,{commentThreadId:_0x361c37})=>{const _0xcf0a24=_0x5eed65['getCommentThread'](_0x361c37);_0xcf0a24&&_0xcf0a24['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentAdded',(_0x21e469,_0x2599e2)=>{const _0x10fe69=_0x2599e2['commentThreadId'],_0x42b570=_0x5eed65['getCommentThread'](_0x10fe69);_0x42b570&&_0x42b570['addComment']({...S(_0x2599e2),'isFromAdapter':!0x0});}),this['listenTo'](_0x592115,'commentUpdated',(_0x56d683,{commentThreadId:_0x506572,commentId:_0x57c7a4,content:_0xfc9909,attributes:_0x360a1b})=>{const _0x2d7601=_0x5eed65['getCommentThread'](_0x506572);if(_0x2d7601){const _0x305b21=_0x2d7601['getComment'](_0x57c7a4);_0x305b21&&_0x305b21['update']({'content':_0xfc9909,'attributes':_0x360a1b,'isFromAdapter':!0x0});}}),this['listenTo'](_0x592115,'commentRemoved',(_0x224540,{commentThreadId:_0x2692b4,commentId:_0x238e69})=>{const _0x495fcd=_0x5eed65['getCommentThread'](_0x2692b4);if(_0x495fcd){const _0x246f68=_0x495fcd['getComment'](_0x238e69);_0x246f68&&_0x246f68['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4521d3);}['destroy'](){if(this['context']instanceof _0x8ee687){const _0x2f6c2b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2f6c2b);}}['_terminateService'](_0x227a06){if(!this['_services']['has'](_0x227a06))throw new _0x138eb8('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x227a06});this['_getService'](_0x227a06)['disconnect'](),this['_services']['delete'](_0x227a06);}async['reconnect'](){for(const _0x4a4990 of this['_services']['keys']())await this['_connectService'](_0x4a4990);if(this['context']instanceof _0x8ee687){const _0x551c54=this['context']['config']['get']('collaboration.channelId'),_0x1d5c67=this['context']['plugins']['get'](i);_0x1d5c67['unregister'](_0x551c54);const _0x296be1=await this['_services']['get'](_0x551c54)['getConnectedSessions']();_0x1d5c67['register'](_0x551c54,_0x296be1);}}async['_connectService'](_0x263ca9){const {connection:_0x149509}=this['context']['plugins']['get'](n),_0x32c57d=this['context']['plugins']['get']('CommentsRepository'),_0x36041a=this['_services']['get'](_0x263ca9),_0x180c66=await _0x36041a['connect'](_0x149509);await this['_fetchMissingUsersForThreads'](_0x180c66);const _0x211615=new Set(Array['from'](_0x32c57d['getCommentThreads']({'channelId':_0x263ca9}),_0x59392a=>_0x59392a['id']));for(const _0x11e64a of _0x180c66)_0x11e64a['deletedAt']||_0x211615['delete'](_0x11e64a['commentThreadId']);for(const _0x210f47 of _0x211615)_0x32c57d['getCommentThread'](_0x210f47)['remove']({'isFromAdapter':!0x0});for(const _0x49de5c of _0x180c66){let _0x31f803=_0x32c57d['getCommentThread'](_0x49de5c['commentThreadId']);const {commentThreadId:_0x1eeddd,context:_0x56e29a,attributes:_0x5d0b56,resolvedBy:_0x55e2a4,resolvedAt:_0x250a9a,unlinkedAt:_0x5ac4a1,deletedAt:_0x2cea27}=_0x49de5c;if(_0x2cea27)continue;_0x31f803||(_0x31f803=_0x32c57d['addCommentThread']({'channelId':_0x263ca9,'threadId':_0x1eeddd,'context':_0x56e29a,'attributes':_0x5d0b56||{},'resolvedBy':_0x55e2a4,'resolvedAt':_0x250a9a,'unlinkedAt':_0x5ac4a1,'isFromAdapter':!0x0}));const _0x1b3705=new Set(Array['from'](_0x31f803['comments'],_0x4fe8b8=>_0x4fe8b8['id']));for(const _0x22e8a1 of _0x49de5c['comments'])_0x1b3705['delete'](_0x22e8a1['commentId']);for(const _0x47f00e of _0x1b3705)_0x31f803['getComment'](_0x47f00e)['remove']({'isFromAdapter':!0x0});for(const _0x50dbbb of _0x49de5c['comments']){const _0x222df1=_0x31f803['getComment'](_0x50dbbb['commentId']);_0x222df1?_0x222df1['content']!==_0x50dbbb['content']&&_0x222df1['update']({'content':_0x50dbbb['content'],'isFromAdapter':!0x0}):_0x31f803['addComment'](Object['assign'](S(_0x50dbbb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x11e698){if(!this['_services']['has'](_0x11e698))throw new _0x138eb8('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x11e698});return this['_services']['get'](_0x11e698);}async['_fetchMissingUsersForThreads'](_0xcaedb0){const _0x228f2b=this['context']['plugins']['get'](_0x5d9668),{connection:_0x5bc7bc}=this['context']['plugins']['get'](n),_0x38a5a7=new Set();for(const {resolvedBy:_0x241b4b,comments:_0x17bbce}of _0xcaedb0){_0x241b4b&&!_0x228f2b['getUser'](_0x241b4b)&&_0x38a5a7['add'](_0x241b4b);for(const {userId:_0x37bc16}of _0x17bbce)_0x228f2b['getUser'](_0x37bc16)||_0x38a5a7['add'](_0x37bc16);}if(0x0===_0x38a5a7['size'])return;const _0x394bc1=await rt['getMany'](_0x5bc7bc,Array['from'](_0x38a5a7));for(const _0x15eda4 of _0x394bc1)_0x228f2b['getUser'](_0x15eda4['id'])||_0x228f2b['addUser'](_0x15eda4);}}async function F(_0xd99f7f){if('404'!==_0xd99f7f['code'])throw _0xd99f7f;}function at(_0x1814c8){if((_0x267106=_0x1814c8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x267106['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x267106['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x267106;throw _0x1814c8;}function S(_0x4fe8ea){return{'threadId':_0x4fe8ea['commentThreadId'],'commentId':_0x4fe8ea['commentId'],'content':_0x4fe8ea['content'],'createdAt':_0x4fe8ea['createdAt'],'authorId':_0x4fe8ea['userId'],'attributes':_0x4fe8ea['attributes']||{}};}class m extends _0x1178f7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x57fa84){super(_0x57fa84);const _0x1f3868=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1f3868);}['init'](){const _0x41661d=this['editor']['plugins']['get'](n),_0x3e323e=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3e323e['adapter']={'getSuggestion':async _0x10b628=>{await this['_waitForServiceReady']();const _0x49246b=await this['_trackChangesService']['get'](_0x10b628)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x49246b]),_0x49246b;},'addSuggestion':async({id:_0x45aa3b,type:_0xcf8dec,data:_0x405f07,originalSuggestionId:_0xe59725,attributes:_0x1cecba})=>{await this['_waitForServiceReady']();const _0x311737={'id':_0x45aa3b,'type':_0xcf8dec,'data':_0x405f07,'originalSuggestionId':_0xe59725,'attributes':_0x1cecba},_0x572eb8=await this['_trackChangesService']['add'](_0x45aa3b,_0xcf8dec,_0x405f07,_0xe59725,_0x1cecba)['catch'](_0x22bf67=>{if(ct(_0x22bf67))return new Promise(_0x1b5fa1=>{this['_bufferedRequests']['set'](_0x45aa3b,{'resolve':_0x1b5fa1,'suggestionData':_0x311737});});throw _0x22bf67;});return this['_bufferedRequests']['delete'](_0x45aa3b),_0x572eb8;},'updateSuggestion':async(_0x141c0b,_0x181a81)=>{if(await this['_waitForServiceReady'](),'open'!==_0x181a81['state'])return this['_trackChangesService']['update'](_0x141c0b,_0x181a81)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3f2962,_0x342c4d)=>{_0x3e323e['hasSuggestion'](_0x342c4d['id'])&&(_0x3e323e['getSuggestion'](_0x342c4d['id'])['attributes']=_0x342c4d['attributes']);}),this['_trackChangesService']['connect'](_0x41661d['connection'])['then'](_0x4bda62=>(_0x41661d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4bda62)['then'](()=>{for(const _0x37511c of _0x4bda62){_0x3e323e['addSuggestionData'](_0x37511c)['_saved']=!0x0;}})));}async['reconnect'](){const _0xb57911=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x44b25f}=this['editor']['plugins']['get'](n),_0x400709=await this['_trackChangesService']['connect'](_0x44b25f);await this['_fetchMissingUsersForThreads'](_0x400709);for(const {suggestionData:_0x1da75f,resolve:_0x2aa006}of this['_bufferedRequests']['values']()){let _0x58c2c5=_0x400709['find'](_0x5a39b6=>_0x5a39b6['id']===_0x1da75f['id']);_0x58c2c5||(_0x58c2c5=await this['_trackChangesService']['add'](_0x1da75f['id'],_0x1da75f['type'],_0x1da75f['data'],_0x1da75f['originalSuggestionId'])),_0x2aa006(_0x58c2c5);}for(const _0x21fdf5 of _0x400709)_0xb57911['hasSuggestion'](_0x21fdf5['id'])||_0xb57911['addSuggestionData'](_0x21fdf5);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5365d5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x16068d=>{_0x16068d['off'](),_0x5365d5();});});}async['_fetchMissingUsersForThreads'](_0x3a5c0f){const _0x3669f4=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x205a20}=this['editor']['plugins']['get'](n),_0x284fa5=new Set();for(const {authorId:_0x39705c}of _0x3a5c0f)_0x3669f4['getUser'](_0x39705c)||_0x284fa5['add'](_0x39705c);if(0x0===_0x284fa5['size'])return;const _0x4a2ba0=await rt['getMany'](_0x205a20,Array['from'](_0x284fa5));for(const _0x1cc49f of _0x4a2ba0)_0x3669f4['getUser'](_0x1cc49f['id'])||_0x3669f4['addUser'](_0x1cc49f);}}function k(_0x49e51a){if(ct(_0x49e51a))return new Promise(()=>{});throw _0x49e51a;}function ct(_0x234e6f){return _0x234e6f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x234e6f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1178f7{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c4593=this['editor']['plugins']['get'](n),_0x189fd4=this['editor']['plugins']['get']('CommentsEditing'),_0x2f02b5=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3c4593,'change:state',(_0xace7cc,_0x1e663f,_0x5a8b72)=>{_0x189fd4['isThreadsLoadingPaused']='connected'!==_0x5a8b72;});}),this['listenTo'](_0x3c4593,'change:state',(_0x5ed47a,_0x463f0e,_0x4c88e2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4c88e2);}),_0x2f02b5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x1178f7{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x1178f7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x366578)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5d9668];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x30dede){super(_0x30dede);const _0x5648e2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5648e2);}async['init'](){const _0x165afb=this['editor']['plugins']['get'](l),_0x182cf4=_0x165afb['serverHistory'],_0x309add=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x182cf4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x165afb['sessionId']});const _0x472b8c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xf4c6d6=await _0x332ed7['isBundleUploaded'](_0x309add['connection'],_0x472b8c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x28bc27})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x28bc27)),'updateRevisions':async _0x4d39f1=>{await this['_waitForServiceReady']();const _0x4b310b=this['_revisionTracker']['currentRevision'];if(_0xf4c6d6&&0x1===_0x4d39f1['length']&&_0x4d39f1[0x0]['id']===_0x4b310b['id'])return _0x4d39f1;for(const _0x11361c of _0x4d39f1)_0x11361c['id']===_0x4b310b['id']&&(_0x11361c['isEmptyCurrent']=_0x11361c['fromVersion']===_0x11361c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d39f1,this['_lastRequestId'])['then'](_0x36862d=>(this['_lastRequestId']=_0x36862d,_0x4d39f1))['catch'](_0x35d00a=>{if(q(_0x35d00a)||'400'===_0x35d00a['code']&&void 0x0!==_0x35d00a['data']['wrongRequestId']){for(const _0x37a5c2 of _0x4d39f1){!this['_revisionTracker']['repository']['getRevision'](_0x37a5c2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x37a5c2['id'],_0x37a5c2,!0x1);}if(q(_0x35d00a))throw _0x35d00a;return _0x4d39f1;}throw _0x35d00a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3202fd,{revisionsData:_0x159708,requestId:_0x416891})=>{Math['max'](..._0x159708['map'](_0x3ef8ae=>_0x3ef8ae['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x159708,_0x416891);}):this['_handleRevisionsUpdate'](_0x159708,_0x416891);});const {revisions:_0x1f6c66,requestId:_0x248d0d}=await this['_revisionHistoryService']['connect'](_0x309add['connection']);_0x309add['addToReconnectionStack'](this),this['_lastRequestId']=_0x248d0d,await this['_fetchMissingUsers'](_0x1f6c66);for(const _0x46406a of _0x1f6c66)this['_revisionTracker']['addRevisionData'](_0x46406a);this['listenTo'](_0x165afb,'change:_isConnected',(_0x3420ca,_0x11c8cf,_0x20a0d0)=>{_0x20a0d0&&(this['_oldOffset']=_0x165afb['_offset'],_0x3420ca['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x309add,'state',_0x514d62=>_0x514d62===_0x34396e['CONNECTED']);}async['reconnect'](){const _0x49f870=this['editor']['plugins']['get'](n),_0x27af14=this['editor']['plugins']['get'](l),_0x323168=async()=>{const _0x2d1f93=this['_revisionTracker']['currentRevision'],_0x4bb6a0=_0x2d1f93['id'],_0x4ba31c=_0x4bb6a0!==_0x27af14['sessionId'];if(_0x4ba31c){const _0x3ab54e=_0x27af14['_offset']-this['_oldOffset'],_0xff6b90=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d1f93['toVersion']+_0x3ab54e!==_0xff6b90){const _0x26a906=_0x2d1f93['fromVersion']+_0x3ab54e,_0x69c619=this['editor']['plugins']['get'](_0x5d9668),_0x5df535=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d1f93,'from':_0x26a906,'to':_0xff6b90});_0x5df535['id']=_0x2d1f93['id'];const _0x3fe8d0=_0x5df535['authorsIds']['map'](_0x51ea3a=>_0x69c619['getUser'](_0x51ea3a));_0x2d1f93['_update']({..._0x5df535,'authors':_0x3fe8d0},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d1f93['id'],_0x5df535,!0x0);}this['_revisionTracker']['_startingVersion']=_0xff6b90,(_0x2d1f93['toVersion']===_0x2d1f93['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4bb6a0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4bb6a0),this['_revisionTracker']['_createCurrentRevision'](_0xff6b90));}const {revisions:_0x1eba7b,requestId:_0x56b61e}=await this['_revisionHistoryService']['reconnect'](_0x49f870['connection'],this['_lastRequestId']);_0x4ba31c&&_0x1eba7b['length']>0x0?_0x27af14['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1eba7b),this['_handleRevisionsUpdate'](_0x1eba7b,_0x56b61e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x27af14['_isConnected']?_0x323168():new Promise((_0x5ec513,_0x5f3b92)=>{_0x27af14['once']('change:_isConnected',()=>{_0x323168()['then'](_0x5ec513)['catch'](_0x5f3b92);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x29b26b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48404c=>{_0x48404c['off'](),_0x29b26b();});});}['_getLatestVersionFromServerOperations'](){const _0x28e8b6=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2ec61f of _0x28e8b6)if('marker'!==_0x2ec61f['type']||_0x2ec61f['affectsData'])return _0x2ec61f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x18f501=this['editor']['plugins']['get'](l);return new Promise(_0x1e8fd3=>{_0x18f501['_isPendingUpdate']?_0x18f501['once']('change:_isPendingUpdate',()=>{_0x1e8fd3(this['_getLatestVersionFromServerOperations']());}):_0x1e8fd3(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x46abd9,_0x142875){const _0x108593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x142875;for(const _0x364fac of _0x46abd9){const _0x49bb7a=_0x108593['getRevision'](_0x364fac['id']);if(_0x49bb7a){if((_0x364fac['fromVersion']||_0x364fac['toVersion'])&&(_0x364fac['diffData']=null),_0x49bb7a===this['_revisionTracker']['currentRevision']){const _0x172e13=Math['max'](_0x49bb7a['toVersion'],_0x364fac['toVersion']),_0x27b94a=Math['max'](_0x49bb7a['fromVersion'],_0x364fac['fromVersion']);let _0x2ceae0;_0x49bb7a['toVersion']===_0x364fac['toVersion']&&_0x49bb7a['fromVersion']===_0x364fac['fromVersion']?(_0x2ceae0=!0x0,this['_preventResendingRevisionData'](_0x364fac)):_0x364fac['toVersion']===_0x172e13&&_0x364fac['fromVersion']===_0x27b94a?_0x2ceae0=!0x1:(_0x49bb7a['toVersion']===_0x172e13&&_0x49bb7a['fromVersion']===_0x27b94a||this['_fixRevision']({'revision':_0x49bb7a,'from':_0x27b94a,'to':_0x172e13}),_0x2ceae0=!0x0),_0x2ceae0&&(delete _0x364fac['fromVersion'],delete _0x364fac['toVersion'],delete _0x364fac['diffData'],delete _0x364fac['createdAt'],delete _0x364fac['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x364fac),this['_preventResendingRevisionData'](_0x364fac);}else this['_revisionTracker']['addRevisionData'](_0x364fac);}const _0x254d9e=_0x108593['getRevisions']();_0x254d9e['reverse']();for(let _0x35e280=0x0;_0x35e280<_0x254d9e['length']-0x1;_0x35e280++){const _0x2de3cb=_0x254d9e[_0x35e280],_0x90cf37=_0x254d9e[_0x35e280+0x1];if(_0x2de3cb['fromVersion']<_0x90cf37['toVersion']){const _0x18c152=_0x90cf37['toVersion'],_0x313fa3=Math['max'](_0x18c152,_0x2de3cb['toVersion']);this['_fixRevision']({'revision':_0x2de3cb,'from':_0x18c152,'to':_0x313fa3});}}}['_fixRevision']({revision:_0x20a67c,from:_0x4e1c2c,to:_0x30a7a9}={}){const _0x34c29b=this['editor']['plugins']['get'](_0x5d9668),_0x5bf867=this['_revisionTracker']['buildRevisionData']({'revision':_0x20a67c,'from':_0x4e1c2c,'to':_0x30a7a9});_0x5bf867['authors']=_0x5bf867['authorsIds']['map'](_0x458f7e=>_0x34c29b['getUser'](_0x458f7e)),_0x20a67c['_update'](_0x5bf867);}['_preventResendingRevisionData'](_0x32679f){const _0x5da08c={};_0x5da08c['id']=_0x32679f['id'];for(const _0xa738cd of Object['keys'](_0x32679f))'id'!==_0xa738cd&&(_0x5da08c[_0xa738cd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5da08c['id'],_0x5da08c,!0x0);}async['_fetchMissingUsers'](_0x39c3a3){const _0x2548f4=this['editor']['plugins']['get'](_0x5d9668),{connection:_0x4e0b1f}=this['editor']['plugins']['get'](n),_0x476bf2=new Set();for(const _0x1dc68d of _0x39c3a3){for(const _0xed4e73 of _0x1dc68d['authorsIds'])_0x569675(_0xed4e73);_0x1dc68d['creatorId']&&_0x569675(_0x1dc68d['creatorId']);}if(0x0===_0x476bf2['size'])return;const _0x5a73b2=await rt['getMany'](_0x4e0b1f,Array['from'](_0x476bf2));for(const _0x50a1a9 of _0x5a73b2)_0x2548f4['getUser'](_0x50a1a9['id'])||_0x2548f4['addUser'](_0x50a1a9);function _0x569675(_0x12cebd){_0x2548f4['getUser'](_0x12cebd)||_0x476bf2['add'](_0x12cebd);}}}function q(_0x4de56b){return _0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4de56b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x1178f7{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x260788{['_collapseAt'];constructor(_0x5d9543,_0x5a3d14=0x6){super(_0x5d9543);const _0x37714f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5a3d14,this['bind']('isHidden')['to'](this,'usersCount',_0x4e91df=>_0x4e91df<_0x5a3d14),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x37714f['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x37714f['to']('usersCount',_0xbcccd7=>'+'+(_0xbcccd7-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x260788{['items'];['keystrokes'];constructor(_0x1427c4){super(_0x1427c4);const _0x2d23c5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5c6d96(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2d23c5['if']('hasPopup'),'aria-expanded':_0x2d23c5['to']('isExpanded',_0x22d0cd=>this['hasPopup']&&String(_0x22d0cd)),'aria-label':_0x2d23c5['to']('hasPopup',_0x417be1=>$(_0x1427c4,_0x417be1?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2d23c5['to']('hasPopup',_0x4978ca=>!!_0x4978ca&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2d23c5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2d23c5['to'](_0x31f6ce=>{const _0x9276b5=_0x31f6ce,_0xd490e5=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3a63a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0xd490e5?.['contains'](_0x9276b5['relatedTarget'])||_0x3a63a9?.['contains'](_0x9276b5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2cd15f,_0x3d5ca1,_0x458fe8)=>{this['element']&&(_0x458fe8?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x260788{['counterView'];['inlineListView'];constructor(_0xe2c1be,_0x2aba97=0x6){super(_0xe2c1be);const _0x48605d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x2aba97),this['inlineListView']=new is(_0xe2c1be),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x20e051 of this['inlineListView']['items'])_0x20e051['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x48605d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x260788{['listWrapperView'];constructor(_0x268a9c,_0x3e69ab){super(_0x268a9c);const _0x1935ce=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x268a9c,_0x3e69ab),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x268a9c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1935ce['to'](_0x1372ca=>{const _0x4d38e3=_0x1372ca,_0x49d977=document['querySelector']('.ck-presence-list__list'),_0x4ef5db=document['querySelector']('.ck-balloon-panel_with-arrow');_0x49d977?.['contains'](_0x4d38e3['relatedTarget'])||_0x4ef5db?.['contains'](_0x4d38e3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x1953fa{constructor(_0x4c2635,_0x2f7bbd){super(_0x4c2635);const _0x43f77=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7bbd?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x43f77['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x43f77['to']('role'),'aria-label':_0x43f77['to']('ariaLabel'),'aria-labelledby':_0x43f77['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x439b3d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4e5d15=this['element'];_0x4e5d15&&(this['_isScrollable']=Math['max'](_0x4e5d15['scrollHeight'],_0x4e5d15['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3208dd,_0x288fc9,_0x4cf922){super(_0x3208dd);const _0x495055=this['bindTemplate'];this['userView']=new st(_0x3208dd,_0x288fc9);const _0x4578c1={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x288fc9['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x288fc9['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x288fc9['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x4cf922&&(_0x4578c1['tag']='button',_0x4578c1['on']={'click':_0x495055['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4578c1);}['focus'](){this['element']['focus']();}}class A extends _0x260788{['userView'];['markerView'];constructor(_0x2587cb,_0x1c3929,_0x4bc803){super(_0x2587cb);const _0x64eebe=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x2587cb,_0x1c3929),this['markerView']=new MarkerView(_0x2587cb,_0x1c3929);const _0x1dcdd4=new it(_0x2587cb);_0x1dcdd4['template']['tag']='span',_0x1dcdd4['text']=_0x1c3929['name'];const _0x147d26={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x64eebe['to']('isFocusable',_0x2196f5=>!!_0x2196f5&&0x0),'aria-labelledby':_0x1dcdd4['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x64eebe['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x64eebe['to']('hasTooltip',_0x493eb3=>!_0x493eb3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1dcdd4]};_0x4bc803&&(_0x147d26['tag']='button',_0x147d26['on']={'click':_0x64eebe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x147d26);}}class MarkerView extends _0x260788{constructor(_0x43b846,_0x345cd9){super(_0x43b846),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x345cd9['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x38fb43{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x130422){super(_0x130422),this['context']['config']['define']('presenceList',x);const _0x4843fe=_0x130422['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4843fe)throw new _0x138eb8('presencelist-collapseat-invalid-format',this);if(_0x4843fe<0x1)throw new _0x138eb8('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x505ced(),this['balloonPanelView']=new _0x2b336b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2d20dc of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2d20dc);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b613b,_0x1f175c)=>{this['_handleUserAdd'](_0x1f175c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x41230c,_0x32565c)=>{this['_handleUserRemove'](_0x32565c);});}['_createView'](){const _0x4c20d3=this['context'],_0x455122=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x33a27e=this['balloonPanelView'];if(!_0x3c8a9f(_0x4c20d3['config']['get']('presenceList.container')))throw new _0x138eb8('presencelist-missing-container',this);return _0x455122['counterView']['bind']('usersCount')['to'](this),_0x455122['bind']('isCollapsed')['to'](this,'usersCount',_0x50e2a3=>{const {collapseAt:_0x2a0057}=_0x4c20d3['config']['get']('presenceList'),_0x101d18=_0x50e2a3>=_0x2a0057;if(_0x101d18&&!_0x455122['inlineListView']['items']['find'](_0x1e1ac1=>_0x1e1ac1 instanceof b)){const _0x46b37f=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x46b37f&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x455122['inlineListView']['items']['add'](_0x455122['counterView']);}return _0x101d18||this['hideDropdown'](),_0x101d18;}),_0x455122['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x48f685=>{const _0x2d3899=_0x4c20d3['config']['get']('presenceList'),_0x3608ee=new A(_0x4c20d3['locale'],_0x48f685,!!_0x2d3899['onClick']);return _0x3608ee['bind']('hasTooltip')['to'](_0x455122,'isCollapsed',_0x25a716=>!_0x25a716),_0x3608ee['bind']('isFocusable')['to'](_0x455122,'isCollapsed',_0x13d5d5=>!_0x13d5d5),_0x2d3899['onClick']&&this['listenTo'](_0x3608ee,'execute',()=>{this['view']['isCollapsed']||_0x2d3899['onClick'](_0x48f685,_0x3608ee['element']);}),_0x3608ee;}),this['listenTo'](_0x455122['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x455122['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x455122['inlineListView']['keystrokes']['set']('Enter',(_0x7e7070,_0x3eacdf)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3eacdf());}),_0x455122['render'](),_0x33a27e['render'](),_0x1b15b6({'emitter':_0x455122,'activator':()=>_0x33a27e['isVisible'],'contextElements':[_0x33a27e['element'],_0x455122['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4c20d3['config']['get']('presenceList.container')['appendChild'](_0x455122['element']),this['_bodyCollection']=new _0x11f0a4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x455122;}['_handleUserAdd'](_0x350936){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x350936['isMe'])return;const _0x3cddc0=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3cddc0-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xad9f92=_0x350936['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x350936,_0xad9f92);}['_handleUserRemove'](_0x35205b){this['usersCount']--;const {collapseAt:_0x16a947}=this['context']['config']['get']('presenceList'),_0x5047ba=this['usersCount']>=_0x16a947;if(this['currentDisplayedUsers']['get'](_0x35205b['id']))this['currentDisplayedUsers']['remove'](_0x35205b['id']);else{if(_0x5047ba&&this['currentDisplayedUsers']['length']+0x1===_0x16a947-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5047ba?0x1:0x0)<this['usersCount']){for(const _0x178558 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x178558['id'])&&(this['currentDisplayedUsers']['add'](_0x178558,Math['min'](this['currentDisplayedUsers']['length']-(_0x5047ba?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5047ba?0x1:0x0)===_0x16a947-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1c1cbb=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1c1cbb['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1760a7}=this['presenceDropdownView'];_0x1760a7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1f07e9=>{if(!_0x1c1cbb['displayMe']&&_0x1f07e9['isMe'])return null;const _0x199712=new j(this['context']['locale'],_0x1f07e9,!!_0x1c1cbb['onClick']);return _0x1c1cbb['onClick']&&this['listenTo'](_0x199712,'execute',()=>{_0x1c1cbb['onClick'](_0x1f07e9,_0x199712['element']);}),_0x199712;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1760a7['focus'](),_0x1760a7['checkIfScrollable']();const _0x42a6d9=(_0x52314d,_0x255e2d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x255e2d();};_0x1760a7['keystrokes']['set']('Esc',_0x42a6d9),_0x1760a7['keystrokes']['set']('Shift+Tab',_0x42a6d9),_0x1760a7['keystrokes']['set']('Tab',(_0xcddaea,_0x1b573b)=>{!function(_0x3f7a7e){const _0x362806=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x294c5d=>_0x294c5d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3a56da=[...document['body']['querySelectorAll'](_0x362806)]['filter'](_0xfa8f3a=>_0xfa8f3a===document['activeElement']||_0xfa8f3a['offsetWidth']+_0xfa8f3a['offsetHeight']>0x0)['sort']((_0x52c314,_0x49ce5f)=>(_0x52c314['tabIndex']||0x0)-(_0x49ce5f['tabIndex']||0x0)),_0x4d3f7b=_0x3a56da['indexOf'](_0x3f7a7e),_0x52f211=_0x3a56da[(_0x4d3f7b+0x1)%_0x3a56da['length']];_0x52f211&&_0x52f211['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1b573b();}),_0x1760a7['focusTracker']['add'](this['view']['element']),_0x1760a7['focusTracker']['on']('change:isFocused',(_0x43d224,_0x470a3c,_0x13654c)=>{_0x13654c||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class PresenceList extends _0x38fb43{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x2ff9e0,Plugin as _0x29e178,PendingActions as _0x25613c,Context as _0x32eb06}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1014b4,CKEditorError as _0x3bcb8b,Collection as _0x1ee515,global as _0x129409,version as nt,uid as _0x388d37,KeystrokeHandler as _0x50a46c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3add2e,View as _0x274a7e,ListView as _0x5dfe34,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4370e4,clickOutsideHandler as _0x498225,BodyCollection as _0x152ea0}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4a4270,History as _0x5543ae,NoOperation as _0x5a35fd,InsertOperation as _0x2eb663,MarkerOperation as _0xb76659,RootAttributeOperation as _0x587cfc,transformOperationSets as _0x49e3bb,OperationFactory as _0x53f985}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x2b57de,CollaborativeEditingService as _0x3bd68f,User as ht,CommentsService as _0x33454b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1fdd48,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x20f87f}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3f91cd}from'es-toolkit/compat';class n extends _0x2ff9e0{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3add2e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3fa73c){super(_0x3fa73c),this['set']('state',_0x2b57de['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1014b4())();}['init'](){const _0x3fb188=this['context'],_0x3f5be0=_0x3fb188['plugins']['get']('CloudServices'),_0x40ab90=_0x3fb188['plugins']['get'](_0x3add2e);if(!_0x3f5be0['token'])throw new _0x3bcb8b('websocketgateway-missing-token',this);if(!_0x3f5be0['webSocketUrl'])throw new _0x3bcb8b('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x3f5be0['token'],_0x3f5be0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4d7b32=>{if(this['connection']=_0x4d7b32,this['bind']('state')['to'](_0x4d7b32,'state',this,'_isBrowserOffline',(_0x57c951,_0x44b21b)=>('connected'!==_0x57c951&&(this['_shouldPluginsReconnect']=!0x0),_0x44b21b||_0x57c951!==_0x2b57de['CONNECTED']?_0x2b57de['DISCONNECTED']:this['state']==_0x2b57de['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2b57de['CONNECTING']):_0x2b57de['CONNECTED'])),this['connection']['on']('error',(_0x33538c,_0x2bf03a)=>{if('limitExceeded'!==_0x2bf03a['code'])throw console['error'](_0x2bf03a),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bf03a});_0x40ab90['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x4d7b32['me'])return new Promise(_0x349173=>_0x4d7b32['on']('change:me',_0x349173));})['catch'](_0x2bb506=>{throw console['error'](_0x2bb506),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bb506});});}['addToReconnectionStack'](_0x1b48ce){if('function'!=typeof _0x1b48ce['reconnect'])throw new _0x3bcb8b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1b48ce))throw new _0x3bcb8b('websocketgateway-plugin-already-registered',this,{'name':_0x1b48ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1b48ce);}['removeFromReconnectionStack'](_0x2b5543){this['_reconnectionStack']['delete'](_0x2b5543);}['isInReconnectionStack'](_0x4debb3){return this['_reconnectionStack']['has'](_0x4debb3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x376a42=>_0x376a42['reconnect']())))['then'](()=>this['state']=_0x2b57de['CONNECTED'])['catch'](_0x126f70=>{throw console['error'](_0x126f70),new _0x3bcb8b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2b57de['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2ff9e0{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1fdd48];}constructor(_0x48f43b){super(_0x48f43b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1ee515(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1fdd48);}['init'](){const _0x3641ac=this['context']['plugins']['get'](n);this['listenTo'](_0x3641ac,'change:state',(_0x2007d1,_0x43b5c2,_0x1de2bf)=>{if('connected'!==_0x1de2bf)this['channelSessions']['forEach'](_0x240e52=>_0x240e52['clear']()),this['channelConnectedUsers']['forEach'](_0x113772=>_0x113772['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x182ca8,_0x122f61]of this['_registeredSessions'])for(const _0x5e3d7f of _0x122f61)this['_handleSessionAdd'](_0x182ca8,_0x5e3d7f);}}),this['_createUser'](_0x3641ac['connection']['me'],!0x0);}['register'](_0x50595a,_0x5e949e){if(this['_registeredSessions']['has'](_0x50595a))throw new _0x3bcb8b('sessions-register-already-registered',null,{'channelId':_0x50595a});this['_registeredSessions']['set'](_0x50595a,_0x5e949e),this['channelSessions']['set'](_0x50595a,new _0x1ee515()),this['channelConnectedUsers']['set'](_0x50595a,new _0x1ee515()),this['listenTo'](_0x5e949e,'add',(_0x535373,_0xf46374)=>this['_handleSessionAdd'](_0x50595a,_0xf46374)),this['listenTo'](_0x5e949e,'remove',(_0x4c9a91,_0x41e800)=>this['_handleSessionRemove'](_0x50595a,_0x41e800));for(const _0x532d83 of _0x5e949e)this['_handleSessionAdd'](_0x50595a,_0x532d83);}['unregister'](_0x2eaef1){if(!this['_registeredSessions']['has'](_0x2eaef1))throw new _0x3bcb8b('sessions-unregister-not-exist',null,{'channelId':_0x2eaef1});const _0x553e73=this['_registeredSessions']['get'](_0x2eaef1);this['stopListening'](_0x553e73);for(const _0x312e48 of _0x553e73)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2eaef1,_0x312e48);this['_registeredSessions']['delete'](_0x2eaef1),this['channelSessions']['delete'](_0x2eaef1),this['channelConnectedUsers']['delete'](_0x2eaef1);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3865b6){for(const _0x1adeda of this['channelSessions']['values']())for(const _0x4305a3 of _0x1adeda)if(_0x4305a3['id']===_0x3865b6)return _0x4305a3['user'];}['getUserSessions'](_0x349546,_0x55f880){const _0x3a2a98=_0x55f880?[this['channelSessions']['get'](_0x55f880)]:this['channelSessions']['values'](),_0x2aae9e=new Set();for(const _0x22ffc1 of _0x3a2a98)for(const _0x501b93 of _0x22ffc1)_0x501b93['user']['id']===_0x349546['id']&&_0x2aae9e['add'](_0x501b93['id']);return _0x2aae9e;}['getUserRole'](_0xf63ee){for(const _0x4c080c of this['channelSessions']['values']())for(const _0x30d50d of _0x4c080c)if(_0x30d50d['user']===_0xf63ee)return _0x30d50d['role'];}['_handleSessionAdd'](_0x26e3f2,_0x36b761){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3eebf8=_0x36b761['user'],_0x2511da=this['_users']['getUser'](_0x3eebf8['id'])||this['_createUser'](_0x3eebf8),_0x43e58f=Object['assign']({},_0x36b761,{'user':_0x2511da});if(this['channelSessions']['get'](_0x26e3f2)['add'](_0x43e58f),!_0x3eebf8['hiddenInPresenceList']){const _0x3a549f=this['channelConnectedUsers']['get'](_0x26e3f2);_0x3a549f['has'](_0x2511da['id'])||_0x3a549f['add'](_0x2511da),this['allConnectedUsers']['has'](_0x2511da['id'])||_0x3eebf8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2511da,_0x2511da['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x26e3f2,{'channelId':_0x26e3f2,'session':_0x43e58f});}['_handleSessionRemove'](_0x31b2d8,_0x863b1a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x53c862=this['channelConnectedUsers']['get'](_0x31b2d8),_0x391f17=_0x863b1a['user'];_0x391f17['id']&&(this['channelSessions']['get'](_0x31b2d8)['remove'](_0x863b1a['id']),_0x53c862['has'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17,_0x31b2d8)['size']&&_0x53c862['remove'](_0x391f17['id']),this['allConnectedUsers']['get'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17)['size']&&this['allConnectedUsers']['remove'](_0x391f17['id']));}['_createUser'](_0x48b7c1,_0x31a3ea){const _0x509a01=this['_users']['addUser'](_0x48b7c1);return _0x31a3ea&&this['_users']['defineMe'](_0x48b7c1['id']),_0x509a01['orderNumber']=this['_uniqueUsersCount']++,_0x509a01;}}class P extends _0x29e178{['_domEmitter']=new(_0x1014b4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4f4994=this['editor'],_0x41375d=_0x4f4994['plugins']['get'](i);_0x4f4994['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x57ed0e,{writer:_0x11cea6})=>function(_0x392146,_0x5c29d1,_0x590338,_0x19625f){const _0x1df5b0=_0x392146['markerName']['split'](':')[0x2],_0x58a741=_0x590338['getUserBySessionId'](_0x1df5b0);if(!_0x58a741||_0x1df5b0===_0x590338['mySessionId'])return;if(!_0x19625f['model']['schema']['checkChild'](_0x392146['markerRange']['start'],'$text'))return;const _0x25ee60={'class':'ck-user__marker\x20'+_0x58a741['color']['getMarkerClass'](),'data-name':_0x58a741['name'],'data-session-id':_0x1df5b0},_0xac068a=_0x19625f['model']['markers']['get'](_0x392146['markerName']),_0x11caaa=_0xac068a['getStart'](),_0x4d329a=_0x11caaa['nodeAfter'],_0x2d49a3=_0x19625f['model']['schema'];if(_0x4d329a&&_0x2d49a3['isObject'](_0x4d329a)&&_0x2d49a3['isInline'](_0x4d329a)&&!_0x19625f['model']['markers']['get']('user:range:'+_0x1df5b0)['getRange']()['isCollapsed'])return;const _0x55e950=_0x11caaa['parent'];return _0x19625f['model']['schema']['isLimit'](_0x55e950)&&!_0x19625f['model']['hasContent'](_0x55e950)&&(_0x25ee60['contenteditable']=!0x1),function(_0x2b4e08,_0x51b196,_0x2de13a){const _0x57b7c8=_0x2b4e08['createUIElement']('span',_0x51b196);return _0x2b4e08['setCustomProperty']('userPositionMarker',!0x0,_0x57b7c8),_0x57b7c8['render']=function(_0x4e4795){const _0x18cba4=this['toDomElement'](_0x4e4795),_0x134509=document['createElement']('span');return _0x134509['classList']['add']('ck-user__marker-tooltip'),_0x134509['setAttribute']('contenteditable','false'),_0x134509['setAttribute']('spellcheck','false'),_0x134509['textContent']=_0x2de13a['name'],_0x18cba4['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x134509['outerHTML']+'⁠',_0x18cba4['addEventListener']('mouseenter',()=>{_0x18cba4['classList']['add']('ck-user__marker_hovered');}),_0x18cba4['addEventListener']('mouseleave',()=>{_0x18cba4['classList']['remove']('ck-user__marker_hovered');}),_0x18cba4;},_0x57b7c8['isSimilar']=function(_0x1e1632){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e1632['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e1632['getAttribute']('data-session-id'));},_0x57b7c8;}(_0x5c29d1,_0x25ee60,_0x58a741);}(_0x57ed0e,_0x11cea6,_0x41375d,_0x4f4994)}),_0x4f4994['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1b8199=>function(_0x1e953a,_0x35bae6){const _0x1e9950=_0x1e953a['markerName']['split'](':')[0x2];if(_0x1e9950===_0x35bae6['mySessionId'])return null;const _0xfb6988=_0x35bae6['getUserBySessionId'](_0x1e9950);if(!_0xfb6988)return{'id':_0x1e9950,'classes':[]};return{'id':_0x1e9950,'classes':['ck-user__selection',_0xfb6988['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1e9950},'priority':0x7d0+_0xfb6988['orderNumber']};}(_0x1b8199,_0x41375d)}),function(_0x56d093){const _0x3c59de=_0x56d093['model'],_0x5c8b88=new Map(),_0x5df8e1=_0x56d093['plugins']['get'](i);_0x3c59de['markers']['on']('update:user:range',(_0x1eb9ba,_0x377e10,_0x4d9e7b,_0x4649a7)=>{if(!_0x4649a7&&_0x5c8b88['get'](_0x377e10['name']))return _0x5c8b88['get'](_0x377e10['name'])['detach'](),void _0x5c8b88['delete'](_0x377e10['name']);const _0x17ea90=_0x377e10['name']['split'](':')[0x2];if(_0x17ea90===_0x5df8e1['mySessionId'])return;const _0x1bb791='user:position:'+_0x17ea90;_0x3c59de['markers']['has'](_0x1bb791)&&_0x56d093['editing']['reconvertMarker'](_0x1bb791),_0x377e10['on']('change:range',(_0x4d4cb2,_0x5e77ac,_0xf3f66f)=>{if('$graveyard'!=_0x5e77ac['root']['rootName']&&'$graveyard'==_0x377e10['getRange']()['root']['rootName']&&!_0x5c8b88['has'](_0x377e10['name'])){const _0xf7e6a4=_0x3c59de['schema']['getNearestSelectionRange'](_0xf3f66f['deletionPosition']);if(_0xf7e6a4){const _0x5e673f=_0x4a4270['fromRange'](_0xf7e6a4);_0x5c8b88['set'](_0x377e10['name'],_0x5e673f),_0x5e673f['on']('change:range',(_0x285df8,_0x17e6da,_0x9a8d0c)=>{if('$graveyard'==_0x5e673f['root']['rootName']){const _0x1e64f7=_0x3c59de['schema']['getNearestSelectionRange'](_0x9a8d0c['deletionPosition']);_0x1e64f7?(_0x5e673f['start']=_0x1e64f7['start'],_0x5e673f['end']=_0x1e64f7['end']):(_0x5c8b88['delete'](_0x377e10['name']),_0x5e673f['detach']());}});}}});}),_0x3c59de['document']['on']('change',()=>{_0x5c8b88['size']>0x0&&_0x3c59de['enqueueChange']({'isUndoable':!0x1},_0x4482e3=>{for(const [_0x22abee,_0x49fb25]of _0x5c8b88)'$graveyard'==_0x3c59de['markers']['get'](_0x22abee)['getRange']()['root']['rootName']&&(G(_0x22abee['split'](':')[0x2],_0x49fb25['toRange'](),_0x3c59de,_0x4482e3),_0x49fb25['detach']());_0x5c8b88['clear']();});});}(_0x4f4994),this['_domEmitter']['listenTo'](_0x129409['document'],'keydown',(_0x1d1622,{key:_0x1b888a})=>{'Escape'===_0x1b888a&&function(_0xbbbbb2){_0xbbbbb2['editing']['view']['change'](_0xa75c9c=>{for(const _0x541d6d of _0xbbbbb2['model']['markers']){if(!_0x541d6d['name']['startsWith']('user:position'))continue;const _0x805ead=_0xbbbbb2['editing']['mapper']['markerNameToElements'](_0x541d6d['name']);if(_0x805ead){for(const _0x2dcf15 of _0x805ead)_0xa75c9c['removeClass']('ck-user__marker_hovered',_0x2dcf15);}}});}(_0x4f4994);},{'useCapture':!0x0});}['afterInit'](){const _0x1a77b8=this['editor'],_0x2d3b3d=_0x1a77b8['commands']['get']('undo');_0x2d3b3d&&_0x1a77b8['model']['on']('applyOperation',(_0x1a4f08,_0x3f76a4)=>{const _0x42954d=_0x3f76a4[0x0];if(!_0x42954d['isDocumentOperation'])return;if('marker'!=_0x42954d['type']||!_0x42954d['name']['startsWith']('user:'))return;const _0x194f94=_0x42954d['batch'];_0x2d3b3d['_createdBatches']['has'](_0x194f94)&&(_0x42954d['newRange']=_0x42954d['oldRange']?_0x1a77b8['model']['createRange'](_0x42954d['oldRange']['start'],_0x42954d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2cccfc=this['editor'],_0x5afbe4=_0x2cccfc['model']['document'],_0x2f58fe=_0x2cccfc['plugins']['get'](i);_0x2cccfc['model']['enqueueChange']({'isUndoable':!0x1},_0x5f4fae=>{const _0x5ece04='user:range:'+_0x2f58fe['mySessionId'],_0x3e9980='user:position:'+_0x2f58fe['mySessionId'],_0x392364=_0x2cccfc['model']['markers']['has'](_0x5ece04);_0x2cccfc['editing']['view']['hasDomSelection']?G(_0x2f58fe['mySessionId'],_0x5afbe4['selection']['getFirstRange'](),_0x2cccfc['model'],_0x5f4fae):_0x392364&&(_0x5f4fae['removeMarker'](_0x5ece04),_0x5f4fae['removeMarker'](_0x3e9980));});}}function G(_0x1e07bd,_0x36b82c,_0x56819b,_0x5a9fa2){const _0x13adf9='user:range:'+_0x1e07bd,_0x532183='user:position:'+_0x1e07bd,_0xb82553=_0x36b82c['getContainedElement']();let _0x639f3f=_0x36b82c['start'];if(_0xb82553&&_0xb82553['is']('element','tableCell')){const _0x484e07=function(_0x5ad896,_0x4d06a7){for(const _0x3debdc of _0x5ad896['getPositions']())if(_0x4d06a7['schema']['checkChild'](_0x3debdc,'$text'))return _0x3debdc;}(_0x36b82c,_0x56819b);_0x484e07&&(_0x639f3f=_0x484e07,_0x36b82c=_0x5a9fa2['createRange'](_0x639f3f));}const _0x1f1a83=_0x5a9fa2['createRange'](_0x639f3f);_0x56819b['markers']['has'](_0x13adf9)?(_0x5a9fa2['updateMarker'](_0x13adf9,{'range':_0x36b82c}),_0x5a9fa2['updateMarker'](_0x532183,{'range':_0x1f1a83})):(_0x5a9fa2['addMarker'](_0x13adf9,{'range':_0x36b82c,'usingOperation':!0x0}),_0x5a9fa2['addMarker'](_0x532183,{'range':_0x1f1a83,'usingOperation':!0x0}));}function U(_0x1b07c7,_0x5a388c,_0x4750a5){const _0x59e955=_0x1b07c7['t'],t=_0x1b07c7['t'];switch(_0x5a388c){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x59e955({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x4750a5);default:return'';}}let H=0x1;class l extends _0x29e178{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x3bd68f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,P,_0x25613c,_0x1fdd48,_0x3add2e];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x3524a4=this['serverHistory']['getOperations']();for(let _0x17f349=_0x3524a4['length']-0x1;_0x17f349>=0x0;_0x17f349--){const _0x4d7405=_0x3524a4[_0x17f349];if(!this['_disconnectionOperations']['has'](_0x4d7405))return _0x4d7405['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x33866f){if(super(_0x33866f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5543ae(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3bcb8b('collaboration-missing-channelid',this);const _0x56bb0f=_0x33866f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x56bb0f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x20f87f(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x3816ea=this['editor'],_0x14e21a=_0x3816ea['plugins']['get'](_0x1fdd48),_0x2ecfed=_0x3816ea['plugins']['get'](n);this['listenTo'](_0x14e21a,'getOperationAuthor',(_0x1a846d,_0x42c573)=>{const _0x425026=_0x42c573[0x0];_0x425026['_authorId']&&(_0x1a846d['return']=_0x14e21a['getUser'](_0x425026['_authorId']),_0x1a846d['stop']()),null===_0x425026['_authorId']&&(_0x1a846d['return']=null,_0x1a846d['stop']());},{'priority':'high'}),this['listenTo'](_0x3816ea['model']['document']['selection'],'change:range',(_0x5c5dec,_0x1d6622)=>{_0x1d6622['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3816ea['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3816ea['model']['on']('applyOperation',(_0x532a0c,_0x4e92e1)=>{const _0x14c8c5=_0x4e92e1[0x0];_0x14c8c5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x14c8c5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2ecfed,'state',this,'_hasSynchronizationProblem',(_0x20b8c4,_0x46d698)=>'connected'===_0x20b8c4&&!_0x46d698),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2697c7=this['editor']['plugins']['get'](i),_0x432fca=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2697c7['unregister'](this['_channelId']);const _0x27d0c1=await this['_service']['reconnect'](_0x432fca['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x27d0c1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3c63bf=await this['_service']['getConnectedSessions']();_0x2697c7['register'](this['_channelId'],_0x3c63bf),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xa1aae8){if(function(_0x1adfad){return'404'===_0x1adfad['code'];}(_0xa1aae8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34f525){return'409'===_0x34f525['code'];}(_0xa1aae8)){const _0x2be975=U(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2be975);}else{if(!(_0xa1aae8 instanceof ReconnectionError))throw _0xa1aae8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x88924f=this['editor']['plugins']['get'](n),_0x17a9dd=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x17a9dd['channelSessions']['has'](this['_channelId'])&&_0x17a9dd['unregister'](this['_channelId']),_0x88924f['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x51970f){if(this['sessionId']!==_0x51970f['sessionId']&&this['_lastSyncedOperationId']!==_0x51970f['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x51970f['sessionId'],this['_handleServerResponse']([],{..._0x51970f,'wereChangesApplied':!0x1,'data':_0x51970f['data']},'reconnect');}async['_connectService'](_0x5eb86b,_0x16400e=!0x1){const {connection:_0x4bb40a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4bb40a,this['_channelId'])['then'](_0x47210d=>this['_initSessionsHandling'](_0x47210d))['catch'](_0xdd99d4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xdd99d4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x17a9ab,_0x41b8b8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x41b8b8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xca6f38=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5eb86b);this['_isPendingUpdate']=!0x0;const _0x545afe=await this['_service']['connect'](_0x4bb40a,this['_compressOperations'](_0x5eb86b),_0xca6f38);if(this['sessionId']=_0x545afe['sessionId'],_0x16400e){if(!_0x545afe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x545afe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5eb86b,_0x545afe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x545afe,_0x5eb86b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x9d8fc5=this['editor']['plugins']['get'](i),_0x3b0858=this['editor']['plugins']['get'](P),_0x5ae35b=_0x9d8fc5['channelSessions']['get'](this['_channelId']);_0x5ae35b&&_0x5ae35b['length']>0x1?_0x3b0858['createUserMarkerOperations']():this['listenTo'](_0x9d8fc5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x9d8fc5['channelSessions']['get'](this['_channelId'])['length']&&_0x3b0858['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5cf82c,_0x278ae5,_0x52c273,_0x5c0733){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x278ae5){const _0x2667c0=this['_decompressOperations'](_0x52c273,_0x5c0733);await this['_fetchMissingUsers'](_0x2667c0),this['_handleExternalOperations'](_0x2667c0,_0x278ae5,_0x52c273['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x415cf3}=this['editor'];let _0x291a8d;try{_0x291a8d=await this['_service']['getDocumentDetails']();}catch{const _0x34a04e=U(_0x415cf3,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x34a04e);}const _0x53efc5=_0x291a8d['currentDocumentSession']||_0x291a8d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x53efc5['lastOperationId']){const _0x6fc179=U(_0x415cf3,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x6fc179);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x503d43){const _0x5c5723=this['editor']['plugins']['get'](i);this['listenTo'](_0x5c5723,'sessionAdd:'+this['_channelId'],(_0x1a46a7,{session:_0x20ab2d})=>{if(_0x20ab2d['id']===_0x5c5723['mySessionId']){_0x1a46a7['off']();const _0xa3019b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2095e6=_0x20ab2d['permissions'];_0xa3019b&&_0xa3019b['isEnabled']&&(_0x2095e6=_0x2095e6['filter'](_0x5623dd=>'document:write'!==_0x5623dd)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2095e6,this['_channelId']);}}),_0x5c5723['register'](this['_channelId'],_0x503d43);}['_initThrowingOnDataSet'](){const _0x15dfe0=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x38c36f)=>{if(!_0x38c36f[_0x38c36f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3bcb8b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x15dfe0['apply'](this['editor']['data'],_0x38c36f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4f5256,[_0x2c14b2])=>{if(this['_document']['version'])throw new _0x3bcb8b('realtimecollaborationclient-init-document-already-initialized',this);_0x4f5256['stop'](),this['_setPendingAction']();const _0x17660a=this['editor']['config']['get']('rootsAttributes'),_0xcf70f7=this['_getOperationsFromInitData'](_0x2c14b2,_0x17660a);0x0==_0xcf70f7['length']&&_0xcf70f7['push'](new _0x5a35fd(0x0)),_0x4f5256['return']=this['_connectService'](_0xcf70f7)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x49916c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x49916c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3426f2,[_0x4d4182,_0x319580])=>{_0x3426f2['stop']();const _0x61df94=this['editor']['model']['document']['getRoot'](_0x4d4182);if(!this['_knownRootNames']['has'](_0x4d4182)){const _0x16c2bd=_0x319580&&_0x319580['data']?_0x319580['data']:'',_0x2c5a3d=_0x319580&&_0x319580['attributes']?_0x319580['attributes']:{};await this['_loadRoot'](_0x4d4182,_0x16c2bd,_0x2c5a3d);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x61df94['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x61df94);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2e1a4b){const _0x274296=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0xfefba4}=this['editor']['plugins']['get'](n),_0x5bf105=new Set();for(const _0x27e490 of _0x2e1a4b){const _0x37273a=_0x27e490['_authorId'];_0x37273a&&!_0x274296['getUser'](_0x37273a)&&_0x5bf105['add'](_0x37273a);}if(0x0===_0x5bf105['size'])return;const _0x2aea38=await ht['getMany'](_0xfefba4,Array['from'](_0x5bf105));for(const _0x3d3414 of _0x2aea38)_0x274296['getUser'](_0x3d3414['id'])||_0x274296['addUser'](_0x3d3414);}['_getOperationsFromInitData'](_0x49af0a,_0x14edad={}){const _0x41b097=this['editor']['model'],_0x5491f7=[];let _0x4d07e7=0x0;const _0x345136='string'==typeof _0x49af0a?{'main':_0x49af0a}:_0x49af0a;for(const _0x399f29 of Object['keys'](_0x345136)){if(!this['_document']['roots']['has'](_0x399f29))throw new _0x3bcb8b('realtimecollaborationclient-init-non-existent-root',this);const _0x58cfaf=this['editor']['data']['parse'](_0x345136[_0x399f29]),_0x109ef4=this['_document']['getRoot'](_0x399f29),_0x2a3569=new _0x2eb663(_0x41b097['createPositionAt'](_0x109ef4,0x0),_0x58cfaf,_0x4d07e7++);_0x5491f7['push'](_0x2a3569);for(const [_0x474e16,_0x21cb28]of _0x58cfaf['markers']){const _0x497987=_0x41b097['createRange'](_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['start']['path']['slice']()),_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['end']['path']['slice']())),_0x1c977c=new _0xb76659(_0x474e16,null,_0x497987,_0x41b097['markers'],!0x0,_0x4d07e7++);_0x5491f7['push'](_0x1c977c);}}if(_0x14edad)for(const [_0x30be04,_0x48516d]of Object['entries'](_0x14edad)){const _0x29c538=_0x41b097['document']['getRoot'](_0x30be04);if(!_0x29c538)throw new _0x3bcb8b('multi-root-editor-root-attributes-no-root',null);for(const [_0x50c840,_0x33b824]of Object['entries'](_0x48516d))if(null!==_0x33b824){const _0x4d437c=new _0x587cfc(_0x29c538,_0x50c840,null,_0x33b824,_0x4d07e7++);_0x5491f7['push'](_0x4d437c);}}return _0x5491f7;}async['_loadRoot'](_0xf08f4c,_0xe56468,_0x4c239c){this['_getOperationsFromInitData']({[_0xf08f4c]:_0xe56468},{[_0xf08f4c]:_0x4c239c})['forEach']((_0x188866,_0x401baa)=>{_0x188866['baseVersion']=this['_document']['version']+_0x401baa,_0x188866['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x188866);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4e0a6a,_0x3573c4){let _0x452d52;this['_offset']=_0x4e0a6a['offset'];const _0xf24d51=_0x4e0a6a['wereChangesApplied']&&!_0x4e0a6a['initData'],_0x460ed8=_0xf24d51?0x0:_0x4e0a6a['data']['baseVersion'];if(_0x3573c4['forEach'](_0x381c25=>{_0x381c25['_isInit']=!0x0,_0x381c25['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x381c25['_authorId']=null;}),_0xf24d51)_0x452d52=_0x3573c4,this['_applyOperationsSet'](_0x452d52,_0xf24d51);else{if(_0x4e0a6a['initData']){const _0x45b73a=this['_getOperationsFromInitData'](_0x4e0a6a['initData']);this['_document']['history']['version']=-_0x45b73a['length'],_0x45b73a['forEach'](_0x374b4f=>{_0x374b4f['baseVersion']-=_0x45b73a['length'],_0x374b4f['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x374b4f['_isInit']=!0x0,_0x374b4f['_authorId']=null;}),this['_applyOperationsSet'](_0x45b73a,!0x0),this['serverHistory']['version']=-_0x45b73a['length']+this['_offset'],this['_updateServerHistory'](_0x45b73a);}this['_document']['history']['version']=_0x460ed8,_0x452d52=this['_decompressOperations'](_0x4e0a6a['data'],_0x4e0a6a['metadata']),await this['_fetchMissingUsers'](_0x452d52),this['_applyOperationsSet'](_0x452d52,_0xf24d51);}_0x4e0a6a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x452d52,_0x4e0a6a['lastOperationId']),this['_lastSyncedOperationId']=_0x4e0a6a['lastOperationId']),this['serverHistory']['version']=_0x460ed8+this['_offset'],this['_updateServerHistory'](_0x452d52),_0x3573c4['filter'](_0x522ea9=>{const _0x27c161=this['_getAffectedRoot'](_0x522ea9);return _0x27c161&&!this['_knownRootNames']['has'](_0x27c161);})['forEach']((_0x19938e,_0x464f77)=>{_0x19938e['baseVersion']=this['_document']['version']+_0x464f77,this['_saveOperationInBuffer'](_0x19938e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2d2b49,_0x44abcb){const _0x3b3f19=_0x44abcb&&_0x44abcb['message'];if(_0x3b3f19&&_0x3b3f19['startsWith']('realtimecollaborationclient'))throw _0x44abcb;const _0x54cf09=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x54cf09['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3bcb8b(_0x2d2b49,this['editor'],_0x3b3f19?{'originalError':_0x3b3f19}:void 0x0);}['_saveOperationInBuffer'](_0x2b0fe6){this['_knownOperations']['has'](_0x2b0fe6)||(this['_knownOperations']['add'](_0x2b0fe6),this['_bufferedOperations']['push'](_0x2b0fe6),this['_pendingAction']||'marker'==_0x2b0fe6['type']&&!_0x2b0fe6['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1be7c1=!0x1){!_0x1be7c1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2b5528=>{_0x2b5528&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x584a44=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x30772f){return _0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x584a44)||this['_crash'](_0x584a44['message'],_0x584a44);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3aacf1=>{this['on']('change:_isPendingUpdate',()=>{_0x3aacf1();});});}async['_sendBufferedOperations'](){const _0xe249ce=this['editor']['plugins']['get'](P);if(this['_shouldSendSelectionUpdate']()&&(_0xe249ce['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5dcdae=[...this['_bufferedOperations']];for(const _0x52ce64 of _0x5dcdae)_0x52ce64['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x52ce64);const _0x175589=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dcdae),_0x33dbca=H++,_0x104b2a=this['_compressOperations'](_0x5dcdae),_0x51701e=await this['_service']['sendOperations'](_0x104b2a,_0x104b2a['baseVersion'],_0x175589);try{return await this['_handleServerResponse'](_0x5dcdae,_0x51701e,_0x33dbca);}catch(_0x377465){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x377465);}}async['_handleServerResponse'](_0x401bc2,_0x1273b7,_0x1dbf0b){if('error'in _0x1273b7)throw _0x1273b7['error'];let _0x55a16b=!0x1;if(_0x1273b7['wereChangesApplied']){_0x1273b7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1273b7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a03ea=>!_0x401bc2['includes'](_0x1a03ea));for(const _0x31a050 of _0x401bc2)_0x31a050['createdAt']='lastOperationAcceptedAt'in _0x1273b7&&_0x1273b7['lastOperationAcceptedAt']||void 0x0;V(_0x401bc2,_0x1273b7['version']-_0x401bc2['length']),this['_updateServerHistory'](_0x401bc2);const _0x122dc9=_0x401bc2['filter'](_0x3f28d4=>{if(!_0x3f28d4['_isInit'])return!0x1;const _0x26eb53=this['_getAffectedRoot'](_0x3f28d4);return _0x26eb53&&!this['_knownRootNames']['has'](_0x26eb53);});V(_0x122dc9,this['_document']['version']),this['_applyOperationsSet'](_0x122dc9),_0x55a16b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xa919f8=this['_decompressOperations'](_0x1273b7['data'],_0x1273b7['metadata'])['filter'](_0x8f2d2e=>_0x8f2d2e['baseVersion']>=this['_lastServerVersion']);_0xa919f8['forEach'](_0x17919f=>this['_addKnownRoot'](_0x17919f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x169e62=>!_0x169e62['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x169e62))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xa919f8),_0x55a16b=this['_handleExternalOperations'](_0xa919f8,_0x1273b7['version'],_0x1273b7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x55a16b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xc4c343,_0x4ff10c,_0x2352bf){try{const _0x561a1d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x377530,operationsB:_0x1a4add,originalOperations:_0x4ac164}=_0x49e3bb(_0xc4c343,this['_bufferedOperations'],_0x561a1d);V(_0x377530,this['_document']['version']),V(_0x1a4add,_0x4ff10c);for(const _0x5091eb of _0x377530){const _0x4bf8db=_0x4ac164['get'](_0x5091eb);_0x5091eb['_authorId']=_0x4bf8db?_0x4bf8db['_authorId']:null;}_0x2352bf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xc4c343,_0x2352bf),this['_lastSyncedOperationId']=_0x2352bf),this['_bufferedOperations']=[..._0x1a4add],this['_applyOperationsSet'](_0x377530),this['_updateServerHistory'](_0xc4c343);}catch(_0x261837){return console['error'](_0x261837),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2fc655,_0x3cd385=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x20b8d8=>{for(const _0x423451 of _0x2fc655)this['_knownOperations']['add'](_0x423451),this['_addKnownRoot'](_0x423451),_0x20b8d8['batch']['addOperation'](_0x423451),this['editor']['model']['applyOperation'](_0x423451);});}['_addKnownRoot'](_0x5441d2){const _0x589ae4=this['_getAffectedRoot'](_0x5441d2);_0x589ae4&&this['_knownRootNames']['add'](_0x589ae4);}['_getAffectedRoot'](_0x549061){let _0x3d2daf,_0x3a4122;switch(_0x549061['type']){case'insert':_0x3d2daf=_0x549061['position']['root'];break;case'marker':if(_0x3a4122=_0x549061['newRange'],!_0x3a4122)return null;_0x3d2daf=_0x3a4122['root'];break;case'addRootAttribute':_0x3d2daf=_0x549061['root'];break;case'addRoot':_0x3d2daf=_0x549061['affectedSelectable'];break;case'move':_0x3d2daf=_0x549061['targetPosition']['root'];break;default:return null;}return _0x3d2daf['rootName'];}['_updateServerHistory'](_0x5c50a0){_0x5c50a0['forEach'](_0x383da8=>{const _0x55808d=_0x383da8['clone']();_0x55808d['_authorId']=_0x383da8['_authorId'],_0x55808d['_isInit']=!!_0x383da8['_isInit'],_0x55808d['createdAt']=_0x383da8['createdAt'],_0x55808d['baseVersion']+=this['_offset'],_0x383da8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x55808d),this['serverHistory']['addOperation'](_0x55808d);});}['_handleReconnectionError'](_0x93f24e){const _0x4e2dd5=this['editor']['plugins']['get']('Notification'),_0x357fd3=this['editor']['locale'];_0x93f24e||(_0x93f24e=U(_0x357fd3,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x4e2dd5['showWarning'](_0x93f24e,{'title':U(_0x357fd3,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x25613c)['add'](U(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x25613c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2d055c){const _0x56f105=_0x2d055c['map'](_0x4e6914=>_0x4e6914['toJSON']());return this['_compressor']['compress'](_0x56f105);}['_decompressOperations'](_0x468551,_0x424d87){return this['_compressor']['decompress'](_0x468551)['map']((_0x54e3de,_0x2f02a9)=>{const _0x911eb6='init'==_0x424d87[_0x2f02a9]['type'];if('InsertOperation'==_0x54e3de['__className']){const _0x349b3d=_0x54e3de['position']['root'];!this['_document']['getRoot'](_0x349b3d)&&(this['_document']['createRoot']('$root',_0x349b3d)['_isAttached']=!0x1);}const _0x18cbd5=_0x53f985['fromJSON'](_0x54e3de,this['_document']);return _0x18cbd5['wasUndone']=_0x54e3de['wasUndone'],_0x18cbd5['_isInit']=_0x911eb6,_0x18cbd5['_authorId']=_0x911eb6?null:_0x424d87[_0x2f02a9]['userId'],_0x18cbd5['_isDisconnection']='cs:removeUser'===_0x424d87[_0x2f02a9]['type'],_0x18cbd5['createdAt']=_0x424d87[_0x2f02a9]['createdAt'],_0x18cbd5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x51e6cd=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x51e6cd&&_0x51e6cd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function V(_0x3da915,_0x5aafb8){for(const _0x5bb3f6 of _0x3da915)_0x5bb3f6['baseVersion']=_0x5aafb8++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x5c0992){this['_ignoredOperations']=_0x5c0992,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5e606f){let _0xcbe6d2=_0x5e606f['length'];for(;_0xcbe6d2--;){const _0x4ffeab=_0x5e606f[_0xcbe6d2];if(!this['_ignoredOperations']['has'](_0x4ffeab)){if(!this['_operationToId']['has'](_0x4ffeab)){const _0x317dc5=_0x388d37()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4ffeab,_0x317dc5);}return this['_operationToId']['get'](_0x4ffeab);}}}['setIdForTheLastOperation'](_0x3eedb2,_0x5868c7){if(!_0x5868c7)return;let _0x50eb60=_0x3eedb2['length'];for(;_0x50eb60--;){const _0x48ddb8=_0x3eedb2[_0x50eb60];this['_ignoredOperations']['has'](_0x48ddb8)||this['_operationToId']['set'](_0x48ddb8,_0x5868c7);}}}class a extends _0x29e178{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2ff9e0{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x33454b)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e8ae){super(_0x39e8ae),this['_services']=new Map();}async['init'](){const _0x14a5ab=this['context'],_0x3cde40=_0x14a5ab['plugins']['get']('CommentsRepository');if(_0x14a5ab['plugins']['get'](n)['addToReconnectionStack'](this),_0x3cde40['adapter']={'addCommentThread':async({channelId:_0xb9e810,threadId:_0x5287ea,comments:_0xd79d0f,resolvedAt:_0x2dc705,resolvedBy:_0x2de82b,context:_0x12fda5,attributes:_0x446acc})=>{const _0x5690ae=await this['_getService'](_0xb9e810)['addCommentThread']({'commentThreadId':_0x5287ea,'comments':_0xd79d0f['map'](_0x1fe910=>function(_0x1842cc,_0x4311fd,_0x4fe560){return{'commentThreadId':_0x4fe560,'commentId':_0x1842cc['commentId'],'userId':_0x1842cc['authorId'],'content':_0x1842cc['content'],'documentId':_0x4311fd,'createdAt':_0x1842cc['createdAt'],'attributes':_0x1842cc['attributes']||{}};}(_0x1fe910,_0xb9e810,_0x5287ea)),'resolvedAt':_0x2dc705,'resolvedBy':_0x2de82b,'context':_0x12fda5,'attributes':_0x446acc})['catch'](lt);return{'threadId':_0x5690ae['commentThreadId'],'comments':_0x5690ae['comments']};},'getCommentThread':async({channelId:_0x544588,threadId:_0x5504fb})=>{const _0x331eb2=await this['_getService'](_0x544588)['getCommentThread'](_0x5504fb)['catch'](X)['catch'](lt);return _0x331eb2?_0x331eb2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x331eb2]),{'threadId':_0x331eb2['commentThreadId'],'comments':_0x331eb2['comments']['map'](Z),'context':_0x331eb2['context'],'resolvedAt':_0x331eb2['resolvedAt'],'resolvedBy':_0x331eb2['resolvedBy'],'attributes':_0x331eb2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x29a946,threadId:_0x1c9b3b,context:_0x594ba5,unlinkedAt:_0x451076,attributes:_0x19e4b6})=>this['_getService'](_0x29a946)['updateCommentThread']({'commentThreadId':_0x1c9b3b,'context':_0x594ba5,'attributes':_0x19e4b6,'unlinkedAt':_0x451076})['catch'](X)['catch'](lt),'resolveCommentThread':async({channelId:_0x22cc90,threadId:_0x15e66d})=>{const _0x69fbc2=await this['_getService'](_0x22cc90)['resolveCommentThread'](_0x15e66d)['catch'](X)['catch'](lt);return{'threadId':_0x69fbc2['commentThreadId'],'resolvedAt':_0x69fbc2['resolvedAt'],'resolvedBy':_0x69fbc2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2a0af0,threadId:_0x5579fb})=>this['_getService'](_0x2a0af0)['reopenCommentThread'](_0x5579fb)['catch'](X)['catch'](lt),'removeCommentThread':({channelId:_0x523173,threadId:_0x2b28ec})=>this['_getService'](_0x523173)['removeCommentThread'](_0x2b28ec)['catch'](X)['catch'](lt),'addComment':({channelId:_0x36878d,threadId:_0x2fe7f6,commentId:_0x33a4a9,content:_0xdc000,attributes:_0xa6b7fb})=>this['_getService'](_0x36878d)['addComment'](_0x2fe7f6,_0x33a4a9,_0xdc000,_0xa6b7fb)['catch'](lt),'updateComment':({channelId:_0x57ae21,threadId:_0x1b258b,commentId:_0x22754b,content:_0x5ca260,attributes:_0x53d41a})=>this['_getService'](_0x57ae21)['updateComment'](_0x1b258b,_0x22754b,_0x5ca260,_0x53d41a)['catch'](X)['catch'](lt),'removeComment':({channelId:_0x4ece2f,threadId:_0x148c70,commentId:_0x28ee70})=>this['_getService'](_0x4ece2f)['removeComment'](_0x148c70,_0x28ee70)['catch'](X)['catch'](lt)},_0x14a5ab instanceof _0x32eb06){const _0x2b58ce=_0x14a5ab['config']['get']('collaboration.channelId'),_0x518fc7=_0x14a5ab['plugins']['get'](i);await this['_setUpService'](_0x2b58ce);const _0x4dd6bb=await this['_services']['get'](_0x2b58ce)['getConnectedSessions']();this['listenTo'](_0x518fc7,'sessionAdd:'+_0x2b58ce,(_0x1748f5,{session:_0x9ad872})=>{_0x9ad872['id']===_0x518fc7['mySessionId']&&(_0x1748f5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x9ad872['permissions'],_0x2b58ce));}),_0x518fc7['register'](_0x2b58ce,_0x4dd6bb);}}async['_setUpService'](_0x51f3c2){if(this['_services']['has'](_0x51f3c2))throw new _0x3bcb8b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x51f3c2});const _0x30707a=this['context']['plugins']['get']('CommentsRepository'),_0x1d5d05=new s['CommentsService'](_0x51f3c2);this['_services']['set'](_0x51f3c2,_0x1d5d05),this['listenTo'](_0x1d5d05,'commentThreadAdded',(_0x3abc17,_0x2a51d8)=>{const {commentThreadId:_0x72002c,documentId:_0x3b2e6b,context:_0x140627,attributes:_0x3d41fd,resolvedAt:_0xbecf9,resolvedBy:_0x2a1f30,comments:_0x371307}=_0x2a51d8;_0x30707a['getCommentThread'](_0x72002c)||_0x30707a['addCommentThread']({'threadId':_0x72002c,'channelId':_0x3b2e6b,'comments':_0x371307?_0x371307['map'](Z):[],'context':_0x140627,'attributes':_0x3d41fd,'resolvedAt':_0xbecf9,'resolvedBy':_0x2a1f30,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadUpdated',(_0x2d2fab,{commentThreadId:_0x4f867f,documentId:_0x4ffcc8,context:_0x1c02ed,unlinkedAt:_0x18b31f,attributes:_0x1040c8})=>{_0x30707a['getCommentThread'](_0x4f867f)&&_0x30707a['updateCommentThread']({'threadId':_0x4f867f,'channelId':_0x4ffcc8,'context':_0x1c02ed,'unlinkedAt':_0x18b31f,'attributes':_0x1040c8,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadResolved',(_0x353361,{commentThreadId:_0x5e372b,resolvedBy:_0x42bced,resolvedAt:_0x35d5a3})=>{const _0xd30eca=_0x30707a['getCommentThread'](_0x5e372b);_0xd30eca&&_0xd30eca['resolve']({'resolvedBy':_0x42bced,'resolvedAt':_0x35d5a3,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadReopened',(_0x83cd71,{commentThreadId:_0x3a70ad})=>{const _0x11662e=_0x30707a['getCommentThread'](_0x3a70ad);_0x11662e&&_0x11662e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadRemoved',(_0x14c4df,{commentThreadId:_0x3ad905})=>{const _0x132f54=_0x30707a['getCommentThread'](_0x3ad905);_0x132f54&&_0x132f54['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentAdded',(_0x8596ad,_0x57c1ff)=>{const _0x1e2671=_0x57c1ff['commentThreadId'],_0x39ab36=_0x30707a['getCommentThread'](_0x1e2671);_0x39ab36&&_0x39ab36['addComment']({...Z(_0x57c1ff),'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentUpdated',(_0x1a6779,{commentThreadId:_0x36feb5,commentId:_0x1508e9,content:_0x27d681,attributes:_0x54341d})=>{const _0x116ec5=_0x30707a['getCommentThread'](_0x36feb5);if(_0x116ec5){const _0xa66e4e=_0x116ec5['getComment'](_0x1508e9);_0xa66e4e&&_0xa66e4e['update']({'content':_0x27d681,'attributes':_0x54341d,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d5d05,'commentRemoved',(_0x14c6f9,{commentThreadId:_0x33cf71,commentId:_0x580bbc})=>{const _0x21adcb=_0x30707a['getCommentThread'](_0x33cf71);if(_0x21adcb){const _0x4fd199=_0x21adcb['getComment'](_0x580bbc);_0x4fd199&&_0x4fd199['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x51f3c2);}['destroy'](){if(this['context']instanceof _0x32eb06){const _0x185f5d=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x185f5d);}}['_terminateService'](_0x2d4447){if(!this['_services']['has'](_0x2d4447))throw new _0x3bcb8b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d4447});this['_getService'](_0x2d4447)['disconnect'](),this['_services']['delete'](_0x2d4447);}async['reconnect'](){for(const _0x547de4 of this['_services']['keys']())await this['_connectService'](_0x547de4);if(this['context']instanceof _0x32eb06){const _0x41f3b4=this['context']['config']['get']('collaboration.channelId'),_0x1767bb=this['context']['plugins']['get'](i);_0x1767bb['unregister'](_0x41f3b4);const _0x364a30=await this['_services']['get'](_0x41f3b4)['getConnectedSessions']();_0x1767bb['register'](_0x41f3b4,_0x364a30);}}async['_connectService'](_0x1000f6){const {connection:_0x228bcb}=this['context']['plugins']['get'](n),_0x5667e2=this['context']['plugins']['get']('CommentsRepository'),_0x1bee42=this['_services']['get'](_0x1000f6),_0x8dd084=await _0x1bee42['connect'](_0x228bcb);await this['_fetchMissingUsersForThreads'](_0x8dd084);const _0x16f0c5=new Set(Array['from'](_0x5667e2['getCommentThreads']({'channelId':_0x1000f6}),_0x5ee8a2=>_0x5ee8a2['id']));for(const _0xd052a of _0x8dd084)_0xd052a['deletedAt']||_0x16f0c5['delete'](_0xd052a['commentThreadId']);for(const _0xa57f5b of _0x16f0c5)_0x5667e2['getCommentThread'](_0xa57f5b)['remove']({'isFromAdapter':!0x0});for(const _0x3b4918 of _0x8dd084){let _0x2644ff=_0x5667e2['getCommentThread'](_0x3b4918['commentThreadId']);const {commentThreadId:_0x1396cd,context:_0x4eef4b,attributes:_0x4627e8,resolvedBy:_0x4c9ebc,resolvedAt:_0x55944e,unlinkedAt:_0x46e592,deletedAt:_0x4b596c}=_0x3b4918;if(_0x4b596c)continue;_0x2644ff||(_0x2644ff=_0x5667e2['addCommentThread']({'channelId':_0x1000f6,'threadId':_0x1396cd,'context':_0x4eef4b,'attributes':_0x4627e8||{},'resolvedBy':_0x4c9ebc,'resolvedAt':_0x55944e,'unlinkedAt':_0x46e592,'isFromAdapter':!0x0}));const _0x3d655f=new Set(Array['from'](_0x2644ff['comments'],_0x5770e4=>_0x5770e4['id']));for(const _0x16a738 of _0x3b4918['comments'])_0x3d655f['delete'](_0x16a738['commentId']);for(const _0x276e2e of _0x3d655f)_0x2644ff['getComment'](_0x276e2e)['remove']({'isFromAdapter':!0x0});for(const _0x1da82b of _0x3b4918['comments']){const _0x2440ae=_0x2644ff['getComment'](_0x1da82b['commentId']);_0x2440ae?_0x2440ae['content']!==_0x1da82b['content']&&_0x2440ae['update']({'content':_0x1da82b['content'],'isFromAdapter':!0x0}):_0x2644ff['addComment'](Object['assign'](Z(_0x1da82b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3de98c){if(!this['_services']['has'](_0x3de98c))throw new _0x3bcb8b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3de98c});return this['_services']['get'](_0x3de98c);}async['_fetchMissingUsersForThreads'](_0x2ed0bd){const _0x5c34bf=this['context']['plugins']['get'](_0x1fdd48),{connection:_0x47c07e}=this['context']['plugins']['get'](n),_0x3d14d4=new Set();for(const {resolvedBy:_0x5dfd34,comments:_0x5c5d93}of _0x2ed0bd){_0x5dfd34&&!_0x5c34bf['getUser'](_0x5dfd34)&&_0x3d14d4['add'](_0x5dfd34);for(const {userId:_0x1375f5}of _0x5c5d93)_0x5c34bf['getUser'](_0x1375f5)||_0x3d14d4['add'](_0x1375f5);}if(0x0===_0x3d14d4['size'])return;const _0x188d2f=await ht['getMany'](_0x47c07e,Array['from'](_0x3d14d4));for(const _0x102cef of _0x188d2f)_0x5c34bf['getUser'](_0x102cef['id'])||_0x5c34bf['addUser'](_0x102cef);}}async function X(_0x53874a){if('404'!==_0x53874a['code'])throw _0x53874a;}function lt(_0x24bea4){if((_0x1de51f=_0x24bea4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1de51f;throw _0x24bea4;}function Z(_0x431979){return{'threadId':_0x431979['commentThreadId'],'commentId':_0x431979['commentId'],'content':_0x431979['content'],'createdAt':_0x431979['createdAt'],'authorId':_0x431979['userId'],'attributes':_0x431979['attributes']||{}};}class m extends _0x29e178{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4b63f9){super(_0x4b63f9);const _0x5c2f27=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c2f27);}['init'](){const _0x4c1e72=this['editor']['plugins']['get'](n),_0xdf1ba8=this['editor']['plugins']['get']('TrackChangesEditing');return _0xdf1ba8['adapter']={'getSuggestion':async _0x155ea8=>{await this['_waitForServiceReady']();const _0x295aa2=await this['_trackChangesService']['get'](_0x155ea8)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x295aa2]),_0x295aa2;},'addSuggestion':async({id:_0x51c196,type:_0x3f10bb,data:_0x4bf25b,originalSuggestionId:_0x58633c,attributes:_0x21373a})=>{await this['_waitForServiceReady']();const _0x4e8ee5={'id':_0x51c196,'type':_0x3f10bb,'data':_0x4bf25b,'originalSuggestionId':_0x58633c,'attributes':_0x21373a},_0x13e651=await this['_trackChangesService']['add'](_0x51c196,_0x3f10bb,_0x4bf25b,_0x58633c,_0x21373a)['catch'](_0x37d09a=>{if(dt(_0x37d09a))return new Promise(_0xaf484a=>{this['_bufferedRequests']['set'](_0x51c196,{'resolve':_0xaf484a,'suggestionData':_0x4e8ee5});});throw _0x37d09a;});return this['_bufferedRequests']['delete'](_0x51c196),_0x13e651;},'updateSuggestion':async(_0x12ea48,_0x2fc7a8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2fc7a8['state'])return this['_trackChangesService']['update'](_0x12ea48,_0x2fc7a8)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x46c044,_0x1d9c5f)=>{_0xdf1ba8['hasSuggestion'](_0x1d9c5f['id'])&&(_0xdf1ba8['getSuggestion'](_0x1d9c5f['id'])['attributes']=_0x1d9c5f['attributes']);}),this['_trackChangesService']['connect'](_0x4c1e72['connection'])['then'](_0x1daeb3=>(_0x4c1e72['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1daeb3)['then'](()=>{for(const _0x324d55 of _0x1daeb3){_0xdf1ba8['addSuggestionData'](_0x324d55)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1f4f37=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x272618}=this['editor']['plugins']['get'](n),_0x7fdb29=await this['_trackChangesService']['connect'](_0x272618);await this['_fetchMissingUsersForThreads'](_0x7fdb29);for(const {suggestionData:_0x4906a0,resolve:_0x3555e3}of this['_bufferedRequests']['values']()){let _0x1e7456=_0x7fdb29['find'](_0x441c90=>_0x441c90['id']===_0x4906a0['id']);_0x1e7456||(_0x1e7456=await this['_trackChangesService']['add'](_0x4906a0['id'],_0x4906a0['type'],_0x4906a0['data'],_0x4906a0['originalSuggestionId'])),_0x3555e3(_0x1e7456);}for(const _0x16eb63 of _0x7fdb29)_0x1f4f37['hasSuggestion'](_0x16eb63['id'])||_0x1f4f37['addSuggestionData'](_0x16eb63);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x30f751=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3746fe=>{_0x3746fe['off'](),_0x30f751();});});}async['_fetchMissingUsersForThreads'](_0x2260f1){const _0x1276e4=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x23d44b}=this['editor']['plugins']['get'](n),_0x5bbc73=new Set();for(const {authorId:_0x201aac}of _0x2260f1)_0x1276e4['getUser'](_0x201aac)||_0x5bbc73['add'](_0x201aac);if(0x0===_0x5bbc73['size'])return;const _0x290625=await ht['getMany'](_0x23d44b,Array['from'](_0x5bbc73));for(const _0x3a0aa9 of _0x290625)_0x1276e4['getUser'](_0x3a0aa9['id'])||_0x1276e4['addUser'](_0x3a0aa9);}}function Y(_0x56266e){if(dt(_0x56266e))return new Promise(()=>{});throw _0x56266e;}function dt(_0x91c352){return _0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x29e178{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1d167e=this['editor']['plugins']['get'](n),_0x1edcbe=this['editor']['plugins']['get']('CommentsEditing'),_0x164aea=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1d167e,'change:state',(_0x69796e,_0x3ec527,_0x718421)=>{_0x1edcbe['isThreadsLoadingPaused']='connected'!==_0x718421;});}),this['listenTo'](_0x1d167e,'change:state',(_0x53f937,_0x3e35f3,_0x361c73)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x361c73);}),_0x164aea['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x29e178{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x29e178{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18f624){super(_0x18f624);const _0x29574b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x29574b);}async['init'](){const _0x23bb15=this['editor']['plugins']['get'](l),_0x2c0763=_0x23bb15['serverHistory'],_0x5aae8e=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x2c0763,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23bb15['sessionId']});const _0x35dbdb=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xedb1cd=await tt['isBundleUploaded'](_0x5aae8e['connection'],_0x35dbdb);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xec1381})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xec1381)),'updateRevisions':async _0x5757ef=>{await this['_waitForServiceReady']();const _0xdb2098=this['_revisionTracker']['currentRevision'];if(_0xedb1cd&&0x1===_0x5757ef['length']&&_0x5757ef[0x0]['id']===_0xdb2098['id'])return _0x5757ef;for(const _0x32aac9 of _0x5757ef)_0x32aac9['id']===_0xdb2098['id']&&(_0x32aac9['isEmptyCurrent']=_0x32aac9['fromVersion']===_0x32aac9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5757ef,this['_lastRequestId'])['then'](_0x2cc848=>(this['_lastRequestId']=_0x2cc848,_0x5757ef))['catch'](_0x4d052a=>{if(st(_0x4d052a)||'400'===_0x4d052a['code']&&void 0x0!==_0x4d052a['data']['wrongRequestId']){for(const _0x1ed008 of _0x5757ef){!this['_revisionTracker']['repository']['getRevision'](_0x1ed008['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ed008['id'],_0x1ed008,!0x1);}if(st(_0x4d052a))throw _0x4d052a;return _0x5757ef;}throw _0x4d052a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x33f93b,{revisionsData:_0x24a439,requestId:_0x24e3f6})=>{Math['max'](..._0x24a439['map'](_0x56bfba=>_0x56bfba['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);}):this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);});const {revisions:_0x1add2e,requestId:_0x5d37ad}=await this['_revisionHistoryService']['connect'](_0x5aae8e['connection']);_0x5aae8e['addToReconnectionStack'](this),this['_lastRequestId']=_0x5d37ad,await this['_fetchMissingUsers'](_0x1add2e);for(const _0x25d0ea of _0x1add2e)this['_revisionTracker']['addRevisionData'](_0x25d0ea);this['listenTo'](_0x23bb15,'change:_isConnected',(_0x2093a2,_0x467377,_0x8756a1)=>{_0x8756a1&&(this['_oldOffset']=_0x23bb15['_offset'],_0x2093a2['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5aae8e,'state',_0x26ce4a=>_0x26ce4a===_0x2b57de['CONNECTED']);}async['reconnect'](){const _0x2b9e6c=this['editor']['plugins']['get'](n),_0x20086b=this['editor']['plugins']['get'](l),_0x5694a4=async()=>{const _0x56ce44=this['_revisionTracker']['currentRevision'],_0xda2310=_0x56ce44['id'],_0x191205=_0xda2310!==_0x20086b['sessionId'];if(_0x191205){const _0x57b3a6=_0x20086b['_offset']-this['_oldOffset'],_0x540aaa=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x56ce44['toVersion']+_0x57b3a6!==_0x540aaa){const _0x4f5698=_0x56ce44['fromVersion']+_0x57b3a6,_0x5b4ae7=this['editor']['plugins']['get'](_0x1fdd48),_0x1ff295=this['_revisionTracker']['buildRevisionData']({'revision':_0x56ce44,'from':_0x4f5698,'to':_0x540aaa});_0x1ff295['id']=_0x56ce44['id'];const _0x383638=_0x1ff295['authorsIds']['map'](_0x45473d=>_0x5b4ae7['getUser'](_0x45473d));_0x56ce44['_update']({..._0x1ff295,'authors':_0x383638},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x56ce44['id'],_0x1ff295,!0x0);}this['_revisionTracker']['_startingVersion']=_0x540aaa,(_0x56ce44['toVersion']===_0x56ce44['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xda2310)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xda2310),this['_revisionTracker']['_createCurrentRevision'](_0x540aaa));}const {revisions:_0xd84fc6,requestId:_0x436468}=await this['_revisionHistoryService']['reconnect'](_0x2b9e6c['connection'],this['_lastRequestId']);_0x191205&&_0xd84fc6['length']>0x0?_0x20086b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xd84fc6),this['_handleRevisionsUpdate'](_0xd84fc6,_0x436468),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20086b['_isConnected']?_0x5694a4():new Promise((_0xf5de10,_0x3d20f7)=>{_0x20086b['once']('change:_isConnected',()=>{_0x5694a4()['then'](_0xf5de10)['catch'](_0x3d20f7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x249606=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x138478=>{_0x138478['off'](),_0x249606();});});}['_getLatestVersionFromServerOperations'](){const _0x211749=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x461ff4 of _0x211749)if('marker'!==_0x461ff4['type']||_0x461ff4['affectsData'])return _0x461ff4['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b2ec2=this['editor']['plugins']['get'](l);return new Promise(_0xf001f2=>{_0x1b2ec2['_isPendingUpdate']?_0x1b2ec2['once']('change:_isPendingUpdate',()=>{_0xf001f2(this['_getLatestVersionFromServerOperations']());}):_0xf001f2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc1950,_0x1b066b){const _0x1713ad=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1b066b;for(const _0x364913 of _0xc1950){const _0x3e0f7f=_0x1713ad['getRevision'](_0x364913['id']);if(_0x3e0f7f){if((_0x364913['fromVersion']||_0x364913['toVersion'])&&(_0x364913['diffData']=null),_0x3e0f7f===this['_revisionTracker']['currentRevision']){const _0x3c6d37=Math['max'](_0x3e0f7f['toVersion'],_0x364913['toVersion']),_0x3a7954=Math['max'](_0x3e0f7f['fromVersion'],_0x364913['fromVersion']);let _0x3e0588;_0x3e0f7f['toVersion']===_0x364913['toVersion']&&_0x3e0f7f['fromVersion']===_0x364913['fromVersion']?(_0x3e0588=!0x0,this['_preventResendingRevisionData'](_0x364913)):_0x364913['toVersion']===_0x3c6d37&&_0x364913['fromVersion']===_0x3a7954?_0x3e0588=!0x1:(_0x3e0f7f['toVersion']===_0x3c6d37&&_0x3e0f7f['fromVersion']===_0x3a7954||this['_fixRevision']({'revision':_0x3e0f7f,'from':_0x3a7954,'to':_0x3c6d37}),_0x3e0588=!0x0),_0x3e0588&&(delete _0x364913['fromVersion'],delete _0x364913['toVersion'],delete _0x364913['diffData'],delete _0x364913['createdAt'],delete _0x364913['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x364913),this['_preventResendingRevisionData'](_0x364913);}else this['_revisionTracker']['addRevisionData'](_0x364913);}const _0x468792=_0x1713ad['getRevisions']();_0x468792['reverse']();for(let _0x57c6d4=0x0;_0x57c6d4<_0x468792['length']-0x1;_0x57c6d4++){const _0x16bcfd=_0x468792[_0x57c6d4],_0x3fa562=_0x468792[_0x57c6d4+0x1];if(_0x16bcfd['fromVersion']<_0x3fa562['toVersion']){const _0x220b3f=_0x3fa562['toVersion'],_0x53b490=Math['max'](_0x220b3f,_0x16bcfd['toVersion']);this['_fixRevision']({'revision':_0x16bcfd,'from':_0x220b3f,'to':_0x53b490});}}}['_fixRevision']({revision:_0x23996c,from:_0x59a332,to:_0x44755b}={}){const _0x41c828=this['editor']['plugins']['get'](_0x1fdd48),_0x280080=this['_revisionTracker']['buildRevisionData']({'revision':_0x23996c,'from':_0x59a332,'to':_0x44755b});_0x280080['authors']=_0x280080['authorsIds']['map'](_0x1a0ae1=>_0x41c828['getUser'](_0x1a0ae1)),_0x23996c['_update'](_0x280080);}['_preventResendingRevisionData'](_0x52b364){const _0x491656={};_0x491656['id']=_0x52b364['id'];for(const _0x3ce9c2 of Object['keys'](_0x52b364))'id'!==_0x3ce9c2&&(_0x491656[_0x3ce9c2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x491656['id'],_0x491656,!0x0);}async['_fetchMissingUsers'](_0xa04ac1){const _0x1d6464=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x2c8404}=this['editor']['plugins']['get'](n),_0x2530d6=new Set();for(const _0x2a87bc of _0xa04ac1){for(const _0x110e82 of _0x2a87bc['authorsIds'])_0x425871(_0x110e82);_0x2a87bc['creatorId']&&_0x425871(_0x2a87bc['creatorId']);}if(0x0===_0x2530d6['size'])return;const _0xf261e9=await ht['getMany'](_0x2c8404,Array['from'](_0x2530d6));for(const _0x1fa4fa of _0xf261e9)_0x1d6464['getUser'](_0x1fa4fa['id'])||_0x1d6464['addUser'](_0x1fa4fa);function _0x425871(_0x56d1dc){_0x1d6464['getUser'](_0x56d1dc)||_0x2530d6['add'](_0x56d1dc);}}}function st(_0x35d9d4){return _0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x29e178{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x274a7e{['_collapseAt'];constructor(_0x3422a1,_0x127718=0x6){super(_0x3422a1);const _0x2ae2f2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x127718,this['bind']('isHidden')['to'](this,'usersCount',_0x4591a2=>_0x4591a2<_0x127718),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2ae2f2['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x2ae2f2['to']('usersCount',_0xdd370e=>'+'+(_0xdd370e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x274a7e{['items'];['keystrokes'];constructor(_0xb79ae1){super(_0xb79ae1);const _0x3331d3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x50a46c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3331d3['if']('hasPopup'),'aria-expanded':_0x3331d3['to']('isExpanded',_0x98dca0=>this['hasPopup']&&String(_0x98dca0)),'aria-label':_0x3331d3['to']('hasPopup',_0x158ec7=>U(_0xb79ae1,_0x158ec7?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3331d3['to']('hasPopup',_0xd91b29=>!!_0xd91b29&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3331d3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3331d3['to'](_0x304e40=>{const _0x5c031f=_0x304e40,_0x74f8d6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x131373=document['querySelector']('.ck-balloon-panel_with-arrow');_0x74f8d6?.['contains'](_0x5c031f['relatedTarget'])||_0x131373?.['contains'](_0x5c031f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3fd623,_0x398f83,_0xf4210e)=>{this['element']&&(_0xf4210e?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x274a7e{['counterView'];['inlineListView'];constructor(_0x395b23,_0x49a9ad=0x6){super(_0x395b23);const _0xb721b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x49a9ad),this['inlineListView']=new is(_0x395b23),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4aa515 of this['inlineListView']['items'])_0x4aa515['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0xb721b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x274a7e{['listWrapperView'];constructor(_0x35213b,_0x1166ec){super(_0x35213b);const _0x4d5782=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x35213b,_0x1166ec),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':U(_0x35213b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4d5782['to'](_0x2cab34=>{const _0x50eb59=_0x2cab34,_0x3b5bba=document['querySelector']('.ck-presence-list__list'),_0x3c7111=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3b5bba?.['contains'](_0x50eb59['relatedTarget'])||_0x3c7111?.['contains'](_0x50eb59['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x5dfe34{constructor(_0x5308e4,_0x1c9975){super(_0x5308e4);const _0x16391b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1c9975?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x16391b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x16391b['to']('role'),'aria-label':_0x16391b['to']('ariaLabel'),'aria-labelledby':_0x16391b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x129409['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5ef22c=this['element'];_0x5ef22c&&(this['_isScrollable']=Math['max'](_0x5ef22c['scrollHeight'],_0x5ef22c['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x3739c7,_0x36f6ee,_0x2f1112){super(_0x3739c7);const _0x1d4393=this['bindTemplate'];this['userView']=new ct(_0x3739c7,_0x36f6ee);const _0x3e3799={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x36f6ee['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x36f6ee['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x36f6ee['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2f1112&&(_0x3e3799['tag']='button',_0x3e3799['on']={'click':_0x1d4393['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e3799);}['focus'](){this['element']['focus']();}}class A extends _0x274a7e{['userView'];['markerView'];constructor(_0x42245e,_0x7684a7,_0x3019ce){super(_0x42245e);const _0x343b4b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42245e,_0x7684a7),this['markerView']=new MarkerView(_0x42245e,_0x7684a7);const _0x402fb8=new ot(_0x42245e);_0x402fb8['template']['tag']='span',_0x402fb8['text']=_0x7684a7['name'];const _0x94ea8d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x343b4b['to']('isFocusable',_0x546ccc=>!!_0x546ccc&&0x0),'aria-labelledby':_0x402fb8['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x343b4b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x343b4b['to']('hasTooltip',_0xee4eb5=>!_0xee4eb5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x402fb8]};_0x3019ce&&(_0x94ea8d['tag']='button',_0x94ea8d['on']={'click':_0x343b4b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x94ea8d);}}class MarkerView extends _0x274a7e{constructor(_0x3b0df9,_0x86d8a3){super(_0x3b0df9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x86d8a3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2ff9e0{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc8b05){super(_0xc8b05),this['context']['config']['define']('presenceList',x);const _0x1cea1d=_0xc8b05['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1cea1d)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);if(_0x1cea1d<0x1)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1ee515(),this['balloonPanelView']=new _0x4370e4(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x360fb6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x360fb6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x425d43,_0x2b69c2)=>{this['_handleUserAdd'](_0x2b69c2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5a8228,_0x5e38a6)=>{this['_handleUserRemove'](_0x5e38a6);});}['_createView'](){const _0x155963=this['context'],_0x45b134=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x275cdd=this['balloonPanelView'];if(!_0x3f91cd(_0x155963['config']['get']('presenceList.container')))throw new _0x3bcb8b('presencelist-missing-container',this);return _0x45b134['counterView']['bind']('usersCount')['to'](this),_0x45b134['bind']('isCollapsed')['to'](this,'usersCount',_0x3e3f88=>{const {collapseAt:_0x3f9215}=_0x155963['config']['get']('presenceList'),_0x5beedc=_0x3e3f88>=_0x3f9215;if(_0x5beedc&&!_0x45b134['inlineListView']['items']['find'](_0x128f40=>_0x128f40 instanceof b)){const _0x1235e0=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1235e0&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x45b134['inlineListView']['items']['add'](_0x45b134['counterView']);}return _0x5beedc||this['hideDropdown'](),_0x5beedc;}),_0x45b134['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x15e0f6=>{const _0x39b529=_0x155963['config']['get']('presenceList'),_0x34802f=new A(_0x155963['locale'],_0x15e0f6,!!_0x39b529['onClick']);return _0x34802f['bind']('hasTooltip')['to'](_0x45b134,'isCollapsed',_0x54d9d9=>!_0x54d9d9),_0x34802f['bind']('isFocusable')['to'](_0x45b134,'isCollapsed',_0x5ef28d=>!_0x5ef28d),_0x39b529['onClick']&&this['listenTo'](_0x34802f,'execute',()=>{this['view']['isCollapsed']||_0x39b529['onClick'](_0x15e0f6,_0x34802f['element']);}),_0x34802f;}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x45b134['inlineListView']['keystrokes']['set']('Enter',(_0x344d07,_0x3751ad)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3751ad());}),_0x45b134['render'](),_0x275cdd['render'](),_0x498225({'emitter':_0x45b134,'activator':()=>_0x275cdd['isVisible'],'contextElements':[_0x275cdd['element'],_0x45b134['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x155963['config']['get']('presenceList.container')['appendChild'](_0x45b134['element']),this['_bodyCollection']=new _0x152ea0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x45b134;}['_handleUserAdd'](_0x169685){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x169685['isMe'])return;const _0x2a73b3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a73b3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x51bcaa=_0x169685['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x169685,_0x51bcaa);}['_handleUserRemove'](_0x4f2470){this['usersCount']--;const {collapseAt:_0x4c4ba1}=this['context']['config']['get']('presenceList'),_0x19134c=this['usersCount']>=_0x4c4ba1;if(this['currentDisplayedUsers']['get'](_0x4f2470['id']))this['currentDisplayedUsers']['remove'](_0x4f2470['id']);else{if(_0x19134c&&this['currentDisplayedUsers']['length']+0x1===_0x4c4ba1-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)<this['usersCount']){for(const _0x533b50 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x533b50['id'])&&(this['currentDisplayedUsers']['add'](_0x533b50,Math['min'](this['currentDisplayedUsers']['length']-(_0x19134c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)===_0x4c4ba1-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x35f507=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x35f507['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x326cba}=this['presenceDropdownView'];_0x326cba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1dc819=>{if(!_0x35f507['displayMe']&&_0x1dc819['isMe'])return null;const _0x2e1267=new j(this['context']['locale'],_0x1dc819,!!_0x35f507['onClick']);return _0x35f507['onClick']&&this['listenTo'](_0x2e1267,'execute',()=>{_0x35f507['onClick'](_0x1dc819,_0x2e1267['element']);}),_0x2e1267;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x326cba['focus'](),_0x326cba['checkIfScrollable']();const _0x43ff91=(_0x42ce65,_0x2ef152)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ef152();};_0x326cba['keystrokes']['set']('Esc',_0x43ff91),_0x326cba['keystrokes']['set']('Shift+Tab',_0x43ff91),_0x326cba['keystrokes']['set']('Tab',(_0x2cf940,_0x1af05b)=>{!function(_0x179500){const _0x44fd1a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x59d611=>_0x59d611+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x281629=[...document['body']['querySelectorAll'](_0x44fd1a)]['filter'](_0x4cb283=>_0x4cb283===document['activeElement']||_0x4cb283['offsetWidth']+_0x4cb283['offsetHeight']>0x0)['sort']((_0x7cfcae,_0x4b1854)=>(_0x7cfcae['tabIndex']||0x0)-(_0x4b1854['tabIndex']||0x0)),_0x53da1b=_0x281629['indexOf'](_0x179500),_0x482c6e=_0x281629[(_0x53da1b+0x1)%_0x281629['length']];_0x482c6e&&_0x482c6e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1af05b();}),_0x326cba['focusTracker']['add'](this['view']['element']),_0x326cba['focusTracker']['on']('change:isFocused',(_0x144ade,_0x107fee,_0x32f68c)=>{_0x32f68c||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class PresenceList extends _0x2ff9e0{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1ea514=>0x1!=_0x1ea514}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x488a09=>0x1!=_0x488a09}};