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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/dist/augmentation.d.ts +1 -1
  3. package/dist/common-translations.d.ts +1 -1
  4. package/dist/config.d.ts +1 -1
  5. package/dist/index.css +7 -7
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +6 -6
  8. package/dist/presencelist/presencelistui.d.ts +1 -1
  9. package/dist/presencelist/view/presencecounterview.d.ts +1 -1
  10. package/dist/presencelist/view/presencedropdownlistitemview.d.ts +1 -1
  11. package/dist/presencelist/view/presencedropdownlistview.d.ts +1 -1
  12. package/dist/presencelist/view/presenceinlinelistitemview.d.ts +1 -1
  13. package/dist/presencelist/view/presenceinlinelistview.d.ts +1 -1
  14. package/dist/presencelist/view/presencelistview.d.ts +1 -1
  15. package/dist/presencelist.d.ts +1 -1
  16. package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +1 -1
  17. package/dist/realtimecollaborativecomments.d.ts +1 -1
  18. package/dist/realtimecollaborativeediting/realtimecollaborationclient.d.ts +1 -1
  19. package/dist/realtimecollaborativeediting/sessions.d.ts +1 -1
  20. package/dist/realtimecollaborativeediting/usermarkers.d.ts +1 -1
  21. package/dist/realtimecollaborativeediting/websocketgateway.d.ts +1 -1
  22. package/dist/realtimecollaborativeediting.d.ts +1 -1
  23. package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +1 -1
  24. package/dist/realtimecollaborativerevisionhistory.d.ts +1 -1
  25. package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +1 -1
  26. package/dist/realtimecollaborativetrackchanges.d.ts +1 -1
  27. package/dist/translations/af.js +1 -1
  28. package/dist/translations/af.umd.js +1 -1
  29. package/dist/translations/ar.js +1 -1
  30. package/dist/translations/ar.umd.js +1 -1
  31. package/dist/translations/ast.js +1 -1
  32. package/dist/translations/ast.umd.js +1 -1
  33. package/dist/translations/az.js +1 -1
  34. package/dist/translations/az.umd.js +1 -1
  35. package/dist/translations/bg.js +1 -1
  36. package/dist/translations/bg.umd.js +1 -1
  37. package/dist/translations/bn.js +1 -1
  38. package/dist/translations/bn.umd.js +1 -1
  39. package/dist/translations/bs.js +1 -1
  40. package/dist/translations/bs.umd.js +1 -1
  41. package/dist/translations/ca.js +1 -1
  42. package/dist/translations/ca.umd.js +1 -1
  43. package/dist/translations/cs.js +1 -1
  44. package/dist/translations/cs.umd.js +1 -1
  45. package/dist/translations/da.js +1 -1
  46. package/dist/translations/da.umd.js +1 -1
  47. package/dist/translations/de-ch.js +1 -1
  48. package/dist/translations/de-ch.umd.js +1 -1
  49. package/dist/translations/de.js +1 -1
  50. package/dist/translations/de.umd.js +1 -1
  51. package/dist/translations/el.js +1 -1
  52. package/dist/translations/el.umd.js +1 -1
  53. package/dist/translations/en-au.js +1 -1
  54. package/dist/translations/en-au.umd.js +1 -1
  55. package/dist/translations/en-gb.js +1 -1
  56. package/dist/translations/en-gb.umd.js +1 -1
  57. package/dist/translations/en.js +1 -1
  58. package/dist/translations/en.umd.js +1 -1
  59. package/dist/translations/eo.js +1 -1
  60. package/dist/translations/eo.umd.js +1 -1
  61. package/dist/translations/es-co.js +1 -1
  62. package/dist/translations/es-co.umd.js +1 -1
  63. package/dist/translations/es.js +1 -1
  64. package/dist/translations/es.umd.js +1 -1
  65. package/dist/translations/et.js +1 -1
  66. package/dist/translations/et.umd.js +1 -1
  67. package/dist/translations/eu.js +1 -1
  68. package/dist/translations/eu.umd.js +1 -1
  69. package/dist/translations/fa.js +1 -1
  70. package/dist/translations/fa.umd.js +1 -1
  71. package/dist/translations/fi.js +1 -1
  72. package/dist/translations/fi.umd.js +1 -1
  73. package/dist/translations/fr.js +1 -1
  74. package/dist/translations/fr.umd.js +1 -1
  75. package/dist/translations/gl.js +1 -1
  76. package/dist/translations/gl.umd.js +1 -1
  77. package/dist/translations/gu.js +1 -1
  78. package/dist/translations/gu.umd.js +1 -1
  79. package/dist/translations/he.js +1 -1
  80. package/dist/translations/he.umd.js +1 -1
  81. package/dist/translations/hi.js +1 -1
  82. package/dist/translations/hi.umd.js +1 -1
  83. package/dist/translations/hr.js +1 -1
  84. package/dist/translations/hr.umd.js +1 -1
  85. package/dist/translations/hu.js +1 -1
  86. package/dist/translations/hu.umd.js +1 -1
  87. package/dist/translations/hy.js +1 -1
  88. package/dist/translations/hy.umd.js +1 -1
  89. package/dist/translations/id.js +1 -1
  90. package/dist/translations/id.umd.js +1 -1
  91. package/dist/translations/it.js +1 -1
  92. package/dist/translations/it.umd.js +1 -1
  93. package/dist/translations/ja.js +1 -1
  94. package/dist/translations/ja.umd.js +1 -1
  95. package/dist/translations/jv.js +1 -1
  96. package/dist/translations/jv.umd.js +1 -1
  97. package/dist/translations/kk.js +1 -1
  98. package/dist/translations/kk.umd.js +1 -1
  99. package/dist/translations/km.js +1 -1
  100. package/dist/translations/km.umd.js +1 -1
  101. package/dist/translations/kn.js +1 -1
  102. package/dist/translations/kn.umd.js +1 -1
  103. package/dist/translations/ko.js +1 -1
  104. package/dist/translations/ko.umd.js +1 -1
  105. package/dist/translations/ku.js +1 -1
  106. package/dist/translations/ku.umd.js +1 -1
  107. package/dist/translations/lt.js +1 -1
  108. package/dist/translations/lt.umd.js +1 -1
  109. package/dist/translations/lv.js +1 -1
  110. package/dist/translations/lv.umd.js +1 -1
  111. package/dist/translations/ms.js +1 -1
  112. package/dist/translations/ms.umd.js +1 -1
  113. package/dist/translations/nb.js +1 -1
  114. package/dist/translations/nb.umd.js +1 -1
  115. package/dist/translations/ne.js +1 -1
  116. package/dist/translations/ne.umd.js +1 -1
  117. package/dist/translations/nl.js +1 -1
  118. package/dist/translations/nl.umd.js +1 -1
  119. package/dist/translations/no.js +1 -1
  120. package/dist/translations/no.umd.js +1 -1
  121. package/dist/translations/oc.js +1 -1
  122. package/dist/translations/oc.umd.js +1 -1
  123. package/dist/translations/pl.js +1 -1
  124. package/dist/translations/pl.umd.js +1 -1
  125. package/dist/translations/pt-br.js +1 -1
  126. package/dist/translations/pt-br.umd.js +1 -1
  127. package/dist/translations/pt.js +1 -1
  128. package/dist/translations/pt.umd.js +1 -1
  129. package/dist/translations/ro.js +1 -1
  130. package/dist/translations/ro.umd.js +1 -1
  131. package/dist/translations/ru.js +1 -1
  132. package/dist/translations/ru.umd.js +1 -1
  133. package/dist/translations/si.js +1 -1
  134. package/dist/translations/si.umd.js +1 -1
  135. package/dist/translations/sk.js +1 -1
  136. package/dist/translations/sk.umd.js +1 -1
  137. package/dist/translations/sl.js +1 -1
  138. package/dist/translations/sl.umd.js +1 -1
  139. package/dist/translations/sq.js +1 -1
  140. package/dist/translations/sq.umd.js +1 -1
  141. package/dist/translations/sr-latn.js +1 -1
  142. package/dist/translations/sr-latn.umd.js +1 -1
  143. package/dist/translations/sr.js +1 -1
  144. package/dist/translations/sr.umd.js +1 -1
  145. package/dist/translations/sv.js +1 -1
  146. package/dist/translations/sv.umd.js +1 -1
  147. package/dist/translations/th.js +1 -1
  148. package/dist/translations/th.umd.js +1 -1
  149. package/dist/translations/ti.js +1 -1
  150. package/dist/translations/ti.umd.js +1 -1
  151. package/dist/translations/tk.js +1 -1
  152. package/dist/translations/tk.umd.js +1 -1
  153. package/dist/translations/tr.js +1 -1
  154. package/dist/translations/tr.umd.js +1 -1
  155. package/dist/translations/tt.js +1 -1
  156. package/dist/translations/tt.umd.js +1 -1
  157. package/dist/translations/ug.js +1 -1
  158. package/dist/translations/ug.umd.js +1 -1
  159. package/dist/translations/uk.js +1 -1
  160. package/dist/translations/uk.umd.js +1 -1
  161. package/dist/translations/ur.js +1 -1
  162. package/dist/translations/ur.umd.js +1 -1
  163. package/dist/translations/uz.js +1 -1
  164. package/dist/translations/uz.umd.js +1 -1
  165. package/dist/translations/vi.js +1 -1
  166. package/dist/translations/vi.umd.js +1 -1
  167. package/dist/translations/zh-cn.js +1 -1
  168. package/dist/translations/zh-cn.umd.js +1 -1
  169. package/dist/translations/zh.js +1 -1
  170. package/dist/translations/zh.umd.js +1 -1
  171. package/package.json +9 -9
  172. package/src/augmentation.d.ts +1 -1
  173. package/src/common-translations.d.ts +1 -1
  174. package/src/common-translations.js +1 -1
  175. package/src/config.d.ts +1 -1
  176. package/src/index.d.ts +1 -1
  177. package/src/index.js +1 -1
  178. package/src/presencelist/presencelistui.d.ts +1 -1
  179. package/src/presencelist/presencelistui.js +1 -1
  180. package/src/presencelist/view/presencecounterview.d.ts +1 -1
  181. package/src/presencelist/view/presencecounterview.js +1 -1
  182. package/src/presencelist/view/presencedropdownlistitemview.d.ts +1 -1
  183. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  184. package/src/presencelist/view/presencedropdownlistview.d.ts +1 -1
  185. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  186. package/src/presencelist/view/presenceinlinelistitemview.d.ts +1 -1
  187. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  188. package/src/presencelist/view/presenceinlinelistview.d.ts +1 -1
  189. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  190. package/src/presencelist/view/presencelistview.d.ts +1 -1
  191. package/src/presencelist/view/presencelistview.js +1 -1
  192. package/src/presencelist.d.ts +1 -1
  193. package/src/presencelist.js +1 -1
  194. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +1 -1
  195. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
  196. package/src/realtimecollaborativecomments.d.ts +1 -1
  197. package/src/realtimecollaborativecomments.js +1 -1
  198. package/src/realtimecollaborativeediting/realtimecollaborationclient.d.ts +1 -1
  199. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
  200. package/src/realtimecollaborativeediting/sessions.d.ts +1 -1
  201. package/src/realtimecollaborativeediting/sessions.js +1 -1
  202. package/src/realtimecollaborativeediting/usermarkers.d.ts +1 -1
  203. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  204. package/src/realtimecollaborativeediting/websocketgateway.d.ts +1 -1
  205. package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
  206. package/src/realtimecollaborativeediting.d.ts +1 -1
  207. package/src/realtimecollaborativeediting.js +1 -1
  208. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +1 -1
  209. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
  210. package/src/realtimecollaborativerevisionhistory.d.ts +1 -1
  211. package/src/realtimecollaborativerevisionhistory.js +1 -1
  212. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +1 -1
  213. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
  214. package/src/realtimecollaborativetrackchanges.d.ts +1 -1
  215. package/src/realtimecollaborativetrackchanges.js +1 -1
  216. package/theme/presencelist.css +1 -1
  217. package/theme/usermarkers.css +1 -1
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x177b39,Plugin as _0x43c3db,PendingActions as _0x3d4151,Context as _0x9c56a2}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x12f48c,CKEditorError as _0x5d8b9a,Collection as _0x3ff178,global as _0x504372,version as nt,uid as _0x32829f,KeystrokeHandler as _0x92184c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4df19c,View as _0x55b472,ListView as _0x579ca9,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x49e7cd,clickOutsideHandler as _0x4e240f,BodyCollection as _0x46ebeb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x1ee3da,NoOperation as _0x3bf8d7,InsertOperation as _0x5ab76f,MarkerOperation as _0x4c2122,RootAttributeOperation as _0x10a96a,transformSets as _0x12ee36,OperationFactory as _0x33c4af}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x5957c6,CollaborativeEditingService as _0x5b024c,User as dt,CommentsService as _0x2c8285,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1ab8ea,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xfccb76}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1a2d9d}from'lodash-es';class c extends _0x177b39{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4df19c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc2747d){super(_0xc2747d),this['set']('state',_0x5957c6['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x12f48c);}['init'](){const _0x124deb=this['context'],_0x2836a0=_0x124deb['plugins']['get']('CloudServices'),_0x3fdba5=_0x124deb['plugins']['get'](_0x4df19c);if(!_0x2836a0['token'])throw new _0x5d8b9a('websocketgateway-missing-token',this);if(!_0x2836a0['webSocketUrl'])throw new _0x5d8b9a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x2836a0['token'],_0x2836a0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b7043=>{if(this['connection']=_0x3b7043,this['bind']('state')['to'](_0x3b7043,'state',this,'_isBrowserOffline',(_0x207418,_0x1ef8f4)=>('connected'!==_0x207418&&(this['_shouldPluginsReconnect']=!0x0),_0x1ef8f4||_0x207418!==_0x5957c6['CONNECTED']?_0x5957c6['DISCONNECTED']:this['state']==_0x5957c6['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5957c6['CONNECTING']):_0x5957c6['CONNECTED'])),this['connection']['on']('error',(_0x54ffe5,_0x3a4249)=>{if('limitExceeded'!==_0x3a4249['code'])throw console['error'](_0x3a4249),new _0x5d8b9a('cloudservices-init',null,{'originalError':_0x3a4249});_0x3fdba5['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'});}),!_0x3b7043['me'])return new Promise(_0x35c1f1=>_0x3b7043['on']('change:me',_0x35c1f1));})['catch'](_0x3c03cb=>{throw console['error'](_0x3c03cb),new _0x5d8b9a('cloudservices-init',null,{'originalError':_0x3c03cb});});}['addToReconnectionStack'](_0x5d75d3){if('function'!=typeof _0x5d75d3['reconnect'])throw new _0x5d8b9a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5d75d3))throw new _0x5d8b9a('websocketgateway-plugin-already-registered',this,{'name':_0x5d75d3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5d75d3);}['removeFromReconnectionStack'](_0x4dbf04){this['_reconnectionStack']['delete'](_0x4dbf04);}['isInReconnectionStack'](_0x2e6a6){return this['_reconnectionStack']['has'](_0x2e6a6);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5b7c43=>_0x5b7c43['reconnect']())))['then'](()=>this['state']=_0x5957c6['CONNECTED'])['catch'](_0x1c16e6=>{throw console['error'](_0x1c16e6),new _0x5d8b9a('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5957c6['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x177b39{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x1ab8ea];}constructor(_0x9ab835){super(_0x9ab835),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ff178(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1ab8ea);}['init'](){const _0x31d2e7=this['context']['plugins']['get'](c);this['listenTo'](_0x31d2e7,'change:state',(_0x1f92ff,_0x55d162,_0x20b941)=>{if('connected'!==_0x20b941)this['channelSessions']['forEach'](_0xd36c9b=>_0xd36c9b['clear']()),this['channelConnectedUsers']['forEach'](_0x3a28d8=>_0x3a28d8['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x287ecc,_0x5f1068]of this['_registeredSessions'])for(const _0x52993b of _0x5f1068)this['_handleSessionAdd'](_0x287ecc,_0x52993b);}}),this['_createUser'](_0x31d2e7['connection']['me'],!0x0);}['register'](_0x5eb4a8,_0x5bde78){if(this['_registeredSessions']['has'](_0x5eb4a8))throw new _0x5d8b9a('sessions-register-already-registered',null,{'channelId':_0x5eb4a8});this['_registeredSessions']['set'](_0x5eb4a8,_0x5bde78),this['channelSessions']['set'](_0x5eb4a8,new _0x3ff178()),this['channelConnectedUsers']['set'](_0x5eb4a8,new _0x3ff178()),this['listenTo'](_0x5bde78,'add',(_0x1f489a,_0x47a119)=>this['_handleSessionAdd'](_0x5eb4a8,_0x47a119)),this['listenTo'](_0x5bde78,'remove',(_0x3398ad,_0xd443ce)=>this['_handleSessionRemove'](_0x5eb4a8,_0xd443ce));for(const _0x1ee82f of _0x5bde78)this['_handleSessionAdd'](_0x5eb4a8,_0x1ee82f);}['unregister'](_0x21d353){if(!this['_registeredSessions']['has'](_0x21d353))throw new _0x5d8b9a('sessions-unregister-not-exist',null,{'channelId':_0x21d353});const _0x4f2095=this['_registeredSessions']['get'](_0x21d353);this['stopListening'](_0x4f2095);for(const _0x17fc17 of _0x4f2095)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x21d353,_0x17fc17);this['_registeredSessions']['delete'](_0x21d353),this['channelSessions']['delete'](_0x21d353),this['channelConnectedUsers']['delete'](_0x21d353);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x3bf925){for(const _0x4f7812 of this['channelSessions']['values']())for(const _0x2af19f of _0x4f7812)if(_0x2af19f['id']===_0x3bf925)return _0x2af19f['user'];}['getUserSessions'](_0x25a7a2,_0x197819){const _0x40bb97=_0x197819?[this['channelSessions']['get'](_0x197819)]:this['channelSessions']['values'](),_0x32721d=new Set();for(const _0x5a39b4 of _0x40bb97)for(const _0x5557e9 of _0x5a39b4)_0x5557e9['user']['id']===_0x25a7a2['id']&&_0x32721d['add'](_0x5557e9['id']);return _0x32721d;}['getUserRole'](_0x10d0ef){for(const _0x28c955 of this['channelSessions']['values']())for(const _0x2eae72 of _0x28c955)if(_0x2eae72['user']===_0x10d0ef)return _0x2eae72['role'];}['_handleSessionAdd'](_0x47d65b,_0x48fa49){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2f1d3c=_0x48fa49['user'],_0x1bf9cb=this['_users']['getUser'](_0x2f1d3c['id'])||this['_createUser'](_0x2f1d3c),_0x1680a0=Object['assign']({},_0x48fa49,{'user':_0x1bf9cb});this['channelSessions']['get'](_0x47d65b)['add'](_0x1680a0);const _0x3e867f=this['channelConnectedUsers']['get'](_0x47d65b);_0x3e867f['has'](_0x1bf9cb['id'])||_0x3e867f['add'](_0x1bf9cb),this['allConnectedUsers']['has'](_0x1bf9cb['id'])||this['allConnectedUsers']['add'](_0x1bf9cb,_0x1bf9cb['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x47d65b,{'channelId':_0x47d65b,'session':_0x1680a0});}['_handleSessionRemove'](_0x8b36b3,_0x13b2a6){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x11ae36=this['channelConnectedUsers']['get'](_0x8b36b3),_0x222b2c=_0x13b2a6['user'];_0x222b2c['id']&&(this['channelSessions']['get'](_0x8b36b3)['remove'](_0x13b2a6['id']),_0x11ae36['has'](_0x222b2c['id'])&&!this['getUserSessions'](_0x222b2c,_0x8b36b3)['size']&&_0x11ae36['remove'](_0x222b2c['id']),this['allConnectedUsers']['get'](_0x222b2c['id'])&&!this['getUserSessions'](_0x222b2c)['size']&&this['allConnectedUsers']['remove'](_0x222b2c['id']));}['_createUser'](_0x3d62d5,_0x3f21c9){const _0xbc16e0=this['_users']['addUser'](_0x3d62d5);return _0x3f21c9&&this['_users']['defineMe'](_0x3d62d5['id']),_0xbc16e0['orderNumber']=this['_uniqueUsersCount']++,_0xbc16e0;}}class H extends _0x43c3db{['_domEmitter']=new(_0x12f48c())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x220c06=this['editor'],_0x345407=_0x220c06['plugins']['get'](i);_0x220c06['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1b5430,{writer:_0x40ffc1})=>function(_0x1d5e72,_0x2c0b10,_0x3f8af7,_0x203aa3){const _0x375e42=_0x1d5e72['markerName']['split'](':')[0x2],_0x45107b=_0x3f8af7['getUserBySessionId'](_0x375e42);if(!_0x45107b||_0x375e42===_0x3f8af7['mySessionId'])return;if(!_0x203aa3['model']['schema']['checkChild'](_0x1d5e72['markerRange']['start'],'$text'))return;const _0x540f6a={'class':'ck-user__marker\x20'+_0x45107b['color']['getMarkerClass'](),'data-name':_0x45107b['name'],'data-session-id':_0x375e42},_0x24826d=_0x203aa3['model']['markers']['get'](_0x1d5e72['markerName']),_0x1f7e6e=_0x24826d['getStart'](),_0x43e2b3=_0x1f7e6e['nodeAfter'],_0x3c993c=_0x203aa3['model']['schema'];if(_0x43e2b3&&_0x3c993c['isObject'](_0x43e2b3)&&_0x3c993c['isInline'](_0x43e2b3)&&!_0x203aa3['model']['markers']['get']('user:range:'+_0x375e42)['getRange']()['isCollapsed'])return;const _0x2bd6df=_0x1f7e6e['parent'];return _0x203aa3['model']['schema']['isLimit'](_0x2bd6df)&&!_0x203aa3['model']['hasContent'](_0x2bd6df)&&(_0x540f6a['contenteditable']=!0x1),function(_0x33023e,_0x308284,_0x58590b){const _0x2a6fc7=_0x33023e['createUIElement']('span',_0x308284);return _0x33023e['setCustomProperty']('userPositionMarker',!0x0,_0x2a6fc7),_0x2a6fc7['render']=function(_0x4355e0){const _0x43be2c=this['toDomElement'](_0x4355e0);return _0x43be2c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x58590b['name']+'</span>⁠',_0x43be2c['addEventListener']('mouseenter',()=>{_0x43be2c['classList']['add']('ck-user__marker_hovered');}),_0x43be2c['addEventListener']('mouseleave',()=>{_0x43be2c['classList']['remove']('ck-user__marker_hovered');}),_0x43be2c;},_0x2a6fc7['isSimilar']=function(_0x1fc5bd){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1fc5bd['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1fc5bd['getAttribute']('data-session-id'));},_0x2a6fc7;}(_0x2c0b10,_0x540f6a,_0x45107b);}(_0x1b5430,_0x40ffc1,_0x345407,_0x220c06)}),_0x220c06['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x28a342=>function(_0x42fef0,_0x15e396){const _0x55c078=_0x42fef0['markerName']['split'](':')[0x2];if(_0x55c078===_0x15e396['mySessionId'])return null;const _0x3e5988=_0x15e396['getUserBySessionId'](_0x55c078);if(!_0x3e5988)return{'id':_0x55c078,'classes':[]};return{'id':_0x55c078,'classes':['ck-user__selection',_0x3e5988['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x55c078},'priority':0x7d0+_0x3e5988['orderNumber']};}(_0x28a342,_0x345407)}),function(_0x104b92){const _0x2ca654=_0x104b92['model'],_0x406c83=new Map(),_0x1b3889=_0x104b92['plugins']['get'](i);_0x2ca654['markers']['on']('update:user:range',(_0x4eb096,_0x436447,_0x1bf976,_0x564a13)=>{if(!_0x564a13&&_0x406c83['get'](_0x436447['name']))return _0x406c83['get'](_0x436447['name'])['detach'](),void _0x406c83['delete'](_0x436447['name']);const _0x18dddc=_0x436447['name']['split'](':')[0x2];if(_0x18dddc===_0x1b3889['mySessionId'])return;const _0x5486eb='user:position:'+_0x18dddc;_0x2ca654['markers']['has'](_0x5486eb)&&_0x104b92['editing']['reconvertMarker'](_0x5486eb),_0x436447['on']('change:range',(_0x5e55d3,_0x2a475b,_0x1b8cf7)=>{if('$graveyard'!=_0x2a475b['root']['rootName']&&'$graveyard'==_0x436447['getRange']()['root']['rootName']&&!_0x406c83['has'](_0x436447['name'])){const _0x469739=_0x2ca654['schema']['getNearestSelectionRange'](_0x1b8cf7['deletionPosition']);if(_0x469739){const _0x170aa3=ht['fromRange'](_0x469739);_0x406c83['set'](_0x436447['name'],_0x170aa3),_0x170aa3['on']('change:range',(_0x4ac983,_0x3c8d7c,_0x20c18b)=>{if('$graveyard'==_0x170aa3['root']['rootName']){const _0x156e76=_0x2ca654['schema']['getNearestSelectionRange'](_0x20c18b['deletionPosition']);_0x156e76?(_0x170aa3['start']=_0x156e76['start'],_0x170aa3['end']=_0x156e76['end']):(_0x406c83['delete'](_0x436447['name']),_0x170aa3['detach']());}});}}});}),_0x2ca654['document']['on']('change',()=>{_0x406c83['size']>0x0&&_0x2ca654['enqueueChange']({'isUndoable':!0x1},_0xc342bf=>{for(const [_0x2efb41,_0x1dc1d5]of _0x406c83)'$graveyard'==_0x2ca654['markers']['get'](_0x2efb41)['getRange']()['root']['rootName']&&(re(_0x2efb41['split'](':')[0x2],_0x1dc1d5['toRange'](),_0x2ca654,_0xc342bf),_0x1dc1d5['detach']());_0x406c83['clear']();});});}(_0x220c06),this['_domEmitter']['listenTo'](_0x504372['document'],'keydown',(_0x1ac72c,{key:_0x58af81})=>{'Escape'===_0x58af81&&function(_0xfc8d08){_0xfc8d08['editing']['view']['change'](_0x10addf=>{for(const _0x2d2de0 of _0xfc8d08['model']['markers']){if(!_0x2d2de0['name']['startsWith']('user:position'))continue;const _0x4bff27=_0xfc8d08['editing']['mapper']['markerNameToElements'](_0x2d2de0['name']);if(_0x4bff27){for(const _0x129a2c of _0x4bff27)_0x10addf['removeClass']('ck-user__marker_hovered',_0x129a2c);}}});}(_0x220c06);},{'useCapture':!0x0});}['afterInit'](){const _0x2944d9=this['editor'],_0x6d7460=_0x2944d9['commands']['get']('undo');_0x6d7460&&_0x2944d9['model']['on']('applyOperation',(_0x161f3d,_0x58fa15)=>{const _0x188c0f=_0x58fa15[0x0];if('marker'!=_0x188c0f['type']||!_0x188c0f['name']['startsWith']('user:'))return;const _0x4d9200=_0x188c0f['batch'];_0x6d7460['_createdBatches']['has'](_0x4d9200)&&(_0x188c0f['newRange']=_0x188c0f['oldRange']?_0x2944d9['model']['createRange'](_0x188c0f['oldRange']['start'],_0x188c0f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x37607c=this['editor'],_0x27339b=_0x37607c['model']['document'],_0x4f577a=_0x37607c['plugins']['get'](i);_0x37607c['model']['enqueueChange']({'isUndoable':!0x1},_0x451b7d=>{const _0x2da580='user:range:'+_0x4f577a['mySessionId'],_0x4e398b='user:position:'+_0x4f577a['mySessionId'],_0x484d78=_0x37607c['model']['markers']['has'](_0x2da580);_0x37607c['editing']['view']['hasDomSelection']?re(_0x4f577a['mySessionId'],_0x27339b['selection']['getFirstRange'](),_0x37607c['model'],_0x451b7d):_0x484d78&&(_0x451b7d['removeMarker'](_0x2da580),_0x451b7d['removeMarker'](_0x4e398b));});}}function re(_0x23d0c4,_0x5e4528,_0x2743d8,_0x148087){const _0x4c3e4d='user:range:'+_0x23d0c4,_0x2bb800='user:position:'+_0x23d0c4,_0x2b0c5a=_0x5e4528['getContainedElement']();let _0x59a4d2=_0x5e4528['start'];_0x2b0c5a&&_0x2b0c5a['is']('element','tableCell')&&(_0x59a4d2=function(_0x5e5eb1,_0x193edb){for(const _0x46d7cb of _0x5e5eb1['getPositions']())if(_0x193edb['schema']['checkChild'](_0x46d7cb,'$text'))return _0x46d7cb;}(_0x5e4528,_0x2743d8),_0x5e4528=_0x148087['createRange'](_0x59a4d2));const _0x9e890b=_0x148087['createRange'](_0x59a4d2);_0x2743d8['markers']['has'](_0x4c3e4d)?(_0x148087['updateMarker'](_0x4c3e4d,{'range':_0x5e4528}),_0x148087['updateMarker'](_0x2bb800,{'range':_0x9e890b})):(_0x148087['addMarker'](_0x4c3e4d,{'range':_0x5e4528,'usingOperation':!0x0}),_0x148087['addMarker'](_0x2bb800,{'range':_0x9e890b,'usingOperation':!0x0}));}function q(_0x337d9c,_0x20fb52,_0xdb3976){const _0x14fdf4=_0x337d9c['t'],t=_0x337d9c['t'];switch(_0x20fb52){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 _0x14fdf4({'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'},_0xdb3976);default:return'';}}let K=0x1;class l extends _0x43c3db{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x5b024c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x3d4151,_0x1ab8ea,_0x4df19c];}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 _0x57410c=this['serverHistory']['getOperations']();for(let _0x434f13=_0x57410c['length']-0x1;_0x434f13>=0x0;_0x434f13--){const _0x267230=_0x57410c[_0x434f13];if(!this['_disconnectionOperations']['has'](_0x267230))return _0x267230['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3bc1c3){if(super(_0x3bc1c3),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1ee3da(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5d8b9a('collaboration-missing-channelid',this);const _0x13809f=_0x3bc1c3['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x13809f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xfccb76(),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 X(this['_disconnectionOperations']);}['init'](){const _0x41b9fc=this['editor'],_0x3e6037=_0x41b9fc['plugins']['get'](_0x1ab8ea),_0x4254d0=_0x41b9fc['plugins']['get'](c);this['listenTo'](_0x3e6037,'getOperationAuthor',(_0x10f799,_0x24eb6e)=>{const _0x1e5a88=_0x24eb6e[0x0];_0x1e5a88['_authorId']&&(_0x10f799['return']=_0x3e6037['getUser'](_0x1e5a88['_authorId']),_0x10f799['stop']()),null===_0x1e5a88['_authorId']&&(_0x10f799['return']=null,_0x10f799['stop']());},{'priority':'high'}),this['listenTo'](_0x41b9fc['model']['document']['selection'],'change:range',(_0x32fd50,_0x157562)=>{_0x157562['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x41b9fc['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x41b9fc['model']['on']('applyOperation',(_0x2c90a0,_0x3eb94d)=>{const _0x2072b4=_0x3eb94d[0x0];_0x2072b4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2072b4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4254d0,'state',this,'_hasSynchronizationProblem',(_0x483ff7,_0x193a82)=>'connected'===_0x483ff7&&!_0x193a82),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x41b9fc['disableReadOnlyMode']('rtc-offline'):_0x41b9fc['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x41b9fc['disableReadOnlyMode']('rtc-offline'):_0x41b9fc['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1b5414=this['editor']['plugins']['get'](i),_0x330f8b=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x1b5414['unregister'](this['_channelId']);const _0x299ab8=await this['_service']['reconnect'](_0x330f8b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x299ab8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1b1c2f=await this['_service']['getConnectedSessions']();_0x1b5414['register'](this['_channelId'],_0x1b1c2f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1caeb8){if(function(_0x5eecc5){return'404'===_0x5eecc5['code'];}(_0x1caeb8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x174227){return'409'===_0x174227['code'];}(_0x1caeb8)){const _0x52b003=q(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'](_0x52b003);}else{if(!(_0x1caeb8 instanceof J))throw _0x1caeb8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3c9753=this['editor']['plugins']['get'](c),_0x585075=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x585075['channelSessions']['has'](this['_channelId'])&&_0x585075['unregister'](this['_channelId']),_0x3c9753['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4cbafa){if(this['sessionId']!==_0x4cbafa['sessionId']&&this['_lastSyncedOperationId']!==_0x4cbafa['lastOperationId'])throw new J();return this['sessionId']=_0x4cbafa['sessionId'],this['_handleServerResponse']([],{..._0x4cbafa,'wereChangesApplied':!0x1,'data':_0x4cbafa['data']},'reconnect');}async['_connectService'](_0x2a9395,_0x336380=!0x1){const {connection:_0xa0c8a0}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0xa0c8a0,this['_channelId'])['then'](_0x37b1d9=>this['_initSessionsHandling'](_0x37b1d9))['catch'](_0x33ddaf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33ddaf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x26a608,_0x3333fb)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3333fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x42d500=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2a9395);this['_isPendingUpdate']=!0x0;const _0x26d533=await this['_service']['connect'](_0xa0c8a0,this['_compressOperations'](_0x2a9395),_0x42d500);if(this['sessionId']=_0x26d533['sessionId'],_0x336380){if(!_0x26d533['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x26d533['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2a9395,_0x26d533,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x26d533,_0x2a9395);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2b88e0=this['editor']['plugins']['get'](i),_0x529ff1=this['editor']['plugins']['get'](H),_0x5cd532=_0x2b88e0['channelSessions']['get'](this['_channelId']);_0x5cd532&&_0x5cd532['length']>0x1?_0x529ff1['createUserMarkerOperations']():this['listenTo'](_0x2b88e0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2b88e0['channelSessions']['get'](this['_channelId'])['length']&&_0x529ff1['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4f09d4,_0x5044a9,_0x41b517,_0x47476c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5044a9){const _0x2d7737=this['_decompressOperations'](_0x41b517,_0x47476c);await this['_fetchMissingUsers'](_0x2d7737),this['_handleExternalOperations'](_0x2d7737,_0x5044a9,_0x41b517['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2cb2ab}=this['editor'];let _0x32e6c6;try{_0x32e6c6=await this['_service']['getDocumentDetails']();}catch(_0x4aade6){const _0x360a13=q(_0x2cb2ab,'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'](_0x360a13);}const _0x2af652=_0x32e6c6['currentDocumentSession']||_0x32e6c6['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x2af652['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x319a99=q(_0x2cb2ab,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x319a99);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4e494d){const _0x4ea790=this['editor']['plugins']['get'](i);this['listenTo'](_0x4ea790,'sessionAdd:'+this['_channelId'],(_0x335b61,{session:_0x2e52f6})=>{if(_0x2e52f6['id']===_0x4ea790['mySessionId']){_0x335b61['off']();const _0x182dbb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x47015e=_0x2e52f6['permissions'];_0x182dbb&&_0x182dbb['isEnabled']&&(_0x47015e=_0x47015e['filter'](_0x2bf05a=>'document:write'!==_0x2bf05a)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x47015e,this['_channelId']);}}),_0x4ea790['register'](this['_channelId'],_0x4e494d);}['_initThrowingOnDataSet'](){const _0x2507e4=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x28249a)=>{if(!_0x28249a[_0x28249a['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5d8b9a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2507e4['apply'](this['editor']['data'],_0x28249a);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x59d96c,[_0x56198e])=>{if(this['_document']['version'])throw new _0x5d8b9a('realtimecollaborationclient-init-document-already-initialized',this);_0x59d96c['stop'](),this['_setPendingAction']();const _0x465e88=this['editor']['config']['get']('rootsAttributes'),_0x103d26=this['_getOperationsFromInitData'](_0x56198e,_0x465e88);0x0==_0x103d26['length']&&_0x103d26['push'](new _0x3bf8d7(0x0)),_0x59d96c['return']=this['_connectService'](_0x103d26)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5b5b18=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5b5b18))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x508b15,[_0x417044,_0x1cc7a3])=>{_0x508b15['stop']();const _0x378cbc=this['editor']['model']['document']['getRoot'](_0x417044);if(!this['_knownRootNames']['has'](_0x417044)){const _0x2fc970=_0x1cc7a3&&_0x1cc7a3['data']?_0x1cc7a3['data']:'',_0x4acce9=_0x1cc7a3&&_0x1cc7a3['attributes']?_0x1cc7a3['attributes']:{};await this['_loadRoot'](_0x417044,_0x2fc970,_0x4acce9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x378cbc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x378cbc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x50ea6){const _0x387b14=this['editor']['plugins']['get'](_0x1ab8ea),{connection:_0x1bdabc}=this['editor']['plugins']['get'](c),_0x38d5d3=new Set();for(const _0x55c187 of _0x50ea6){const _0x463a98=_0x55c187['_authorId'];_0x463a98&&!_0x387b14['getUser'](_0x463a98)&&_0x38d5d3['add'](_0x463a98);}if(0x0===_0x38d5d3['size'])return;const _0x4f256a=await dt['getMany'](_0x1bdabc,Array['from'](_0x38d5d3));for(const _0x15d146 of _0x4f256a)_0x387b14['getUser'](_0x15d146['id'])||_0x387b14['addUser'](_0x15d146);}['_getOperationsFromInitData'](_0x23fca1,_0x13c2fa={}){const _0x17daeb=this['editor']['model'],_0x42379e=[];let _0x3f2c0b=0x0;const _0x56648f='string'==typeof _0x23fca1?{'main':_0x23fca1}:_0x23fca1;for(const _0x3f4311 of Object['keys'](_0x56648f)){if(!this['_document']['roots']['has'](_0x3f4311))throw new _0x5d8b9a('realtimecollaborationclient-init-non-existent-root',this);const _0x37e2a7=this['editor']['data']['parse'](_0x56648f[_0x3f4311]),_0x5012d9=this['_document']['getRoot'](_0x3f4311),_0x32f9af=new _0x5ab76f(_0x17daeb['createPositionAt'](_0x5012d9,0x0),_0x37e2a7,_0x3f2c0b++);_0x42379e['push'](_0x32f9af);for(const [_0xe4ca4f,_0x13bc11]of _0x37e2a7['markers']){const _0x1a7ae7=_0x17daeb['createRange'](_0x17daeb['createPositionFromPath'](_0x5012d9,_0x13bc11['start']['path']['slice']()),_0x17daeb['createPositionFromPath'](_0x5012d9,_0x13bc11['end']['path']['slice']())),_0x46de8c=new _0x4c2122(_0xe4ca4f,null,_0x1a7ae7,_0x17daeb['markers'],!0x0,_0x3f2c0b++);_0x42379e['push'](_0x46de8c);}}if(_0x13c2fa)for(const [_0x2ca7b0,_0x25ee9e]of Object['entries'](_0x13c2fa)){const _0x18c9ab=_0x17daeb['document']['getRoot'](_0x2ca7b0);if(!_0x18c9ab)throw new _0x5d8b9a('multi-root-editor-root-attributes-no-root',null);for(const [_0x4e00fa,_0x463ad3]of Object['entries'](_0x25ee9e))if(null!==_0x463ad3){const _0x4ca155=new _0x10a96a(_0x18c9ab,_0x4e00fa,null,_0x463ad3,_0x3f2c0b++);_0x42379e['push'](_0x4ca155);}}return _0x42379e;}async['_loadRoot'](_0x50f4ed,_0x4be402,_0x3ab08d){this['_getOperationsFromInitData']({[_0x50f4ed]:_0x4be402},{[_0x50f4ed]:_0x3ab08d})['forEach']((_0x1a5679,_0x68daa6)=>{_0x1a5679['baseVersion']=this['_document']['version']+_0x68daa6,_0x1a5679['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1a5679);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5a3f10,_0x1019fe){let _0x2de16b;this['_offset']=_0x5a3f10['offset'];const _0x45d062=_0x5a3f10['wereChangesApplied']&&!_0x5a3f10['initData'],_0x262084=_0x45d062?0x0:_0x5a3f10['data']['baseVersion'];if(_0x1019fe['forEach'](_0x164584=>{_0x164584['_isInit']=!0x0,_0x164584['createdAt']=_0x5a3f10['sessionCreatedAt'],_0x164584['_authorId']=null;}),_0x45d062)_0x2de16b=_0x1019fe,this['_applyOperationsSet'](_0x2de16b,_0x45d062);else{if(_0x5a3f10['initData']){const _0x4835ce=this['_getOperationsFromInitData'](_0x5a3f10['initData']);this['_document']['history']['version']=-_0x4835ce['length'],_0x4835ce['forEach'](_0x40f1cb=>{_0x40f1cb['baseVersion']-=_0x4835ce['length'],_0x40f1cb['createdAt']=_0x5a3f10['sessionCreatedAt'],_0x40f1cb['_isInit']=!0x0,_0x40f1cb['_authorId']=null;}),this['_applyOperationsSet'](_0x4835ce,!0x0),this['serverHistory']['version']=-_0x4835ce['length']+this['_offset'],this['_updateServerHistory'](_0x4835ce);}this['_document']['history']['version']=_0x262084,_0x2de16b=this['_decompressOperations'](_0x5a3f10['data'],_0x5a3f10['metadata']),await this['_fetchMissingUsers'](_0x2de16b),this['_applyOperationsSet'](_0x2de16b,_0x45d062);}_0x5a3f10['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2de16b,_0x5a3f10['lastOperationId']),this['_lastSyncedOperationId']=_0x5a3f10['lastOperationId']),this['serverHistory']['version']=_0x262084+this['_offset'],this['_updateServerHistory'](_0x2de16b),_0x1019fe['filter'](_0x5e0478=>{const _0xd1b23a=this['_getAffectedRoot'](_0x5e0478);return _0xd1b23a&&!this['_knownRootNames']['has'](_0xd1b23a);})['forEach']((_0x50dd45,_0xdb4432)=>{_0x50dd45['baseVersion']=this['_document']['version']+_0xdb4432,this['_saveOperationInBuffer'](_0x50dd45);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x220844,_0x460129,_0x4d55d1){throw this['_isPendingUpdate']=!0x0,_0x460129&&console['error'](_0x460129),_0x4d55d1&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5d8b9a(_0x220844,this['editor']);}['_saveOperationInBuffer'](_0x11e53a){this['_knownOperations']['has'](_0x11e53a)||(this['_knownOperations']['add'](_0x11e53a),this['_bufferedOperations']['push'](_0x11e53a),this['_pendingAction']||'marker'==_0x11e53a['type']&&!_0x11e53a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a5133=!0x1){!_0x3a5133&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4680f7=>{_0x4680f7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x149cf3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1acf91){return _0x1acf91['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1acf91['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1acf91['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x149cf3)||this['_crash'](_0x149cf3['message'],_0x149cf3,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c8fa3=>{this['on']('change:_isPendingUpdate',()=>{_0x2c8fa3();});});}async['_sendBufferedOperations'](){const _0x5e8b89=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x5e8b89['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2004c0=[...this['_bufferedOperations']];for(const _0x385c98 of _0x2004c0)_0x385c98['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x385c98);const _0x320e2f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2004c0),_0x528388=K++,_0x5a876c=this['_compressOperations'](_0x2004c0),_0xd653b6=await this['_service']['sendOperations'](_0x5a876c,_0x5a876c['baseVersion'],_0x320e2f);try{return await this['_handleServerResponse'](_0x2004c0,_0xd653b6,_0x528388);}catch(_0x367c5a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x367c5a);}}async['_handleServerResponse'](_0x1f14b6,_0x277796,_0x1a95bb){if('error'in _0x277796)throw _0x277796['error'];let _0x58ef9d=!0x1;if(_0x277796['wereChangesApplied']){_0x277796['lastOperationId']&&(this['_lastSyncedOperationId']=_0x277796['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfc46c9=>!_0x1f14b6['includes'](_0xfc46c9));for(const _0x46e9e7 of _0x1f14b6)_0x46e9e7['createdAt']='lastOperationAcceptedAt'in _0x277796&&_0x277796['lastOperationAcceptedAt']||void 0x0;Q(_0x1f14b6,_0x277796['version']-_0x1f14b6['length']),this['_updateServerHistory'](_0x1f14b6);const _0x14c4e2=_0x1f14b6['filter'](_0x3b2421=>{if(!_0x3b2421['_isInit'])return!0x1;const _0x4ad3c5=this['_getAffectedRoot'](_0x3b2421);return _0x4ad3c5&&!this['_knownRootNames']['has'](_0x4ad3c5);});Q(_0x14c4e2,this['_document']['version']),this['_applyOperationsSet'](_0x14c4e2),_0x58ef9d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x91cbcb=this['_decompressOperations'](_0x277796['data'],_0x277796['metadata'])['filter'](_0x57d85f=>_0x57d85f['baseVersion']>=this['_lastServerVersion']);_0x91cbcb['forEach'](_0x3d22b8=>this['_addKnownRoot'](_0x3d22b8)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2512eb=>!_0x2512eb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2512eb))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x91cbcb),_0x58ef9d=this['_handleExternalOperations'](_0x91cbcb,_0x277796['version'],_0x277796['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x58ef9d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x410ad9,_0x5349c9,_0x588246){try{const _0x364cfb={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x296f6c,operationsB:_0x24d8d7,originalOperations:_0xf4981d}=_0x12ee36(_0x410ad9,this['_bufferedOperations'],_0x364cfb);Q(_0x296f6c,this['_document']['version']),Q(_0x24d8d7,_0x5349c9);for(const _0x3af0c4 of _0x296f6c){const _0x157349=_0xf4981d['get'](_0x3af0c4);_0x3af0c4['_authorId']=_0x157349?_0x157349['_authorId']:null;}_0x588246&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x410ad9,_0x588246),this['_lastSyncedOperationId']=_0x588246),this['_bufferedOperations']=[..._0x24d8d7],this['_applyOperationsSet'](_0x296f6c),this['_updateServerHistory'](_0x410ad9);}catch(_0x22ae56){return console['error'](_0x22ae56),!0x1;}return!0x0;}['_applyOperationsSet'](_0x214681,_0x23a8f5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4c9e26=>{for(const _0xb3a221 of _0x214681)this['_knownOperations']['add'](_0xb3a221),this['_addKnownRoot'](_0xb3a221),_0x4c9e26['batch']['addOperation'](_0xb3a221),this['editor']['model']['applyOperation'](_0xb3a221);});}['_addKnownRoot'](_0x2ad508){const _0x588dff=this['_getAffectedRoot'](_0x2ad508);_0x588dff&&this['_knownRootNames']['add'](_0x588dff);}['_getAffectedRoot'](_0x42f27e){let _0x3c869a,_0x217297;switch(_0x42f27e['type']){case'insert':_0x3c869a=_0x42f27e['position']['root'];break;case'marker':if(_0x217297=_0x42f27e['newRange'],!_0x217297)return null;_0x3c869a=_0x217297['root'];break;case'addRootAttribute':_0x3c869a=_0x42f27e['root'];break;case'addRoot':_0x3c869a=_0x42f27e['affectedSelectable'];break;case'move':_0x3c869a=_0x42f27e['targetPosition']['root'];break;default:return null;}return _0x3c869a['rootName'];}['_updateServerHistory'](_0x3363f7){_0x3363f7['forEach'](_0x59b6fb=>{const _0x28aed8=_0x59b6fb['clone']();_0x28aed8['_authorId']=_0x59b6fb['_authorId'],_0x28aed8['_isInit']=!!_0x59b6fb['_isInit'],_0x28aed8['createdAt']=_0x59b6fb['createdAt'],_0x28aed8['baseVersion']+=this['_offset'],_0x59b6fb['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x28aed8),this['serverHistory']['addOperation'](_0x28aed8);});}['_handleReconnectionError'](_0x26229e){const _0x3549f3=this['editor']['plugins']['get']('Notification'),_0x43238e=this['editor']['locale'];_0x26229e||(_0x26229e=q(_0x43238e,'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.')),_0x3549f3['showWarning'](_0x26229e,{'title':q(_0x43238e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3d4151)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3d4151)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3c7c64){const _0x4747fa=_0x3c7c64['map'](_0x4134f5=>_0x4134f5['toJSON']());return this['_compressor']['compress'](_0x4747fa);}['_decompressOperations'](_0x120020,_0x446062){return this['_compressor']['decompress'](_0x120020)['map']((_0x50e66b,_0x6a0698)=>{const _0x5b1ab9='init'==_0x446062[_0x6a0698]['type'];if('InsertOperation'==_0x50e66b['__className']){const _0x2f71ea=_0x50e66b['position']['root'];!this['_document']['getRoot'](_0x2f71ea)&&(this['_document']['createRoot']('$root',_0x2f71ea)['_isAttached']=!0x1);}const _0x22f0b9=_0x33c4af['fromJSON'](_0x50e66b,this['_document']);return _0x22f0b9['wasUndone']=_0x50e66b['wasUndone'],_0x22f0b9['_isInit']=_0x5b1ab9,_0x22f0b9['_authorId']=_0x5b1ab9?null:_0x446062[_0x6a0698]['userId'],_0x22f0b9['_isDisconnection']='cs:removeUser'===_0x446062[_0x6a0698]['type'],_0x22f0b9['createdAt']=_0x446062[_0x6a0698]['createdAt'],_0x22f0b9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x568b11=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x568b11&&_0x568b11['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x1ee079,_0x137c94){for(const _0x4858aa of _0x1ee079)_0x4858aa['baseVersion']=_0x137c94++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x33b5ce){this['_ignoredOperations']=_0x33b5ce,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x8ffdeb){let _0x488d28=_0x8ffdeb['length'];for(;_0x488d28--;){const _0x4dc454=_0x8ffdeb[_0x488d28];if(!this['_ignoredOperations']['has'](_0x4dc454)){if(!this['_operationToId']['has'](_0x4dc454)){const _0x343840=_0x32829f()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4dc454,_0x343840);}return this['_operationToId']['get'](_0x4dc454);}}}['setIdForTheLastOperation'](_0x24d77d,_0x18550e){if(!_0x18550e)return;let _0x27bb9c=_0x24d77d['length'];for(;_0x27bb9c--;){const _0x69843c=_0x24d77d[_0x27bb9c];this['_ignoredOperations']['has'](_0x69843c)||this['_operationToId']['set'](_0x69843c,_0x18550e);}}}class n extends _0x43c3db{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x177b39{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x2c8285)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x1ab8ea];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5e73fa){super(_0x5e73fa),this['_services']=new Map();}async['init'](){const _0x513de0=this['context'],_0x4d6030=_0x513de0['plugins']['get']('CommentsRepository');if(_0x513de0['plugins']['get'](c)['addToReconnectionStack'](this),_0x4d6030['adapter']={'addCommentThread':async({channelId:_0x4f8b9b,threadId:_0x1e7f72,comments:_0x3af991,resolvedAt:_0x499fe4,resolvedBy:_0x2f7aad,context:_0x4137d6,attributes:_0x5054a3})=>{const _0x4c0cbb=await this['_getService'](_0x4f8b9b)['addCommentThread']({'commentThreadId':_0x1e7f72,'comments':_0x3af991['map'](_0x1f1b82=>function(_0x1581b9,_0xd7c837,_0x48f144){return{'commentThreadId':_0x48f144,'commentId':_0x1581b9['commentId'],'userId':_0x1581b9['authorId'],'content':_0x1581b9['content'],'documentId':_0xd7c837,'createdAt':_0x1581b9['createdAt'],'attributes':_0x1581b9['attributes']||{}};}(_0x1f1b82,_0x4f8b9b,_0x1e7f72)),'resolvedAt':_0x499fe4,'resolvedBy':_0x2f7aad,'context':_0x4137d6,'attributes':_0x5054a3})['catch'](ut);return{'threadId':_0x4c0cbb['commentThreadId'],'comments':_0x4c0cbb['comments']};},'getCommentThread':async({channelId:_0x162fd7,threadId:_0x3eb324})=>{const _0xcb72d8=await this['_getService'](_0x162fd7)['getCommentThread'](_0x3eb324)['catch'](ut);return _0xcb72d8['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xcb72d8]),{'threadId':_0xcb72d8['commentThreadId'],'comments':_0xcb72d8['comments']['map'](S),'context':_0xcb72d8['context'],'resolvedAt':_0xcb72d8['resolvedAt'],'resolvedBy':_0xcb72d8['resolvedBy'],'attributes':_0xcb72d8['attributes']||{}});},'updateCommentThread':async({channelId:_0x475a25,threadId:_0x2898a8,context:_0x1c7e32,unlinkedAt:_0x5a55f0,attributes:_0x214132})=>this['_getService'](_0x475a25)['updateCommentThread']({'commentThreadId':_0x2898a8,'context':_0x1c7e32,'attributes':_0x214132,'unlinkedAt':_0x5a55f0})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0x1203e6,threadId:_0x570ac6})=>{const _0x12d89c=await this['_getService'](_0x1203e6)['resolveCommentThread'](_0x570ac6)['catch'](B)['catch'](ut);return{'threadId':_0x12d89c['commentThreadId'],'resolvedAt':_0x12d89c['resolvedAt'],'resolvedBy':_0x12d89c['resolvedBy']};},'reopenCommentThread':async({channelId:_0x30a662,threadId:_0x4f664e})=>this['_getService'](_0x30a662)['reopenCommentThread'](_0x4f664e)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x1f9aee,threadId:_0x140452})=>this['_getService'](_0x1f9aee)['removeCommentThread'](_0x140452)['catch'](B)['catch'](ut),'addComment':({channelId:_0x1ea914,threadId:_0xca7f95,commentId:_0x39389d,content:_0x5c4817,attributes:_0x3e3d60})=>this['_getService'](_0x1ea914)['addComment'](_0xca7f95,_0x39389d,_0x5c4817,_0x3e3d60)['catch'](ut),'updateComment':({channelId:_0x3699a9,threadId:_0x27daff,commentId:_0x4ceb0c,content:_0x315b95,attributes:_0xc733ec})=>this['_getService'](_0x3699a9)['updateComment'](_0x27daff,_0x4ceb0c,_0x315b95,_0xc733ec)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x38b640,threadId:_0x389086,commentId:_0x7e91e2})=>this['_getService'](_0x38b640)['removeComment'](_0x389086,_0x7e91e2)['catch'](B)['catch'](ut)},_0x513de0 instanceof _0x9c56a2){const _0x17a4a2=_0x513de0['config']['get']('collaboration.channelId'),_0x553ca9=_0x513de0['plugins']['get'](i);await this['_setUpService'](_0x17a4a2);const _0x31ec78=await this['_services']['get'](_0x17a4a2)['getConnectedSessions']();this['listenTo'](_0x553ca9,'sessionAdd:'+_0x17a4a2,(_0x1b7ed3,{session:_0x353ef3})=>{_0x353ef3['id']===_0x553ca9['mySessionId']&&(_0x1b7ed3['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x353ef3['permissions'],_0x17a4a2));}),_0x553ca9['register'](_0x17a4a2,_0x31ec78);}}async['_setUpService'](_0x492fb9){if(this['_services']['has'](_0x492fb9))throw new _0x5d8b9a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x492fb9});const _0x2fd74f=this['context']['plugins']['get']('CommentsRepository'),_0x327a1e=new a['CommentsService'](_0x492fb9);this['_services']['set'](_0x492fb9,_0x327a1e),this['listenTo'](_0x327a1e,'commentThreadAdded',(_0x8b7264,_0x386777)=>{const {commentThreadId:_0x18165f,documentId:_0x29734f,context:_0x59f185,attributes:_0x17c47a,resolvedAt:_0x1e8b08,resolvedBy:_0x4debc5,comments:_0x2e1f5a}=_0x386777;_0x2fd74f['getCommentThread'](_0x18165f)||_0x2fd74f['addCommentThread']({'threadId':_0x18165f,'channelId':_0x29734f,'comments':_0x2e1f5a?_0x2e1f5a['map'](S):[],'context':_0x59f185,'attributes':_0x17c47a,'resolvedAt':_0x1e8b08,'resolvedBy':_0x4debc5,'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentThreadUpdated',(_0x5c3dd0,{commentThreadId:_0x2b5f9d,documentId:_0x2725d1,context:_0x4a8ebe,unlinkedAt:_0x56d252,attributes:_0x2c308a})=>{_0x2fd74f['getCommentThread'](_0x2b5f9d)&&_0x2fd74f['updateCommentThread']({'threadId':_0x2b5f9d,'channelId':_0x2725d1,'context':_0x4a8ebe,'unlinkedAt':_0x56d252,'attributes':_0x2c308a,'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentThreadResolved',(_0x2ab54d,{commentThreadId:_0x285a31,resolvedBy:_0x462b18,resolvedAt:_0x1b69f5})=>{const _0x195388=_0x2fd74f['getCommentThread'](_0x285a31);_0x195388&&_0x195388['resolve']({'resolvedBy':_0x462b18,'resolvedAt':_0x1b69f5,'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentThreadReopened',(_0x250282,{commentThreadId:_0x3a9a87})=>{const _0x4bce44=_0x2fd74f['getCommentThread'](_0x3a9a87);_0x4bce44&&_0x4bce44['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentThreadRemoved',(_0x2e2436,{commentThreadId:_0x4c0551})=>{const _0x59dc16=_0x2fd74f['getCommentThread'](_0x4c0551);_0x59dc16&&_0x59dc16['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentAdded',(_0x1fb0e,_0x67c11c)=>{const _0x9733a0=_0x67c11c['commentThreadId'],_0x1d3d46=_0x2fd74f['getCommentThread'](_0x9733a0);_0x1d3d46&&_0x1d3d46['addComment']({...S(_0x67c11c),'isFromAdapter':!0x0});}),this['listenTo'](_0x327a1e,'commentUpdated',(_0x4cb034,{commentThreadId:_0x230ff,commentId:_0x42c329,content:_0x386b6b,attributes:_0x70f918})=>{const _0x3a50fb=_0x2fd74f['getCommentThread'](_0x230ff);if(_0x3a50fb){const _0x34c810=_0x3a50fb['getComment'](_0x42c329);_0x34c810&&_0x34c810['update']({'content':_0x386b6b,'attributes':_0x70f918,'isFromAdapter':!0x0});}}),this['listenTo'](_0x327a1e,'commentRemoved',(_0x14b0eb,{commentThreadId:_0x1b59fb,commentId:_0x7d6209})=>{const _0x42b3ec=_0x2fd74f['getCommentThread'](_0x1b59fb);if(_0x42b3ec){const _0x488c5e=_0x42b3ec['getComment'](_0x7d6209);_0x488c5e&&_0x488c5e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x492fb9);}['destroy'](){if(this['context']instanceof _0x9c56a2){const _0x57f4e4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x57f4e4);}}['_terminateService'](_0x5a137b){if(!this['_services']['has'](_0x5a137b))throw new _0x5d8b9a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5a137b});this['_getService'](_0x5a137b)['disconnect'](),this['_services']['delete'](_0x5a137b);}async['reconnect'](){for(const _0x2c6da1 of this['_services']['keys']())await this['_connectService'](_0x2c6da1);if(this['context']instanceof _0x9c56a2){const _0x2a80b5=this['context']['config']['get']('collaboration.channelId'),_0x1c5d47=this['context']['plugins']['get'](i);_0x1c5d47['unregister'](_0x2a80b5);const _0x541499=await this['_services']['get'](_0x2a80b5)['getConnectedSessions']();_0x1c5d47['register'](_0x2a80b5,_0x541499);}}async['_connectService'](_0x1e2aa0){const {connection:_0x41e18b}=this['context']['plugins']['get'](c),_0x8dc63=this['context']['plugins']['get']('CommentsRepository'),_0x5b9ed1=this['_services']['get'](_0x1e2aa0),_0x5de4d9=await _0x5b9ed1['connect'](_0x41e18b);await this['_fetchMissingUsersForThreads'](_0x5de4d9);const _0x5176e8=new Set(Array['from'](_0x8dc63['getCommentThreads']({'channelId':_0x1e2aa0}),_0x2794c6=>_0x2794c6['id']));for(const _0x186f0c of _0x5de4d9)_0x186f0c['deletedAt']||_0x5176e8['delete'](_0x186f0c['commentThreadId']);for(const _0x4ff7b0 of _0x5176e8)_0x8dc63['getCommentThread'](_0x4ff7b0)['remove']({'isFromAdapter':!0x0});for(const _0x443605 of _0x5de4d9){let _0x4fcbbc=_0x8dc63['getCommentThread'](_0x443605['commentThreadId']);const {commentThreadId:_0x6fcdc6,context:_0xe50cd1,attributes:_0x28f58e,resolvedBy:_0x21536f,resolvedAt:_0x3054be,unlinkedAt:_0xb0993a,deletedAt:_0xc5fa14}=_0x443605;if(_0xc5fa14)continue;_0x4fcbbc||(_0x4fcbbc=_0x8dc63['addCommentThread']({'channelId':_0x1e2aa0,'threadId':_0x6fcdc6,'context':_0xe50cd1,'attributes':_0x28f58e||{},'resolvedBy':_0x21536f,'resolvedAt':_0x3054be,'unlinkedAt':_0xb0993a,'isFromAdapter':!0x0}));const _0x15ac63=new Set(Array['from'](_0x4fcbbc['comments'],_0x11f068=>_0x11f068['id']));for(const _0x4a1f65 of _0x443605['comments'])_0x15ac63['delete'](_0x4a1f65['commentId']);for(const _0x273519 of _0x15ac63)_0x4fcbbc['getComment'](_0x273519)['remove']({'isFromAdapter':!0x0});for(const _0x2da070 of _0x443605['comments']){const _0x4b3ade=_0x4fcbbc['getComment'](_0x2da070['commentId']);_0x4b3ade?_0x4b3ade['content']!==_0x2da070['content']&&_0x4b3ade['update']({'content':_0x2da070['content'],'isFromAdapter':!0x0}):_0x4fcbbc['addComment'](Object['assign'](S(_0x2da070),{'isFromAdapter':!0x0}));}}}['_getService'](_0x51b2fb){if(!this['_services']['has'](_0x51b2fb))throw new _0x5d8b9a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x51b2fb});return this['_services']['get'](_0x51b2fb);}async['_fetchMissingUsersForThreads'](_0x39243e){const _0x30068c=this['context']['plugins']['get'](_0x1ab8ea),{connection:_0x3ea921}=this['context']['plugins']['get'](c),_0x45e072=new Set();for(const {resolvedBy:_0x37f5dc,comments:_0x20a102}of _0x39243e){_0x37f5dc&&!_0x30068c['getUser'](_0x37f5dc)&&_0x45e072['add'](_0x37f5dc);for(const {userId:_0xa4d2cc}of _0x20a102)_0x30068c['getUser'](_0xa4d2cc)||_0x45e072['add'](_0xa4d2cc);}if(0x0===_0x45e072['size'])return;const _0xd09dd4=await dt['getMany'](_0x3ea921,Array['from'](_0x45e072));for(const _0x18add1 of _0xd09dd4)_0x30068c['getUser'](_0x18add1['id'])||_0x30068c['addUser'](_0x18add1);}}async function B(_0x145941){if('404'!==_0x145941['code'])throw _0x145941;}function ut(_0x242074){if((_0x59a997=_0x242074)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x59a997['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59a997['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x59a997;throw _0x242074;}function S(_0x460649){return{'threadId':_0x460649['commentThreadId'],'commentId':_0x460649['commentId'],'content':_0x460649['content'],'createdAt':_0x460649['createdAt'],'authorId':_0x460649['userId'],'attributes':_0x460649['attributes']||{}};}class f extends _0x43c3db{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x250a73){super(_0x250a73);const _0x40c6f1=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x40c6f1);}['init'](){const _0x1d38ae=this['editor']['plugins']['get'](c),_0x42eb55=this['editor']['plugins']['get']('TrackChangesEditing');return _0x42eb55['adapter']={'getSuggestion':async _0x5e70c9=>{await this['_waitForServiceReady']();const _0x13d58a=await this['_trackChangesService']['get'](_0x5e70c9)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x13d58a]),_0x13d58a;},'addSuggestion':async({id:_0x1daa04,type:_0x3f7b50,data:_0x2657a5,originalSuggestionId:_0x438415,attributes:_0x3d4f0d})=>{await this['_waitForServiceReady']();const _0x16750c={'id':_0x1daa04,'type':_0x3f7b50,'data':_0x2657a5,'originalSuggestionId':_0x438415,'attributes':_0x3d4f0d},_0x5c2629=await this['_trackChangesService']['add'](_0x1daa04,_0x3f7b50,_0x2657a5,_0x438415,_0x3d4f0d)['catch'](_0x263f4e=>{if(ft(_0x263f4e))return new Promise(_0x18338a=>{this['_bufferedRequests']['set'](_0x1daa04,{'resolve':_0x18338a,'suggestionData':_0x16750c});});throw _0x263f4e;});return this['_bufferedRequests']['delete'](_0x1daa04),_0x5c2629;},'updateSuggestion':async(_0x173b76,_0x40951b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x40951b['state'])return this['_trackChangesService']['update'](_0x173b76,_0x40951b)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1014c5,_0x4fa1d9)=>{_0x42eb55['hasSuggestion'](_0x4fa1d9['id'])&&(_0x42eb55['getSuggestion'](_0x4fa1d9['id'])['attributes']=_0x4fa1d9['attributes']);}),this['_trackChangesService']['connect'](_0x1d38ae['connection'])['then'](_0x58aea4=>(_0x1d38ae['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x58aea4)['then'](()=>{for(const _0x41d287 of _0x58aea4){_0x42eb55['addSuggestionData'](_0x41d287)['_saved']=!0x0;}})));}async['reconnect'](){const _0x376868=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x36799b}=this['editor']['plugins']['get'](c),_0x139a7d=await this['_trackChangesService']['connect'](_0x36799b);await this['_fetchMissingUsersForThreads'](_0x139a7d);for(const {suggestionData:_0x5dd4cb,resolve:_0x2997ba}of this['_bufferedRequests']['values']()){let _0x397088=_0x139a7d['find'](_0x4098b0=>_0x4098b0['id']===_0x5dd4cb['id']);_0x397088||(_0x397088=await this['_trackChangesService']['add'](_0x5dd4cb['id'],_0x5dd4cb['type'],_0x5dd4cb['data'],_0x5dd4cb['originalSuggestionId'])),_0x2997ba(_0x397088);}for(const _0x125df0 of _0x139a7d)_0x376868['hasSuggestion'](_0x125df0['id'])||_0x376868['addSuggestionData'](_0x125df0);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x55d905=>{this['listenTo'](this['_trackChangesService'],'connected',_0x12714e=>{_0x12714e['off'](),_0x55d905();});});}async['_fetchMissingUsersForThreads'](_0x532497){const _0x6551f2=this['editor']['plugins']['get'](_0x1ab8ea),{connection:_0x451ad0}=this['editor']['plugins']['get'](c),_0x346849=new Set();for(const {authorId:_0x16f8d5}of _0x532497)_0x6551f2['getUser'](_0x16f8d5)||_0x346849['add'](_0x16f8d5);if(0x0===_0x346849['size'])return;const _0x114430=await dt['getMany'](_0x451ad0,Array['from'](_0x346849));for(const _0x2616d2 of _0x114430)_0x6551f2['getUser'](_0x2616d2['id'])||_0x6551f2['addUser'](_0x2616d2);}}function R(_0x55980f){if(ft(_0x55980f))return new Promise(()=>{});throw _0x55980f;}function ft(_0x4b6bc5){return _0x4b6bc5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b6bc5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x43c3db{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x549c57=this['editor']['plugins']['get'](c),_0x37d81b=this['editor']['plugins']['get']('CommentsEditing'),_0x405021=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x549c57,'change:state',(_0xa27dd7,_0x1fcc02,_0x2ae418)=>{_0x37d81b['isThreadsLoadingPaused']='connected'!==_0x2ae418;});}),this['listenTo'](_0x549c57,'change:state',(_0x2769a8,_0x1a4a35,_0x5008d2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5008d2);}),_0x405021['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x43c3db{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x43c3db{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x1ab8ea];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xac177f){super(_0xac177f);const _0x3e6748=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x3e6748);}async['init'](){const _0x1efeeb=this['editor']['plugins']['get'](l),_0x474c81=_0x1efeeb['serverHistory'],_0x5185ae=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x474c81,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1efeeb['sessionId']});const _0x3c97eb=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x7ba7e2=await tt['isBundleUploaded'](_0x5185ae['connection'],_0x3c97eb);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x489219})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x489219)),'updateRevisions':async _0x198238=>{await this['_waitForServiceReady']();const _0x3de3ef=this['_revisionTracker']['currentRevision'];if(_0x7ba7e2&&0x1===_0x198238['length']&&_0x198238[0x0]['id']===_0x3de3ef['id'])return _0x198238;for(const _0x3425d4 of _0x198238)_0x3425d4['id']===_0x3de3ef['id']&&(_0x3425d4['isEmptyCurrent']=_0x3425d4['fromVersion']===_0x3425d4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x198238,this['_lastRequestId'])['then'](_0x142054=>(this['_lastRequestId']=_0x142054,_0x198238))['catch'](_0x4bf5c7=>{if(st(_0x4bf5c7)||'400'===_0x4bf5c7['code']&&void 0x0!==_0x4bf5c7['data']['wrongRequestId']){for(const _0x50d260 of _0x198238){!this['_revisionTracker']['repository']['getRevision'](_0x50d260['id'])||this['_revisionTracker']['_bufferUpdate'](_0x50d260['id'],_0x50d260,!0x1);}if(st(_0x4bf5c7))throw _0x4bf5c7;return _0x198238;}throw _0x4bf5c7;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xc40968,{revisionsData:_0x39eb86,requestId:_0x219e2f})=>{Math['max'](..._0x39eb86['map'](_0x520110=>_0x520110['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x39eb86,_0x219e2f);}):this['_handleRevisionsUpdate'](_0x39eb86,_0x219e2f);});const {revisions:_0x4dc0d9,requestId:_0x3a740a}=await this['_revisionHistoryService']['connect'](_0x5185ae['connection']);_0x5185ae['addToReconnectionStack'](this),this['_lastRequestId']=_0x3a740a,await this['_fetchMissingUsers'](_0x4dc0d9);for(const _0x58a138 of _0x4dc0d9)this['_revisionTracker']['addRevisionData'](_0x58a138);this['listenTo'](_0x1efeeb,'change:_isConnected',(_0x26140a,_0x234ec0,_0x500a37)=>{_0x500a37&&(this['_oldOffset']=_0x1efeeb['_offset'],_0x26140a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5185ae,'state',_0x465ed4=>_0x465ed4===_0x5957c6['CONNECTED']);}async['reconnect'](){const _0xbb42ee=this['editor']['plugins']['get'](c),_0x158685=this['editor']['plugins']['get'](l),_0x4d73ee=async()=>{const _0x3a4c24=this['_revisionTracker']['currentRevision'],_0x3920f1=_0x3a4c24['id'],_0x162e19=_0x3920f1!==_0x158685['sessionId'];if(_0x162e19){const _0x35aa7=_0x158685['_offset']-this['_oldOffset'],_0x1401f5=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3a4c24['toVersion']+_0x35aa7!==_0x1401f5){const _0x319e07=_0x3a4c24['fromVersion']+_0x35aa7,_0x21face=this['editor']['plugins']['get'](_0x1ab8ea),_0x555e7c=this['_revisionTracker']['buildRevisionData']({'revision':_0x3a4c24,'from':_0x319e07,'to':_0x1401f5});_0x555e7c['id']=_0x3a4c24['id'];const _0x11d660=_0x555e7c['authorsIds']['map'](_0x367815=>_0x21face['getUser'](_0x367815));_0x3a4c24['_update']({..._0x555e7c,'authors':_0x11d660},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3a4c24['id'],_0x555e7c,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1401f5,(_0x3a4c24['toVersion']===_0x3a4c24['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3920f1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3920f1),this['_revisionTracker']['_createCurrentRevision'](_0x1401f5));}const {revisions:_0x20842a,requestId:_0xced13b}=await this['_revisionHistoryService']['reconnect'](_0xbb42ee['connection'],this['_lastRequestId']);_0x162e19&&_0x20842a['length']>0x0?_0x158685['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x20842a),this['_handleRevisionsUpdate'](_0x20842a,_0xced13b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x158685['_isConnected']?_0x4d73ee():new Promise((_0x56ec0a,_0x328a9e)=>{_0x158685['once']('change:_isConnected',()=>{_0x4d73ee()['then'](_0x56ec0a)['catch'](_0x328a9e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x50e9e1=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1bdf83=>{_0x1bdf83['off'](),_0x50e9e1();});});}['_getLatestVersionFromServerOperations'](){const _0x1cbb31=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3f7fd9 of _0x1cbb31)if('marker'!==_0x3f7fd9['type']||_0x3f7fd9['affectsData'])return _0x3f7fd9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x152828=this['editor']['plugins']['get'](l);return new Promise(_0x13eb6b=>{_0x152828['_isPendingUpdate']?_0x152828['once']('change:_isPendingUpdate',()=>{_0x13eb6b(this['_getLatestVersionFromServerOperations']());}):_0x13eb6b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1f111c,_0x1c01ce){const _0xeab0f2=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1c01ce;for(const _0x382310 of _0x1f111c){const _0x238ad0=_0xeab0f2['getRevision'](_0x382310['id']);if(_0x238ad0){if((_0x382310['fromVersion']||_0x382310['toVersion'])&&(_0x382310['diffData']=null),_0x238ad0===this['_revisionTracker']['currentRevision']){const _0x1d0cf7=Math['max'](_0x238ad0['toVersion'],_0x382310['toVersion']),_0x482e94=Math['max'](_0x238ad0['fromVersion'],_0x382310['fromVersion']);let _0x3aca91;_0x238ad0['toVersion']===_0x382310['toVersion']&&_0x238ad0['fromVersion']===_0x382310['fromVersion']?(_0x3aca91=!0x0,this['_preventResendingRevisionData'](_0x382310)):_0x382310['toVersion']===_0x1d0cf7&&_0x382310['fromVersion']===_0x482e94?_0x3aca91=!0x1:(_0x238ad0['toVersion']===_0x1d0cf7&&_0x238ad0['fromVersion']===_0x482e94||this['_fixRevision']({'revision':_0x238ad0,'from':_0x482e94,'to':_0x1d0cf7}),_0x3aca91=!0x0),_0x3aca91&&(delete _0x382310['fromVersion'],delete _0x382310['toVersion'],delete _0x382310['diffData'],delete _0x382310['createdAt'],delete _0x382310['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x382310),this['_preventResendingRevisionData'](_0x382310);}else this['_revisionTracker']['addRevisionData'](_0x382310);}const _0x19607d=_0xeab0f2['getRevisions']();_0x19607d['reverse']();for(let _0x29121d=0x0;_0x29121d<_0x19607d['length']-0x1;_0x29121d++){const _0x5622de=_0x19607d[_0x29121d],_0x3d83bd=_0x19607d[_0x29121d+0x1];if(_0x5622de['fromVersion']<_0x3d83bd['toVersion']){const _0x41c75d=_0x3d83bd['toVersion'],_0x15223f=Math['max'](_0x41c75d,_0x5622de['toVersion']);this['_fixRevision']({'revision':_0x5622de,'from':_0x41c75d,'to':_0x15223f});}}}['_fixRevision']({revision:_0x2c569d,from:_0x5126c0,to:_0x36ddc6}={}){const _0x4437c0=this['editor']['plugins']['get'](_0x1ab8ea),_0x3f5b85=this['_revisionTracker']['buildRevisionData']({'revision':_0x2c569d,'from':_0x5126c0,'to':_0x36ddc6});_0x3f5b85['authors']=_0x3f5b85['authorsIds']['map'](_0x77285c=>_0x4437c0['getUser'](_0x77285c)),_0x2c569d['_update'](_0x3f5b85);}['_preventResendingRevisionData'](_0x4ba531){const _0x15e610={};_0x15e610['id']=_0x4ba531['id'];for(const _0x1599df of Object['keys'](_0x4ba531))'id'!==_0x1599df&&(_0x15e610[_0x1599df]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x15e610['id'],_0x15e610,!0x0);}async['_fetchMissingUsers'](_0x58dd6b){const _0x17b54d=this['editor']['plugins']['get'](_0x1ab8ea),{connection:_0x3d5139}=this['editor']['plugins']['get'](c),_0x564ff2=new Set();for(const _0x57203c of _0x58dd6b){for(const _0x3ce329 of _0x57203c['authorsIds'])_0x401a3a(_0x3ce329);_0x57203c['creatorId']&&_0x401a3a(_0x57203c['creatorId']);}if(0x0===_0x564ff2['size'])return;const _0x48ae69=await dt['getMany'](_0x3d5139,Array['from'](_0x564ff2));for(const _0x4fffdc of _0x48ae69)_0x17b54d['getUser'](_0x4fffdc['id'])||_0x17b54d['addUser'](_0x4fffdc);function _0x401a3a(_0x24229b){_0x17b54d['getUser'](_0x24229b)||_0x564ff2['add'](_0x24229b);}}}function st(_0x4c61f4){return _0x4c61f4['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4c61f4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4c61f4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x43c3db{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x55b472{constructor(_0xebb5fd){super(_0xebb5fd);const _0x59348c=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x59348c['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x59348c['to']('usersCount',_0x49bee4=>q(_0xebb5fd,'CONNECTED_USERS',_0x49bee4))}]});}}class es extends _0x55b472{['items'];['keystrokes'];constructor(_0x371f02){super(_0x371f02);const _0x606c73=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x92184c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x606c73['if']('hasPopup'),'aria-expanded':_0x606c73['to']('isExpanded',_0x113e6d=>this['hasPopup']&&String(_0x113e6d)),'aria-label':_0x606c73['to']('hasPopup',_0xf31821=>q(_0x371f02,_0xf31821?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x606c73['to']('hasPopup',_0x7324f2=>!!_0x7324f2&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x606c73['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x3efed2,_0x328231,_0x29cb85)=>{this['element']&&(_0x29cb85?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class L extends _0x55b472{['counterView'];['inlineListView'];constructor(_0x508d95){super(_0x508d95);const _0x42be50=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x508d95),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2aa13d of this['inlineListView']['items'])_0x2aa13d['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',_0x42be50['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x55b472{['listWrapperView'];constructor(_0x22fcf8,_0x3171ae){super(_0x22fcf8),this['listWrapperView']=new mt(_0x22fcf8,_0x3171ae),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x22fcf8,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x579ca9{constructor(_0x52fbe2,_0x54ce58){super(_0x52fbe2);const _0x1e424d=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x54ce58?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1e424d['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1e424d['to']('role'),'aria-label':_0x1e424d['to']('ariaLabel'),'aria-labelledby':_0x1e424d['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x504372['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x397479=this['element'];_0x397479&&(this['_isScrollable']=Math['max'](_0x397479['scrollHeight'],_0x397479['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x11aeaa,_0x163939,_0x2f0684){super(_0x11aeaa);const _0x445186=this['bindTemplate'];this['userView']=new ct(_0x11aeaa,_0x163939);const _0x3a560d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x163939['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x163939['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x163939['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2f0684&&(_0x3a560d['tag']='button',_0x3a560d['on']={'click':_0x445186['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3a560d);}['focus'](){this['element']['focus']();}}class y extends _0x55b472{['userView'];['markerView'];constructor(_0x2f2d0b,_0x167a52,_0x2df0b3){super(_0x2f2d0b);const _0x907770=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x2f2d0b,_0x167a52),this['markerView']=new at(_0x2f2d0b,_0x167a52);const _0x47b0a0=new ot(_0x2f2d0b);_0x47b0a0['template']['tag']='span',_0x47b0a0['text']=_0x167a52['name'];const _0xda31a2={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x907770['to']('isFocusable',_0x3210b7=>!!_0x3210b7&&0x0),'aria-labelledby':_0x47b0a0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x907770['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x907770['to']('hasTooltip',_0x388b09=>!_0x388b09),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x47b0a0]};_0x2df0b3&&(_0xda31a2['tag']='button',_0xda31a2['on']={'click':_0x907770['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xda31a2);}}class at extends _0x55b472{constructor(_0x22d24c,_0x657bb1){super(_0x22d24c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x657bb1['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x177b39{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x2dee93){super(_0x2dee93),this['context']['config']['define']('presenceList',A);const _0x3ba3c3=_0x2dee93['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3ba3c3)throw new _0x5d8b9a('presencelist-collapseat-invalid-format',this);if(_0x3ba3c3<0x1)throw new _0x5d8b9a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ff178(),this['balloonPanelView']=new _0x49e7cd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3b9cc0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3b9cc0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x52d08a,_0x121ccf)=>{this['_handleUserAdd'](_0x121ccf);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x40377f,_0x58532b)=>{this['_handleUserRemove'](_0x58532b);});}['_createView'](){const _0x200d7f=this['context'],_0x2090bb=new L(this['context']['locale']),_0x4e8a06=this['balloonPanelView'];if(!_0x1a2d9d(_0x200d7f['config']['get']('presenceList.container')))throw new _0x5d8b9a('presencelist-missing-container',this);return _0x2090bb['counterView']['bind']('usersCount')['to'](this),_0x2090bb['bind']('isCollapsed')['to'](this,'usersCount',_0x4fef45=>{const {collapseAt:_0x1ca4e3,displayMe:_0x547886}=_0x200d7f['config']['get']('presenceList'),_0x9e96e6=_0x4fef45>=_0x1ca4e3;return _0x2090bb['counterView']['isHidden']=!(0x1==_0x4fef45&&_0x547886||_0x9e96e6),_0x9e96e6||this['hideDropdown'](),_0x9e96e6;}),_0x2090bb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x46ba1f=>{const _0xbfadc6=_0x200d7f['config']['get']('presenceList'),_0x4023c8=new y(_0x200d7f['locale'],_0x46ba1f,!!_0xbfadc6['onClick']);return _0x4023c8['bind']('hasTooltip')['to'](_0x2090bb,'isCollapsed',_0x49c2dc=>!_0x49c2dc),_0x4023c8['bind']('isFocusable')['to'](_0x2090bb,'isCollapsed',_0xe14ff8=>!_0xe14ff8),_0xbfadc6['onClick']&&this['listenTo'](_0x4023c8,'execute',()=>{this['view']['isCollapsed']||_0xbfadc6['onClick'](_0x46ba1f,_0x4023c8['element']);}),_0x4023c8;}),this['listenTo'](_0x2090bb['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x2090bb['inlineListView']['keystrokes']['set']('Enter',(_0x1897a0,_0x5762f0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5762f0());}),_0x2090bb['render'](),_0x4e8a06['render'](),_0x4e240f({'emitter':_0x2090bb,'activator':()=>_0x4e8a06['isVisible'],'contextElements':[_0x4e8a06['element'],_0x2090bb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x200d7f['config']['get']('presenceList.container')['appendChild'](_0x2090bb['element']),this['_bodyCollection']=new _0x46ebeb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2090bb;}['_handleUserAdd'](_0x300c56){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x300c56['isMe'])return;const _0x46c956=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x46c956&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x489211=_0x300c56['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x300c56,_0x489211);}['_handleUserRemove'](_0x524bde){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x524bde['id'])&&(this['currentDisplayedUsers']['remove'](_0x524bde['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x46b9c2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x46b9c2['id']))return void this['currentDisplayedUsers']['add'](_0x46b9c2,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x18906f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x18906f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x2268f8}=this['presenceDropdownView'];_0x2268f8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x449dc4=>{if(!_0x18906f['displayMe']&&_0x449dc4['isMe'])return null;const _0x23e435=new k(this['context']['locale'],_0x449dc4,!!_0x18906f['onClick']);return _0x18906f['onClick']&&this['listenTo'](_0x23e435,'execute',()=>{_0x18906f['onClick'](_0x449dc4,_0x23e435['element']);}),_0x23e435;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2268f8['focus'](),_0x2268f8['checkIfScrollable']();const _0x4588b5=(_0x47aa0f,_0x376eef)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x376eef();};_0x2268f8['keystrokes']['set']('Esc',_0x4588b5),_0x2268f8['keystrokes']['set']('Shift+Tab',_0x4588b5),_0x2268f8['keystrokes']['set']('Tab',(_0x41876c,_0x27fe7f)=>{!function(_0x12a422){const _0x234252=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x306714=>_0x306714+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x32169a=[...document['body']['querySelectorAll'](_0x234252)]['filter'](_0x187009=>_0x187009===document['activeElement']||_0x187009['offsetWidth']+_0x187009['offsetHeight']>0x0)['sort']((_0x15fa2f,_0xad4b4a)=>(_0x15fa2f['tabIndex']||0x0)-(_0xad4b4a['tabIndex']||0x0)),_0x35b883=_0x32169a['indexOf'](_0x12a422),_0x407ef4=_0x32169a[(_0x35b883+0x1)%_0x32169a['length']];_0x407ef4&&_0x407ef4['focus']();}(this['view']['element']),this['hideDropdown'](),_0x27fe7f();}),_0x2268f8['focusTracker']['add'](this['view']['element']),_0x2268f8['focusTracker']['on']('change:isFocused',(_0x5720d2,_0x326302,_0x35502a)=>{_0x35502a||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x177b39{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x37a9d3,Plugin as _0x50372a,PendingActions as _0x368f32,Context as _0x112e10}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4c6426,CKEditorError as _0x408616,Collection as _0x5da562,global as _0x38475b,version as nt,uid as _0x301035,KeystrokeHandler as _0x60e8df}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1d35e3,View as _0x32c1aa,ListView as _0x5e215a,ListItemView as et,LabelView as ot,BalloonPanelView as _0x4bb92d,clickOutsideHandler as _0x452c2f,BodyCollection as _0x400f02}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as at,History as _0x2d8e8d,NoOperation as _0x54ca34,InsertOperation as _0x4e5089,MarkerOperation as _0x184ddc,RootAttributeOperation as _0x3baf28,transformSets as _0x453bb3,OperationFactory as _0x1e5de9}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as _0x39f1be,CollaborativeEditingService as _0x35ce65,User as lt,CommentsService as _0x2fcac4,TrackChangesService as _0x3715b6,RevisionHistoryService as _0x20d94b,EditorService as _0x2f88e7}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4c3346,UserView as rt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x439fc2}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1667f2}from'lodash-es';class c extends _0x37a9d3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1d35e3];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19c74c){super(_0x19c74c),this['set']('state',_0x39f1be['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4c6426);}['init'](){const _0x2340db=this['context'],_0x2358d2=_0x2340db['plugins']['get']('CloudServices'),_0x204d81=_0x2340db['plugins']['get'](_0x1d35e3);if(!_0x2358d2['token'])throw new _0x408616('websocketgateway-missing-token',this);if(!_0x2358d2['webSocketUrl'])throw new _0x408616('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x2358d2['token'],_0x2358d2['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2b8af7=>{if(this['connection']=_0x2b8af7,this['bind']('state')['to'](_0x2b8af7,'state',this,'_isBrowserOffline',(_0x57a9c6,_0x3088cc)=>('connected'!==_0x57a9c6&&(this['_shouldPluginsReconnect']=!0x0),_0x3088cc||_0x57a9c6!==_0x39f1be['CONNECTED']?_0x39f1be['DISCONNECTED']:this['state']==_0x39f1be['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x39f1be['CONNECTING']):_0x39f1be['CONNECTED'])),this['connection']['on']('error',(_0x45feea,_0x29ac25)=>{if('limitExceeded'!==_0x29ac25['code'])throw console['error'](_0x29ac25),new _0x408616('cloudservices-init',null,{'originalError':_0x29ac25});_0x204d81['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'});}),!_0x2b8af7['me'])return new Promise(_0xd8e606=>_0x2b8af7['on']('change:me',_0xd8e606));})['catch'](_0x1a4be3=>{throw console['error'](_0x1a4be3),new _0x408616('cloudservices-init',null,{'originalError':_0x1a4be3});});}['addToReconnectionStack'](_0x19f3f4){if('function'!=typeof _0x19f3f4['reconnect'])throw new _0x408616('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x19f3f4))throw new _0x408616('websocketgateway-plugin-already-registered',this,{'name':_0x19f3f4['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x19f3f4);}['removeFromReconnectionStack'](_0x4bce05){this['_reconnectionStack']['delete'](_0x4bce05);}['isInReconnectionStack'](_0x7fd775){return this['_reconnectionStack']['has'](_0x7fd775);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4864d0=>_0x4864d0['reconnect']())))['then'](()=>this['state']=_0x39f1be['CONNECTED'])['catch'](_0x3fdb4d=>{throw console['error'](_0x3fdb4d),new _0x408616('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x39f1be['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x37a9d3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x4c3346];}constructor(_0x26a76d){super(_0x26a76d),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5da562(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4c3346);}['init'](){const _0x30a0fa=this['context']['plugins']['get'](c);this['listenTo'](_0x30a0fa,'change:state',(_0x5171da,_0x19b10a,_0x117b54)=>{if('connected'!==_0x117b54)this['channelSessions']['forEach'](_0x433229=>_0x433229['clear']()),this['channelConnectedUsers']['forEach'](_0x1b8c59=>_0x1b8c59['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1b1c0e,_0x102eca]of this['_registeredSessions'])for(const _0x5b9dbd of _0x102eca)this['_handleSessionAdd'](_0x1b1c0e,_0x5b9dbd);}}),this['_createUser'](_0x30a0fa['connection']['me'],!0x0);}['register'](_0xaa7016,_0x556212){if(this['_registeredSessions']['has'](_0xaa7016))throw new _0x408616('sessions-register-already-registered',null,{'channelId':_0xaa7016});this['_registeredSessions']['set'](_0xaa7016,_0x556212),this['channelSessions']['set'](_0xaa7016,new _0x5da562()),this['channelConnectedUsers']['set'](_0xaa7016,new _0x5da562()),this['listenTo'](_0x556212,'add',(_0x409ab3,_0x1c4542)=>this['_handleSessionAdd'](_0xaa7016,_0x1c4542)),this['listenTo'](_0x556212,'remove',(_0x3d42bc,_0x45f841)=>this['_handleSessionRemove'](_0xaa7016,_0x45f841));for(const _0x1d12d4 of _0x556212)this['_handleSessionAdd'](_0xaa7016,_0x1d12d4);}['unregister'](_0x2e3809){if(!this['_registeredSessions']['has'](_0x2e3809))throw new _0x408616('sessions-unregister-not-exist',null,{'channelId':_0x2e3809});const _0x162ccb=this['_registeredSessions']['get'](_0x2e3809);this['stopListening'](_0x162ccb);for(const _0x502de8 of _0x162ccb)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x2e3809,_0x502de8);this['_registeredSessions']['delete'](_0x2e3809),this['channelSessions']['delete'](_0x2e3809),this['channelConnectedUsers']['delete'](_0x2e3809);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x14f0de){for(const _0x357871 of this['channelSessions']['values']())for(const _0x58349a of _0x357871)if(_0x58349a['id']===_0x14f0de)return _0x58349a['user'];}['getUserSessions'](_0x385825,_0x9c6073){const _0x430299=_0x9c6073?[this['channelSessions']['get'](_0x9c6073)]:this['channelSessions']['values'](),_0x296469=new Set();for(const _0x391ba9 of _0x430299)for(const _0x206f37 of _0x391ba9)_0x206f37['user']['id']===_0x385825['id']&&_0x296469['add'](_0x206f37['id']);return _0x296469;}['getUserRole'](_0x4f83d5){for(const _0x406933 of this['channelSessions']['values']())for(const _0x252324 of _0x406933)if(_0x252324['user']===_0x4f83d5)return _0x252324['role'];}['_handleSessionAdd'](_0x571b78,_0x31874a){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x25f633=_0x31874a['user'],_0x1bc4f2=this['_users']['getUser'](_0x25f633['id'])||this['_createUser'](_0x25f633),_0x4eba01=Object['assign']({},_0x31874a,{'user':_0x1bc4f2});this['channelSessions']['get'](_0x571b78)['add'](_0x4eba01);const _0x350488=this['channelConnectedUsers']['get'](_0x571b78);_0x350488['has'](_0x1bc4f2['id'])||_0x350488['add'](_0x1bc4f2),this['allConnectedUsers']['has'](_0x1bc4f2['id'])||this['allConnectedUsers']['add'](_0x1bc4f2,_0x1bc4f2['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x571b78,{'channelId':_0x571b78,'session':_0x4eba01});}['_handleSessionRemove'](_0x1aadfe,_0x46d888){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xdedd13=this['channelConnectedUsers']['get'](_0x1aadfe),_0x16107c=_0x46d888['user'];_0x16107c['id']&&(this['channelSessions']['get'](_0x1aadfe)['remove'](_0x46d888['id']),_0xdedd13['has'](_0x16107c['id'])&&!this['getUserSessions'](_0x16107c,_0x1aadfe)['size']&&_0xdedd13['remove'](_0x16107c['id']),this['allConnectedUsers']['get'](_0x16107c['id'])&&!this['getUserSessions'](_0x16107c)['size']&&this['allConnectedUsers']['remove'](_0x16107c['id']));}['_createUser'](_0x4f6c61,_0x11cd30){const _0x35e889=this['_users']['addUser'](_0x4f6c61);return _0x11cd30&&this['_users']['defineMe'](_0x4f6c61['id']),_0x35e889['orderNumber']=this['_uniqueUsersCount']++,_0x35e889;}}class J extends _0x50372a{['_domEmitter']=new(_0x4c6426())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4f2322=this['editor'],_0x286365=_0x4f2322['plugins']['get'](i);_0x4f2322['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3bb0e0,{writer:_0x5e55d2})=>function(_0xbbf936,_0x8c4244,_0x2bcfb9,_0x2e2625){const _0x121ed8=_0xbbf936['markerName']['split'](':')[0x2],_0xf207f4=_0x2bcfb9['getUserBySessionId'](_0x121ed8);if(!_0xf207f4||_0x121ed8===_0x2bcfb9['mySessionId'])return;if(!_0x2e2625['model']['schema']['checkChild'](_0xbbf936['markerRange']['start'],'$text'))return;const _0x3c7846={'class':'ck-user__marker\x20'+_0xf207f4['color']['getMarkerClass'](),'data-name':_0xf207f4['name'],'data-session-id':_0x121ed8},_0x51574d=_0x2e2625['model']['markers']['get'](_0xbbf936['markerName']),_0x15c528=_0x51574d['getStart'](),_0x2ee8bf=_0x15c528['nodeAfter'],_0x1b5b45=_0x2e2625['model']['schema'];if(_0x2ee8bf&&_0x1b5b45['isObject'](_0x2ee8bf)&&_0x1b5b45['isInline'](_0x2ee8bf)&&!_0x2e2625['model']['markers']['get']('user:range:'+_0x121ed8)['getRange']()['isCollapsed'])return;const _0x38a309=_0x15c528['parent'];return _0x2e2625['model']['schema']['isLimit'](_0x38a309)&&!_0x2e2625['model']['hasContent'](_0x38a309)&&(_0x3c7846['contenteditable']=!0x1),function(_0x45b51c,_0x3251b4,_0x5368ff){const _0x389d2c=_0x45b51c['createUIElement']('span',_0x3251b4);return _0x45b51c['setCustomProperty']('userPositionMarker',!0x0,_0x389d2c),_0x389d2c['render']=function(_0x53bac7){const _0x45c86b=this['toDomElement'](_0x53bac7);return _0x45c86b['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x5368ff['name']+'</span>⁠',_0x45c86b['addEventListener']('mouseenter',()=>{_0x45c86b['classList']['add']('ck-user__marker_hovered');}),_0x45c86b['addEventListener']('mouseleave',()=>{_0x45c86b['classList']['remove']('ck-user__marker_hovered');}),_0x45c86b;},_0x389d2c['isSimilar']=function(_0xbbc359){return!(!this['getCustomProperty']('userPositionMarker')||!_0xbbc359['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xbbc359['getAttribute']('data-session-id'));},_0x389d2c;}(_0x8c4244,_0x3c7846,_0xf207f4);}(_0x3bb0e0,_0x5e55d2,_0x286365,_0x4f2322)}),_0x4f2322['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c9c60=>function(_0x1ebf50,_0x5b0d91){const _0x50e9e7=_0x1ebf50['markerName']['split'](':')[0x2];if(_0x50e9e7===_0x5b0d91['mySessionId'])return null;const _0x1d1614=_0x5b0d91['getUserBySessionId'](_0x50e9e7);if(!_0x1d1614)return{'id':_0x50e9e7,'classes':[]};return{'id':_0x50e9e7,'classes':['ck-user__selection',_0x1d1614['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x50e9e7},'priority':0x7d0+_0x1d1614['orderNumber']};}(_0x4c9c60,_0x286365)}),function(_0x125fbb){const _0x3ec903=_0x125fbb['model'],_0x146284=new Map(),_0x3c5005=_0x125fbb['plugins']['get'](i);_0x3ec903['markers']['on']('update:user:range',(_0xe64318,_0x14e49c,_0x5233fb,_0x8b33db)=>{if(!_0x8b33db&&_0x146284['get'](_0x14e49c['name']))return _0x146284['get'](_0x14e49c['name'])['detach'](),void _0x146284['delete'](_0x14e49c['name']);const _0x11db1f=_0x14e49c['name']['split'](':')[0x2];if(_0x11db1f===_0x3c5005['mySessionId'])return;const _0x580649='user:position:'+_0x11db1f;_0x3ec903['markers']['has'](_0x580649)&&_0x125fbb['editing']['reconvertMarker'](_0x580649),_0x14e49c['on']('change:range',(_0x32c1ad,_0x2c6ef1,_0x4cb00c)=>{if('$graveyard'!=_0x2c6ef1['root']['rootName']&&'$graveyard'==_0x14e49c['getRange']()['root']['rootName']&&!_0x146284['has'](_0x14e49c['name'])){const _0x43e2c9=_0x3ec903['schema']['getNearestSelectionRange'](_0x4cb00c['deletionPosition']);if(_0x43e2c9){const _0x591a1c=at['fromRange'](_0x43e2c9);_0x146284['set'](_0x14e49c['name'],_0x591a1c),_0x591a1c['on']('change:range',(_0x5a404a,_0x467bff,_0x5c2121)=>{if('$graveyard'==_0x591a1c['root']['rootName']){const _0x3aad36=_0x3ec903['schema']['getNearestSelectionRange'](_0x5c2121['deletionPosition']);_0x3aad36?(_0x591a1c['start']=_0x3aad36['start'],_0x591a1c['end']=_0x3aad36['end']):(_0x146284['delete'](_0x14e49c['name']),_0x591a1c['detach']());}});}}});}),_0x3ec903['document']['on']('change',()=>{_0x146284['size']>0x0&&_0x3ec903['enqueueChange']({'isUndoable':!0x1},_0x45187f=>{for(const [_0x5c2daf,_0x23d428]of _0x146284)'$graveyard'==_0x3ec903['markers']['get'](_0x5c2daf)['getRange']()['root']['rootName']&&(te(_0x5c2daf['split'](':')[0x2],_0x23d428['toRange'](),_0x3ec903,_0x45187f),_0x23d428['detach']());_0x146284['clear']();});});}(_0x4f2322),this['_domEmitter']['listenTo'](_0x38475b['document'],'keydown',(_0x480ae3,{key:_0x4da8cf})=>{'Escape'===_0x4da8cf&&function(_0x428dce){_0x428dce['editing']['view']['change'](_0x5ca89b=>{for(const _0x3c3f7f of _0x428dce['model']['markers']){if(!_0x3c3f7f['name']['startsWith']('user:position'))continue;const _0x279173=_0x428dce['editing']['mapper']['markerNameToElements'](_0x3c3f7f['name']);if(_0x279173){for(const _0x2dc69a of _0x279173)_0x5ca89b['removeClass']('ck-user__marker_hovered',_0x2dc69a);}}});}(_0x4f2322);},{'useCapture':!0x0});}['afterInit'](){const _0x574118=this['editor'],_0x24cf2a=_0x574118['commands']['get']('undo');_0x24cf2a&&_0x574118['model']['on']('applyOperation',(_0x283b83,_0x4b8769)=>{const _0x4a4a44=_0x4b8769[0x0];if('marker'!=_0x4a4a44['type']||!_0x4a4a44['name']['startsWith']('user:'))return;const _0x51a2b9=_0x4a4a44['batch'];_0x24cf2a['_createdBatches']['has'](_0x51a2b9)&&(_0x4a4a44['newRange']=_0x4a4a44['oldRange']?_0x574118['model']['createRange'](_0x4a4a44['oldRange']['start'],_0x4a4a44['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2798fe=this['editor'],_0x376591=_0x2798fe['model']['document'],_0x2f8e81=_0x2798fe['plugins']['get'](i);_0x2798fe['model']['enqueueChange']({'isUndoable':!0x1},_0x1450e4=>{const _0x5c2550='user:range:'+_0x2f8e81['mySessionId'],_0xfd3398='user:position:'+_0x2f8e81['mySessionId'],_0x3f1292=_0x2798fe['model']['markers']['has'](_0x5c2550);_0x2798fe['editing']['view']['hasDomSelection']?te(_0x2f8e81['mySessionId'],_0x376591['selection']['getFirstRange'](),_0x2798fe['model'],_0x1450e4):_0x3f1292&&(_0x1450e4['removeMarker'](_0x5c2550),_0x1450e4['removeMarker'](_0xfd3398));});}}function te(_0x4a6f09,_0x23628c,_0x2f0698,_0x2cb0a3){const _0xcd8c68='user:range:'+_0x4a6f09,_0x41d0a9='user:position:'+_0x4a6f09,_0xc252b1=_0x23628c['getContainedElement']();let _0x56adf9=_0x23628c['start'];_0xc252b1&&_0xc252b1['is']('element','tableCell')&&(_0x56adf9=function(_0x23967d,_0x1575b9){for(const _0x51d807 of _0x23967d['getPositions']())if(_0x1575b9['schema']['checkChild'](_0x51d807,'$text'))return _0x51d807;}(_0x23628c,_0x2f0698),_0x23628c=_0x2cb0a3['createRange'](_0x56adf9));const _0x568d31=_0x2cb0a3['createRange'](_0x56adf9);_0x2f0698['markers']['has'](_0xcd8c68)?(_0x2cb0a3['updateMarker'](_0xcd8c68,{'range':_0x23628c}),_0x2cb0a3['updateMarker'](_0x41d0a9,{'range':_0x568d31})):(_0x2cb0a3['addMarker'](_0xcd8c68,{'range':_0x23628c,'usingOperation':!0x0}),_0x2cb0a3['addMarker'](_0x41d0a9,{'range':_0x568d31,'usingOperation':!0x0}));}function Q(_0x32da98,_0x1340f4,_0x3ade47){const _0x4adff1=_0x32da98['t'],t=_0x32da98['t'];switch(_0x1340f4){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 _0x4adff1({'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'},_0x3ade47);default:return'';}}let Z=0x1;class l extends _0x50372a{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x35ce65)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,J,_0x368f32,_0x4c3346,_0x1d35e3];}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 _0x475d26=this['serverHistory']['getOperations']();for(let _0x271ff8=_0x475d26['length']-0x1;_0x271ff8>=0x0;_0x271ff8--){const _0x40956f=_0x475d26[_0x271ff8];if(!this['_disconnectionOperations']['has'](_0x40956f))return _0x40956f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x31378f){if(super(_0x31378f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d8e8d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x408616('collaboration-missing-channelid',this);const _0x5236a6=_0x31378f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x5236a6,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x439fc2(),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 st(this['_disconnectionOperations']);}['init'](){const _0x840f44=this['editor'],_0x42bad7=_0x840f44['plugins']['get'](_0x4c3346),_0x36795f=_0x840f44['plugins']['get'](c);this['listenTo'](_0x42bad7,'getOperationAuthor',(_0x547f57,_0x2b760c)=>{const _0x340d1a=_0x2b760c[0x0];_0x340d1a['_authorId']&&(_0x547f57['return']=_0x42bad7['getUser'](_0x340d1a['_authorId']),_0x547f57['stop']()),null===_0x340d1a['_authorId']&&(_0x547f57['return']=null,_0x547f57['stop']());},{'priority':'high'}),this['listenTo'](_0x840f44['model']['document']['selection'],'change:range',(_0x48e793,_0x51833e)=>{_0x51833e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x840f44['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x840f44['model']['on']('applyOperation',(_0x51cbab,_0x51a853)=>{const _0x543c66=_0x51a853[0x0];_0x543c66['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x543c66),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x36795f,'state',this,'_hasSynchronizationProblem',(_0x2f2285,_0x1dec65)=>'connected'===_0x2f2285&&!_0x1dec65),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x840f44['disableReadOnlyMode']('rtc-offline'):_0x840f44['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x840f44['disableReadOnlyMode']('rtc-offline'):_0x840f44['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x223d0c=this['editor']['plugins']['get'](i),_0x24455e=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x223d0c['unregister'](this['_channelId']);const _0x579c27=await this['_service']['reconnect'](_0x24455e['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x579c27)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x25f60b=await this['_service']['getConnectedSessions']();_0x223d0c['register'](this['_channelId'],_0x25f60b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3b16cf){if(function(_0x3106cb){return'404'===_0x3106cb['code'];}(_0x3b16cf)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2c39be){return'409'===_0x2c39be['code'];}(_0x3b16cf)){const _0x2845e7=Q(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'](_0x2845e7);}else{if(!(_0x3b16cf instanceof tt))throw _0x3b16cf;this['_handleReconnectionError']();}}}}['destroy'](){const _0x35cd10=this['editor']['plugins']['get'](c),_0x176b83=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x176b83['channelSessions']['has'](this['_channelId'])&&_0x176b83['unregister'](this['_channelId']),_0x35cd10['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4c1dd0){if(this['sessionId']!==_0x4c1dd0['sessionId']&&this['_lastSyncedOperationId']!==_0x4c1dd0['lastOperationId'])throw new tt();return this['sessionId']=_0x4c1dd0['sessionId'],this['_handleServerResponse']([],{..._0x4c1dd0,'wereChangesApplied':!0x1,'data':_0x4c1dd0['data']},'reconnect');}async['_connectService'](_0x3a92f9,_0x3cc43d=!0x1){const {connection:_0x2f0c00}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2f0c00,this['_channelId'])['then'](_0x2665e0=>this['_initSessionsHandling'](_0x2665e0))['catch'](_0x325a0e=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x325a0e);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x548d90,_0x3e0b8a)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3e0b8a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xb4c97d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3a92f9);this['_isPendingUpdate']=!0x0;const _0x4681c3=await this['_service']['connect'](_0x2f0c00,this['_compressOperations'](_0x3a92f9),_0xb4c97d);if(this['sessionId']=_0x4681c3['sessionId'],_0x3cc43d){if(!_0x4681c3['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4681c3['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3a92f9,_0x4681c3,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4681c3,_0x3a92f9);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2c85d6=this['editor']['plugins']['get'](i),_0x76f47d=this['editor']['plugins']['get'](J),_0x1aae00=_0x2c85d6['channelSessions']['get'](this['_channelId']);_0x1aae00&&_0x1aae00['length']>0x1?_0x76f47d['createUserMarkerOperations']():this['listenTo'](_0x2c85d6,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2c85d6['channelSessions']['get'](this['_channelId'])['length']&&_0x76f47d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3d30e0,_0x152453,_0x53e5d5,_0x9da1fa){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x152453){const _0x2ae469=this['_decompressOperations'](_0x53e5d5,_0x9da1fa);await this['_fetchMissingUsers'](_0x2ae469),this['_handleExternalOperations'](_0x2ae469,_0x152453,_0x53e5d5['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x23a2f1}=this['editor'];let _0x3de310;try{_0x3de310=await this['_service']['getDocumentDetails']();}catch(_0x4863e7){const _0x254151=Q(_0x23a2f1,'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'](_0x254151);}const _0x41cd13=_0x3de310['currentDocumentSession']||_0x3de310['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x41cd13['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x4b1751=Q(_0x23a2f1,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x4b1751);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x218460){const _0x3f5628=this['editor']['plugins']['get'](i);this['listenTo'](_0x3f5628,'sessionAdd:'+this['_channelId'],(_0x136297,{session:_0x3a0a02})=>{if(_0x3a0a02['id']===_0x3f5628['mySessionId']){_0x136297['off']();const _0xc1f66c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4f3416=_0x3a0a02['permissions'];_0xc1f66c&&_0xc1f66c['isEnabled']&&(_0x4f3416=_0x4f3416['filter'](_0x21a30d=>'document:write'!==_0x21a30d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4f3416,this['_channelId']);}}),_0x3f5628['register'](this['_channelId'],_0x218460);}['_initThrowingOnDataSet'](){const _0x5261ad=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x31b1e1)=>{if(!_0x31b1e1[_0x31b1e1['length']-0x1]['suppressErrorInCollaboration'])throw new _0x408616('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5261ad['apply'](this['editor']['data'],_0x31b1e1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1dac26,[_0x1bfd6c])=>{if(this['_document']['version'])throw new _0x408616('realtimecollaborationclient-init-document-already-initialized',this);_0x1dac26['stop'](),this['_setPendingAction']();const _0x2fbbc8=this['editor']['config']['get']('rootsAttributes'),_0x5bfa8a=this['_getOperationsFromInitData'](_0x1bfd6c,_0x2fbbc8);0x0==_0x5bfa8a['length']&&_0x5bfa8a['push'](new _0x54ca34(0x0)),_0x1dac26['return']=this['_connectService'](_0x5bfa8a)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1f1033=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1f1033))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2df160,[_0x44dd76,_0x4057b1])=>{_0x2df160['stop']();const _0x5de0ec=this['editor']['model']['document']['getRoot'](_0x44dd76);if(!this['_knownRootNames']['has'](_0x44dd76)){const _0x2a72dc=_0x4057b1&&_0x4057b1['data']?_0x4057b1['data']:'',_0x37556e=_0x4057b1&&_0x4057b1['attributes']?_0x4057b1['attributes']:{};await this['_loadRoot'](_0x44dd76,_0x2a72dc,_0x37556e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5de0ec['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5de0ec);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xe9fdbd){const _0x234686=this['editor']['plugins']['get'](_0x4c3346),{connection:_0x4762e7}=this['editor']['plugins']['get'](c),_0x4a030a=new Set();for(const _0x6c73f6 of _0xe9fdbd){const _0x509edd=_0x6c73f6['_authorId'];_0x509edd&&!_0x234686['getUser'](_0x509edd)&&_0x4a030a['add'](_0x509edd);}if(0x0===_0x4a030a['size'])return;const _0x5c09fc=await lt['getMany'](_0x4762e7,Array['from'](_0x4a030a));for(const _0x3af950 of _0x5c09fc)_0x234686['getUser'](_0x3af950['id'])||_0x234686['addUser'](_0x3af950);}['_getOperationsFromInitData'](_0x3e767f,_0x2586c4={}){const _0x527e68=this['editor']['model'],_0x5b7a6a=[];let _0x1e1251=0x0;const _0x4ecd9c='string'==typeof _0x3e767f?{'main':_0x3e767f}:_0x3e767f;for(const _0x458968 of Object['keys'](_0x4ecd9c)){if(!this['_document']['roots']['has'](_0x458968))throw new _0x408616('realtimecollaborationclient-init-non-existent-root',this);const _0x43f878=this['editor']['data']['parse'](_0x4ecd9c[_0x458968]),_0x4acb00=this['_document']['getRoot'](_0x458968),_0xb7edb1=new _0x4e5089(_0x527e68['createPositionAt'](_0x4acb00,0x0),_0x43f878,_0x1e1251++);_0x5b7a6a['push'](_0xb7edb1);for(const [_0x2fa92,_0x2faaaf]of _0x43f878['markers']){const _0x2a4b2f=_0x527e68['createRange'](_0x527e68['createPositionFromPath'](_0x4acb00,_0x2faaaf['start']['path']['slice']()),_0x527e68['createPositionFromPath'](_0x4acb00,_0x2faaaf['end']['path']['slice']())),_0x503faa=new _0x184ddc(_0x2fa92,null,_0x2a4b2f,_0x527e68['markers'],!0x0,_0x1e1251++);_0x5b7a6a['push'](_0x503faa);}}if(_0x2586c4)for(const [_0x128b7f,_0x3a1688]of Object['entries'](_0x2586c4)){const _0x5c34aa=_0x527e68['document']['getRoot'](_0x128b7f);if(!_0x5c34aa)throw new _0x408616('multi-root-editor-root-attributes-no-root',null);for(const [_0x270014,_0x35601d]of Object['entries'](_0x3a1688))if(null!==_0x35601d){const _0x5733f9=new _0x3baf28(_0x5c34aa,_0x270014,null,_0x35601d,_0x1e1251++);_0x5b7a6a['push'](_0x5733f9);}}return _0x5b7a6a;}async['_loadRoot'](_0x106715,_0x39839a,_0x4ca3d1){this['_getOperationsFromInitData']({[_0x106715]:_0x39839a},{[_0x106715]:_0x4ca3d1})['forEach']((_0x2d9bcc,_0x4c387c)=>{_0x2d9bcc['baseVersion']=this['_document']['version']+_0x4c387c,_0x2d9bcc['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d9bcc);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x363cf7,_0x767697){let _0x15d3dd;this['_offset']=_0x363cf7['offset'];const _0x4917e5=_0x363cf7['wereChangesApplied']&&!_0x363cf7['initData'],_0x40ca2d=_0x4917e5?0x0:_0x363cf7['data']['baseVersion'];if(_0x767697['forEach'](_0x3f1592=>{_0x3f1592['_isInit']=!0x0,_0x3f1592['createdAt']=_0x363cf7['sessionCreatedAt'],_0x3f1592['_authorId']=null;}),_0x4917e5)_0x15d3dd=_0x767697,this['_applyOperationsSet'](_0x15d3dd,_0x4917e5);else{if(_0x363cf7['initData']){const _0x2ce947=this['_getOperationsFromInitData'](_0x363cf7['initData']);this['_document']['history']['version']=-_0x2ce947['length'],_0x2ce947['forEach'](_0x3f420e=>{_0x3f420e['baseVersion']-=_0x2ce947['length'],_0x3f420e['createdAt']=_0x363cf7['sessionCreatedAt'],_0x3f420e['_isInit']=!0x0,_0x3f420e['_authorId']=null;}),this['_applyOperationsSet'](_0x2ce947,!0x0),this['serverHistory']['version']=-_0x2ce947['length']+this['_offset'],this['_updateServerHistory'](_0x2ce947);}this['_document']['history']['version']=_0x40ca2d,_0x15d3dd=this['_decompressOperations'](_0x363cf7['data'],_0x363cf7['metadata']),await this['_fetchMissingUsers'](_0x15d3dd),this['_applyOperationsSet'](_0x15d3dd,_0x4917e5);}_0x363cf7['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x15d3dd,_0x363cf7['lastOperationId']),this['_lastSyncedOperationId']=_0x363cf7['lastOperationId']),this['serverHistory']['version']=_0x40ca2d+this['_offset'],this['_updateServerHistory'](_0x15d3dd),_0x767697['filter'](_0x23321e=>{const _0x57f483=this['_getAffectedRoot'](_0x23321e);return _0x57f483&&!this['_knownRootNames']['has'](_0x57f483);})['forEach']((_0x3240fc,_0x5397c8)=>{_0x3240fc['baseVersion']=this['_document']['version']+_0x5397c8,this['_saveOperationInBuffer'](_0x3240fc);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x171afb,_0x350373,_0x19a521){throw this['_isPendingUpdate']=!0x0,_0x350373&&console['error'](_0x350373),_0x19a521&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x408616(_0x171afb,this['editor']);}['_saveOperationInBuffer'](_0x1fc260){this['_knownOperations']['has'](_0x1fc260)||(this['_knownOperations']['add'](_0x1fc260),this['_bufferedOperations']['push'](_0x1fc260),this['_pendingAction']||'marker'==_0x1fc260['type']&&!_0x1fc260['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x467c70=!0x1){!_0x467c70&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2042b6=>{_0x2042b6&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x476d46=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x36aa87){return _0x36aa87['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36aa87['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x36aa87['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x476d46)||this['_crash'](_0x476d46['message'],_0x476d46,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x21df35=>{this['on']('change:_isPendingUpdate',()=>{_0x21df35();});});}async['_sendBufferedOperations'](){const _0x270e9a=this['editor']['plugins']['get'](J);if(this['_shouldSendSelectionUpdate']()&&(_0x270e9a['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2603e2=[...this['_bufferedOperations']];for(const _0x443e61 of _0x2603e2)_0x443e61['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x443e61);const _0x185669=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2603e2),_0x14bb03=Z++,_0x27eca6=this['_compressOperations'](_0x2603e2),_0x5a40fd=await this['_service']['sendOperations'](_0x27eca6,_0x27eca6['baseVersion'],_0x185669);try{return await this['_handleServerResponse'](_0x2603e2,_0x5a40fd,_0x14bb03);}catch(_0x2ff1e3){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2ff1e3);}}async['_handleServerResponse'](_0x1286ba,_0x479a8b,_0x5503cb){if('error'in _0x479a8b)throw _0x479a8b['error'];let _0x5df959=!0x1;if(_0x479a8b['wereChangesApplied']){_0x479a8b['lastOperationId']&&(this['_lastSyncedOperationId']=_0x479a8b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x44b596=>!_0x1286ba['includes'](_0x44b596));for(const _0xa80072 of _0x1286ba)_0xa80072['createdAt']='lastOperationAcceptedAt'in _0x479a8b&&_0x479a8b['lastOperationAcceptedAt']||void 0x0;it(_0x1286ba,_0x479a8b['version']-_0x1286ba['length']),this['_updateServerHistory'](_0x1286ba);const _0x2ac032=_0x1286ba['filter'](_0x2d981a=>{if(!_0x2d981a['_isInit'])return!0x1;const _0x55b651=this['_getAffectedRoot'](_0x2d981a);return _0x55b651&&!this['_knownRootNames']['has'](_0x55b651);});it(_0x2ac032,this['_document']['version']),this['_applyOperationsSet'](_0x2ac032),_0x5df959=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x45bd1b=this['_decompressOperations'](_0x479a8b['data'],_0x479a8b['metadata'])['filter'](_0x4357b6=>_0x4357b6['baseVersion']>=this['_lastServerVersion']);_0x45bd1b['forEach'](_0x13c73b=>this['_addKnownRoot'](_0x13c73b)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x47be01=>!_0x47be01['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x47be01))),this['_bufferedOperations']['length']&&it(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x45bd1b),_0x5df959=this['_handleExternalOperations'](_0x45bd1b,_0x479a8b['version'],_0x479a8b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5df959?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x494e61,_0x2538dc,_0x2bf8c7){try{const _0x38a26c={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x57d387,operationsB:_0x12b01d,originalOperations:_0x13de61}=_0x453bb3(_0x494e61,this['_bufferedOperations'],_0x38a26c);it(_0x57d387,this['_document']['version']),it(_0x12b01d,_0x2538dc);for(const _0x16cc18 of _0x57d387){const _0xe63d2a=_0x13de61['get'](_0x16cc18);_0x16cc18['_authorId']=_0xe63d2a?_0xe63d2a['_authorId']:null;}_0x2bf8c7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x494e61,_0x2bf8c7),this['_lastSyncedOperationId']=_0x2bf8c7),this['_bufferedOperations']=[..._0x12b01d],this['_applyOperationsSet'](_0x57d387),this['_updateServerHistory'](_0x494e61);}catch(_0x58bc4c){return console['error'](_0x58bc4c),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5d14e2,_0x31871e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a193f=>{for(const _0x410c0c of _0x5d14e2)this['_knownOperations']['add'](_0x410c0c),this['_addKnownRoot'](_0x410c0c),_0x3a193f['batch']['addOperation'](_0x410c0c),this['editor']['model']['applyOperation'](_0x410c0c);});}['_addKnownRoot'](_0x973b8c){const _0x18de1a=this['_getAffectedRoot'](_0x973b8c);_0x18de1a&&this['_knownRootNames']['add'](_0x18de1a);}['_getAffectedRoot'](_0x49a7c6){let _0x281594,_0x52da4c;switch(_0x49a7c6['type']){case'insert':_0x281594=_0x49a7c6['position']['root'];break;case'marker':if(_0x52da4c=_0x49a7c6['newRange'],!_0x52da4c)return null;_0x281594=_0x52da4c['root'];break;case'addRootAttribute':_0x281594=_0x49a7c6['root'];break;case'addRoot':_0x281594=_0x49a7c6['affectedSelectable'];break;case'move':_0x281594=_0x49a7c6['targetPosition']['root'];break;default:return null;}return _0x281594['rootName'];}['_updateServerHistory'](_0x317e53){_0x317e53['forEach'](_0x244aba=>{const _0x105f1c=_0x244aba['clone']();_0x105f1c['_authorId']=_0x244aba['_authorId'],_0x105f1c['_isInit']=!!_0x244aba['_isInit'],_0x105f1c['createdAt']=_0x244aba['createdAt'],_0x105f1c['baseVersion']+=this['_offset'],_0x244aba['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x105f1c),this['serverHistory']['addOperation'](_0x105f1c);});}['_handleReconnectionError'](_0x3d69fc){const _0x1e1f3f=this['editor']['plugins']['get']('Notification'),_0xf2aac=this['editor']['locale'];_0x3d69fc||(_0x3d69fc=Q(_0xf2aac,'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.')),_0x1e1f3f['showWarning'](_0x3d69fc,{'title':Q(_0xf2aac,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x368f32)['add'](Q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x368f32)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4cb562){const _0x76cb36=_0x4cb562['map'](_0x370842=>_0x370842['toJSON']());return this['_compressor']['compress'](_0x76cb36);}['_decompressOperations'](_0x5c3db2,_0x2c4d5f){return this['_compressor']['decompress'](_0x5c3db2)['map']((_0x2779c5,_0x4ff71a)=>{const _0x26cbf8='init'==_0x2c4d5f[_0x4ff71a]['type'];if('InsertOperation'==_0x2779c5['__className']){const _0x490b7d=_0x2779c5['position']['root'];!this['_document']['getRoot'](_0x490b7d)&&(this['_document']['createRoot']('$root',_0x490b7d)['_isAttached']=!0x1);}const _0x39670a=_0x1e5de9['fromJSON'](_0x2779c5,this['_document']);return _0x39670a['wasUndone']=_0x2779c5['wasUndone'],_0x39670a['_isInit']=_0x26cbf8,_0x39670a['_authorId']=_0x26cbf8?null:_0x2c4d5f[_0x4ff71a]['userId'],_0x39670a['_isDisconnection']='cs:removeUser'===_0x2c4d5f[_0x4ff71a]['type'],_0x39670a['createdAt']=_0x2c4d5f[_0x4ff71a]['createdAt'],_0x39670a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3e26ac=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3e26ac&&_0x3e26ac['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class tt extends Error{}function it(_0x42937e,_0x241cbd){for(const _0x4c1c0b of _0x42937e)_0x4c1c0b['baseVersion']=_0x241cbd++;}class st{['_ignoredOperations'];['_operationToId'];constructor(_0x58a2b0){this['_ignoredOperations']=_0x58a2b0,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xc78e90){let _0x55a0a7=_0xc78e90['length'];for(;_0x55a0a7--;){const _0x3ce8f6=_0xc78e90[_0x55a0a7];if(!this['_ignoredOperations']['has'](_0x3ce8f6)){if(!this['_operationToId']['has'](_0x3ce8f6)){const _0x42a061=_0x301035()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3ce8f6,_0x42a061);}return this['_operationToId']['get'](_0x3ce8f6);}}}['setIdForTheLastOperation'](_0x4f4f96,_0x2b93bd){if(!_0x2b93bd)return;let _0x45f7ba=_0x4f4f96['length'];for(;_0x45f7ba--;){const _0x9ae605=_0x4f4f96[_0x45f7ba];this['_ignoredOperations']['has'](_0x9ae605)||this['_operationToId']['set'](_0x9ae605,_0x2b93bd);}}}class n extends _0x50372a{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x37a9d3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x2fcac4)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4c3346];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x203d3f){super(_0x203d3f),this['_services']=new Map();}async['init'](){const _0x4fb797=this['context'],_0xe59c4e=_0x4fb797['plugins']['get']('CommentsRepository');if(_0x4fb797['plugins']['get'](c)['addToReconnectionStack'](this),_0xe59c4e['adapter']={'addCommentThread':async({channelId:_0x4cd9a1,threadId:_0x3420bf,comments:_0x18d822,resolvedAt:_0x30d2d6,resolvedBy:_0x4a8414,context:_0x2d6c94,attributes:_0x3d1620})=>{const _0x4b1608=await this['_getService'](_0x4cd9a1)['addCommentThread']({'commentThreadId':_0x3420bf,'comments':_0x18d822['map'](_0x2d70df=>function(_0x249ff1,_0x2982c2,_0x20dafa){return{'commentThreadId':_0x20dafa,'commentId':_0x249ff1['commentId'],'userId':_0x249ff1['authorId'],'content':_0x249ff1['content'],'documentId':_0x2982c2,'createdAt':_0x249ff1['createdAt'],'attributes':_0x249ff1['attributes']||{}};}(_0x2d70df,_0x4cd9a1,_0x3420bf)),'resolvedAt':_0x30d2d6,'resolvedBy':_0x4a8414,'context':_0x2d6c94,'attributes':_0x3d1620})['catch'](dt);return{'threadId':_0x4b1608['commentThreadId'],'comments':_0x4b1608['comments']};},'getCommentThread':async({channelId:_0x20fc95,threadId:_0x5be569})=>{const _0x28bbb7=await this['_getService'](_0x20fc95)['getCommentThread'](_0x5be569)['catch'](dt);return _0x28bbb7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x28bbb7]),{'threadId':_0x28bbb7['commentThreadId'],'comments':_0x28bbb7['comments']['map'](S),'context':_0x28bbb7['context'],'resolvedAt':_0x28bbb7['resolvedAt'],'resolvedBy':_0x28bbb7['resolvedBy'],'attributes':_0x28bbb7['attributes']||{}});},'updateCommentThread':async({channelId:_0x581bdb,threadId:_0x1edd08,context:_0x47c239,unlinkedAt:_0x276e82,attributes:_0x282691})=>this['_getService'](_0x581bdb)['updateCommentThread']({'commentThreadId':_0x1edd08,'context':_0x47c239,'attributes':_0x282691,'unlinkedAt':_0x276e82})['catch'](B)['catch'](dt),'resolveCommentThread':async({channelId:_0x32055b,threadId:_0x3c8224})=>{const _0x514117=await this['_getService'](_0x32055b)['resolveCommentThread'](_0x3c8224)['catch'](B)['catch'](dt);return{'threadId':_0x514117['commentThreadId'],'resolvedAt':_0x514117['resolvedAt'],'resolvedBy':_0x514117['resolvedBy']};},'reopenCommentThread':async({channelId:_0x49a056,threadId:_0x398f17})=>this['_getService'](_0x49a056)['reopenCommentThread'](_0x398f17)['catch'](B)['catch'](dt),'removeCommentThread':({channelId:_0x22a6fe,threadId:_0x441628})=>this['_getService'](_0x22a6fe)['removeCommentThread'](_0x441628)['catch'](B)['catch'](dt),'addComment':({channelId:_0x48bef4,threadId:_0x5da0a0,commentId:_0x485c5c,content:_0x5de220,attributes:_0x55129a})=>this['_getService'](_0x48bef4)['addComment'](_0x5da0a0,_0x485c5c,_0x5de220,_0x55129a)['catch'](dt),'updateComment':({channelId:_0x19031b,threadId:_0x3ed5e7,commentId:_0x2a3ad5,content:_0x3eef45,attributes:_0x121149})=>this['_getService'](_0x19031b)['updateComment'](_0x3ed5e7,_0x2a3ad5,_0x3eef45,_0x121149)['catch'](B)['catch'](dt),'removeComment':({channelId:_0x35b92d,threadId:_0x225d0d,commentId:_0x14092e})=>this['_getService'](_0x35b92d)['removeComment'](_0x225d0d,_0x14092e)['catch'](B)['catch'](dt)},_0x4fb797 instanceof _0x112e10){const _0x4d38ea=_0x4fb797['config']['get']('collaboration.channelId'),_0x13ce2d=_0x4fb797['plugins']['get'](i);await this['_setUpService'](_0x4d38ea);const _0xcc3ebd=await this['_services']['get'](_0x4d38ea)['getConnectedSessions']();this['listenTo'](_0x13ce2d,'sessionAdd:'+_0x4d38ea,(_0x529fcc,{session:_0x2d8c8b})=>{_0x2d8c8b['id']===_0x13ce2d['mySessionId']&&(_0x529fcc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2d8c8b['permissions'],_0x4d38ea));}),_0x13ce2d['register'](_0x4d38ea,_0xcc3ebd);}}async['_setUpService'](_0x2859d0){if(this['_services']['has'](_0x2859d0))throw new _0x408616('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2859d0});const _0x81796e=this['context']['plugins']['get']('CommentsRepository'),_0x51fa2d=new a['CommentsService'](_0x2859d0);this['_services']['set'](_0x2859d0,_0x51fa2d),this['listenTo'](_0x51fa2d,'commentThreadAdded',(_0x261e84,_0x2d4f8e)=>{const {commentThreadId:_0x54602b,documentId:_0x4e0db4,context:_0x461943,attributes:_0x142026,resolvedAt:_0x45caa6,resolvedBy:_0x2e3ea2,comments:_0x2d5949}=_0x2d4f8e;_0x81796e['getCommentThread'](_0x54602b)||_0x81796e['addCommentThread']({'threadId':_0x54602b,'channelId':_0x4e0db4,'comments':_0x2d5949?_0x2d5949['map'](S):[],'context':_0x461943,'attributes':_0x142026,'resolvedAt':_0x45caa6,'resolvedBy':_0x2e3ea2,'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentThreadUpdated',(_0x19c496,{commentThreadId:_0x3a28ae,documentId:_0x2920b8,context:_0x2d73ea,unlinkedAt:_0xe84df,attributes:_0x5bfc73})=>{_0x81796e['getCommentThread'](_0x3a28ae)&&_0x81796e['updateCommentThread']({'threadId':_0x3a28ae,'channelId':_0x2920b8,'context':_0x2d73ea,'unlinkedAt':_0xe84df,'attributes':_0x5bfc73,'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentThreadResolved',(_0x59fa5b,{commentThreadId:_0x5ed39e,resolvedBy:_0x4c50f6,resolvedAt:_0xf74b91})=>{const _0x158d73=_0x81796e['getCommentThread'](_0x5ed39e);_0x158d73&&_0x158d73['resolve']({'resolvedBy':_0x4c50f6,'resolvedAt':_0xf74b91,'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentThreadReopened',(_0x1fc94b,{commentThreadId:_0x59a2cc})=>{const _0x29cca7=_0x81796e['getCommentThread'](_0x59a2cc);_0x29cca7&&_0x29cca7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentThreadRemoved',(_0x58f5a4,{commentThreadId:_0x55ce8d})=>{const _0x265fe0=_0x81796e['getCommentThread'](_0x55ce8d);_0x265fe0&&_0x265fe0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentAdded',(_0x2f32bc,_0x1c1ea8)=>{const _0x2a9bd4=_0x1c1ea8['commentThreadId'],_0x4bb639=_0x81796e['getCommentThread'](_0x2a9bd4);_0x4bb639&&_0x4bb639['addComment']({...S(_0x1c1ea8),'isFromAdapter':!0x0});}),this['listenTo'](_0x51fa2d,'commentUpdated',(_0x126684,{commentThreadId:_0x598c3d,commentId:_0x33c08f,content:_0x3ade66,attributes:_0x4ca2f5})=>{const _0x28aa11=_0x81796e['getCommentThread'](_0x598c3d);if(_0x28aa11){const _0x29688e=_0x28aa11['getComment'](_0x33c08f);_0x29688e&&_0x29688e['update']({'content':_0x3ade66,'attributes':_0x4ca2f5,'isFromAdapter':!0x0});}}),this['listenTo'](_0x51fa2d,'commentRemoved',(_0x3d71a6,{commentThreadId:_0x2aeec5,commentId:_0x218c11})=>{const _0x2bf15d=_0x81796e['getCommentThread'](_0x2aeec5);if(_0x2bf15d){const _0xeb125e=_0x2bf15d['getComment'](_0x218c11);_0xeb125e&&_0xeb125e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2859d0);}['destroy'](){if(this['context']instanceof _0x112e10){const _0x563767=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x563767);}}['_terminateService'](_0x57cb46){if(!this['_services']['has'](_0x57cb46))throw new _0x408616('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x57cb46});this['_getService'](_0x57cb46)['disconnect'](),this['_services']['delete'](_0x57cb46);}async['reconnect'](){for(const _0x88d658 of this['_services']['keys']())await this['_connectService'](_0x88d658);if(this['context']instanceof _0x112e10){const _0x12d8b4=this['context']['config']['get']('collaboration.channelId'),_0x287e1a=this['context']['plugins']['get'](i);_0x287e1a['unregister'](_0x12d8b4);const _0x331684=await this['_services']['get'](_0x12d8b4)['getConnectedSessions']();_0x287e1a['register'](_0x12d8b4,_0x331684);}}async['_connectService'](_0x4ad732){const {connection:_0x2508a6}=this['context']['plugins']['get'](c),_0x3347c2=this['context']['plugins']['get']('CommentsRepository'),_0x4fc6e0=this['_services']['get'](_0x4ad732),_0x2139e0=await _0x4fc6e0['connect'](_0x2508a6);await this['_fetchMissingUsersForThreads'](_0x2139e0);const _0x162206=new Set(Array['from'](_0x3347c2['getCommentThreads']({'channelId':_0x4ad732}),_0x21960e=>_0x21960e['id']));for(const _0x96374b of _0x2139e0)_0x96374b['deletedAt']||_0x162206['delete'](_0x96374b['commentThreadId']);for(const _0x1fe4f4 of _0x162206)_0x3347c2['getCommentThread'](_0x1fe4f4)['remove']({'isFromAdapter':!0x0});for(const _0x5cfb57 of _0x2139e0){let _0x1fa430=_0x3347c2['getCommentThread'](_0x5cfb57['commentThreadId']);const {commentThreadId:_0x1de89f,context:_0x132a21,attributes:_0x199415,resolvedBy:_0xd8f423,resolvedAt:_0x11b49f,unlinkedAt:_0x83d5d2,deletedAt:_0x58eb9c}=_0x5cfb57;if(_0x58eb9c)continue;_0x1fa430||(_0x1fa430=_0x3347c2['addCommentThread']({'channelId':_0x4ad732,'threadId':_0x1de89f,'context':_0x132a21,'attributes':_0x199415||{},'resolvedBy':_0xd8f423,'resolvedAt':_0x11b49f,'unlinkedAt':_0x83d5d2,'isFromAdapter':!0x0}));const _0x1b84a2=new Set(Array['from'](_0x1fa430['comments'],_0xfdf117=>_0xfdf117['id']));for(const _0x4ca0af of _0x5cfb57['comments'])_0x1b84a2['delete'](_0x4ca0af['commentId']);for(const _0x310fae of _0x1b84a2)_0x1fa430['getComment'](_0x310fae)['remove']({'isFromAdapter':!0x0});for(const _0x34f5f3 of _0x5cfb57['comments']){const _0x1d3256=_0x1fa430['getComment'](_0x34f5f3['commentId']);_0x1d3256?_0x1d3256['content']!==_0x34f5f3['content']&&_0x1d3256['update']({'content':_0x34f5f3['content'],'isFromAdapter':!0x0}):_0x1fa430['addComment'](Object['assign'](S(_0x34f5f3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2e61a4){if(!this['_services']['has'](_0x2e61a4))throw new _0x408616('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2e61a4});return this['_services']['get'](_0x2e61a4);}async['_fetchMissingUsersForThreads'](_0x1fd44a){const _0x5e0b3e=this['context']['plugins']['get'](_0x4c3346),{connection:_0x1ebf38}=this['context']['plugins']['get'](c),_0x185cc1=new Set();for(const {resolvedBy:_0x4589a1,comments:_0x23f30d}of _0x1fd44a){_0x4589a1&&!_0x5e0b3e['getUser'](_0x4589a1)&&_0x185cc1['add'](_0x4589a1);for(const {userId:_0x35156b}of _0x23f30d)_0x5e0b3e['getUser'](_0x35156b)||_0x185cc1['add'](_0x35156b);}if(0x0===_0x185cc1['size'])return;const _0x5d1a00=await lt['getMany'](_0x1ebf38,Array['from'](_0x185cc1));for(const _0x4cf02d of _0x5d1a00)_0x5e0b3e['getUser'](_0x4cf02d['id'])||_0x5e0b3e['addUser'](_0x4cf02d);}}async function B(_0x3286db){if('404'!==_0x3286db['code'])throw _0x3286db;}function dt(_0x184926){if((_0x5b9c4b=_0x184926)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5b9c4b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b9c4b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5b9c4b;throw _0x184926;}function S(_0x277c97){return{'threadId':_0x277c97['commentThreadId'],'commentId':_0x277c97['commentId'],'content':_0x277c97['content'],'createdAt':_0x277c97['createdAt'],'authorId':_0x277c97['userId'],'attributes':_0x277c97['attributes']||{}};}class f extends _0x50372a{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x3715b6)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cb4ca){super(_0x3cb4ca);const _0x2b33ec=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x2b33ec);}['init'](){const _0x57ead0=this['editor']['plugins']['get'](c),_0x4196c3=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4196c3['adapter']={'getSuggestion':async _0x1a684f=>{await this['_waitForServiceReady']();const _0x43a307=await this['_trackChangesService']['get'](_0x1a684f)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x43a307]),_0x43a307;},'addSuggestion':async({id:_0x58c437,type:_0x4f5819,data:_0x54ca2a,originalSuggestionId:_0xc494f0,attributes:_0x8ee014})=>{await this['_waitForServiceReady']();const _0x47af8b={'id':_0x58c437,'type':_0x4f5819,'data':_0x54ca2a,'originalSuggestionId':_0xc494f0,'attributes':_0x8ee014},_0x4c4db2=await this['_trackChangesService']['add'](_0x58c437,_0x4f5819,_0x54ca2a,_0xc494f0,_0x8ee014)['catch'](_0x1839f5=>{if(ut(_0x1839f5))return new Promise(_0x56f2b7=>{this['_bufferedRequests']['set'](_0x58c437,{'resolve':_0x56f2b7,'suggestionData':_0x47af8b});});throw _0x1839f5;});return this['_bufferedRequests']['delete'](_0x58c437),_0x4c4db2;},'updateSuggestion':async(_0x144b0f,_0x1576a6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1576a6['state'])return this['_trackChangesService']['update'](_0x144b0f,_0x1576a6)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28feed,_0x227ee3)=>{_0x4196c3['hasSuggestion'](_0x227ee3['id'])&&(_0x4196c3['getSuggestion'](_0x227ee3['id'])['attributes']=_0x227ee3['attributes']);}),this['_trackChangesService']['connect'](_0x57ead0['connection'])['then'](_0x12b2d9=>(_0x57ead0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x12b2d9)['then'](()=>{for(const _0x257c05 of _0x12b2d9){_0x4196c3['addSuggestionData'](_0x257c05)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5c5dc6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5b5713}=this['editor']['plugins']['get'](c),_0x40f528=await this['_trackChangesService']['connect'](_0x5b5713);await this['_fetchMissingUsersForThreads'](_0x40f528);for(const {suggestionData:_0x378b65,resolve:_0x1e70cf}of this['_bufferedRequests']['values']()){let _0x2e17d0=_0x40f528['find'](_0x304bb4=>_0x304bb4['id']===_0x378b65['id']);_0x2e17d0||(_0x2e17d0=await this['_trackChangesService']['add'](_0x378b65['id'],_0x378b65['type'],_0x378b65['data'],_0x378b65['originalSuggestionId'])),_0x1e70cf(_0x2e17d0);}for(const _0x324c91 of _0x40f528)_0x5c5dc6['hasSuggestion'](_0x324c91['id'])||_0x5c5dc6['addSuggestionData'](_0x324c91);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2d028d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x204485=>{_0x204485['off'](),_0x2d028d();});});}async['_fetchMissingUsersForThreads'](_0x5b188e){const _0x2674f1=this['editor']['plugins']['get'](_0x4c3346),{connection:_0x61cae6}=this['editor']['plugins']['get'](c),_0x2b272d=new Set();for(const {authorId:_0x48da32}of _0x5b188e)_0x2674f1['getUser'](_0x48da32)||_0x2b272d['add'](_0x48da32);if(0x0===_0x2b272d['size'])return;const _0x4a246b=await lt['getMany'](_0x61cae6,Array['from'](_0x2b272d));for(const _0x4f7c56 of _0x4a246b)_0x2674f1['getUser'](_0x4f7c56['id'])||_0x2674f1['addUser'](_0x4f7c56);}}function R(_0x4f5f03){if(ut(_0x4f5f03))return new Promise(()=>{});throw _0x4f5f03;}function ut(_0x58c6f3){return _0x58c6f3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x58c6f3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x50372a{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x20557a=this['editor']['plugins']['get'](c),_0x2e9ba1=this['editor']['plugins']['get']('CommentsEditing'),_0x77c8b2=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x20557a,'change:state',(_0x1619fd,_0x32e1c4,_0x494523)=>{_0x2e9ba1['isThreadsLoadingPaused']='connected'!==_0x494523;});}),this['listenTo'](_0x20557a,'change:state',(_0x2ce699,_0x4e938d,_0x1409c4)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1409c4);}),_0x77c8b2['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x50372a{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x50372a{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x20d94b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4c3346];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3335c3){super(_0x3335c3);const _0x17d594=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x17d594);}async['init'](){const _0x43e13b=this['editor']['plugins']['get'](l),_0x5945e0=_0x43e13b['serverHistory'],_0x265929=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x5945e0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x43e13b['sessionId']});const _0x3f9524=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x362857=await _0x2f88e7['isBundleUploaded'](_0x265929['connection'],_0x3f9524);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x5681e9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5681e9)),'updateRevisions':async _0x5d4c73=>{await this['_waitForServiceReady']();const _0x1dd2b0=this['_revisionTracker']['currentRevision'];if(_0x362857&&0x1===_0x5d4c73['length']&&_0x5d4c73[0x0]['id']===_0x1dd2b0['id'])return _0x5d4c73;for(const _0x232fc6 of _0x5d4c73)_0x232fc6['id']===_0x1dd2b0['id']&&(_0x232fc6['isEmptyCurrent']=_0x232fc6['fromVersion']===_0x232fc6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5d4c73,this['_lastRequestId'])['then'](_0x2912b4=>(this['_lastRequestId']=_0x2912b4,_0x5d4c73))['catch'](_0xe13d99=>{if(U(_0xe13d99)||'400'===_0xe13d99['code']&&void 0x0!==_0xe13d99['data']['wrongRequestId']){for(const _0x52c7cc of _0x5d4c73){!this['_revisionTracker']['repository']['getRevision'](_0x52c7cc['id'])||this['_revisionTracker']['_bufferUpdate'](_0x52c7cc['id'],_0x52c7cc,!0x1);}if(U(_0xe13d99))throw _0xe13d99;return _0x5d4c73;}throw _0xe13d99;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2c345a,{revisionsData:_0x2d8dca,requestId:_0x517b4f})=>{Math['max'](..._0x2d8dca['map'](_0x56cff7=>_0x56cff7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2d8dca,_0x517b4f);}):this['_handleRevisionsUpdate'](_0x2d8dca,_0x517b4f);});const {revisions:_0x4223b6,requestId:_0x3468ef}=await this['_revisionHistoryService']['connect'](_0x265929['connection']);_0x265929['addToReconnectionStack'](this),this['_lastRequestId']=_0x3468ef,await this['_fetchMissingUsers'](_0x4223b6);for(const _0x298f37 of _0x4223b6)this['_revisionTracker']['addRevisionData'](_0x298f37);this['listenTo'](_0x43e13b,'change:_isConnected',(_0x269e9b,_0x4297b7,_0x4fe7a2)=>{_0x4fe7a2&&(this['_oldOffset']=_0x43e13b['_offset'],_0x269e9b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x265929,'state',_0x21d9c9=>_0x21d9c9===_0x39f1be['CONNECTED']);}async['reconnect'](){const _0x5d9f18=this['editor']['plugins']['get'](c),_0x58d57d=this['editor']['plugins']['get'](l),_0x18ef1a=async()=>{const _0x43ebe9=this['_revisionTracker']['currentRevision'],_0x1db6b1=_0x43ebe9['id'],_0x1090ec=_0x1db6b1!==_0x58d57d['sessionId'];if(_0x1090ec){const _0x4e5f4c=_0x58d57d['_offset']-this['_oldOffset'],_0x9c289f=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x43ebe9['toVersion']+_0x4e5f4c!==_0x9c289f){const _0x1039df=_0x43ebe9['fromVersion']+_0x4e5f4c,_0x25fc3d=this['editor']['plugins']['get'](_0x4c3346),_0x4fdab9=this['_revisionTracker']['buildRevisionData']({'revision':_0x43ebe9,'from':_0x1039df,'to':_0x9c289f});_0x4fdab9['id']=_0x43ebe9['id'];const _0x74d991=_0x4fdab9['authorsIds']['map'](_0x43f931=>_0x25fc3d['getUser'](_0x43f931));_0x43ebe9['_update']({..._0x4fdab9,'authors':_0x74d991},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x43ebe9['id'],_0x4fdab9,!0x0);}this['_revisionTracker']['_startingVersion']=_0x9c289f,(_0x43ebe9['toVersion']===_0x43ebe9['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1db6b1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1db6b1),this['_revisionTracker']['_createCurrentRevision'](_0x9c289f));}const {revisions:_0x3ad5e8,requestId:_0xa9019d}=await this['_revisionHistoryService']['reconnect'](_0x5d9f18['connection'],this['_lastRequestId']);_0x1090ec&&_0x3ad5e8['length']>0x0?_0x58d57d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3ad5e8),this['_handleRevisionsUpdate'](_0x3ad5e8,_0xa9019d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58d57d['_isConnected']?_0x18ef1a():new Promise((_0x3f164b,_0x1cb8e6)=>{_0x58d57d['once']('change:_isConnected',()=>{_0x18ef1a()['then'](_0x3f164b)['catch'](_0x1cb8e6);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x25b7d7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x589228=>{_0x589228['off'](),_0x25b7d7();});});}['_getLatestVersionFromServerOperations'](){const _0x346069=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3d4f5d of _0x346069)if('marker'!==_0x3d4f5d['type']||_0x3d4f5d['affectsData'])return _0x3d4f5d['baseVersion']+0x1;}['_getLatestVersion'](){const _0x61d21a=this['editor']['plugins']['get'](l);return new Promise(_0x1a2d16=>{_0x61d21a['_isPendingUpdate']?_0x61d21a['once']('change:_isPendingUpdate',()=>{_0x1a2d16(this['_getLatestVersionFromServerOperations']());}):_0x1a2d16(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd9feed,_0x5b0bea){const _0x2ad339=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5b0bea;for(const _0x1b89d5 of _0xd9feed){const _0x1bc378=_0x2ad339['getRevision'](_0x1b89d5['id']);if(_0x1bc378){if((_0x1b89d5['fromVersion']||_0x1b89d5['toVersion'])&&(_0x1b89d5['diffData']=null),_0x1bc378===this['_revisionTracker']['currentRevision']){const _0x2701f2=Math['max'](_0x1bc378['toVersion'],_0x1b89d5['toVersion']),_0x2f2c1b=Math['max'](_0x1bc378['fromVersion'],_0x1b89d5['fromVersion']);let _0xe21026;_0x1bc378['toVersion']===_0x1b89d5['toVersion']&&_0x1bc378['fromVersion']===_0x1b89d5['fromVersion']?(_0xe21026=!0x0,this['_preventResendingRevisionData'](_0x1b89d5)):_0x1b89d5['toVersion']===_0x2701f2&&_0x1b89d5['fromVersion']===_0x2f2c1b?_0xe21026=!0x1:(_0x1bc378['toVersion']===_0x2701f2&&_0x1bc378['fromVersion']===_0x2f2c1b||this['_fixRevision']({'revision':_0x1bc378,'from':_0x2f2c1b,'to':_0x2701f2}),_0xe21026=!0x0),_0xe21026&&(delete _0x1b89d5['fromVersion'],delete _0x1b89d5['toVersion'],delete _0x1b89d5['diffData'],delete _0x1b89d5['createdAt'],delete _0x1b89d5['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b89d5),this['_preventResendingRevisionData'](_0x1b89d5);}else this['_revisionTracker']['addRevisionData'](_0x1b89d5);}const _0x50ba41=_0x2ad339['getRevisions']();_0x50ba41['reverse']();for(let _0xa0c3ea=0x0;_0xa0c3ea<_0x50ba41['length']-0x1;_0xa0c3ea++){const _0x25a682=_0x50ba41[_0xa0c3ea],_0x53cd71=_0x50ba41[_0xa0c3ea+0x1];if(_0x25a682['fromVersion']<_0x53cd71['toVersion']){const _0x4c7f16=_0x53cd71['toVersion'],_0x2c4f94=Math['max'](_0x4c7f16,_0x25a682['toVersion']);this['_fixRevision']({'revision':_0x25a682,'from':_0x4c7f16,'to':_0x2c4f94});}}}['_fixRevision']({revision:_0x32e5d4,from:_0x45527e,to:_0x139e71}={}){const _0x4a7de3=this['editor']['plugins']['get'](_0x4c3346),_0x13b666=this['_revisionTracker']['buildRevisionData']({'revision':_0x32e5d4,'from':_0x45527e,'to':_0x139e71});_0x13b666['authors']=_0x13b666['authorsIds']['map'](_0xc619b4=>_0x4a7de3['getUser'](_0xc619b4)),_0x32e5d4['_update'](_0x13b666);}['_preventResendingRevisionData'](_0x5c159b){const _0x563f45={};_0x563f45['id']=_0x5c159b['id'];for(const _0x295536 of Object['keys'](_0x5c159b))'id'!==_0x295536&&(_0x563f45[_0x295536]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x563f45['id'],_0x563f45,!0x0);}async['_fetchMissingUsers'](_0x59feaf){const _0x19839e=this['editor']['plugins']['get'](_0x4c3346),{connection:_0x58bb33}=this['editor']['plugins']['get'](c),_0xabc583=new Set();for(const _0x24c934 of _0x59feaf){for(const _0x24e53d of _0x24c934['authorsIds'])_0x2733ce(_0x24e53d);_0x24c934['creatorId']&&_0x2733ce(_0x24c934['creatorId']);}if(0x0===_0xabc583['size'])return;const _0x812fff=await lt['getMany'](_0x58bb33,Array['from'](_0xabc583));for(const _0xa279e of _0x812fff)_0x19839e['getUser'](_0xa279e['id'])||_0x19839e['addUser'](_0xa279e);function _0x2733ce(_0x9d6c8){_0x19839e['getUser'](_0x9d6c8)||_0xabc583['add'](_0x9d6c8);}}}function U(_0x2f01d3){return _0x2f01d3['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2f01d3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f01d3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x50372a{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x32c1aa{constructor(_0x99282d){super(_0x99282d);const _0x2fe8f0=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x2fe8f0['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x2fe8f0['to']('usersCount',_0x4a947f=>Q(_0x99282d,'CONNECTED_USERS',_0x4a947f))}]});}}class es extends _0x32c1aa{['items'];['keystrokes'];constructor(_0x1c64a1){super(_0x1c64a1);const _0x5d62ec=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x60e8df(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5d62ec['if']('hasPopup'),'aria-expanded':_0x5d62ec['to']('isExpanded',_0x1052d2=>this['hasPopup']&&String(_0x1052d2)),'aria-label':_0x5d62ec['to']('hasPopup',_0x41c488=>Q(_0x1c64a1,_0x41c488?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5d62ec['to']('hasPopup',_0x1c1000=>!!_0x1c1000&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x5d62ec['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x1b6c96,_0x41ee2a,_0x43d221)=>{this['element']&&(_0x43d221?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class L extends _0x32c1aa{['counterView'];['inlineListView'];constructor(_0xbb82cc){super(_0xbb82cc);const _0x4d6c23=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xbb82cc),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5abe92 of this['inlineListView']['items'])_0x5abe92['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',_0x4d6c23['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x32c1aa{['listWrapperView'];constructor(_0x14c926,_0x3dbaeb){super(_0x14c926),this['listWrapperView']=new ft(_0x14c926,_0x3dbaeb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':Q(_0x14c926,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class ft extends _0x5e215a{constructor(_0x53fe56,_0xeb3e12){super(_0x53fe56);const _0x523b94=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xeb3e12?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x523b94['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x523b94['to']('role'),'aria-label':_0x523b94['to']('ariaLabel'),'aria-labelledby':_0x523b94['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x38475b['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4d3c33=this['element'];_0x4d3c33&&(this['_isScrollable']=Math['max'](_0x4d3c33['scrollHeight'],_0x4d3c33['clientHeight'])>0.8*window['innerHeight']);}}class k extends et{['userView'];constructor(_0x45bab6,_0x46441e,_0x18ca97){super(_0x45bab6);const _0x2295c5=this['bindTemplate'];this['userView']=new rt(_0x45bab6,_0x46441e);const _0xda6f3b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x46441e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x46441e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x46441e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x18ca97&&(_0xda6f3b['tag']='button',_0xda6f3b['on']={'click':_0x2295c5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xda6f3b);}['focus'](){this['element']['focus']();}}class y extends _0x32c1aa{['userView'];['markerView'];constructor(_0x155632,_0x11163b,_0x168381){super(_0x155632);const _0x22b73f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new rt(_0x155632,_0x11163b),this['markerView']=new ct(_0x155632,_0x11163b);const _0x3ad4bb=new ot(_0x155632);_0x3ad4bb['template']['tag']='span',_0x3ad4bb['text']=_0x11163b['name'];const _0x18c731={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x22b73f['to']('isFocusable',_0x595e2d=>!!_0x595e2d&&0x0),'aria-labelledby':_0x3ad4bb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x22b73f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x22b73f['to']('hasTooltip',_0x1625a1=>!_0x1625a1),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3ad4bb]};_0x168381&&(_0x18c731['tag']='button',_0x18c731['on']={'click':_0x22b73f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x18c731);}}class ct extends _0x32c1aa{constructor(_0x2acadf,_0x24c0fa){super(_0x2acadf),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x24c0fa['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x37a9d3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4cadb1){super(_0x4cadb1),this['context']['config']['define']('presenceList',A);const _0x31d572=_0x4cadb1['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x31d572)throw new _0x408616('presencelist-collapseat-invalid-format',this);if(_0x31d572<0x1)throw new _0x408616('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5da562(),this['balloonPanelView']=new _0x4bb92d(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x448557 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x448557);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2ae293,_0x1e748f)=>{this['_handleUserAdd'](_0x1e748f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x277e3d,_0x77f534)=>{this['_handleUserRemove'](_0x77f534);});}['_createView'](){const _0x371173=this['context'],_0x2cc2c8=new L(this['context']['locale']),_0x48a799=this['balloonPanelView'];if(!_0x1667f2(_0x371173['config']['get']('presenceList.container')))throw new _0x408616('presencelist-missing-container',this);return _0x2cc2c8['counterView']['bind']('usersCount')['to'](this),_0x2cc2c8['bind']('isCollapsed')['to'](this,'usersCount',_0x405e63=>{const {collapseAt:_0x5e9170,displayMe:_0x262b17}=_0x371173['config']['get']('presenceList'),_0x49224c=_0x405e63>=_0x5e9170;return _0x2cc2c8['counterView']['isHidden']=!(0x1==_0x405e63&&_0x262b17||_0x49224c),_0x49224c||this['hideDropdown'](),_0x49224c;}),_0x2cc2c8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x15db90=>{const _0x406c99=_0x371173['config']['get']('presenceList'),_0xbb6ed5=new y(_0x371173['locale'],_0x15db90,!!_0x406c99['onClick']);return _0xbb6ed5['bind']('hasTooltip')['to'](_0x2cc2c8,'isCollapsed',_0x175d65=>!_0x175d65),_0xbb6ed5['bind']('isFocusable')['to'](_0x2cc2c8,'isCollapsed',_0x5cd35f=>!_0x5cd35f),_0x406c99['onClick']&&this['listenTo'](_0xbb6ed5,'execute',()=>{this['view']['isCollapsed']||_0x406c99['onClick'](_0x15db90,_0xbb6ed5['element']);}),_0xbb6ed5;}),this['listenTo'](_0x2cc2c8['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x2cc2c8['inlineListView']['keystrokes']['set']('Enter',(_0x24c4ab,_0x68243a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x68243a());}),_0x2cc2c8['render'](),_0x48a799['render'](),_0x452c2f({'emitter':_0x2cc2c8,'activator':()=>_0x48a799['isVisible'],'contextElements':[_0x48a799['element'],_0x2cc2c8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x371173['config']['get']('presenceList.container')['appendChild'](_0x2cc2c8['element']),this['_bodyCollection']=new _0x400f02(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2cc2c8;}['_handleUserAdd'](_0x5923f6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5923f6['isMe'])return;const _0x234ce4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x234ce4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x353801=_0x5923f6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5923f6,_0x353801);}['_handleUserRemove'](_0x468634){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x468634['id'])&&(this['currentDisplayedUsers']['remove'](_0x468634['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x8b8a0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x8b8a0c['id']))return void this['currentDisplayedUsers']['add'](_0x8b8a0c,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4ef9bb=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x4ef9bb['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x177eba}=this['presenceDropdownView'];_0x177eba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xcae3b8=>{if(!_0x4ef9bb['displayMe']&&_0xcae3b8['isMe'])return null;const _0x55639f=new k(this['context']['locale'],_0xcae3b8,!!_0x4ef9bb['onClick']);return _0x4ef9bb['onClick']&&this['listenTo'](_0x55639f,'execute',()=>{_0x4ef9bb['onClick'](_0xcae3b8,_0x55639f['element']);}),_0x55639f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x177eba['focus'](),_0x177eba['checkIfScrollable']();const _0x559eae=(_0x4ecf5c,_0x1330db)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1330db();};_0x177eba['keystrokes']['set']('Esc',_0x559eae),_0x177eba['keystrokes']['set']('Shift+Tab',_0x559eae),_0x177eba['keystrokes']['set']('Tab',(_0x23ba25,_0x41491c)=>{!function(_0x551708){const _0x29e028=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5378fd=>_0x5378fd+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x39489a=[...document['body']['querySelectorAll'](_0x29e028)]['filter'](_0x2a626c=>_0x2a626c===document['activeElement']||_0x2a626c['offsetWidth']+_0x2a626c['offsetHeight']>0x0)['sort']((_0x32d156,_0x3f229b)=>(_0x32d156['tabIndex']||0x0)-(_0x3f229b['tabIndex']||0x0)),_0x10d74b=_0x39489a['indexOf'](_0x551708),_0xe0dc73=_0x39489a[(_0x10d74b+0x1)%_0x39489a['length']];_0xe0dc73&&_0xe0dc73['focus']();}(this['view']['element']),this['hideDropdown'](),_0x41491c();}),_0x177eba['focusTracker']['add'](this['view']['element']),_0x177eba['focusTracker']['on']('change:isFocused',(_0x1f614c,_0x5252ba,_0x16f62f)=>{_0x16f62f||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x37a9d3{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
8
  */
9
9
  /**
10
10
  * @module real-time-collaboration/presencelist/presencelistui
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
8
  */
9
9
  import { View } from 'ckeditor5/src/ui.js';
10
10
  import type { Locale } from 'ckeditor5/src/utils.js';
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
8
  */
9
9
  import { ListItemView } from 'ckeditor5/src/ui.js';
10
10
  import type { Locale } from 'ckeditor5/src/utils.js';
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
8
  */
9
9
  /**
10
10
  * @module real-time-collaboration/presencelist/view/presencedropdownlistview