@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.1 → 48.1.0-alpha.2

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 (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x56b782,Plugin as _0x19341c,PendingActions as _0x5e3152,Context as _0x5d5394}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b994f,CKEditorError as _0x2b4c1a,Collection as _0x3ca9e9,global as _0x3d1191,version as _0x45cdfc,uid as _0x42c77e,KeystrokeHandler as _0x32ce2b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2813f5,View as _0x1e867e,ListView as _0x4af250,ListItemView as _0x48f89e,LabelView as _0x2df49d,BalloonPanelView as _0x39d104,clickOutsideHandler as _0x3f118c,BodyCollection as _0x2bbc41}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x330ca4,History as _0x5862fd,NoOperation as _0x4723a8,InsertOperation as _0x5c51d2,MarkerOperation as _0x4c1e0d,RootAttributeOperation as _0x3307e4,transformOperationSets as _0x2962d8,OperationFactory as _0x23d71a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xd6965f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0xd47a40,WEB_SOCKET_GATEWAY_STATES as _0xe9981e,CollaborativeEditingService as _0x33b171,User as _0x17aad5,CommentsService as _0x5bcff5,TrackChangesService as _0x237519,RevisionHistoryService as _0x491b79,EditorService as _0x2d90a6}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x38bcb4,UserView as _0x44a9ad}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5d01fd}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x2d7d19,TrackChanges as _0x1a2f4d}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5d2c1b,Comments as _0x9134b,CommentsEditing as _0x3a2eff}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x49747b}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2f2328}from'es-toolkit/compat';class z extends _0x56b782{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0xd47a40)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xd6965f,_0x2813f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362ab7){super(_0x362ab7),this['set']('state',_0xe9981e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b994f())();}['init'](){const _0xed19f0=this['context'],_0x54304f=_0xed19f0['plugins']['get'](_0xd6965f),_0x10e517=_0xed19f0['plugins']['get'](_0x2813f5);if(!_0x54304f['token'])throw new _0x2b4c1a('websocketgateway-missing-token',this);if(!_0x54304f['webSocketUrl'])throw new _0x2b4c1a('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),z['WebSocketGateway']['connect'](_0x54304f['token'],_0x54304f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x23743e=>{if(this['connection']=_0x23743e,this['bind']('state')['to'](_0x23743e,'state',this,'_isBrowserOffline',(_0x43680a,_0x14fd81)=>('connected'!==_0x43680a&&(this['_shouldPluginsReconnect']=!0x0),_0x14fd81||_0x43680a!==_0xe9981e['CONNECTED']?_0xe9981e['DISCONNECTED']:this['state']==_0xe9981e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe9981e['CONNECTING']):_0xe9981e['CONNECTED'])),this['connection']['on']('error',(_0x4e8ec5,_0x2b1660)=>{if('limitExceeded'!==_0x2b1660['code'])throw console['error'](_0x2b1660),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2b1660});_0x10e517['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'});}),!_0x23743e['me'])return new Promise(_0x4a4963=>_0x23743e['on']('change:me',_0x4a4963));})['catch'](_0x2e17a6=>{throw console['error'](_0x2e17a6),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2e17a6});});}['addToReconnectionStack'](_0x30911d){if('function'!=typeof _0x30911d['reconnect'])throw new _0x2b4c1a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30911d))throw new _0x2b4c1a('websocketgateway-plugin-already-registered',this,{'name':_0x30911d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30911d);}['removeFromReconnectionStack'](_0x44191b){this['_reconnectionStack']['delete'](_0x44191b);}['isInReconnectionStack'](_0x5008f3){return this['_reconnectionStack']['has'](_0x5008f3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43d0d0=>_0x43d0d0['reconnect']())))['then'](()=>this['state']=_0xe9981e['CONNECTED'])['catch'](_0x56e4ac=>{throw console['error'](_0x56e4ac),new _0x2b4c1a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe9981e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x56b782{['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[z,_0x38bcb4];}constructor(_0x545518){super(_0x545518),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ca9e9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38bcb4);}['init'](){const _0x516391=this['context']['plugins']['get'](z);this['listenTo'](_0x516391,'change:state',(_0x412f76,_0x2f3e41,_0x3cc5b1)=>{if('connected'!==_0x3cc5b1)this['channelSessions']['forEach'](_0x4fdf4b=>_0x4fdf4b['clear']()),this['channelConnectedUsers']['forEach'](_0x43be51=>_0x43be51['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x291d84,_0x5ae03f]of this['_registeredSessions'])for(const _0x3f39dc of _0x5ae03f)this['_handleSessionAdd'](_0x291d84,_0x3f39dc);}}),this['_createUser'](_0x516391['connection']['me'],!0x0);}['register'](_0x2db6de,_0x2203f8){if(this['_registeredSessions']['has'](_0x2db6de))throw new _0x2b4c1a('sessions-register-already-registered',null,{'channelId':_0x2db6de});this['_registeredSessions']['set'](_0x2db6de,_0x2203f8),this['channelSessions']['set'](_0x2db6de,new _0x3ca9e9()),this['channelConnectedUsers']['set'](_0x2db6de,new _0x3ca9e9()),this['listenTo'](_0x2203f8,'add',(_0x88b032,_0x26a0de)=>this['_handleSessionAdd'](_0x2db6de,_0x26a0de)),this['listenTo'](_0x2203f8,'remove',(_0x40cb51,_0x832f53)=>this['_handleSessionRemove'](_0x2db6de,_0x832f53));for(const _0x99f4a0 of _0x2203f8)this['_handleSessionAdd'](_0x2db6de,_0x99f4a0);}['unregister'](_0x3505fd){if(!this['_registeredSessions']['has'](_0x3505fd))throw new _0x2b4c1a('sessions-unregister-not-exist',null,{'channelId':_0x3505fd});const _0x279679=this['_registeredSessions']['get'](_0x3505fd);this['stopListening'](_0x279679);for(const _0x44fe0c of _0x279679)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3505fd,_0x44fe0c);this['_registeredSessions']['delete'](_0x3505fd),this['channelSessions']['delete'](_0x3505fd),this['channelConnectedUsers']['delete'](_0x3505fd);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2d4b11){for(const _0x1d125b of this['channelSessions']['values']())for(const _0xcf1439 of _0x1d125b)if(_0xcf1439['id']===_0x2d4b11)return _0xcf1439['user'];}['getUserSessions'](_0x14ac03,_0x361f2f){const _0x43c4ae=_0x361f2f?[this['channelSessions']['get'](_0x361f2f)]:this['channelSessions']['values'](),_0x2f5d51=new Set();for(const _0x1e733a of _0x43c4ae)for(const _0x2c04ad of _0x1e733a)_0x2c04ad['user']['id']===_0x14ac03['id']&&_0x2f5d51['add'](_0x2c04ad['id']);return _0x2f5d51;}['getUserRole'](_0x14493a){for(const _0x26b69f of this['channelSessions']['values']())for(const _0x502830 of _0x26b69f)if(_0x502830['user']===_0x14493a)return _0x502830['role'];}['_handleSessionAdd'](_0x2e45e4,_0x48e9aa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x125708=_0x48e9aa['user'],_0x287d8a=this['_users']['getUser'](_0x125708['id'])||this['_createUser'](_0x125708),_0x248a2f=Object['assign']({},_0x48e9aa,{'user':_0x287d8a});if(this['channelSessions']['get'](_0x2e45e4)['add'](_0x248a2f),!_0x125708['hiddenInPresenceList']){const _0x43c0dd=this['channelConnectedUsers']['get'](_0x2e45e4);_0x43c0dd['has'](_0x287d8a['id'])||_0x43c0dd['add'](_0x287d8a),this['allConnectedUsers']['has'](_0x287d8a['id'])||_0x125708['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x287d8a,_0x287d8a['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2e45e4,{'channelId':_0x2e45e4,'session':_0x248a2f});}['_handleSessionRemove'](_0x3bbfcd,_0x252e0d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x486b20=this['channelConnectedUsers']['get'](_0x3bbfcd),_0x35128b=_0x252e0d['user'];_0x35128b['id']&&(this['channelSessions']['get'](_0x3bbfcd)['remove'](_0x252e0d['id']),_0x486b20['has'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b,_0x3bbfcd)['size']&&_0x486b20['remove'](_0x35128b['id']),this['allConnectedUsers']['get'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b)['size']&&this['allConnectedUsers']['remove'](_0x35128b['id']));}['_createUser'](_0x2a2797,_0x6f71fd){const _0x5e27fe=this['_users']['addUser'](_0x2a2797);return _0x6f71fd&&this['_users']['defineMe'](_0x2a2797['id']),_0x5e27fe['orderNumber']=this['_uniqueUsersCount']++,_0x5e27fe;}}class K extends _0x19341c{['_domEmitter']=new(_0x5b994f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c0fd1=this['editor'],_0x91ea5d=_0x3c0fd1['plugins']['get'](Y);_0x3c0fd1['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3b6553,{writer:_0x2edf0d})=>function(_0x48960a,_0x34445c,_0x4eea54,_0x5ba0be){const _0x41bfa5=_0x48960a['markerName']['split'](':')[0x2],_0x57e87a=_0x4eea54['getUserBySessionId'](_0x41bfa5);if(!_0x57e87a||_0x41bfa5===_0x4eea54['mySessionId'])return;if(!_0x5ba0be['model']['schema']['checkChild'](_0x48960a['markerRange']['start'],'$text'))return;const _0x59a9f7={'class':'ck-user__marker\x20'+_0x57e87a['color']['getMarkerClass'](),'style':Q(_0x57e87a),'data-name':_0x57e87a['name'],'data-session-id':_0x41bfa5},_0x2487ae=_0x5ba0be['model']['markers']['get'](_0x48960a['markerName']),_0x3f4c46=_0x2487ae['getStart'](),_0x10b524=_0x3f4c46['nodeAfter'],_0x319337=_0x5ba0be['model']['schema'];if(_0x10b524&&_0x319337['isObject'](_0x10b524)&&_0x319337['isInline'](_0x10b524)&&!_0x5ba0be['model']['markers']['get']('user:range:'+_0x41bfa5)['getRange']()['isCollapsed'])return;const _0xcae081=_0x3f4c46['parent'];return _0x5ba0be['model']['schema']['isLimit'](_0xcae081)&&!_0x5ba0be['model']['hasContent'](_0xcae081)&&(_0x59a9f7['contenteditable']=!0x1),function(_0x2ec1f5,_0x56bdff,_0x260f64){const _0x1ddc3c=_0x2ec1f5['createUIElement']('span',_0x56bdff);return _0x2ec1f5['setCustomProperty']('userPositionMarker',!0x0,_0x1ddc3c),_0x1ddc3c['render']=function(_0x1105dc){const _0x431cd9=this['toDomElement'](_0x1105dc),_0x5abd3e=document['createElement']('span');return _0x5abd3e['classList']['add']('ck-user__marker-tooltip'),_0x5abd3e['setAttribute']('contenteditable','false'),_0x5abd3e['setAttribute']('spellcheck','false'),_0x5abd3e['textContent']=_0x260f64['name'],_0x431cd9['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5abd3e['outerHTML']+'⁠',_0x431cd9['addEventListener']('mouseenter',()=>{_0x431cd9['classList']['add']('ck-user__marker_hovered');}),_0x431cd9['addEventListener']('mouseleave',()=>{_0x431cd9['classList']['remove']('ck-user__marker_hovered');}),_0x431cd9;},_0x1ddc3c['isSimilar']=function(_0x273a9d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x273a9d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x273a9d['getAttribute']('data-session-id'));},_0x1ddc3c;}(_0x34445c,_0x59a9f7,_0x57e87a);}(_0x3b6553,_0x2edf0d,_0x91ea5d,_0x3c0fd1)}),_0x3c0fd1['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2d46b8=>function(_0x5cf678,_0x15e763){const _0x2e0d28=_0x5cf678['markerName']['split'](':')[0x2];if(_0x2e0d28===_0x15e763['mySessionId'])return null;const _0x2d415a=_0x15e763['getUserBySessionId'](_0x2e0d28);if(!_0x2d415a)return{'id':_0x2e0d28,'classes':[]};return{'id':_0x2e0d28,'classes':['ck-user__selection',_0x2d415a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2d415a),'data-session-id':_0x2e0d28},'priority':0x7d0+_0x2d415a['orderNumber']};}(_0x2d46b8,_0x91ea5d)}),function(_0x343ce4){const _0x5689ec=_0x343ce4['model'],_0x3ccc83=new Map(),_0x1de9e7=_0x343ce4['plugins']['get'](Y);_0x5689ec['markers']['on']('update:user:range',(_0x1e4410,_0x426fad,_0xf2574b,_0x11f776)=>{if(!_0x11f776&&_0x3ccc83['get'](_0x426fad['name']))return _0x3ccc83['get'](_0x426fad['name'])['detach'](),void _0x3ccc83['delete'](_0x426fad['name']);const _0xf35cfe=_0x426fad['name']['split'](':')[0x2];if(_0xf35cfe===_0x1de9e7['mySessionId'])return;const _0x17aaad='user:position:'+_0xf35cfe;_0x5689ec['markers']['has'](_0x17aaad)&&_0x343ce4['editing']['reconvertMarker'](_0x17aaad),_0x426fad['on']('change:range',(_0x5aab8e,_0x40885a,_0x103936)=>{if('$graveyard'!=_0x40885a['root']['rootName']&&'$graveyard'==_0x426fad['getRange']()['root']['rootName']&&!_0x3ccc83['has'](_0x426fad['name'])){const _0x43f5fb=_0x5689ec['schema']['getNearestSelectionRange'](_0x103936['deletionPosition']);if(_0x43f5fb){const _0x1afe02=_0x330ca4['fromRange'](_0x43f5fb);_0x3ccc83['set'](_0x426fad['name'],_0x1afe02),_0x1afe02['on']('change:range',(_0x6eae5,_0x2e5056,_0x2fc4f3)=>{if('$graveyard'==_0x1afe02['root']['rootName']){const _0x41bf8e=_0x5689ec['schema']['getNearestSelectionRange'](_0x2fc4f3['deletionPosition']);_0x41bf8e?(_0x1afe02['start']=_0x41bf8e['start'],_0x1afe02['end']=_0x41bf8e['end']):(_0x3ccc83['delete'](_0x426fad['name']),_0x1afe02['detach']());}});}}});}),_0x5689ec['document']['on']('change',()=>{_0x3ccc83['size']>0x0&&_0x5689ec['enqueueChange']({'isUndoable':!0x1},_0x18086b=>{for(const [_0x3dd1b0,_0x1e46b0]of _0x3ccc83)'$graveyard'==_0x5689ec['markers']['get'](_0x3dd1b0)['getRange']()['root']['rootName']&&(J(_0x3dd1b0['split'](':')[0x2],_0x1e46b0['toRange'](),_0x5689ec,_0x18086b),_0x1e46b0['detach']());_0x3ccc83['clear']();});});}(_0x3c0fd1),this['_domEmitter']['listenTo'](_0x3d1191['document'],'keydown',(_0x434961,{key:_0x39d5e1})=>{'Escape'===_0x39d5e1&&function(_0x2514cf){_0x2514cf['editing']['view']['change'](_0x2db82a=>{for(const _0x3a1a81 of _0x2514cf['model']['markers']){if(!_0x3a1a81['name']['startsWith']('user:position'))continue;const _0x248eec=_0x2514cf['editing']['mapper']['markerNameToElements'](_0x3a1a81['name']);if(_0x248eec){for(const _0x118587 of _0x248eec)_0x2db82a['removeClass']('ck-user__marker_hovered',_0x118587);}}});}(_0x3c0fd1);},{'useCapture':!0x0});}['afterInit'](){const _0x1e62d7=this['editor'],_0x25bb6a=_0x1e62d7['commands']['get']('undo');_0x25bb6a&&_0x1e62d7['model']['on']('applyOperation',(_0x529308,_0x278f23)=>{const _0x50846d=_0x278f23[0x0];if(!_0x50846d['isDocumentOperation'])return;if('marker'!=_0x50846d['type']||!_0x50846d['name']['startsWith']('user:'))return;const _0x2cfb1a=_0x50846d['batch'];_0x25bb6a['_createdBatches']['has'](_0x2cfb1a)&&(_0x50846d['newRange']=_0x50846d['oldRange']?_0x1e62d7['model']['createRange'](_0x50846d['oldRange']['start'],_0x50846d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3f5e03=this['editor'],_0x384dbe=_0x3f5e03['model']['document'],_0xc21942=_0x3f5e03['plugins']['get'](Y);_0x3f5e03['model']['enqueueChange']({'isUndoable':!0x1},_0x3da481=>{const _0xf0c852='user:range:'+_0xc21942['mySessionId'],_0x2629c8='user:position:'+_0xc21942['mySessionId'],_0x5208c1=_0x3f5e03['model']['markers']['has'](_0xf0c852);_0x3f5e03['editing']['view']['hasDomSelection']?J(_0xc21942['mySessionId'],_0x384dbe['selection']['getFirstRange'](),_0x3f5e03['model'],_0x3da481):_0x5208c1&&(_0x3da481['removeMarker'](_0xf0c852),_0x3da481['removeMarker'](_0x2629c8));});}}function J(_0x37b9a0,_0x4f49a8,_0x5c3cd6,_0x5399cc){const _0x4fe058='user:range:'+_0x37b9a0,_0x16ff79='user:position:'+_0x37b9a0,_0x47f7ea=_0x4f49a8['getContainedElement']();let _0x4e9c6e=_0x4f49a8['start'];if(_0x47f7ea&&_0x47f7ea['is']('element','tableCell')){const _0x28953b=function(_0x5ce646,_0x418d34){for(const _0x501859 of _0x5ce646['getPositions']())if(_0x418d34['schema']['checkChild'](_0x501859,'$text'))return _0x501859;}(_0x4f49a8,_0x5c3cd6);_0x28953b&&(_0x4e9c6e=_0x28953b,_0x4f49a8=_0x5399cc['createRange'](_0x4e9c6e));}const _0x2982d6=_0x5399cc['createRange'](_0x4e9c6e);_0x5c3cd6['markers']['has'](_0x4fe058)?(_0x5399cc['updateMarker'](_0x4fe058,{'range':_0x4f49a8}),_0x5399cc['updateMarker'](_0x16ff79,{'range':_0x2982d6})):(_0x5399cc['addMarker'](_0x4fe058,{'range':_0x4f49a8,'usingOperation':!0x0}),_0x5399cc['addMarker'](_0x16ff79,{'range':_0x2982d6,'usingOperation':!0x0}));}function Q(_0x4521fe){return'--ck-user-color:'+_0x4521fe['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4521fe['color']['getColorAlphaVariable']()+';';}function X(_0x390701,_0x30b8e9,_0x4f7324){const _0x41c40d=_0x390701['t'],t=_0x390701['t'];switch(_0x30b8e9){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 _0x41c40d({'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'},_0x4f7324);default:return'';}}let Z=0x1;class tt extends _0x19341c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x33b171)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x5e3152,_0x38bcb4,_0x2813f5];}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 _0x31074c=this['serverHistory']['getOperations']();for(let _0x20af7a=_0x31074c['length']-0x1;_0x20af7a>=0x0;_0x20af7a--){const _0x11c990=_0x31074c[_0x20af7a];if(!this['_disconnectionOperations']['has'](_0x11c990))return _0x11c990['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x34eca0){if(super(_0x34eca0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5862fd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b4c1a('collaboration-missing-channelid',this);const _0x4e8826=_0x34eca0['config']['get']('cloudServices.bundleVersion')||_0x45cdfc;this['_service']=new tt['CollaborativeEditingService'](_0x4e8826,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d01fd(),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 it(this['_disconnectionOperations']);}['init'](){const _0xc2ddc7=this['editor'],_0x278114=_0xc2ddc7['plugins']['get'](_0x38bcb4),_0x4d6120=_0xc2ddc7['plugins']['get'](z);this['listenTo'](_0x278114,'getOperationAuthor',(_0x1d777d,_0x9cf90f)=>{const _0xb91109=_0x9cf90f[0x0];_0xb91109['_authorId']&&(_0x1d777d['return']=_0x278114['getUser'](_0xb91109['_authorId']),_0x1d777d['stop']()),null===_0xb91109['_authorId']&&(_0x1d777d['return']=null,_0x1d777d['stop']());},{'priority':'high'}),this['listenTo'](_0xc2ddc7['model']['document']['selection'],'change:range',(_0x49bc20,_0x1915ef)=>{_0x1915ef['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xc2ddc7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xc2ddc7['model']['on']('applyOperation',(_0x20be69,_0x336e66)=>{const _0x15c513=_0x336e66[0x0];_0x15c513['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15c513),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d6120,'state',this,'_hasSynchronizationProblem',(_0x44605f,_0x4706b4)=>'connected'===_0x44605f&&!_0x4706b4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x516bba=this['editor']['plugins']['get'](Y),_0x1ae683=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x516bba['unregister'](this['_channelId']);const _0x3d6159=await this['_service']['reconnect'](_0x1ae683['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d6159)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x470305=await this['_service']['getConnectedSessions']();_0x516bba['register'](this['_channelId'],_0x470305),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3849b4){if(function(_0x314e30){return'404'===_0x314e30['code'];}(_0x3849b4)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x12d4af){return'409'===_0x12d4af['code'];}(_0x3849b4)){const _0x2d1866=X(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'](_0x2d1866);}else{if(!(_0x3849b4 instanceof et))throw _0x3849b4;this['_handleReconnectionError']();}}}}['destroy'](){const _0x198d09=this['editor']['plugins']['get'](z),_0x157ace=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x157ace['channelSessions']['has'](this['_channelId'])&&_0x157ace['unregister'](this['_channelId']),_0x198d09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x18e6a5){if(this['sessionId']!==_0x18e6a5['sessionId']&&this['_lastSyncedOperationId']!==_0x18e6a5['lastOperationId'])throw new et();return this['sessionId']=_0x18e6a5['sessionId'],this['_handleServerResponse']([],{..._0x18e6a5,'wereChangesApplied':!0x1,'data':_0x18e6a5['data']},'reconnect');}async['_connectService'](_0xcc972c,_0x2eca72=!0x1){const {connection:_0x115bec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x115bec,this['_channelId'])['then'](_0xb969de=>this['_initSessionsHandling'](_0xb969de))['catch'](_0x4b504d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4b504d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4adcff,_0x40d952)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x40d952);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x56d3fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcc972c);this['_isPendingUpdate']=!0x0;const _0x3b01bc=await this['_service']['connect'](_0x115bec,this['_compressOperations'](_0xcc972c),_0x56d3fd);if(this['sessionId']=_0x3b01bc['sessionId'],_0x2eca72){if(!_0x3b01bc['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3b01bc['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xcc972c,_0x3b01bc,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3b01bc,_0xcc972c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x450495=this['editor']['plugins']['get'](Y),_0x59284d=this['editor']['plugins']['get'](K),_0x91b566=_0x450495['channelSessions']['get'](this['_channelId']);_0x91b566&&_0x91b566['length']>0x1?_0x59284d['createUserMarkerOperations']():this['listenTo'](_0x450495,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x450495['channelSessions']['get'](this['_channelId'])['length']&&_0x59284d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x51ebde,_0x304be8,_0x56bc74,_0x51967d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x304be8){const _0x2bbd75=this['_decompressOperations'](_0x56bc74,_0x51967d);await this['_fetchMissingUsers'](_0x2bbd75),this['_handleExternalOperations'](_0x2bbd75,_0x304be8,_0x56bc74['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x591134}=this['editor'];let _0x1d9751;try{_0x1d9751=await this['_service']['getDocumentDetails']();}catch{const _0x537d13=X(_0x591134,'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'](_0x537d13);}const _0x246d9e=_0x1d9751['currentDocumentSession']||_0x1d9751['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x246d9e['lastOperationId']){const _0x1b4fab=X(_0x591134,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1b4fab);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x394e71){const _0x34039a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x34039a,'sessionAdd:'+this['_channelId'],(_0x46b29b,{session:_0x27e5ff})=>{if(_0x27e5ff['id']===_0x34039a['mySessionId']){_0x46b29b['off']();const _0x37250d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x92e1f4=_0x27e5ff['permissions'];_0x37250d&&_0x37250d['isEnabled']&&(_0x92e1f4=_0x92e1f4['filter'](_0x4a41d0=>'document:write'!==_0x4a41d0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x92e1f4,this['_channelId']);}}),_0x34039a['register'](this['_channelId'],_0x394e71);}['_initThrowingOnDataSet'](){const _0x55e2b6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x49e392)=>{if(!_0x49e392[_0x49e392['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b4c1a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55e2b6['apply'](this['editor']['data'],_0x49e392);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x505a00,[_0x5705f2])=>{if(this['_document']['version'])throw new _0x2b4c1a('realtimecollaborationclient-init-document-already-initialized',this);_0x505a00['stop'](),this['_setPendingAction']();const _0x31a6c2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1dc15d])=>!_0x1dc15d['lazyLoad'])['map'](([_0xedde9b,_0x11a53e])=>[_0xedde9b,_0x11a53e['modelAttributes']||{}])),_0x12906a=this['_getOperationsFromInitData'](_0x5705f2,_0x31a6c2);0x0==_0x12906a['length']&&_0x12906a['push'](new _0x4723a8(0x0)),_0x505a00['return']=this['_connectService'](_0x12906a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x59ae4c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x59ae4c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1397ef,[_0x496186,_0x47a695])=>{_0x1397ef['stop']();const _0x329db7=this['editor']['model']['document']['getRoot'](_0x496186);if(!this['_knownRootNames']['has'](_0x496186)){const _0x3d8f12=_0x47a695&&_0x47a695['data']?_0x47a695['data']:'',_0xcc55bb=_0x47a695&&_0x47a695['attributes']?_0x47a695['attributes']:{};await this['_loadRoot'](_0x496186,_0x3d8f12,_0xcc55bb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x329db7['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x329db7);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x9b61d9){const _0x13ab50=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x5973de}=this['editor']['plugins']['get'](z),_0x3cc83a=new Set();for(const _0x39757c of _0x9b61d9){const _0x36d2cb=_0x39757c['_authorId'];_0x36d2cb&&!_0x13ab50['getUser'](_0x36d2cb)&&_0x3cc83a['add'](_0x36d2cb);}if(0x0===_0x3cc83a['size'])return;const _0x36db29=await _0x17aad5['getMany'](_0x5973de,Array['from'](_0x3cc83a));for(const _0x31e267 of _0x36db29)_0x13ab50['getUser'](_0x31e267['id'])||_0x13ab50['addUser'](_0x31e267);}['_getOperationsFromInitData'](_0x2e6e6d,_0x4540d7={}){const _0x1f6ed5=this['editor']['model'],_0x49eba6=[];let _0xc39a58=0x0;const _0xa8fcd0='string'==typeof _0x2e6e6d?{'main':_0x2e6e6d}:_0x2e6e6d;for(const _0x437b62 of Object['keys'](_0xa8fcd0)){if(!this['_document']['roots']['has'](_0x437b62))throw new _0x2b4c1a('realtimecollaborationclient-init-non-existent-root',this);const _0x3dded7=this['editor']['data']['parse'](_0xa8fcd0[_0x437b62]),_0x4a4265=this['_document']['getRoot'](_0x437b62),_0x5e211a=new _0x5c51d2(_0x1f6ed5['createPositionAt'](_0x4a4265,0x0),_0x3dded7,_0xc39a58++);_0x49eba6['push'](_0x5e211a);for(const [_0x6886af,_0xfa0c72]of _0x3dded7['markers']){const _0x15ff30=_0x1f6ed5['createRange'](_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['start']['path']['slice']()),_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['end']['path']['slice']())),_0x3b881e=new _0x4c1e0d(_0x6886af,null,_0x15ff30,_0x1f6ed5['markers'],!0x0,_0xc39a58++);_0x49eba6['push'](_0x3b881e);}}if(_0x4540d7)for(const [_0x5ecc21,_0x1fff34]of Object['entries'](_0x4540d7)){const _0x4c79c2=_0x1f6ed5['document']['getRoot'](_0x5ecc21);if(!_0x4c79c2)throw new _0x2b4c1a('multi-root-editor-root-attributes-no-root',null);for(const [_0x29480b,_0x3d944c]of Object['entries'](_0x1fff34))if(null!==_0x3d944c){const _0x51bdd5=new _0x3307e4(_0x4c79c2,_0x29480b,null,_0x3d944c,_0xc39a58++);_0x49eba6['push'](_0x51bdd5);}}return _0x49eba6;}async['_loadRoot'](_0x4ed1f7,_0x3185bf,_0x5821ef){this['_getOperationsFromInitData']({[_0x4ed1f7]:_0x3185bf},{[_0x4ed1f7]:_0x5821ef})['forEach']((_0x4c1571,_0x57a797)=>{_0x4c1571['baseVersion']=this['_document']['version']+_0x57a797,_0x4c1571['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4c1571);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x21edb3,_0x539bdb){let _0xb198d7;this['_offset']=_0x21edb3['offset'];const _0x40b144=_0x21edb3['wereChangesApplied']&&!_0x21edb3['initData'],_0x3cb272=_0x40b144?0x0:_0x21edb3['data']['baseVersion'];if(_0x539bdb['forEach'](_0x160298=>{_0x160298['_isInit']=!0x0,_0x160298['createdAt']=_0x21edb3['sessionCreatedAt'],_0x160298['_authorId']=null;}),_0x40b144)_0xb198d7=_0x539bdb,this['_applyOperationsSet'](_0xb198d7,_0x40b144);else{if(_0x21edb3['initData']){const _0x1d623a=this['_getOperationsFromInitData'](_0x21edb3['initData']);this['_document']['history']['version']=-_0x1d623a['length'],_0x1d623a['forEach'](_0x2d88b6=>{_0x2d88b6['baseVersion']-=_0x1d623a['length'],_0x2d88b6['createdAt']=_0x21edb3['sessionCreatedAt'],_0x2d88b6['_isInit']=!0x0,_0x2d88b6['_authorId']=null;}),this['_applyOperationsSet'](_0x1d623a,!0x0),this['serverHistory']['version']=-_0x1d623a['length']+this['_offset'],this['_updateServerHistory'](_0x1d623a);}this['_document']['history']['version']=_0x3cb272,_0xb198d7=this['_decompressOperations'](_0x21edb3['data'],_0x21edb3['metadata']),await this['_fetchMissingUsers'](_0xb198d7),this['_applyOperationsSet'](_0xb198d7,_0x40b144);}_0x21edb3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb198d7,_0x21edb3['lastOperationId']),this['_lastSyncedOperationId']=_0x21edb3['lastOperationId']),this['serverHistory']['version']=_0x3cb272+this['_offset'],this['_updateServerHistory'](_0xb198d7),_0x539bdb['filter'](_0x35a481=>{const _0x41c8c1=this['_getAffectedRoot'](_0x35a481);return _0x41c8c1&&!this['_knownRootNames']['has'](_0x41c8c1);})['forEach']((_0x5404bb,_0x175fe9)=>{_0x5404bb['baseVersion']=this['_document']['version']+_0x175fe9,this['_saveOperationInBuffer'](_0x5404bb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x453a24,_0x5e6e00){const _0x4d7c3a=_0x5e6e00&&_0x5e6e00['message'];if(_0x4d7c3a&&_0x4d7c3a['startsWith']('realtimecollaborationclient'))throw _0x5e6e00;const _0x2e53d6=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2e53d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b4c1a(_0x453a24,this['editor'],_0x4d7c3a?{'originalError':_0x4d7c3a}:void 0x0);}['_saveOperationInBuffer'](_0x289a2b){this['_knownOperations']['has'](_0x289a2b)||(this['_knownOperations']['add'](_0x289a2b),this['_bufferedOperations']['push'](_0x289a2b),this['_pendingAction']||'marker'==_0x289a2b['type']&&!_0x289a2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x31f720=!0x1){!_0x31f720&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x203d64=>{_0x203d64&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x460845=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x26a0cd){return _0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x460845)||this['_crash'](_0x460845['message'],_0x460845);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3a9992=>{this['on']('change:_isPendingUpdate',()=>{_0x3a9992();});});}async['_sendBufferedOperations'](){const _0x3e9b4b=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e9b4b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f8207=[...this['_bufferedOperations']];for(const _0x17dbc4 of _0x1f8207)_0x17dbc4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x17dbc4);const _0x10e0f6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f8207),_0x3ae560=Z++,_0xabb57c=this['_compressOperations'](_0x1f8207),_0xda266c=await this['_service']['sendOperations'](_0xabb57c,_0xabb57c['baseVersion'],_0x10e0f6);try{return await this['_handleServerResponse'](_0x1f8207,_0xda266c,_0x3ae560);}catch(_0x3d35c2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3d35c2);}}async['_handleServerResponse'](_0x47e025,_0x4c081e,_0x25abe1){if('error'in _0x4c081e)throw _0x4c081e['error'];let _0x1fb41d=!0x1;if(_0x4c081e['wereChangesApplied']){_0x4c081e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4c081e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x474859=>!_0x47e025['includes'](_0x474859));for(const _0x19f207 of _0x47e025)_0x19f207['createdAt']='lastOperationAcceptedAt'in _0x4c081e&&_0x4c081e['lastOperationAcceptedAt']||void 0x0;st(_0x47e025,_0x4c081e['version']-_0x47e025['length']),this['_updateServerHistory'](_0x47e025);const _0x47f890=_0x47e025['filter'](_0x2d6adc=>{if(!_0x2d6adc['_isInit'])return!0x1;const _0x135b76=this['_getAffectedRoot'](_0x2d6adc);return _0x135b76&&!this['_knownRootNames']['has'](_0x135b76);});st(_0x47f890,this['_document']['version']),this['_applyOperationsSet'](_0x47f890),_0x1fb41d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a7bb8=this['_decompressOperations'](_0x4c081e['data'],_0x4c081e['metadata'])['filter'](_0x26da24=>_0x26da24['baseVersion']>=this['_lastServerVersion']);_0x3a7bb8['forEach'](_0x291aed=>this['_addKnownRoot'](_0x291aed)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4742cc=>!_0x4742cc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4742cc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a7bb8),_0x1fb41d=this['_handleExternalOperations'](_0x3a7bb8,_0x4c081e['version'],_0x4c081e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1fb41d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45a551,_0x1ee161,_0x5cc09c){try{const _0x56bf70={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x55440c,operationsB:_0x31d330,originalOperations:_0x5d61ab}=_0x2962d8(_0x45a551,this['_bufferedOperations'],_0x56bf70);st(_0x55440c,this['_document']['version']),st(_0x31d330,_0x1ee161);for(const _0x356bd5 of _0x55440c){const _0x4c8543=_0x5d61ab['get'](_0x356bd5);_0x356bd5['_authorId']=_0x4c8543?_0x4c8543['_authorId']:null;}_0x5cc09c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45a551,_0x5cc09c),this['_lastSyncedOperationId']=_0x5cc09c),this['_bufferedOperations']=[..._0x31d330],this['_applyOperationsSet'](_0x55440c),this['_updateServerHistory'](_0x45a551);}catch(_0x58bb01){return console['error'](_0x58bb01),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2859ec,_0x5e90c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f2ae9=>{for(const _0x2e3b60 of _0x2859ec)this['_knownOperations']['add'](_0x2e3b60),this['_addKnownRoot'](_0x2e3b60),_0x4f2ae9['batch']['addOperation'](_0x2e3b60),this['editor']['model']['applyOperation'](_0x2e3b60);});}['_addKnownRoot'](_0x21a7c4){const _0x301f76=this['_getAffectedRoot'](_0x21a7c4);_0x301f76&&this['_knownRootNames']['add'](_0x301f76);}['_getAffectedRoot'](_0x4a1c8c){let _0x4cee27,_0x364697;switch(_0x4a1c8c['type']){case'insert':_0x4cee27=_0x4a1c8c['position']['root'];break;case'marker':if(_0x364697=_0x4a1c8c['newRange'],!_0x364697)return null;_0x4cee27=_0x364697['root'];break;case'addRootAttribute':_0x4cee27=_0x4a1c8c['root'];break;case'addRoot':_0x4cee27=_0x4a1c8c['affectedSelectable'];break;case'move':_0x4cee27=_0x4a1c8c['targetPosition']['root'];break;default:return null;}return _0x4cee27['rootName'];}['_updateServerHistory'](_0x2638a8){_0x2638a8['forEach'](_0x564cbc=>{const _0x5dbd4f=_0x564cbc['clone']();_0x5dbd4f['_authorId']=_0x564cbc['_authorId'],_0x5dbd4f['_isInit']=!!_0x564cbc['_isInit'],_0x5dbd4f['createdAt']=_0x564cbc['createdAt'],_0x5dbd4f['baseVersion']+=this['_offset'],_0x564cbc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5dbd4f),this['serverHistory']['addOperation'](_0x5dbd4f);});}['_handleReconnectionError'](_0x545970){const _0x7d575b=this['editor']['plugins']['get']('Notification'),_0x998fcb=this['editor']['locale'];_0x545970||(_0x545970=X(_0x998fcb,'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.')),_0x7d575b['showWarning'](_0x545970,{'title':X(_0x998fcb,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5e3152)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e3152)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5bffe6){const _0x5bad5b=_0x5bffe6['map'](_0xf0ce8a=>_0xf0ce8a['toJSON']());return this['_compressor']['compress'](_0x5bad5b);}['_decompressOperations'](_0x2a122f,_0x572f86){return this['_compressor']['decompress'](_0x2a122f)['map']((_0x59a6e9,_0x4e64cf)=>{const _0x21bb3f='init'==_0x572f86[_0x4e64cf]['type'];if('InsertOperation'==_0x59a6e9['__className']){const _0x1372cd=_0x59a6e9['position']['root'];!this['_document']['getRoot'](_0x1372cd)&&(this['_document']['createRoot']('$root',_0x1372cd)['_isAttached']=!0x1);}const _0x5b0bb1=_0x23d71a['fromJSON'](_0x59a6e9,this['_document']);return _0x5b0bb1['wasUndone']=_0x59a6e9['wasUndone'],_0x5b0bb1['_isInit']=_0x21bb3f,_0x5b0bb1['_authorId']=_0x21bb3f?null:_0x572f86[_0x4e64cf]['userId'],_0x5b0bb1['_isDisconnection']='cs:removeUser'===_0x572f86[_0x4e64cf]['type'],_0x5b0bb1['createdAt']=_0x572f86[_0x4e64cf]['createdAt'],_0x5b0bb1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xfeb23b=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xfeb23b&&_0xfeb23b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0xb822e,_0x3757ae){for(const _0x1c9c89 of _0xb822e)_0x1c9c89['baseVersion']=_0x3757ae++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x26f767){this['_ignoredOperations']=_0x26f767,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3313ba){let _0xfd42ce=_0x3313ba['length'];for(;_0xfd42ce--;){const _0x43e1bc=_0x3313ba[_0xfd42ce];if(!this['_ignoredOperations']['has'](_0x43e1bc)){if(!this['_operationToId']['has'](_0x43e1bc)){const _0x465820=_0x42c77e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x43e1bc,_0x465820);}return this['_operationToId']['get'](_0x43e1bc);}}}['setIdForTheLastOperation'](_0xae00e3,_0x211cf2){if(!_0x211cf2)return;let _0x250ea6=_0xae00e3['length'];for(;_0x250ea6--;){const _0x2d6739=_0xae00e3[_0x250ea6];this['_ignoredOperations']['has'](_0x2d6739)||this['_operationToId']['set'](_0x2d6739,_0x211cf2);}}}class nt extends _0x19341c{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x56b782{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5bcff5)());['_services'];static get['requires'](){return[z,_0x5d2c1b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x365f0f){super(_0x365f0f),this['_services']=new Map();}async['init'](){const _0x5aa77e=this['context'],_0x3afcb3=_0x5aa77e['plugins']['get'](_0x5d2c1b);if(_0x5aa77e['plugins']['get'](z)['addToReconnectionStack'](this),_0x3afcb3['adapter']={'addCommentThread':async({channelId:_0x216804,threadId:_0x1da8d9,comments:_0x21b469,resolvedAt:_0x5302f4,resolvedBy:_0x5e1c7c,context:_0x351135,attributes:_0x383a34})=>{const _0x94a9b7=await this['_getService'](_0x216804)['addCommentThread']({'commentThreadId':_0x1da8d9,'comments':_0x21b469['map'](_0x1d423d=>function(_0x405b96,_0x5c8b79,_0xfff8c8){return{'commentThreadId':_0xfff8c8,'commentId':_0x405b96['commentId'],'userId':_0x405b96['authorId'],'content':_0x405b96['content'],'documentId':_0x5c8b79,'createdAt':_0x405b96['createdAt'],'attributes':_0x405b96['attributes']||{}};}(_0x1d423d,_0x216804,_0x1da8d9)),'resolvedAt':_0x5302f4,'resolvedBy':_0x5e1c7c,'context':_0x351135,'attributes':_0x383a34})['catch'](ct);return{'threadId':_0x94a9b7['commentThreadId'],'comments':_0x94a9b7['comments']};},'getCommentThread':async({channelId:_0x1bcb85,threadId:_0x559d27})=>{const _0x234a35=await this['_getService'](_0x1bcb85)['getCommentThread'](_0x559d27)['catch'](rt)['catch'](ct);return _0x234a35?_0x234a35['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x234a35]),{'threadId':_0x234a35['commentThreadId'],'comments':_0x234a35['comments']['map'](at),'context':_0x234a35['context'],'resolvedAt':_0x234a35['resolvedAt'],'resolvedBy':_0x234a35['resolvedBy'],'attributes':_0x234a35['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x506182,threadId:_0x11446d,context:_0xa18d05,unlinkedAt:_0x2f286b,attributes:_0x5179cf})=>this['_getService'](_0x506182)['updateCommentThread']({'commentThreadId':_0x11446d,'context':_0xa18d05,'attributes':_0x5179cf,'unlinkedAt':_0x2f286b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x44e19c,threadId:_0x4a27c2})=>{const _0x3486bc=await this['_getService'](_0x44e19c)['resolveCommentThread'](_0x4a27c2)['catch'](rt)['catch'](ct);return{'threadId':_0x3486bc['commentThreadId'],'resolvedAt':_0x3486bc['resolvedAt'],'resolvedBy':_0x3486bc['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4903c0,threadId:_0x5b1961})=>this['_getService'](_0x4903c0)['reopenCommentThread'](_0x5b1961)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3772b9,threadId:_0x118ced})=>this['_getService'](_0x3772b9)['removeCommentThread'](_0x118ced)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x55a772,threadId:_0x5b9f50,commentId:_0x380194,content:_0x5cd8fd,attributes:_0x19b38f})=>this['_getService'](_0x55a772)['addComment'](_0x5b9f50,_0x380194,_0x5cd8fd,_0x19b38f)['catch'](ct),'updateComment':({channelId:_0x43e1d,threadId:_0x355836,commentId:_0x2a21c6,content:_0x5001ed,attributes:_0x1ada96})=>this['_getService'](_0x43e1d)['updateComment'](_0x355836,_0x2a21c6,_0x5001ed,_0x1ada96)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x59ed32,threadId:_0x19920f,commentId:_0x1071e0})=>this['_getService'](_0x59ed32)['removeComment'](_0x19920f,_0x1071e0)['catch'](rt)['catch'](ct)},_0x5aa77e instanceof _0x5d5394){const _0x559ce5=_0x5aa77e['config']['get']('collaboration.channelId'),_0x98515f=_0x5aa77e['plugins']['get'](Y);await this['_setUpService'](_0x559ce5);const _0x1bc9c4=await this['_services']['get'](_0x559ce5)['getConnectedSessions']();this['listenTo'](_0x98515f,'sessionAdd:'+_0x559ce5,(_0x3f1d6e,{session:_0x1eb6da})=>{_0x1eb6da['id']===_0x98515f['mySessionId']&&(_0x3f1d6e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1eb6da['permissions'],_0x559ce5));}),_0x98515f['register'](_0x559ce5,_0x1bc9c4);}}async['_setUpService'](_0x802a74){if(this['_services']['has'](_0x802a74))throw new _0x2b4c1a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x802a74});const _0x2108f0=this['context']['plugins']['get'](_0x5d2c1b),_0x1356fe=new ot['CommentsService'](_0x802a74);this['_services']['set'](_0x802a74,_0x1356fe),this['listenTo'](_0x1356fe,'commentThreadAdded',(_0x5f5c48,_0x17ab73)=>{const {commentThreadId:_0x373a8e,documentId:_0x5481f3,context:_0x1fe381,attributes:_0x5f19e5,resolvedAt:_0x55d0aa,resolvedBy:_0x2bf8fe,comments:_0x2cf99f}=_0x17ab73;_0x2108f0['getCommentThread'](_0x373a8e)||_0x2108f0['addCommentThread']({'threadId':_0x373a8e,'channelId':_0x5481f3,'comments':_0x2cf99f?_0x2cf99f['map'](at):[],'context':_0x1fe381,'attributes':_0x5f19e5,'resolvedAt':_0x55d0aa,'resolvedBy':_0x2bf8fe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadUpdated',(_0x2f8e7b,{commentThreadId:_0x271fa5,documentId:_0x4f9369,context:_0x2c66a8,unlinkedAt:_0x5994c8,attributes:_0xf637b4})=>{_0x2108f0['getCommentThread'](_0x271fa5)&&_0x2108f0['updateCommentThread']({'threadId':_0x271fa5,'channelId':_0x4f9369,'context':_0x2c66a8,'unlinkedAt':_0x5994c8,'attributes':_0xf637b4,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadResolved',(_0x1dda72,{commentThreadId:_0x2dff50,resolvedBy:_0x7c0ce6,resolvedAt:_0x8f5efe})=>{const _0x27031e=_0x2108f0['getCommentThread'](_0x2dff50);_0x27031e&&_0x27031e['resolve']({'resolvedBy':_0x7c0ce6,'resolvedAt':_0x8f5efe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadReopened',(_0x322ba2,{commentThreadId:_0x52119c})=>{const _0x379732=_0x2108f0['getCommentThread'](_0x52119c);_0x379732&&_0x379732['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadRemoved',(_0x4436d1,{commentThreadId:_0x248003})=>{const _0x180528=_0x2108f0['getCommentThread'](_0x248003);_0x180528&&_0x180528['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentAdded',(_0x69f6f3,_0x13991d)=>{const _0x365d82=_0x13991d['commentThreadId'],_0x5111eb=_0x2108f0['getCommentThread'](_0x365d82);_0x5111eb&&_0x5111eb['addComment']({...at(_0x13991d),'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentUpdated',(_0x4bc57f,{commentThreadId:_0x720aa4,commentId:_0x523d14,content:_0x1e4a39,attributes:_0x208475})=>{const _0x1f4f47=_0x2108f0['getCommentThread'](_0x720aa4);if(_0x1f4f47){const _0x41355a=_0x1f4f47['getComment'](_0x523d14);_0x41355a&&_0x41355a['update']({'content':_0x1e4a39,'attributes':_0x208475,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1356fe,'commentRemoved',(_0x1e7234,{commentThreadId:_0xb51800,commentId:_0x15a390})=>{const _0xce1e3a=_0x2108f0['getCommentThread'](_0xb51800);if(_0xce1e3a){const _0x397158=_0xce1e3a['getComment'](_0x15a390);_0x397158&&_0x397158['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x802a74);}['destroy'](){if(this['context']instanceof _0x5d5394){const _0x2daf3f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2daf3f);}}['_terminateService'](_0x121863){if(!this['_services']['has'](_0x121863))throw new _0x2b4c1a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x121863});this['_getService'](_0x121863)['disconnect'](),this['_services']['delete'](_0x121863);}async['reconnect'](){for(const _0x55b9eb of this['_services']['keys']())await this['_connectService'](_0x55b9eb);if(this['context']instanceof _0x5d5394){const _0x4352d4=this['context']['config']['get']('collaboration.channelId'),_0x4f52b1=this['context']['plugins']['get'](Y);_0x4f52b1['unregister'](_0x4352d4);const _0x359c14=await this['_services']['get'](_0x4352d4)['getConnectedSessions']();_0x4f52b1['register'](_0x4352d4,_0x359c14);}}async['_connectService'](_0x41fc36){const {connection:_0x5bb90e}=this['context']['plugins']['get'](z),_0x45ae3d=this['context']['plugins']['get'](_0x5d2c1b),_0x1af4b4=this['_services']['get'](_0x41fc36),_0x5c38ae=await _0x1af4b4['connect'](_0x5bb90e);await this['_fetchMissingUsersForThreads'](_0x5c38ae);const _0x384c79=new Set(Array['from'](_0x45ae3d['getCommentThreads']({'channelId':_0x41fc36}),_0xea778=>_0xea778['id']));for(const _0x51db64 of _0x5c38ae)_0x51db64['deletedAt']||_0x384c79['delete'](_0x51db64['commentThreadId']);for(const _0x48a4c4 of _0x384c79)_0x45ae3d['getCommentThread'](_0x48a4c4)['remove']({'isFromAdapter':!0x0});for(const _0x2a5910 of _0x5c38ae){let _0x5e583d=_0x45ae3d['getCommentThread'](_0x2a5910['commentThreadId']);const {commentThreadId:_0x3454c9,context:_0x4d759c,attributes:_0x44bc7c,resolvedBy:_0x432ec5,resolvedAt:_0x88a47d,unlinkedAt:_0x5d3243,deletedAt:_0x5a5232}=_0x2a5910;if(_0x5a5232)continue;_0x5e583d||(_0x5e583d=_0x45ae3d['addCommentThread']({'channelId':_0x41fc36,'threadId':_0x3454c9,'context':_0x4d759c,'attributes':_0x44bc7c||{},'resolvedBy':_0x432ec5,'resolvedAt':_0x88a47d,'unlinkedAt':_0x5d3243,'isFromAdapter':!0x0}));const _0x401ec5=new Set(Array['from'](_0x5e583d['comments'],_0x422eda=>_0x422eda['id']));for(const _0x26acbd of _0x2a5910['comments'])_0x401ec5['delete'](_0x26acbd['commentId']);for(const _0x59d8c9 of _0x401ec5)_0x5e583d['getComment'](_0x59d8c9)['remove']({'isFromAdapter':!0x0});for(const _0x45f764 of _0x2a5910['comments']){const _0x218a45=_0x5e583d['getComment'](_0x45f764['commentId']);_0x218a45?_0x218a45['content']!==_0x45f764['content']&&_0x218a45['update']({'content':_0x45f764['content'],'isFromAdapter':!0x0}):_0x5e583d['addComment'](Object['assign'](at(_0x45f764),{'isFromAdapter':!0x0}));}}}['_getService'](_0x23c847){if(!this['_services']['has'](_0x23c847))throw new _0x2b4c1a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x23c847});return this['_services']['get'](_0x23c847);}async['_fetchMissingUsersForThreads'](_0x16d8e1){const _0x108b2e=this['context']['plugins']['get'](_0x38bcb4),{connection:_0x1780f9}=this['context']['plugins']['get'](z),_0x3d917e=new Set();for(const {resolvedBy:_0x347a00,comments:_0xd52f1b}of _0x16d8e1){_0x347a00&&!_0x108b2e['getUser'](_0x347a00)&&_0x3d917e['add'](_0x347a00);for(const {userId:_0x17e938}of _0xd52f1b)_0x108b2e['getUser'](_0x17e938)||_0x3d917e['add'](_0x17e938);}if(0x0===_0x3d917e['size'])return;const _0x31f417=await _0x17aad5['getMany'](_0x1780f9,Array['from'](_0x3d917e));for(const _0x5c779e of _0x31f417)_0x108b2e['getUser'](_0x5c779e['id'])||_0x108b2e['addUser'](_0x5c779e);}}async function rt(_0x8b48a3){if('404'!==_0x8b48a3['code'])throw _0x8b48a3;}function ct(_0x508d51){if((_0x40a586=_0x508d51)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40a586;throw _0x508d51;}function at(_0x8329a1){return{'threadId':_0x8329a1['commentThreadId'],'commentId':_0x8329a1['commentId'],'content':_0x8329a1['content'],'createdAt':_0x8329a1['createdAt'],'authorId':_0x8329a1['userId'],'attributes':_0x8329a1['attributes']||{}};}class ht extends _0x19341c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x237519)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2d7d19,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a70af){super(_0x4a70af);const _0x54faca=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x54faca);}['init'](){const _0x4b4c38=this['editor']['plugins']['get'](z),_0x21dfcc=this['editor']['plugins']['get'](_0x2d7d19);return _0x21dfcc['adapter']={'getSuggestion':async _0x4a7969=>{await this['_waitForServiceReady']();const _0x3750e2=await this['_trackChangesService']['get'](_0x4a7969)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3750e2]),_0x3750e2;},'addSuggestion':async({id:_0xdb914e,type:_0x4297f0,data:_0x596336,originalSuggestionId:_0x496062,attributes:_0x2beaab})=>{await this['_waitForServiceReady']();const _0x270a90={'id':_0xdb914e,'type':_0x4297f0,'data':_0x596336,'originalSuggestionId':_0x496062,'attributes':_0x2beaab},_0x5e99f1=await this['_trackChangesService']['add'](_0xdb914e,_0x4297f0,_0x596336,_0x496062,_0x2beaab)['catch'](_0x5b3752=>{if(dt(_0x5b3752))return new Promise(_0x2eb56d=>{this['_bufferedRequests']['set'](_0xdb914e,{'resolve':_0x2eb56d,'suggestionData':_0x270a90});});throw _0x5b3752;});return this['_bufferedRequests']['delete'](_0xdb914e),_0x5e99f1;},'updateSuggestion':async(_0x556365,_0x3224ca)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3224ca['state'])return this['_trackChangesService']['update'](_0x556365,_0x3224ca)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28385e,_0x14dc52)=>{_0x21dfcc['hasSuggestion'](_0x14dc52['id'])&&(_0x21dfcc['getSuggestion'](_0x14dc52['id'])['attributes']=_0x14dc52['attributes']);}),this['_trackChangesService']['connect'](_0x4b4c38['connection'])['then'](_0x49b63c=>(_0x4b4c38['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x49b63c)['then'](()=>{for(const _0x509b5e of _0x49b63c){_0x21dfcc['addSuggestionData'](_0x509b5e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2ae0c5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x159243}=this['editor']['plugins']['get'](z),_0xb2501e=await this['_trackChangesService']['connect'](_0x159243);await this['_fetchMissingUsersForThreads'](_0xb2501e);for(const {suggestionData:_0x302ec2,resolve:_0x539884}of this['_bufferedRequests']['values']()){let _0x40f1d9=_0xb2501e['find'](_0x2871e3=>_0x2871e3['id']===_0x302ec2['id']);_0x40f1d9||(_0x40f1d9=await this['_trackChangesService']['add'](_0x302ec2['id'],_0x302ec2['type'],_0x302ec2['data'],_0x302ec2['originalSuggestionId'])),_0x539884(_0x40f1d9);}for(const _0x494c86 of _0xb2501e)_0x2ae0c5['hasSuggestion'](_0x494c86['id'])||_0x2ae0c5['addSuggestionData'](_0x494c86);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x137703=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5ea8b4=>{_0x5ea8b4['off'](),_0x137703();});});}async['_fetchMissingUsersForThreads'](_0x1e1011){const _0x3180ae=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x789c78}=this['editor']['plugins']['get'](z),_0x47d0a3=new Set();for(const {authorId:_0x45a897}of _0x1e1011)_0x3180ae['getUser'](_0x45a897)||_0x47d0a3['add'](_0x45a897);if(0x0===_0x47d0a3['size'])return;const _0x563a9d=await _0x17aad5['getMany'](_0x789c78,Array['from'](_0x47d0a3));for(const _0x80be0a of _0x563a9d)_0x3180ae['getUser'](_0x80be0a['id'])||_0x3180ae['addUser'](_0x80be0a);}}function lt(_0x458166){if(dt(_0x458166))return new Promise(()=>{});throw _0x458166;}function dt(_0x52d9d6){return _0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x19341c{static get['requires'](){return[_0x9134b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x24fcac=this['editor']['plugins']['get'](z),_0x146152=this['editor']['plugins']['get'](_0x3a2eff),_0xcca9f5=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x24fcac,'change:state',(_0x188bef,_0x4ee3c5,_0x2f12ef)=>{_0x146152['isThreadsLoadingPaused']='connected'!==_0x2f12ef;});}),this['listenTo'](_0x24fcac,'change:state',(_0x237e01,_0x27dce2,_0x362fea)=>{this['editor']['plugins']['get'](_0x5d2c1b)['switchReadOnly']('connected'!==_0x362fea);}),_0xcca9f5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x19341c{static get['requires'](){return[ut,ht,_0x1a2f4d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x19341c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x491b79)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x49747b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e477){super(_0x34e477);const _0x372a53=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x372a53);}async['init'](){const _0x34de6f=this['editor']['plugins']['get'](tt),_0x4d1dd6=_0x34de6f['serverHistory'],_0x30dff2=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4d1dd6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34de6f['sessionId']});const _0x69eab7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x45cdfc,_0x2c129e=await _0x2d90a6['isBundleUploaded'](_0x30dff2['connection'],_0x69eab7);this['editor']['plugins']['get'](_0x49747b)['adapter']={'getRevision':async({revisionId:_0x44dcc9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x44dcc9)),'updateRevisions':async _0x49ecb5=>{await this['_waitForServiceReady']();const _0x16e7d0=this['_revisionTracker']['currentRevision'];if(_0x2c129e&&0x1===_0x49ecb5['length']&&_0x49ecb5[0x0]['id']===_0x16e7d0['id'])return _0x49ecb5;for(const _0x1ce31c of _0x49ecb5)_0x1ce31c['id']===_0x16e7d0['id']&&(_0x1ce31c['isEmptyCurrent']=_0x1ce31c['fromVersion']===_0x1ce31c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x49ecb5,this['_lastRequestId'])['then'](_0x19bc3c=>(this['_lastRequestId']=_0x19bc3c,_0x49ecb5))['catch'](_0x441ed9=>{if(pt(_0x441ed9)||'400'===_0x441ed9['code']&&void 0x0!==_0x441ed9['data']['wrongRequestId']){for(const _0x24604d of _0x49ecb5){!this['_revisionTracker']['repository']['getRevision'](_0x24604d['id'])||this['_revisionTracker']['_bufferUpdate'](_0x24604d['id'],_0x24604d,!0x1);}if(pt(_0x441ed9)&&'destroyed'!==this['editor']['state'])throw _0x441ed9;return _0x49ecb5;}throw _0x441ed9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1b2257,{revisionsData:_0x343112,requestId:_0x101d88})=>{Math['max'](..._0x343112['map'](_0x4109e7=>_0x4109e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x343112,_0x101d88);}):this['_handleRevisionsUpdate'](_0x343112,_0x101d88);});const {revisions:_0x4c9852,requestId:_0x55ef79}=await this['_revisionHistoryService']['connect'](_0x30dff2['connection']);_0x30dff2['addToReconnectionStack'](this),this['_lastRequestId']=_0x55ef79,await this['_fetchMissingUsers'](_0x4c9852);for(const _0x58e6c8 of _0x4c9852)this['_revisionTracker']['addRevisionData'](_0x58e6c8);this['listenTo'](_0x34de6f,'change:_isConnected',(_0x1a8bd3,_0x2bed06,_0x309ab6)=>{_0x309ab6&&(this['_oldOffset']=_0x34de6f['_offset'],_0x1a8bd3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x30dff2,'state',_0x1e0043=>_0x1e0043===_0xe9981e['CONNECTED']);}async['reconnect'](){const _0x115a6e=this['editor']['plugins']['get'](z),_0x532c03=this['editor']['plugins']['get'](tt),_0x450e29=async()=>{const _0x5e495a=this['_revisionTracker']['currentRevision'],_0x1a59e8=_0x5e495a['id'],_0x6392df=_0x1a59e8!==_0x532c03['sessionId'];if(_0x6392df){const _0x54d9da=_0x532c03['_offset']-this['_oldOffset'],_0x4c9b62=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5e495a['toVersion']+_0x54d9da!==_0x4c9b62){const _0x59e783=_0x5e495a['fromVersion']+_0x54d9da,_0x12462a=this['editor']['plugins']['get'](_0x38bcb4),_0x120cc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e495a,'from':_0x59e783,'to':_0x4c9b62});_0x120cc3['id']=_0x5e495a['id'];const _0x4010a4=_0x120cc3['authorsIds']['map'](_0x1feb26=>_0x12462a['getUser'](_0x1feb26));_0x5e495a['_update']({..._0x120cc3,'authors':_0x4010a4},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5e495a['id'],_0x120cc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4c9b62,(_0x5e495a['toVersion']===_0x5e495a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a59e8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a59e8),this['_revisionTracker']['_createCurrentRevision'](_0x4c9b62));}const {revisions:_0x5d864b,requestId:_0x5949b8}=await this['_revisionHistoryService']['reconnect'](_0x115a6e['connection'],this['_lastRequestId']);_0x6392df&&_0x5d864b['length']>0x0?_0x532c03['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d864b),this['_handleRevisionsUpdate'](_0x5d864b,_0x5949b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x532c03['_isConnected']?_0x450e29():new Promise((_0x438424,_0x4256ed)=>{_0x532c03['once']('change:_isConnected',()=>{_0x450e29()['then'](_0x438424)['catch'](_0x4256ed);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x53be1b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2308e8=>{_0x2308e8['off'](),_0x53be1b();});});}['_getLatestVersionFromServerOperations'](){const _0x2cd7db=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2512ee of _0x2cd7db)if('marker'!==_0x2512ee['type']||_0x2512ee['affectsData'])return _0x2512ee['baseVersion']+0x1;}['_getLatestVersion'](){const _0x46230a=this['editor']['plugins']['get'](tt);return new Promise(_0x2cb71c=>{_0x46230a['_isPendingUpdate']?_0x46230a['once']('change:_isPendingUpdate',()=>{_0x2cb71c(this['_getLatestVersionFromServerOperations']());}):_0x2cb71c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x311822,_0x456780){const _0x2b5764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x456780;for(const _0x26dfed of _0x311822){const _0x229354=_0x2b5764['getRevision'](_0x26dfed['id']);if(_0x229354){if((_0x26dfed['fromVersion']||_0x26dfed['toVersion'])&&(_0x26dfed['diffData']=null),_0x229354===this['_revisionTracker']['currentRevision']){const _0x38c0af=Math['max'](_0x229354['toVersion'],_0x26dfed['toVersion']),_0x7a83ee=Math['max'](_0x229354['fromVersion'],_0x26dfed['fromVersion']);let _0x3888d7;_0x229354['toVersion']===_0x26dfed['toVersion']&&_0x229354['fromVersion']===_0x26dfed['fromVersion']?(_0x3888d7=!0x0,this['_preventResendingRevisionData'](_0x26dfed)):_0x26dfed['toVersion']===_0x38c0af&&_0x26dfed['fromVersion']===_0x7a83ee?_0x3888d7=!0x1:(_0x229354['toVersion']===_0x38c0af&&_0x229354['fromVersion']===_0x7a83ee||this['_fixRevision']({'revision':_0x229354,'from':_0x7a83ee,'to':_0x38c0af}),_0x3888d7=!0x0),_0x3888d7&&(delete _0x26dfed['fromVersion'],delete _0x26dfed['toVersion'],delete _0x26dfed['diffData'],delete _0x26dfed['createdAt'],delete _0x26dfed['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x26dfed),this['_preventResendingRevisionData'](_0x26dfed);}else this['_revisionTracker']['addRevisionData'](_0x26dfed);}const _0x25350e=_0x2b5764['getRevisions']();_0x25350e['reverse']();for(let _0x3399a5=0x0;_0x3399a5<_0x25350e['length']-0x1;_0x3399a5++){const _0x166383=_0x25350e[_0x3399a5],_0x59a498=_0x25350e[_0x3399a5+0x1];if(_0x166383['fromVersion']<_0x59a498['toVersion']){const _0x3c6877=_0x59a498['toVersion'],_0x4348d0=Math['max'](_0x3c6877,_0x166383['toVersion']);this['_fixRevision']({'revision':_0x166383,'from':_0x3c6877,'to':_0x4348d0});}}}['_fixRevision']({revision:_0x552202,from:_0x1d212c,to:_0x14aee7}={}){const _0x36f4f7=this['editor']['plugins']['get'](_0x38bcb4),_0x35a812=this['_revisionTracker']['buildRevisionData']({'revision':_0x552202,'from':_0x1d212c,'to':_0x14aee7});_0x35a812['authors']=_0x35a812['authorsIds']['map'](_0x5ea9ee=>_0x36f4f7['getUser'](_0x5ea9ee)),_0x552202['_update'](_0x35a812);}['_preventResendingRevisionData'](_0x3e6c2a){const _0x5d418c={};_0x5d418c['id']=_0x3e6c2a['id'];for(const _0x42ade9 of Object['keys'](_0x3e6c2a))'id'!==_0x42ade9&&(_0x5d418c[_0x42ade9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5d418c['id'],_0x5d418c,!0x0);}async['_fetchMissingUsers'](_0x2a1c17){const _0x5d325c=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0xdb53f3}=this['editor']['plugins']['get'](z),_0x5b22ee=new Set();for(const _0x3f12d2 of _0x2a1c17){for(const _0x2925f9 of _0x3f12d2['authorsIds'])_0x287c2f(_0x2925f9);_0x3f12d2['creatorId']&&_0x287c2f(_0x3f12d2['creatorId']);}if(0x0===_0x5b22ee['size'])return;const _0x5c936c=await _0x17aad5['getMany'](_0xdb53f3,Array['from'](_0x5b22ee));for(const _0x2fac8e of _0x5c936c)_0x5d325c['getUser'](_0x2fac8e['id'])||_0x5d325c['addUser'](_0x2fac8e);function _0x287c2f(_0x41fe0f){_0x5d325c['getUser'](_0x41fe0f)||_0x5b22ee['add'](_0x41fe0f);}}}function pt(_0xc8b328){return _0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x19341c{static get['requires'](){return[_0x49747b,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1e867e{['_collapseAt'];constructor(_0x105ec4,_0x4c6b5e=0x6){super(_0x105ec4);const _0x1a0a64=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4c6b5e,this['bind']('isHidden')['to'](this,'usersCount',_0x4bd838=>_0x4bd838<_0x4c6b5e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1a0a64['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x1a0a64['to']('usersCount',_0x15452e=>'+'+(_0x15452e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1e867e{['items'];['keystrokes'];constructor(_0x3e80c3){super(_0x3e80c3);const _0x44b7fe=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x32ce2b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44b7fe['if']('hasPopup'),'aria-expanded':_0x44b7fe['to']('isExpanded',_0x33136e=>this['hasPopup']&&String(_0x33136e)),'aria-label':_0x44b7fe['to']('hasPopup',_0x600a6d=>X(_0x3e80c3,_0x600a6d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44b7fe['to']('hasPopup',_0x58c484=>!!_0x58c484&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x44b7fe['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x44b7fe['to'](_0x5a3fd9=>{const _0x1c175a=_0x5a3fd9,_0x11981d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4f8580=document['querySelector']('.ck-balloon-panel_with-arrow');_0x11981d?.['contains'](_0x1c175a['relatedTarget'])||_0x4f8580?.['contains'](_0x1c175a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x335f01,_0x5056ed,_0x4c11e0)=>{this['element']&&(_0x4c11e0?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 _t extends _0x1e867e{['counterView'];['inlineListView'];constructor(_0x10e58a,_0x1407ab=0x6){super(_0x10e58a);const _0x1ed2a4=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1407ab),this['inlineListView']=new vt(_0x10e58a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5321f5 of this['inlineListView']['items'])_0x5321f5['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',_0x1ed2a4['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1e867e{['listWrapperView'];constructor(_0x5c7552,_0x5de40c){super(_0x5c7552);const _0x2b8dd9=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c7552,_0x5de40c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c7552,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2b8dd9['to'](_0x5d3177=>{const _0x318614=_0x5d3177,_0x12380c=document['querySelector']('.ck-presence-list__list'),_0x1c2c0a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12380c?.['contains'](_0x318614['relatedTarget'])||_0x1c2c0a?.['contains'](_0x318614['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x4af250{constructor(_0x167a2a,_0x55228a){super(_0x167a2a);const _0xff15bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x55228a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xff15bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xff15bd['to']('role'),'aria-label':_0xff15bd['to']('ariaLabel'),'aria-labelledby':_0xff15bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d1191['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3be6e9=this['element'];_0x3be6e9&&(this['_isScrollable']=Math['max'](_0x3be6e9['scrollHeight'],_0x3be6e9['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x48f89e{['userView'];constructor(_0x41c2af,_0x2ab93b,_0x2e68f3){super(_0x41c2af);const _0x3aa5d4=this['bindTemplate'];this['userView']=new _0x44a9ad(_0x41c2af,_0x2ab93b);const _0x384943={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2ab93b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2ab93b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2ab93b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2ab93b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2ab93b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2e68f3&&(_0x384943['tag']='button',_0x384943['on']={'click':_0x3aa5d4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x384943);}['focus'](){this['element']['focus']();}}class It extends _0x1e867e{['userView'];['markerView'];constructor(_0x14515c,_0x3d64e8,_0x1be650){super(_0x14515c);const _0x713088=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a9ad(_0x14515c,_0x3d64e8),this['markerView']=new St(_0x14515c,_0x3d64e8);const _0x3262ca=new _0x2df49d(_0x14515c);_0x3262ca['template']['tag']='span',_0x3262ca['text']=_0x3d64e8['name'];const _0x43b2f0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x713088['to']('isFocusable',_0x2fd55b=>!!_0x2fd55b&&0x0),'aria-labelledby':_0x3262ca['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x713088['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x713088['to']('hasTooltip',_0x1cb19d=>!_0x1cb19d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3262ca]};_0x1be650&&(_0x43b2f0['tag']='button',_0x43b2f0['on']={'click':_0x713088['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43b2f0);}}class St extends _0x1e867e{constructor(_0x43cfdd,_0x16fe37){super(_0x43cfdd),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16fe37['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16fe37['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16fe37['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x56b782{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b69e5){super(_0x1b69e5),this['context']['config']['define']('presenceList',Tt);const _0x1e9641=_0x1b69e5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1e9641)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);if(_0x1e9641<0x1)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ca9e9(),this['balloonPanelView']=new _0x39d104(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ad05e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ad05e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3f23cd,_0x5ec976)=>{this['_handleUserAdd'](_0x5ec976);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x35c74d,_0x588a05)=>{this['_handleUserRemove'](_0x588a05);});}['_createView'](){const _0x1ce550=this['context'],_0x4aba6a=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6dbed8=this['balloonPanelView'];if(!_0x2f2328(_0x1ce550['config']['get']('presenceList.container')))throw new _0x2b4c1a('presencelist-missing-container',this);return _0x4aba6a['counterView']['bind']('usersCount')['to'](this),_0x4aba6a['bind']('isCollapsed')['to'](this,'usersCount',_0x3f176f=>{const {collapseAt:_0x516e33}=_0x1ce550['config']['get']('presenceList'),_0x4728c2=_0x3f176f>=_0x516e33;if(_0x4728c2&&!_0x4aba6a['inlineListView']['items']['find'](_0x55e32a=>_0x55e32a instanceof wt)){const _0x2f5511=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2f5511&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4aba6a['inlineListView']['items']['add'](_0x4aba6a['counterView']);}return _0x4728c2||this['hideDropdown'](),_0x4728c2;}),_0x4aba6a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x54b0e6=>{const _0x2e31c3=_0x1ce550['config']['get']('presenceList'),_0x1ba3fc=new It(_0x1ce550['locale'],_0x54b0e6,!!_0x2e31c3['onClick']);return _0x1ba3fc['bind']('hasTooltip')['to'](_0x4aba6a,'isCollapsed',_0x36aa19=>!_0x36aa19),_0x1ba3fc['bind']('isFocusable')['to'](_0x4aba6a,'isCollapsed',_0x41fc56=>!_0x41fc56),_0x2e31c3['onClick']&&this['listenTo'](_0x1ba3fc,'execute',()=>{this['view']['isCollapsed']||_0x2e31c3['onClick'](_0x54b0e6,_0x1ba3fc['element']);}),_0x1ba3fc;}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4aba6a['inlineListView']['keystrokes']['set']('Enter',(_0x58e49f,_0x21e511)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x21e511());}),_0x4aba6a['render'](),_0x6dbed8['render'](),_0x3f118c({'emitter':_0x4aba6a,'activator':()=>_0x6dbed8['isVisible'],'contextElements':[_0x6dbed8['element'],_0x4aba6a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1ce550['config']['get']('presenceList.container')['appendChild'](_0x4aba6a['element']),this['_bodyCollection']=new _0x2bbc41(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4aba6a;}['_handleUserAdd'](_0x3e2472){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3e2472['isMe'])return;const _0x445569=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x445569-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x25e681=_0x3e2472['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3e2472,_0x25e681);}['_handleUserRemove'](_0x1215af){this['usersCount']--;const {collapseAt:_0x4a3911}=this['context']['config']['get']('presenceList'),_0x3eb9d3=this['usersCount']>=_0x4a3911;if(this['currentDisplayedUsers']['get'](_0x1215af['id']))this['currentDisplayedUsers']['remove'](_0x1215af['id']);else{if(_0x3eb9d3&&this['currentDisplayedUsers']['length']+0x1===_0x4a3911-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)<this['usersCount']){for(const _0x338b2d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x338b2d['id'])&&(this['currentDisplayedUsers']['add'](_0x338b2d,Math['min'](this['currentDisplayedUsers']['length']-(_0x3eb9d3?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)===_0x4a3911-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x21e9b4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x21e9b4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4e6a8c}=this['presenceDropdownView'];_0x4e6a8c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x334697=>{if(!_0x21e9b4['displayMe']&&_0x334697['isMe'])return null;const _0x1032fe=new kt(this['context']['locale'],_0x334697,!!_0x21e9b4['onClick']);return _0x21e9b4['onClick']&&this['listenTo'](_0x1032fe,'execute',()=>{_0x21e9b4['onClick'](_0x334697,_0x1032fe['element']);}),_0x1032fe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4e6a8c['focus'](),_0x4e6a8c['checkIfScrollable']();const _0x11849a=(_0x2b57ba,_0x41b681)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x41b681();};_0x4e6a8c['keystrokes']['set']('Esc',_0x11849a),_0x4e6a8c['keystrokes']['set']('Shift+Tab',_0x11849a),_0x4e6a8c['keystrokes']['set']('Tab',(_0x5e0ada,_0x146c21)=>{!function(_0x533b0f){const _0x1cb6f6=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4b9fb8=>_0x4b9fb8+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x158d3b=[...document['body']['querySelectorAll'](_0x1cb6f6)]['filter'](_0x28eab7=>_0x28eab7===document['activeElement']||_0x28eab7['offsetWidth']+_0x28eab7['offsetHeight']>0x0)['sort']((_0x9e8147,_0x1df45e)=>(_0x9e8147['tabIndex']||0x0)-(_0x1df45e['tabIndex']||0x0)),_0x310dc8=_0x158d3b['indexOf'](_0x533b0f),_0x39e57c=_0x158d3b[(_0x310dc8+0x1)%_0x158d3b['length']];_0x39e57c&&_0x39e57c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x146c21();}),_0x4e6a8c['focusTracker']['add'](this['view']['element']),_0x4e6a8c['focusTracker']['on']('change:isFocused',(_0xe5431c,_0x59300b,_0x5d57c8)=>{_0x5d57c8||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 Pt extends _0x56b782{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0x299a1f,Plugin as _0x39e050,PendingActions as _0x5d4659,Context as _0x431f86}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xf3f05,CKEditorError as _0x3d60ed,Collection as _0x3fe7eb,global as _0x390801,version as _0x3fc9a9,uid as _0x1cea96,KeystrokeHandler as _0x5441f9}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4eacfa,View as _0x517c2e,ListView as _0x2d51b1,ListItemView as _0x3c1ad7,LabelView as _0xfbd9bd,BalloonPanelView as _0x56d969,clickOutsideHandler as _0x157e4b,BodyCollection as _0x2cddbd}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5e0b5f,History as _0x247f61,NoOperation as _0x4b944c,InsertOperation as _0x8ff524,MarkerOperation as _0x2fe41c,RootAttributeOperation as _0x46664c,transformOperationSets as _0x3341f1,OperationFactory as _0xd9a0c}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x5b023b}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x4c872a,WEB_SOCKET_GATEWAY_STATES as _0x41dc21,CollaborativeEditingService as _0x59838d,User as _0x460a04,CommentsService as _0x3d6374,TrackChangesService as _0x547bd0,RevisionHistoryService as _0x108128,EditorService as _0xf6489d}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x1a6e2b,UserView as _0x2a5839}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0xbe09fb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x10b620,TrackChanges as _0x11010e}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5c14d5,Comments as _0x135486,CommentsEditing as _0x20d61a}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x1a2046}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x3c49ac}from'es-toolkit/compat';class z extends _0x299a1f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x4c872a)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5b023b,_0x4eacfa];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5e7c0b){super(_0x5e7c0b),this['set']('state',_0x41dc21['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xf3f05())();}['init'](){const _0x49f48e=this['context'],_0x6e500c=_0x49f48e['plugins']['get'](_0x5b023b),_0x1113e4=_0x49f48e['plugins']['get'](_0x4eacfa);if(!_0x6e500c['token'])throw new _0x3d60ed('websocketgateway-missing-token',this);if(!_0x6e500c['webSocketUrl'])throw new _0x3d60ed('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),z['WebSocketGateway']['connect'](_0x6e500c['token'],_0x6e500c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x12c43d=>{if(this['connection']=_0x12c43d,this['bind']('state')['to'](_0x12c43d,'state',this,'_isBrowserOffline',(_0x11b080,_0x499d7b)=>('connected'!==_0x11b080&&(this['_shouldPluginsReconnect']=!0x0),_0x499d7b||_0x11b080!==_0x41dc21['CONNECTED']?_0x41dc21['DISCONNECTED']:this['state']==_0x41dc21['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x41dc21['CONNECTING']):_0x41dc21['CONNECTED'])),this['connection']['on']('error',(_0x55ca1d,_0x4c2ed1)=>{if('limitExceeded'!==_0x4c2ed1['code'])throw console['error'](_0x4c2ed1),new _0x3d60ed('cloudservices-init',null,{'originalError':_0x4c2ed1});_0x1113e4['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'});}),!_0x12c43d['me'])return new Promise(_0x49a7fe=>_0x12c43d['on']('change:me',_0x49a7fe));})['catch'](_0x3de8e7=>{throw console['error'](_0x3de8e7),new _0x3d60ed('cloudservices-init',null,{'originalError':_0x3de8e7});});}['addToReconnectionStack'](_0x14e173){if('function'!=typeof _0x14e173['reconnect'])throw new _0x3d60ed('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x14e173))throw new _0x3d60ed('websocketgateway-plugin-already-registered',this,{'name':_0x14e173['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x14e173);}['removeFromReconnectionStack'](_0x1ba565){this['_reconnectionStack']['delete'](_0x1ba565);}['isInReconnectionStack'](_0x3c9bfd){return this['_reconnectionStack']['has'](_0x3c9bfd);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x25a14c=>_0x25a14c['reconnect']())))['then'](()=>this['state']=_0x41dc21['CONNECTED'])['catch'](_0x5de462=>{throw console['error'](_0x5de462),new _0x3d60ed('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x41dc21['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x299a1f{['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[z,_0x1a6e2b];}constructor(_0x19c438){super(_0x19c438),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3fe7eb(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1a6e2b);}['init'](){const _0xac94e8=this['context']['plugins']['get'](z);this['listenTo'](_0xac94e8,'change:state',(_0x421c92,_0x1027b7,_0x516b11)=>{if('connected'!==_0x516b11)this['channelSessions']['forEach'](_0x583e93=>_0x583e93['clear']()),this['channelConnectedUsers']['forEach'](_0x56c7be=>_0x56c7be['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3829a6,_0xa1cf7a]of this['_registeredSessions'])for(const _0x1b93a6 of _0xa1cf7a)this['_handleSessionAdd'](_0x3829a6,_0x1b93a6);}}),this['_createUser'](_0xac94e8['connection']['me'],!0x0);}['register'](_0x4c4e9d,_0x1864f4){if(this['_registeredSessions']['has'](_0x4c4e9d))throw new _0x3d60ed('sessions-register-already-registered',null,{'channelId':_0x4c4e9d});this['_registeredSessions']['set'](_0x4c4e9d,_0x1864f4),this['channelSessions']['set'](_0x4c4e9d,new _0x3fe7eb()),this['channelConnectedUsers']['set'](_0x4c4e9d,new _0x3fe7eb()),this['listenTo'](_0x1864f4,'add',(_0xa9c21e,_0x2ebb3f)=>this['_handleSessionAdd'](_0x4c4e9d,_0x2ebb3f)),this['listenTo'](_0x1864f4,'remove',(_0x31abe4,_0x467d81)=>this['_handleSessionRemove'](_0x4c4e9d,_0x467d81));for(const _0x445c7d of _0x1864f4)this['_handleSessionAdd'](_0x4c4e9d,_0x445c7d);}['unregister'](_0xe62170){if(!this['_registeredSessions']['has'](_0xe62170))throw new _0x3d60ed('sessions-unregister-not-exist',null,{'channelId':_0xe62170});const _0x1bf313=this['_registeredSessions']['get'](_0xe62170);this['stopListening'](_0x1bf313);for(const _0x120286 of _0x1bf313)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xe62170,_0x120286);this['_registeredSessions']['delete'](_0xe62170),this['channelSessions']['delete'](_0xe62170),this['channelConnectedUsers']['delete'](_0xe62170);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ba040){for(const _0x1b5b6e of this['channelSessions']['values']())for(const _0x2eb193 of _0x1b5b6e)if(_0x2eb193['id']===_0x3ba040)return _0x2eb193['user'];}['getUserSessions'](_0xb4b414,_0x31d621){const _0xe0a42d=_0x31d621?[this['channelSessions']['get'](_0x31d621)]:this['channelSessions']['values'](),_0x543054=new Set();for(const _0x407e74 of _0xe0a42d)for(const _0xcfc353 of _0x407e74)_0xcfc353['user']['id']===_0xb4b414['id']&&_0x543054['add'](_0xcfc353['id']);return _0x543054;}['getUserRole'](_0x505dc3){for(const _0x1f6d2a of this['channelSessions']['values']())for(const _0x4b0a31 of _0x1f6d2a)if(_0x4b0a31['user']===_0x505dc3)return _0x4b0a31['role'];}['_handleSessionAdd'](_0x14dce8,_0x3e256c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2236ac=_0x3e256c['user'],_0x452bcb=this['_users']['getUser'](_0x2236ac['id'])||this['_createUser'](_0x2236ac),_0x295350=Object['assign']({},_0x3e256c,{'user':_0x452bcb});if(this['channelSessions']['get'](_0x14dce8)['add'](_0x295350),!_0x2236ac['hiddenInPresenceList']){const _0x49759a=this['channelConnectedUsers']['get'](_0x14dce8);_0x49759a['has'](_0x452bcb['id'])||_0x49759a['add'](_0x452bcb),this['allConnectedUsers']['has'](_0x452bcb['id'])||_0x2236ac['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x452bcb,_0x452bcb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x14dce8,{'channelId':_0x14dce8,'session':_0x295350});}['_handleSessionRemove'](_0x590ce0,_0x3f687f){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4501ae=this['channelConnectedUsers']['get'](_0x590ce0),_0x3d1179=_0x3f687f['user'];_0x3d1179['id']&&(this['channelSessions']['get'](_0x590ce0)['remove'](_0x3f687f['id']),_0x4501ae['has'](_0x3d1179['id'])&&!this['getUserSessions'](_0x3d1179,_0x590ce0)['size']&&_0x4501ae['remove'](_0x3d1179['id']),this['allConnectedUsers']['get'](_0x3d1179['id'])&&!this['getUserSessions'](_0x3d1179)['size']&&this['allConnectedUsers']['remove'](_0x3d1179['id']));}['_createUser'](_0x53dfe3,_0x110a32){const _0x34733c=this['_users']['addUser'](_0x53dfe3);return _0x110a32&&this['_users']['defineMe'](_0x53dfe3['id']),_0x34733c['orderNumber']=this['_uniqueUsersCount']++,_0x34733c;}}class K extends _0x39e050{['_domEmitter']=new(_0xf3f05())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x72468c=this['editor'],_0x493378=_0x72468c['plugins']['get'](Y);_0x72468c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x57e9bc,{writer:_0x13b218})=>function(_0x5de5a1,_0xbef5b7,_0x21abb5,_0x4dec44){const _0x4a2bd3=_0x5de5a1['markerName']['split'](':')[0x2],_0x4ebffd=_0x21abb5['getUserBySessionId'](_0x4a2bd3);if(!_0x4ebffd||_0x4a2bd3===_0x21abb5['mySessionId'])return;if(!_0x4dec44['model']['schema']['checkChild'](_0x5de5a1['markerRange']['start'],'$text'))return;const _0x32e711={'class':'ck-user__marker\x20'+_0x4ebffd['color']['getMarkerClass'](),'style':Q(_0x4ebffd),'data-name':_0x4ebffd['name'],'data-session-id':_0x4a2bd3},_0x56aa08=_0x4dec44['model']['markers']['get'](_0x5de5a1['markerName']),_0x414a74=_0x56aa08['getStart'](),_0x67ee36=_0x414a74['nodeAfter'],_0x4d16e3=_0x4dec44['model']['schema'];if(_0x67ee36&&_0x4d16e3['isObject'](_0x67ee36)&&_0x4d16e3['isInline'](_0x67ee36)&&!_0x4dec44['model']['markers']['get']('user:range:'+_0x4a2bd3)['getRange']()['isCollapsed'])return;const _0x42bd5c=_0x414a74['parent'];return _0x4dec44['model']['schema']['isLimit'](_0x42bd5c)&&!_0x4dec44['model']['hasContent'](_0x42bd5c)&&(_0x32e711['contenteditable']=!0x1),function(_0x1f31e8,_0x2c9e31,_0x319d2a){const _0x956d14=_0x1f31e8['createUIElement']('span',_0x2c9e31);return _0x1f31e8['setCustomProperty']('userPositionMarker',!0x0,_0x956d14),_0x956d14['render']=function(_0x144647){const _0x23bce7=this['toDomElement'](_0x144647),_0x2e1165=document['createElement']('span');return _0x2e1165['classList']['add']('ck-user__marker-tooltip'),_0x2e1165['setAttribute']('contenteditable','false'),_0x2e1165['setAttribute']('spellcheck','false'),_0x2e1165['textContent']=_0x319d2a['name'],_0x23bce7['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2e1165['outerHTML']+'⁠',_0x23bce7['addEventListener']('mouseenter',()=>{_0x23bce7['classList']['add']('ck-user__marker_hovered');}),_0x23bce7['addEventListener']('mouseleave',()=>{_0x23bce7['classList']['remove']('ck-user__marker_hovered');}),_0x23bce7;},_0x956d14['isSimilar']=function(_0x2844f9){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2844f9['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2844f9['getAttribute']('data-session-id'));},_0x956d14;}(_0xbef5b7,_0x32e711,_0x4ebffd);}(_0x57e9bc,_0x13b218,_0x493378,_0x72468c)}),_0x72468c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3c0b1d=>function(_0x3b9874,_0x3df7b7){const _0x27e848=_0x3b9874['markerName']['split'](':')[0x2];if(_0x27e848===_0x3df7b7['mySessionId'])return null;const _0x47ac0b=_0x3df7b7['getUserBySessionId'](_0x27e848);if(!_0x47ac0b)return{'id':_0x27e848,'classes':[]};return{'id':_0x27e848,'classes':['ck-user__selection',_0x47ac0b['color']['getSelectionClass']()],'attributes':{'style':Q(_0x47ac0b),'data-session-id':_0x27e848},'priority':0x7d0+_0x47ac0b['orderNumber']};}(_0x3c0b1d,_0x493378)}),function(_0x5d7c86){const _0x206f4c=_0x5d7c86['model'],_0x3c2a72=new Map(),_0x5700e0=_0x5d7c86['plugins']['get'](Y);_0x206f4c['markers']['on']('update:user:range',(_0x12e32e,_0xfdc15d,_0x3d23d4,_0xb8931f)=>{if(!_0xb8931f&&_0x3c2a72['get'](_0xfdc15d['name']))return _0x3c2a72['get'](_0xfdc15d['name'])['detach'](),void _0x3c2a72['delete'](_0xfdc15d['name']);const _0x3b20c8=_0xfdc15d['name']['split'](':')[0x2];if(_0x3b20c8===_0x5700e0['mySessionId'])return;const _0x5ce454='user:position:'+_0x3b20c8;_0x206f4c['markers']['has'](_0x5ce454)&&_0x5d7c86['editing']['reconvertMarker'](_0x5ce454),_0xfdc15d['on']('change:range',(_0x334072,_0x47fa20,_0xac23b7)=>{if('$graveyard'!=_0x47fa20['root']['rootName']&&'$graveyard'==_0xfdc15d['getRange']()['root']['rootName']&&!_0x3c2a72['has'](_0xfdc15d['name'])){const _0x57f87e=_0x206f4c['schema']['getNearestSelectionRange'](_0xac23b7['deletionPosition']);if(_0x57f87e){const _0x543e49=_0x5e0b5f['fromRange'](_0x57f87e);_0x3c2a72['set'](_0xfdc15d['name'],_0x543e49),_0x543e49['on']('change:range',(_0x5f0e81,_0x16c048,_0x53f9dc)=>{if('$graveyard'==_0x543e49['root']['rootName']){const _0x36e049=_0x206f4c['schema']['getNearestSelectionRange'](_0x53f9dc['deletionPosition']);_0x36e049?(_0x543e49['start']=_0x36e049['start'],_0x543e49['end']=_0x36e049['end']):(_0x3c2a72['delete'](_0xfdc15d['name']),_0x543e49['detach']());}});}}});}),_0x206f4c['document']['on']('change',()=>{_0x3c2a72['size']>0x0&&_0x206f4c['enqueueChange']({'isUndoable':!0x1},_0x3823ea=>{for(const [_0x20a2de,_0x32c6eb]of _0x3c2a72)'$graveyard'==_0x206f4c['markers']['get'](_0x20a2de)['getRange']()['root']['rootName']&&(J(_0x20a2de['split'](':')[0x2],_0x32c6eb['toRange'](),_0x206f4c,_0x3823ea),_0x32c6eb['detach']());_0x3c2a72['clear']();});});}(_0x72468c),this['_domEmitter']['listenTo'](_0x390801['document'],'keydown',(_0x15fe46,{key:_0x8057f7})=>{'Escape'===_0x8057f7&&function(_0x378df5){_0x378df5['editing']['view']['change'](_0x1fe79c=>{for(const _0x56c64f of _0x378df5['model']['markers']){if(!_0x56c64f['name']['startsWith']('user:position'))continue;const _0x149912=_0x378df5['editing']['mapper']['markerNameToElements'](_0x56c64f['name']);if(_0x149912){for(const _0x4ae2b1 of _0x149912)_0x1fe79c['removeClass']('ck-user__marker_hovered',_0x4ae2b1);}}});}(_0x72468c);},{'useCapture':!0x0});}['afterInit'](){const _0x4f2c16=this['editor'],_0x4278c7=_0x4f2c16['commands']['get']('undo');_0x4278c7&&_0x4f2c16['model']['on']('applyOperation',(_0x309e84,_0x5bfd77)=>{const _0x2db48e=_0x5bfd77[0x0];if(!_0x2db48e['isDocumentOperation'])return;if('marker'!=_0x2db48e['type']||!_0x2db48e['name']['startsWith']('user:'))return;const _0x392b50=_0x2db48e['batch'];_0x4278c7['_createdBatches']['has'](_0x392b50)&&(_0x2db48e['newRange']=_0x2db48e['oldRange']?_0x4f2c16['model']['createRange'](_0x2db48e['oldRange']['start'],_0x2db48e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5d4cec=this['editor'],_0x562180=_0x5d4cec['model']['document'],_0x44c43f=_0x5d4cec['plugins']['get'](Y);_0x5d4cec['model']['enqueueChange']({'isUndoable':!0x1},_0xf768dd=>{const _0x2106b4='user:range:'+_0x44c43f['mySessionId'],_0x46f586='user:position:'+_0x44c43f['mySessionId'],_0x3dcf0e=_0x5d4cec['model']['markers']['has'](_0x2106b4);_0x5d4cec['editing']['view']['hasDomSelection']?J(_0x44c43f['mySessionId'],_0x562180['selection']['getFirstRange'](),_0x5d4cec['model'],_0xf768dd):_0x3dcf0e&&(_0xf768dd['removeMarker'](_0x2106b4),_0xf768dd['removeMarker'](_0x46f586));});}}function J(_0x22d084,_0x3771d3,_0x3b955f,_0x159c7e){const _0x46986c='user:range:'+_0x22d084,_0x58cb17='user:position:'+_0x22d084,_0x15355c=_0x3771d3['getContainedElement']();let _0x4b72ac=_0x3771d3['start'];if(_0x15355c&&_0x15355c['is']('element','tableCell')){const _0x409812=function(_0x1e8b31,_0x5e3fa7){for(const _0x2c776c of _0x1e8b31['getPositions']())if(_0x5e3fa7['schema']['checkChild'](_0x2c776c,'$text'))return _0x2c776c;}(_0x3771d3,_0x3b955f);_0x409812&&(_0x4b72ac=_0x409812,_0x3771d3=_0x159c7e['createRange'](_0x4b72ac));}const _0xd63f63=_0x159c7e['createRange'](_0x4b72ac);_0x3b955f['markers']['has'](_0x46986c)?(_0x159c7e['updateMarker'](_0x46986c,{'range':_0x3771d3}),_0x159c7e['updateMarker'](_0x58cb17,{'range':_0xd63f63})):(_0x159c7e['addMarker'](_0x46986c,{'range':_0x3771d3,'usingOperation':!0x0}),_0x159c7e['addMarker'](_0x58cb17,{'range':_0xd63f63,'usingOperation':!0x0}));}function Q(_0x482e8f){return'--ck-user-color:'+_0x482e8f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x482e8f['color']['getColorAlphaVariable']()+';';}function X(_0x377922,_0x4a255b,_0x4b7b67){const _0x2d216c=_0x377922['t'],t=_0x377922['t'];switch(_0x4a255b){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 _0x2d216c({'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'},_0x4b7b67);default:return'';}}let Z=0x1;class tt extends _0x39e050{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x59838d)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x5d4659,_0x1a6e2b,_0x4eacfa];}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 _0x336415=this['serverHistory']['getOperations']();for(let _0x1ee1b0=_0x336415['length']-0x1;_0x1ee1b0>=0x0;_0x1ee1b0--){const _0x30e84b=_0x336415[_0x1ee1b0];if(!this['_disconnectionOperations']['has'](_0x30e84b))return _0x30e84b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2d0dea){if(super(_0x2d0dea),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x247f61(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3d60ed('collaboration-missing-channelid',this);const _0x490247=_0x2d0dea['config']['get']('cloudServices.bundleVersion')||_0x3fc9a9;this['_service']=new tt['CollaborativeEditingService'](_0x490247,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xbe09fb(),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 it(this['_disconnectionOperations']);}['init'](){const _0x4c3ae6=this['editor'],_0x4876a4=_0x4c3ae6['plugins']['get'](_0x1a6e2b),_0xa6bbb9=_0x4c3ae6['plugins']['get'](z);this['listenTo'](_0x4876a4,'getOperationAuthor',(_0x503ee7,_0x4717a7)=>{const _0x791bac=_0x4717a7[0x0];_0x791bac['_authorId']&&(_0x503ee7['return']=_0x4876a4['getUser'](_0x791bac['_authorId']),_0x503ee7['stop']()),null===_0x791bac['_authorId']&&(_0x503ee7['return']=null,_0x503ee7['stop']());},{'priority':'high'}),this['listenTo'](_0x4c3ae6['model']['document']['selection'],'change:range',(_0x408736,_0x4f39fe)=>{_0x4f39fe['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4c3ae6['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4c3ae6['model']['on']('applyOperation',(_0x10c762,_0x191f53)=>{const _0x3a1b7c=_0x191f53[0x0];_0x3a1b7c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3a1b7c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xa6bbb9,'state',this,'_hasSynchronizationProblem',(_0x218a04,_0x54be05)=>'connected'===_0x218a04&&!_0x54be05),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4c3ae6['disableReadOnlyMode']('rtc-offline'):_0x4c3ae6['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4c3ae6['disableReadOnlyMode']('rtc-offline'):_0x4c3ae6['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1f0aeb=this['editor']['plugins']['get'](Y),_0x53311b=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1f0aeb['unregister'](this['_channelId']);const _0x380eae=await this['_service']['reconnect'](_0x53311b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x380eae)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4ae5cb=await this['_service']['getConnectedSessions']();_0x1f0aeb['register'](this['_channelId'],_0x4ae5cb),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2c074f){if(function(_0x2206e9){return'404'===_0x2206e9['code'];}(_0x2c074f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2bd4e8){return'409'===_0x2bd4e8['code'];}(_0x2c074f)){const _0x563899=X(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'](_0x563899);}else{if(!(_0x2c074f instanceof et))throw _0x2c074f;this['_handleReconnectionError']();}}}}['destroy'](){const _0xeaf590=this['editor']['plugins']['get'](z),_0x114dc8=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x114dc8['channelSessions']['has'](this['_channelId'])&&_0x114dc8['unregister'](this['_channelId']),_0xeaf590['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1159d6){if(this['sessionId']!==_0x1159d6['sessionId']&&this['_lastSyncedOperationId']!==_0x1159d6['lastOperationId'])throw new et();return this['sessionId']=_0x1159d6['sessionId'],this['_handleServerResponse']([],{..._0x1159d6,'wereChangesApplied':!0x1,'data':_0x1159d6['data']},'reconnect');}async['_connectService'](_0x2841be,_0x4713d2=!0x1){const {connection:_0x3aea5d}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x3aea5d,this['_channelId'])['then'](_0x528c0c=>this['_initSessionsHandling'](_0x528c0c))['catch'](_0x9c2fe6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x9c2fe6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xacd4b4,_0x30ca53)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x30ca53);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x487065=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2841be);this['_isPendingUpdate']=!0x0;const _0xed71c0=await this['_service']['connect'](_0x3aea5d,this['_compressOperations'](_0x2841be),_0x487065);if(this['sessionId']=_0xed71c0['sessionId'],_0x4713d2){if(!_0xed71c0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xed71c0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2841be,_0xed71c0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xed71c0,_0x2841be);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x52b322=this['editor']['plugins']['get'](Y),_0x3014a7=this['editor']['plugins']['get'](K),_0x1d5cac=_0x52b322['channelSessions']['get'](this['_channelId']);_0x1d5cac&&_0x1d5cac['length']>0x1?_0x3014a7['createUserMarkerOperations']():this['listenTo'](_0x52b322,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x52b322['channelSessions']['get'](this['_channelId'])['length']&&_0x3014a7['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1942fe,_0x4f4a6d,_0x1ce4e5,_0x966901){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4f4a6d){const _0xeeff4a=this['_decompressOperations'](_0x1ce4e5,_0x966901);await this['_fetchMissingUsers'](_0xeeff4a),this['_handleExternalOperations'](_0xeeff4a,_0x4f4a6d,_0x1ce4e5['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x9c5dfc}=this['editor'];let _0x2756ab;try{_0x2756ab=await this['_service']['getDocumentDetails']();}catch{const _0x3d51de=X(_0x9c5dfc,'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'](_0x3d51de);}const _0x5bca9d=_0x2756ab['currentDocumentSession']||_0x2756ab['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5bca9d['lastOperationId']){const _0x32632f=X(_0x9c5dfc,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x32632f);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2cf30f){const _0x387eef=this['editor']['plugins']['get'](Y);this['listenTo'](_0x387eef,'sessionAdd:'+this['_channelId'],(_0x5b12aa,{session:_0x2fe717})=>{if(_0x2fe717['id']===_0x387eef['mySessionId']){_0x5b12aa['off']();const _0x1147c7=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4b00fc=_0x2fe717['permissions'];_0x1147c7&&_0x1147c7['isEnabled']&&(_0x4b00fc=_0x4b00fc['filter'](_0x493705=>'document:write'!==_0x493705)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4b00fc,this['_channelId']);}}),_0x387eef['register'](this['_channelId'],_0x2cf30f);}['_initThrowingOnDataSet'](){const _0x23e557=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xb485ea)=>{if(!_0xb485ea[_0xb485ea['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3d60ed('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x23e557['apply'](this['editor']['data'],_0xb485ea);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4dd3ca,[_0x33116d])=>{if(this['_document']['version'])throw new _0x3d60ed('realtimecollaborationclient-init-document-already-initialized',this);_0x4dd3ca['stop'](),this['_setPendingAction']();const _0x33acbc=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x138cda])=>!_0x138cda['lazyLoad'])['map'](([_0x9db26f,_0xfd7ba])=>[_0x9db26f,_0xfd7ba['modelAttributes']||{}])),_0x2c4371=this['_getOperationsFromInitData'](_0x33116d,_0x33acbc);0x0==_0x2c4371['length']&&_0x2c4371['push'](new _0x4b944c(0x0)),_0x4dd3ca['return']=this['_connectService'](_0x2c4371)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x48d08b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x48d08b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x58921d,[_0x107e4a,_0x50e81c])=>{_0x58921d['stop']();const _0x580c93=this['editor']['model']['document']['getRoot'](_0x107e4a);if(!this['_knownRootNames']['has'](_0x107e4a)){const _0x539993=_0x50e81c&&_0x50e81c['data']?_0x50e81c['data']:'',_0x7adac5=_0x50e81c&&_0x50e81c['attributes']?_0x50e81c['attributes']:{};await this['_loadRoot'](_0x107e4a,_0x539993,_0x7adac5);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x580c93['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x580c93);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x10712d){const _0x47626a=this['editor']['plugins']['get'](_0x1a6e2b),{connection:_0x11c838}=this['editor']['plugins']['get'](z),_0x2bac5b=new Set();for(const _0x39082d of _0x10712d){const _0x3f0b2b=_0x39082d['_authorId'];_0x3f0b2b&&!_0x47626a['getUser'](_0x3f0b2b)&&_0x2bac5b['add'](_0x3f0b2b);}if(0x0===_0x2bac5b['size'])return;const _0x2dd14b=await _0x460a04['getMany'](_0x11c838,Array['from'](_0x2bac5b));for(const _0x324428 of _0x2dd14b)_0x47626a['getUser'](_0x324428['id'])||_0x47626a['addUser'](_0x324428);}['_getOperationsFromInitData'](_0x4893a4,_0x1bec68={}){const _0x1e1717=this['editor']['model'],_0x46d85b=[];let _0x365aef=0x0;const _0x2db68c='string'==typeof _0x4893a4?{'main':_0x4893a4}:_0x4893a4;for(const _0x2e2b5c of Object['keys'](_0x2db68c)){if(!this['_document']['roots']['has'](_0x2e2b5c))throw new _0x3d60ed('realtimecollaborationclient-init-non-existent-root',this);const _0x16ed2c=this['editor']['data']['parse'](_0x2db68c[_0x2e2b5c]),_0x4d21d9=this['_document']['getRoot'](_0x2e2b5c),_0x217d59=new _0x8ff524(_0x1e1717['createPositionAt'](_0x4d21d9,0x0),_0x16ed2c,_0x365aef++);_0x46d85b['push'](_0x217d59);for(const [_0x4fe093,_0xf120e1]of _0x16ed2c['markers']){const _0x43dc60=_0x1e1717['createRange'](_0x1e1717['createPositionFromPath'](_0x4d21d9,_0xf120e1['start']['path']['slice']()),_0x1e1717['createPositionFromPath'](_0x4d21d9,_0xf120e1['end']['path']['slice']())),_0x55cf57=new _0x2fe41c(_0x4fe093,null,_0x43dc60,_0x1e1717['markers'],!0x0,_0x365aef++);_0x46d85b['push'](_0x55cf57);}}if(_0x1bec68)for(const [_0x588a9f,_0x2f63ac]of Object['entries'](_0x1bec68)){const _0x2b10e2=_0x1e1717['document']['getRoot'](_0x588a9f);if(!_0x2b10e2)throw new _0x3d60ed('multi-root-editor-root-attributes-no-root',null);for(const [_0x1ea733,_0xe12c92]of Object['entries'](_0x2f63ac))if(null!==_0xe12c92){const _0x2964b4=new _0x46664c(_0x2b10e2,_0x1ea733,null,_0xe12c92,_0x365aef++);_0x46d85b['push'](_0x2964b4);}}return _0x46d85b;}async['_loadRoot'](_0x1dde64,_0x5a119d,_0x144ed6){this['_getOperationsFromInitData']({[_0x1dde64]:_0x5a119d},{[_0x1dde64]:_0x144ed6})['forEach']((_0xf4950c,_0x38723d)=>{_0xf4950c['baseVersion']=this['_document']['version']+_0x38723d,_0xf4950c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xf4950c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x347209,_0x5e641e){let _0x63e4f8;this['_offset']=_0x347209['offset'];const _0x491bb6=_0x347209['wereChangesApplied']&&!_0x347209['initData'],_0xa5f232=_0x491bb6?0x0:_0x347209['data']['baseVersion'];if(_0x5e641e['forEach'](_0x39d225=>{_0x39d225['_isInit']=!0x0,_0x39d225['createdAt']=_0x347209['sessionCreatedAt'],_0x39d225['_authorId']=null;}),_0x491bb6)_0x63e4f8=_0x5e641e,this['_applyOperationsSet'](_0x63e4f8,_0x491bb6);else{if(_0x347209['initData']){const _0x1a890d=this['_getOperationsFromInitData'](_0x347209['initData']);this['_document']['history']['version']=-_0x1a890d['length'],_0x1a890d['forEach'](_0x1bf5d1=>{_0x1bf5d1['baseVersion']-=_0x1a890d['length'],_0x1bf5d1['createdAt']=_0x347209['sessionCreatedAt'],_0x1bf5d1['_isInit']=!0x0,_0x1bf5d1['_authorId']=null;}),this['_applyOperationsSet'](_0x1a890d,!0x0),this['serverHistory']['version']=-_0x1a890d['length']+this['_offset'],this['_updateServerHistory'](_0x1a890d);}this['_document']['history']['version']=_0xa5f232,_0x63e4f8=this['_decompressOperations'](_0x347209['data'],_0x347209['metadata']),await this['_fetchMissingUsers'](_0x63e4f8),this['_applyOperationsSet'](_0x63e4f8,_0x491bb6);}_0x347209['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x63e4f8,_0x347209['lastOperationId']),this['_lastSyncedOperationId']=_0x347209['lastOperationId']),this['serverHistory']['version']=_0xa5f232+this['_offset'],this['_updateServerHistory'](_0x63e4f8),_0x5e641e['filter'](_0x2917a7=>{const _0x183f38=this['_getAffectedRoot'](_0x2917a7);return _0x183f38&&!this['_knownRootNames']['has'](_0x183f38);})['forEach']((_0xb6c0a3,_0x4e21fa)=>{_0xb6c0a3['baseVersion']=this['_document']['version']+_0x4e21fa,this['_saveOperationInBuffer'](_0xb6c0a3);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2fdaf6,_0x55f09f){const _0x326b44=_0x55f09f&&_0x55f09f['message'];if(_0x326b44&&_0x326b44['startsWith']('realtimecollaborationclient'))throw _0x55f09f;const _0x94e554=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x94e554['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3d60ed(_0x2fdaf6,this['editor'],_0x326b44?{'originalError':_0x326b44}:void 0x0);}['_saveOperationInBuffer'](_0x51c3f3){this['_knownOperations']['has'](_0x51c3f3)||(this['_knownOperations']['add'](_0x51c3f3),this['_bufferedOperations']['push'](_0x51c3f3),this['_pendingAction']||'marker'==_0x51c3f3['type']&&!_0x51c3f3['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xda53f5=!0x1){!_0xda53f5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xc1c435=>{_0xc1c435&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x16e61b=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4d950a){return _0x4d950a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d950a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4d950a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x16e61b)||this['_crash'](_0x16e61b['message'],_0x16e61b);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1a4467=>{this['on']('change:_isPendingUpdate',()=>{_0x1a4467();});});}async['_sendBufferedOperations'](){const _0x2a7f9c=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2a7f9c['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x181d91=[...this['_bufferedOperations']];for(const _0x5ed8aa of _0x181d91)_0x5ed8aa['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5ed8aa);const _0x2a870c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x181d91),_0x4e1a63=Z++,_0x13e13b=this['_compressOperations'](_0x181d91),_0x2bb368=await this['_service']['sendOperations'](_0x13e13b,_0x13e13b['baseVersion'],_0x2a870c);try{return await this['_handleServerResponse'](_0x181d91,_0x2bb368,_0x4e1a63);}catch(_0x2efb1b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2efb1b);}}async['_handleServerResponse'](_0x4312d8,_0x10e248,_0x2ffb1a){if('error'in _0x10e248)throw _0x10e248['error'];let _0x1fb8c3=!0x1;if(_0x10e248['wereChangesApplied']){_0x10e248['lastOperationId']&&(this['_lastSyncedOperationId']=_0x10e248['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x84723=>!_0x4312d8['includes'](_0x84723));for(const _0x78b38f of _0x4312d8)_0x78b38f['createdAt']='lastOperationAcceptedAt'in _0x10e248&&_0x10e248['lastOperationAcceptedAt']||void 0x0;st(_0x4312d8,_0x10e248['version']-_0x4312d8['length']),this['_updateServerHistory'](_0x4312d8);const _0x5562b2=_0x4312d8['filter'](_0x4f52bc=>{if(!_0x4f52bc['_isInit'])return!0x1;const _0x27bcef=this['_getAffectedRoot'](_0x4f52bc);return _0x27bcef&&!this['_knownRootNames']['has'](_0x27bcef);});st(_0x5562b2,this['_document']['version']),this['_applyOperationsSet'](_0x5562b2),_0x1fb8c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5ed4dc=this['_decompressOperations'](_0x10e248['data'],_0x10e248['metadata'])['filter'](_0x28ff1e=>_0x28ff1e['baseVersion']>=this['_lastServerVersion']);_0x5ed4dc['forEach'](_0xead027=>this['_addKnownRoot'](_0xead027)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4c9734=>!_0x4c9734['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4c9734))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5ed4dc),_0x1fb8c3=this['_handleExternalOperations'](_0x5ed4dc,_0x10e248['version'],_0x10e248['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1fb8c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4fca23,_0x4f865f,_0x3c1f74){try{const _0x4085cc={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5539e9,operationsB:_0xc45e45,originalOperations:_0x17673e}=_0x3341f1(_0x4fca23,this['_bufferedOperations'],_0x4085cc);st(_0x5539e9,this['_document']['version']),st(_0xc45e45,_0x4f865f);for(const _0x44a605 of _0x5539e9){const _0x38d644=_0x17673e['get'](_0x44a605);_0x44a605['_authorId']=_0x38d644?_0x38d644['_authorId']:null;}_0x3c1f74&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4fca23,_0x3c1f74),this['_lastSyncedOperationId']=_0x3c1f74),this['_bufferedOperations']=[..._0xc45e45],this['_applyOperationsSet'](_0x5539e9),this['_updateServerHistory'](_0x4fca23);}catch(_0x254de9){return console['error'](_0x254de9),!0x1;}return!0x0;}['_applyOperationsSet'](_0x26ffe5,_0x3dfb3c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x24c30e=>{for(const _0xcd1a0f of _0x26ffe5)this['_knownOperations']['add'](_0xcd1a0f),this['_addKnownRoot'](_0xcd1a0f),_0x24c30e['batch']['addOperation'](_0xcd1a0f),this['editor']['model']['applyOperation'](_0xcd1a0f);});}['_addKnownRoot'](_0x5d9f7c){const _0x34713f=this['_getAffectedRoot'](_0x5d9f7c);_0x34713f&&this['_knownRootNames']['add'](_0x34713f);}['_getAffectedRoot'](_0x14c6b4){let _0x93e76f,_0x35ce6c;switch(_0x14c6b4['type']){case'insert':_0x93e76f=_0x14c6b4['position']['root'];break;case'marker':if(_0x35ce6c=_0x14c6b4['newRange'],!_0x35ce6c)return null;_0x93e76f=_0x35ce6c['root'];break;case'addRootAttribute':_0x93e76f=_0x14c6b4['root'];break;case'addRoot':_0x93e76f=_0x14c6b4['affectedSelectable'];break;case'move':_0x93e76f=_0x14c6b4['targetPosition']['root'];break;default:return null;}return _0x93e76f['rootName'];}['_updateServerHistory'](_0x350dc5){_0x350dc5['forEach'](_0x5ea7a8=>{const _0x17f2ba=_0x5ea7a8['clone']();_0x17f2ba['_authorId']=_0x5ea7a8['_authorId'],_0x17f2ba['_isInit']=!!_0x5ea7a8['_isInit'],_0x17f2ba['createdAt']=_0x5ea7a8['createdAt'],_0x17f2ba['baseVersion']+=this['_offset'],_0x5ea7a8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x17f2ba),this['serverHistory']['addOperation'](_0x17f2ba);});}['_handleReconnectionError'](_0x2e9cb6){const _0x500602=this['editor']['plugins']['get']('Notification'),_0x188a04=this['editor']['locale'];_0x2e9cb6||(_0x2e9cb6=X(_0x188a04,'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.')),_0x500602['showWarning'](_0x2e9cb6,{'title':X(_0x188a04,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5d4659)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5d4659)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x384a6b){const _0x54ff58=_0x384a6b['map'](_0x1a3b9c=>_0x1a3b9c['toJSON']());return this['_compressor']['compress'](_0x54ff58);}['_decompressOperations'](_0x2c8a61,_0x315e6c){return this['_compressor']['decompress'](_0x2c8a61)['map']((_0x2f7d35,_0x14dc54)=>{const _0x11d2a6='init'==_0x315e6c[_0x14dc54]['type'];if('InsertOperation'==_0x2f7d35['__className']){const _0x161770=_0x2f7d35['position']['root'];!this['_document']['getRoot'](_0x161770)&&(this['_document']['createRoot']('$root',_0x161770)['_isAttached']=!0x1);}const _0x45607c=_0xd9a0c['fromJSON'](_0x2f7d35,this['_document']);return _0x45607c['wasUndone']=_0x2f7d35['wasUndone'],_0x45607c['_isInit']=_0x11d2a6,_0x45607c['_authorId']=_0x11d2a6?null:_0x315e6c[_0x14dc54]['userId'],_0x45607c['_isDisconnection']='cs:removeUser'===_0x315e6c[_0x14dc54]['type'],_0x45607c['createdAt']=_0x315e6c[_0x14dc54]['createdAt'],_0x45607c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x52af3a=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x52af3a&&_0x52af3a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0xcf8bae,_0xee0683){for(const _0x2ba5b5 of _0xcf8bae)_0x2ba5b5['baseVersion']=_0xee0683++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x1c54fb){this['_ignoredOperations']=_0x1c54fb,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x47ba2d){let _0x2f7d4a=_0x47ba2d['length'];for(;_0x2f7d4a--;){const _0x552c70=_0x47ba2d[_0x2f7d4a];if(!this['_ignoredOperations']['has'](_0x552c70)){if(!this['_operationToId']['has'](_0x552c70)){const _0x14c766=_0x1cea96()['slice'](0x1,0x12);this['_operationToId']['set'](_0x552c70,_0x14c766);}return this['_operationToId']['get'](_0x552c70);}}}['setIdForTheLastOperation'](_0x209840,_0x3e19b3){if(!_0x3e19b3)return;let _0x1ad05c=_0x209840['length'];for(;_0x1ad05c--;){const _0x18d07e=_0x209840[_0x1ad05c];this['_ignoredOperations']['has'](_0x18d07e)||this['_operationToId']['set'](_0x18d07e,_0x3e19b3);}}}class nt extends _0x39e050{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x299a1f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3d6374)());['_services'];static get['requires'](){return[z,_0x5c14d5,Y,_0x1a6e2b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5e4a54){super(_0x5e4a54),this['_services']=new Map();}async['init'](){const _0x5a100d=this['context'],_0x28c41e=_0x5a100d['plugins']['get'](_0x5c14d5);if(_0x5a100d['plugins']['get'](z)['addToReconnectionStack'](this),_0x28c41e['adapter']={'addCommentThread':async({channelId:_0x362726,threadId:_0x45e2ba,comments:_0x9aeb93,resolvedAt:_0x4664dd,resolvedBy:_0x49d5d1,context:_0x5c8394,attributes:_0x46b8d1})=>{const _0x54acf3=await this['_getService'](_0x362726)['addCommentThread']({'commentThreadId':_0x45e2ba,'comments':_0x9aeb93['map'](_0x5f04a9=>function(_0x2ac602,_0x10717f,_0x494147){return{'commentThreadId':_0x494147,'commentId':_0x2ac602['commentId'],'userId':_0x2ac602['authorId'],'content':_0x2ac602['content'],'documentId':_0x10717f,'createdAt':_0x2ac602['createdAt'],'attributes':_0x2ac602['attributes']||{}};}(_0x5f04a9,_0x362726,_0x45e2ba)),'resolvedAt':_0x4664dd,'resolvedBy':_0x49d5d1,'context':_0x5c8394,'attributes':_0x46b8d1})['catch'](ct);return{'threadId':_0x54acf3['commentThreadId'],'comments':_0x54acf3['comments']};},'getCommentThread':async({channelId:_0x43d9fe,threadId:_0x132bab})=>{const _0x48480a=await this['_getService'](_0x43d9fe)['getCommentThread'](_0x132bab)['catch'](rt)['catch'](ct);return _0x48480a?_0x48480a['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x48480a]),{'threadId':_0x48480a['commentThreadId'],'comments':_0x48480a['comments']['map'](at),'context':_0x48480a['context'],'resolvedAt':_0x48480a['resolvedAt'],'resolvedBy':_0x48480a['resolvedBy'],'attributes':_0x48480a['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x37aef6,threadId:_0x38463d,context:_0x519485,unlinkedAt:_0x455885,attributes:_0x3615a7})=>this['_getService'](_0x37aef6)['updateCommentThread']({'commentThreadId':_0x38463d,'context':_0x519485,'attributes':_0x3615a7,'unlinkedAt':_0x455885})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x1e992d,threadId:_0x4bab2e})=>{const _0x41ee77=await this['_getService'](_0x1e992d)['resolveCommentThread'](_0x4bab2e)['catch'](rt)['catch'](ct);return{'threadId':_0x41ee77['commentThreadId'],'resolvedAt':_0x41ee77['resolvedAt'],'resolvedBy':_0x41ee77['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1dea15,threadId:_0x1da623})=>this['_getService'](_0x1dea15)['reopenCommentThread'](_0x1da623)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x1fca3b,threadId:_0x1c1e9b})=>this['_getService'](_0x1fca3b)['removeCommentThread'](_0x1c1e9b)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x46bce7,threadId:_0x17c4ef,commentId:_0x151151,content:_0x35ec20,attributes:_0x56005a})=>this['_getService'](_0x46bce7)['addComment'](_0x17c4ef,_0x151151,_0x35ec20,_0x56005a)['catch'](ct),'updateComment':({channelId:_0x52a894,threadId:_0x2d9eaf,commentId:_0x3b23d3,content:_0x2465f0,attributes:_0x5688fe})=>this['_getService'](_0x52a894)['updateComment'](_0x2d9eaf,_0x3b23d3,_0x2465f0,_0x5688fe)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1de124,threadId:_0x350f65,commentId:_0x272762})=>this['_getService'](_0x1de124)['removeComment'](_0x350f65,_0x272762)['catch'](rt)['catch'](ct)},_0x5a100d instanceof _0x431f86){const _0x50782f=_0x5a100d['config']['get']('collaboration.channelId'),_0x1b9ff1=_0x5a100d['plugins']['get'](Y);await this['_setUpService'](_0x50782f);const _0x3c1514=await this['_services']['get'](_0x50782f)['getConnectedSessions']();this['listenTo'](_0x1b9ff1,'sessionAdd:'+_0x50782f,(_0x3c0547,{session:_0x43f603})=>{_0x43f603['id']===_0x1b9ff1['mySessionId']&&(_0x3c0547['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x43f603['permissions'],_0x50782f));}),_0x1b9ff1['register'](_0x50782f,_0x3c1514);}}async['_setUpService'](_0x77f85f){if(this['_services']['has'](_0x77f85f))throw new _0x3d60ed('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x77f85f});const _0x371caf=this['context']['plugins']['get'](_0x5c14d5),_0x8b0fee=new ot['CommentsService'](_0x77f85f);this['_services']['set'](_0x77f85f,_0x8b0fee),this['listenTo'](_0x8b0fee,'commentThreadAdded',(_0xe2f35d,_0x55809e)=>{const {commentThreadId:_0x142a4c,documentId:_0x3fc356,context:_0x4d2c81,attributes:_0x4e93a6,resolvedAt:_0x209c15,resolvedBy:_0x3d6361,comments:_0x39701e}=_0x55809e;_0x371caf['getCommentThread'](_0x142a4c)||_0x371caf['addCommentThread']({'threadId':_0x142a4c,'channelId':_0x3fc356,'comments':_0x39701e?_0x39701e['map'](at):[],'context':_0x4d2c81,'attributes':_0x4e93a6,'resolvedAt':_0x209c15,'resolvedBy':_0x3d6361,'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentThreadUpdated',(_0x508738,{commentThreadId:_0x2acd04,documentId:_0x555dc1,context:_0x325a10,unlinkedAt:_0x3ed907,attributes:_0x5d1a76})=>{_0x371caf['getCommentThread'](_0x2acd04)&&_0x371caf['updateCommentThread']({'threadId':_0x2acd04,'channelId':_0x555dc1,'context':_0x325a10,'unlinkedAt':_0x3ed907,'attributes':_0x5d1a76,'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentThreadResolved',(_0x16969e,{commentThreadId:_0x3b2eea,resolvedBy:_0x4b7ebd,resolvedAt:_0x11b596})=>{const _0x2f6e87=_0x371caf['getCommentThread'](_0x3b2eea);_0x2f6e87&&_0x2f6e87['resolve']({'resolvedBy':_0x4b7ebd,'resolvedAt':_0x11b596,'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentThreadReopened',(_0x44eb98,{commentThreadId:_0x5f54ca})=>{const _0x230ff8=_0x371caf['getCommentThread'](_0x5f54ca);_0x230ff8&&_0x230ff8['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentThreadRemoved',(_0x56ed17,{commentThreadId:_0x58653d})=>{const _0x5a5242=_0x371caf['getCommentThread'](_0x58653d);_0x5a5242&&_0x5a5242['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentAdded',(_0x580fa5,_0x3d2a1b)=>{const _0x5238b6=_0x3d2a1b['commentThreadId'],_0x4e6886=_0x371caf['getCommentThread'](_0x5238b6);_0x4e6886&&_0x4e6886['addComment']({...at(_0x3d2a1b),'isFromAdapter':!0x0});}),this['listenTo'](_0x8b0fee,'commentUpdated',(_0x2c0d60,{commentThreadId:_0x599b92,commentId:_0x4d41e6,content:_0xc11aa5,attributes:_0x14ba8f})=>{const _0x42c7d0=_0x371caf['getCommentThread'](_0x599b92);if(_0x42c7d0){const _0xfe0459=_0x42c7d0['getComment'](_0x4d41e6);_0xfe0459&&_0xfe0459['update']({'content':_0xc11aa5,'attributes':_0x14ba8f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x8b0fee,'commentRemoved',(_0x26cba6,{commentThreadId:_0x37c005,commentId:_0xa363e6})=>{const _0x2ef879=_0x371caf['getCommentThread'](_0x37c005);if(_0x2ef879){const _0x55a588=_0x2ef879['getComment'](_0xa363e6);_0x55a588&&_0x55a588['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x77f85f);}['destroy'](){if(this['context']instanceof _0x431f86){const _0x557111=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x557111);}}['_terminateService'](_0x11b028){if(!this['_services']['has'](_0x11b028))throw new _0x3d60ed('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x11b028});this['_getService'](_0x11b028)['disconnect'](),this['_services']['delete'](_0x11b028);}async['reconnect'](){for(const _0x4b0994 of this['_services']['keys']())await this['_connectService'](_0x4b0994);if(this['context']instanceof _0x431f86){const _0x3b3109=this['context']['config']['get']('collaboration.channelId'),_0x1d2ac0=this['context']['plugins']['get'](Y);_0x1d2ac0['unregister'](_0x3b3109);const _0xfb11d2=await this['_services']['get'](_0x3b3109)['getConnectedSessions']();_0x1d2ac0['register'](_0x3b3109,_0xfb11d2);}}async['_connectService'](_0x4b7ead){const {connection:_0x3c0f58}=this['context']['plugins']['get'](z),_0x4fc607=this['context']['plugins']['get'](_0x5c14d5),_0x5bf4ec=this['_services']['get'](_0x4b7ead),_0x8963a2=await _0x5bf4ec['connect'](_0x3c0f58);await this['_fetchMissingUsersForThreads'](_0x8963a2);const _0x96338d=new Set(Array['from'](_0x4fc607['getCommentThreads']({'channelId':_0x4b7ead}),_0x459014=>_0x459014['id']));for(const _0xb6553f of _0x8963a2)_0xb6553f['deletedAt']||_0x96338d['delete'](_0xb6553f['commentThreadId']);for(const _0x52a6fb of _0x96338d)_0x4fc607['getCommentThread'](_0x52a6fb)['remove']({'isFromAdapter':!0x0});for(const _0x45e4ce of _0x8963a2){let _0x538cf=_0x4fc607['getCommentThread'](_0x45e4ce['commentThreadId']);const {commentThreadId:_0x5698e3,context:_0x25d123,attributes:_0x3aa3d0,resolvedBy:_0x18ed4c,resolvedAt:_0x22a6eb,unlinkedAt:_0x4d69ee,deletedAt:_0x219cad}=_0x45e4ce;if(_0x219cad)continue;_0x538cf||(_0x538cf=_0x4fc607['addCommentThread']({'channelId':_0x4b7ead,'threadId':_0x5698e3,'context':_0x25d123,'attributes':_0x3aa3d0||{},'resolvedBy':_0x18ed4c,'resolvedAt':_0x22a6eb,'unlinkedAt':_0x4d69ee,'isFromAdapter':!0x0}));const _0x20285e=new Set(Array['from'](_0x538cf['comments'],_0x421169=>_0x421169['id']));for(const _0x1bffc6 of _0x45e4ce['comments'])_0x20285e['delete'](_0x1bffc6['commentId']);for(const _0x2779cf of _0x20285e)_0x538cf['getComment'](_0x2779cf)['remove']({'isFromAdapter':!0x0});for(const _0x414ca5 of _0x45e4ce['comments']){const _0x3edbf6=_0x538cf['getComment'](_0x414ca5['commentId']);_0x3edbf6?_0x3edbf6['content']!==_0x414ca5['content']&&_0x3edbf6['update']({'content':_0x414ca5['content'],'isFromAdapter':!0x0}):_0x538cf['addComment'](Object['assign'](at(_0x414ca5),{'isFromAdapter':!0x0}));}}}['_getService'](_0x53b497){if(!this['_services']['has'](_0x53b497))throw new _0x3d60ed('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x53b497});return this['_services']['get'](_0x53b497);}async['_fetchMissingUsersForThreads'](_0x3e45b7){const _0x995aa=this['context']['plugins']['get'](_0x1a6e2b),{connection:_0x5a1f87}=this['context']['plugins']['get'](z),_0xd86da=new Set();for(const {resolvedBy:_0x4b80c0,comments:_0x49f22a}of _0x3e45b7){_0x4b80c0&&!_0x995aa['getUser'](_0x4b80c0)&&_0xd86da['add'](_0x4b80c0);for(const {userId:_0x206f37}of _0x49f22a)_0x995aa['getUser'](_0x206f37)||_0xd86da['add'](_0x206f37);}if(0x0===_0xd86da['size'])return;const _0x16314a=await _0x460a04['getMany'](_0x5a1f87,Array['from'](_0xd86da));for(const _0x1138a4 of _0x16314a)_0x995aa['getUser'](_0x1138a4['id'])||_0x995aa['addUser'](_0x1138a4);}}async function rt(_0x451cf7){if('404'!==_0x451cf7['code'])throw _0x451cf7;}function ct(_0x39ebdd){if((_0x21ebda=_0x39ebdd)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x21ebda['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21ebda['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x21ebda;throw _0x39ebdd;}function at(_0x179417){return{'threadId':_0x179417['commentThreadId'],'commentId':_0x179417['commentId'],'content':_0x179417['content'],'createdAt':_0x179417['createdAt'],'authorId':_0x179417['userId'],'attributes':_0x179417['attributes']||{}};}class ht extends _0x39e050{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x547bd0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x10b620,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe7e874){super(_0xe7e874);const _0x27dcc3=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x27dcc3);}['init'](){const _0x1902ab=this['editor']['plugins']['get'](z),_0x3b1b2c=this['editor']['plugins']['get'](_0x10b620);return _0x3b1b2c['adapter']={'getSuggestion':async _0x4b7cd1=>{await this['_waitForServiceReady']();const _0x1a0823=await this['_trackChangesService']['get'](_0x4b7cd1)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x1a0823]),_0x1a0823;},'addSuggestion':async({id:_0x5ec8a4,type:_0x248519,data:_0x187e26,originalSuggestionId:_0xba47c7,attributes:_0x1f3bab})=>{await this['_waitForServiceReady']();const _0x560880={'id':_0x5ec8a4,'type':_0x248519,'data':_0x187e26,'originalSuggestionId':_0xba47c7,'attributes':_0x1f3bab},_0x452ec6=await this['_trackChangesService']['add'](_0x5ec8a4,_0x248519,_0x187e26,_0xba47c7,_0x1f3bab)['catch'](_0x6480d7=>{if(dt(_0x6480d7))return new Promise(_0x39837c=>{this['_bufferedRequests']['set'](_0x5ec8a4,{'resolve':_0x39837c,'suggestionData':_0x560880});});throw _0x6480d7;});return this['_bufferedRequests']['delete'](_0x5ec8a4),_0x452ec6;},'updateSuggestion':async(_0x1dcf14,_0x57e7ee)=>{if(await this['_waitForServiceReady'](),'open'!==_0x57e7ee['state'])return this['_trackChangesService']['update'](_0x1dcf14,_0x57e7ee)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3e2724,_0x5bc736)=>{_0x3b1b2c['hasSuggestion'](_0x5bc736['id'])&&(_0x3b1b2c['getSuggestion'](_0x5bc736['id'])['attributes']=_0x5bc736['attributes']);}),this['_trackChangesService']['connect'](_0x1902ab['connection'])['then'](_0x160418=>(_0x1902ab['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x160418)['then'](()=>{for(const _0x519321 of _0x160418){_0x3b1b2c['addSuggestionData'](_0x519321)['_saved']=!0x0;}})));}async['reconnect'](){const _0x12942a=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x24b326}=this['editor']['plugins']['get'](z),_0x292b85=await this['_trackChangesService']['connect'](_0x24b326);await this['_fetchMissingUsersForThreads'](_0x292b85);for(const {suggestionData:_0xb5c11d,resolve:_0x56dcc1}of this['_bufferedRequests']['values']()){let _0x52f5e5=_0x292b85['find'](_0x32b266=>_0x32b266['id']===_0xb5c11d['id']);_0x52f5e5||(_0x52f5e5=await this['_trackChangesService']['add'](_0xb5c11d['id'],_0xb5c11d['type'],_0xb5c11d['data'],_0xb5c11d['originalSuggestionId'])),_0x56dcc1(_0x52f5e5);}for(const _0x303f8e of _0x292b85)_0x12942a['hasSuggestion'](_0x303f8e['id'])||_0x12942a['addSuggestionData'](_0x303f8e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4ba33b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4ce30a=>{_0x4ce30a['off'](),_0x4ba33b();});});}async['_fetchMissingUsersForThreads'](_0x10c050){const _0x2d1ee7=this['editor']['plugins']['get'](_0x1a6e2b),{connection:_0x34c09d}=this['editor']['plugins']['get'](z),_0x5a1d73=new Set();for(const {authorId:_0x4bc9ff}of _0x10c050)_0x2d1ee7['getUser'](_0x4bc9ff)||_0x5a1d73['add'](_0x4bc9ff);if(0x0===_0x5a1d73['size'])return;const _0x26bc01=await _0x460a04['getMany'](_0x34c09d,Array['from'](_0x5a1d73));for(const _0x2e5133 of _0x26bc01)_0x2d1ee7['getUser'](_0x2e5133['id'])||_0x2d1ee7['addUser'](_0x2e5133);}}function lt(_0x66a525){if(dt(_0x66a525))return new Promise(()=>{});throw _0x66a525;}function dt(_0x2f3391){return _0x2f3391['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f3391['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x39e050{static get['requires'](){return[_0x135486,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x89faf9=this['editor']['plugins']['get'](z),_0x2ebd96=this['editor']['plugins']['get'](_0x20d61a),_0x1aeb25=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x89faf9,'change:state',(_0x3ddf53,_0x8382cf,_0x1bd4aa)=>{_0x2ebd96['isThreadsLoadingPaused']='connected'!==_0x1bd4aa;});}),this['listenTo'](_0x89faf9,'change:state',(_0x456948,_0x5a444f,_0x27b5d1)=>{this['editor']['plugins']['get'](_0x5c14d5)['switchReadOnly']('connected'!==_0x27b5d1);}),_0x1aeb25['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x39e050{static get['requires'](){return[ut,ht,_0x11010e];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x39e050{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x108128)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1a2046,Y,_0x1a6e2b];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34fe5a){super(_0x34fe5a);const _0x5192a3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x5192a3);}async['init'](){const _0x2c4da1=this['editor']['plugins']['get'](tt),_0x3242aa=_0x2c4da1['serverHistory'],_0x5de2ee=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3242aa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2c4da1['sessionId']});const _0x29b2a7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3fc9a9,_0x4b6e37=await _0xf6489d['isBundleUploaded'](_0x5de2ee['connection'],_0x29b2a7);this['editor']['plugins']['get'](_0x1a2046)['adapter']={'getRevision':async({revisionId:_0x2fe221})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2fe221)),'updateRevisions':async _0x5cca61=>{await this['_waitForServiceReady']();const _0x2b62bf=this['_revisionTracker']['currentRevision'];if(_0x4b6e37&&0x1===_0x5cca61['length']&&_0x5cca61[0x0]['id']===_0x2b62bf['id'])return _0x5cca61;for(const _0x5e49b9 of _0x5cca61)_0x5e49b9['id']===_0x2b62bf['id']&&(_0x5e49b9['isEmptyCurrent']=_0x5e49b9['fromVersion']===_0x5e49b9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5cca61,this['_lastRequestId'])['then'](_0xe5e516=>(this['_lastRequestId']=_0xe5e516,_0x5cca61))['catch'](_0x1becaa=>{if(pt(_0x1becaa)||'400'===_0x1becaa['code']&&void 0x0!==_0x1becaa['data']['wrongRequestId']){for(const _0xe6baa7 of _0x5cca61){!this['_revisionTracker']['repository']['getRevision'](_0xe6baa7['id'])||this['_revisionTracker']['_bufferUpdate'](_0xe6baa7['id'],_0xe6baa7,!0x1);}if(pt(_0x1becaa)&&'destroyed'!==this['editor']['state'])throw _0x1becaa;return _0x5cca61;}throw _0x1becaa;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2d8373,{revisionsData:_0x1c232e,requestId:_0x41fb9e})=>{Math['max'](..._0x1c232e['map'](_0x23f986=>_0x23f986['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1c232e,_0x41fb9e);}):this['_handleRevisionsUpdate'](_0x1c232e,_0x41fb9e);});const {revisions:_0x1b6e51,requestId:_0x54ce10}=await this['_revisionHistoryService']['connect'](_0x5de2ee['connection']);_0x5de2ee['addToReconnectionStack'](this),this['_lastRequestId']=_0x54ce10,await this['_fetchMissingUsers'](_0x1b6e51);for(const _0x4517d0 of _0x1b6e51)this['_revisionTracker']['addRevisionData'](_0x4517d0);this['listenTo'](_0x2c4da1,'change:_isConnected',(_0x503cbc,_0x45a745,_0x2d6ca9)=>{_0x2d6ca9&&(this['_oldOffset']=_0x2c4da1['_offset'],_0x503cbc['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5de2ee,'state',_0xdeaffc=>_0xdeaffc===_0x41dc21['CONNECTED']);}async['reconnect'](){const _0x221b36=this['editor']['plugins']['get'](z),_0x481e44=this['editor']['plugins']['get'](tt),_0x489447=async()=>{const _0x41dd00=this['_revisionTracker']['currentRevision'],_0x238b2c=_0x41dd00['id'],_0x5682d2=_0x238b2c!==_0x481e44['sessionId'];if(_0x5682d2){const _0x48e6e8=_0x481e44['_offset']-this['_oldOffset'],_0x56e3ca=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x41dd00['toVersion']+_0x48e6e8!==_0x56e3ca){const _0x1f5437=_0x41dd00['fromVersion']+_0x48e6e8,_0x3266fc=this['editor']['plugins']['get'](_0x1a6e2b),_0x4b9d96=this['_revisionTracker']['buildRevisionData']({'revision':_0x41dd00,'from':_0x1f5437,'to':_0x56e3ca});_0x4b9d96['id']=_0x41dd00['id'];const _0x29aa31=_0x4b9d96['authorsIds']['map'](_0x25887c=>_0x3266fc['getUser'](_0x25887c));_0x41dd00['_update']({..._0x4b9d96,'authors':_0x29aa31},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x41dd00['id'],_0x4b9d96,!0x0);}this['_revisionTracker']['_startingVersion']=_0x56e3ca,(_0x41dd00['toVersion']===_0x41dd00['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x238b2c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x238b2c),this['_revisionTracker']['_createCurrentRevision'](_0x56e3ca));}const {revisions:_0x518b01,requestId:_0xb0ac5d}=await this['_revisionHistoryService']['reconnect'](_0x221b36['connection'],this['_lastRequestId']);_0x5682d2&&_0x518b01['length']>0x0?_0x481e44['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x518b01),this['_handleRevisionsUpdate'](_0x518b01,_0xb0ac5d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x481e44['_isConnected']?_0x489447():new Promise((_0x5c1a9c,_0x195d02)=>{_0x481e44['once']('change:_isConnected',()=>{_0x489447()['then'](_0x5c1a9c)['catch'](_0x195d02);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x34ec01=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x110c94=>{_0x110c94['off'](),_0x34ec01();});});}['_getLatestVersionFromServerOperations'](){const _0x2c9b16=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1f67b8 of _0x2c9b16)if('marker'!==_0x1f67b8['type']||_0x1f67b8['affectsData'])return _0x1f67b8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3cc876=this['editor']['plugins']['get'](tt);return new Promise(_0x2ac162=>{_0x3cc876['_isPendingUpdate']?_0x3cc876['once']('change:_isPendingUpdate',()=>{_0x2ac162(this['_getLatestVersionFromServerOperations']());}):_0x2ac162(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x460d4d,_0x1eb7de){const _0x4c9cf3=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1eb7de;for(const _0x1a3683 of _0x460d4d){const _0x110259=_0x4c9cf3['getRevision'](_0x1a3683['id']);if(_0x110259){if((_0x1a3683['fromVersion']||_0x1a3683['toVersion'])&&(_0x1a3683['diffData']=null),_0x110259===this['_revisionTracker']['currentRevision']){const _0x51018f=Math['max'](_0x110259['toVersion'],_0x1a3683['toVersion']),_0x241887=Math['max'](_0x110259['fromVersion'],_0x1a3683['fromVersion']);let _0x297acd;_0x110259['toVersion']===_0x1a3683['toVersion']&&_0x110259['fromVersion']===_0x1a3683['fromVersion']?(_0x297acd=!0x0,this['_preventResendingRevisionData'](_0x1a3683)):_0x1a3683['toVersion']===_0x51018f&&_0x1a3683['fromVersion']===_0x241887?_0x297acd=!0x1:(_0x110259['toVersion']===_0x51018f&&_0x110259['fromVersion']===_0x241887||this['_fixRevision']({'revision':_0x110259,'from':_0x241887,'to':_0x51018f}),_0x297acd=!0x0),_0x297acd&&(delete _0x1a3683['fromVersion'],delete _0x1a3683['toVersion'],delete _0x1a3683['diffData'],delete _0x1a3683['createdAt'],delete _0x1a3683['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1a3683),this['_preventResendingRevisionData'](_0x1a3683);}else this['_revisionTracker']['addRevisionData'](_0x1a3683);}const _0x1a44d8=_0x4c9cf3['getRevisions']();_0x1a44d8['reverse']();for(let _0x11fdf3=0x0;_0x11fdf3<_0x1a44d8['length']-0x1;_0x11fdf3++){const _0x157c77=_0x1a44d8[_0x11fdf3],_0xb78396=_0x1a44d8[_0x11fdf3+0x1];if(_0x157c77['fromVersion']<_0xb78396['toVersion']){const _0x119ad0=_0xb78396['toVersion'],_0x1cb53d=Math['max'](_0x119ad0,_0x157c77['toVersion']);this['_fixRevision']({'revision':_0x157c77,'from':_0x119ad0,'to':_0x1cb53d});}}}['_fixRevision']({revision:_0x157cec,from:_0x279b1c,to:_0x538d51}={}){const _0x490765=this['editor']['plugins']['get'](_0x1a6e2b),_0x30073d=this['_revisionTracker']['buildRevisionData']({'revision':_0x157cec,'from':_0x279b1c,'to':_0x538d51});_0x30073d['authors']=_0x30073d['authorsIds']['map'](_0x159752=>_0x490765['getUser'](_0x159752)),_0x157cec['_update'](_0x30073d);}['_preventResendingRevisionData'](_0x47cade){const _0x211284={};_0x211284['id']=_0x47cade['id'];for(const _0xe9bfbc of Object['keys'](_0x47cade))'id'!==_0xe9bfbc&&(_0x211284[_0xe9bfbc]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x211284['id'],_0x211284,!0x0);}async['_fetchMissingUsers'](_0x40e87a){const _0x862099=this['editor']['plugins']['get'](_0x1a6e2b),{connection:_0x5b23cb}=this['editor']['plugins']['get'](z),_0x2db0bb=new Set();for(const _0x52c453 of _0x40e87a){for(const _0x59febc of _0x52c453['authorsIds'])_0x3d4c18(_0x59febc);_0x52c453['creatorId']&&_0x3d4c18(_0x52c453['creatorId']);}if(0x0===_0x2db0bb['size'])return;const _0x3d3c76=await _0x460a04['getMany'](_0x5b23cb,Array['from'](_0x2db0bb));for(const _0x3c10f4 of _0x3d3c76)_0x862099['getUser'](_0x3c10f4['id'])||_0x862099['addUser'](_0x3c10f4);function _0x3d4c18(_0x3d95f6){_0x862099['getUser'](_0x3d95f6)||_0x2db0bb['add'](_0x3d95f6);}}}function pt(_0xe4495a){return _0xe4495a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xe4495a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xe4495a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x39e050{static get['requires'](){return[_0x1a2046,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x517c2e{['_collapseAt'];constructor(_0xe35375,_0x2f93fa=0x6){super(_0xe35375);const _0x265bc0=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2f93fa,this['bind']('isHidden')['to'](this,'usersCount',_0x305809=>_0x305809<_0x2f93fa),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x265bc0['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x265bc0['to']('usersCount',_0x53143d=>'+'+(_0x53143d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x517c2e{['items'];['keystrokes'];constructor(_0x5f3274){super(_0x5f3274);const _0x5972d7=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5441f9(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5972d7['if']('hasPopup'),'aria-expanded':_0x5972d7['to']('isExpanded',_0x57bd7d=>this['hasPopup']&&String(_0x57bd7d)),'aria-label':_0x5972d7['to']('hasPopup',_0x12042a=>X(_0x5f3274,_0x12042a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5972d7['to']('hasPopup',_0x4960b6=>!!_0x4960b6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5972d7['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5972d7['to'](_0x3cc251=>{const _0x517406=_0x3cc251,_0x36b63d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x7cf6fd=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36b63d?.['contains'](_0x517406['relatedTarget'])||_0x7cf6fd?.['contains'](_0x517406['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x48f310,_0x3e1ec0,_0x1d4533)=>{this['element']&&(_0x1d4533?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 _t extends _0x517c2e{['counterView'];['inlineListView'];constructor(_0x1a5c9c,_0x1e650d=0x6){super(_0x1a5c9c);const _0x449a65=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1e650d),this['inlineListView']=new vt(_0x1a5c9c),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x8df22f of this['inlineListView']['items'])_0x8df22f['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',_0x449a65['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x517c2e{['listWrapperView'];constructor(_0xa0bf37,_0x29c481){super(_0xa0bf37);const _0x33455f=this['bindTemplate'];this['listWrapperView']=new bt(_0xa0bf37,_0x29c481),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xa0bf37,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x33455f['to'](_0xfb40ad=>{const _0x42abc1=_0xfb40ad,_0x4812d3=document['querySelector']('.ck-presence-list__list'),_0x3c6207=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4812d3?.['contains'](_0x42abc1['relatedTarget'])||_0x3c6207?.['contains'](_0x42abc1['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x2d51b1{constructor(_0x3a88ab,_0x494da3){super(_0x3a88ab);const _0x3eac39=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x494da3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3eac39['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3eac39['to']('role'),'aria-label':_0x3eac39['to']('ariaLabel'),'aria-labelledby':_0x3eac39['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x390801['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x21ffdd=this['element'];_0x21ffdd&&(this['_isScrollable']=Math['max'](_0x21ffdd['scrollHeight'],_0x21ffdd['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x3c1ad7{['userView'];constructor(_0xf1d95d,_0xed4b91,_0x354b1f){super(_0xf1d95d);const _0x293889=this['bindTemplate'];this['userView']=new _0x2a5839(_0xf1d95d,_0xed4b91);const _0x250ab0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xed4b91['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xed4b91['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xed4b91['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xed4b91['color']['getColorVariable'](),'--ck-user-color-alpha':_0xed4b91['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x354b1f&&(_0x250ab0['tag']='button',_0x250ab0['on']={'click':_0x293889['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x250ab0);}['focus'](){this['element']['focus']();}}class It extends _0x517c2e{['userView'];['markerView'];constructor(_0x34743b,_0x110625,_0x3da9c6){super(_0x34743b);const _0x44f62e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2a5839(_0x34743b,_0x110625),this['markerView']=new St(_0x34743b,_0x110625);const _0x2e9f5a=new _0xfbd9bd(_0x34743b);_0x2e9f5a['template']['tag']='span',_0x2e9f5a['text']=_0x110625['name'];const _0x191df1={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x44f62e['to']('isFocusable',_0x2dea3e=>!!_0x2dea3e&&0x0),'aria-labelledby':_0x2e9f5a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x44f62e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x44f62e['to']('hasTooltip',_0x440f81=>!_0x440f81),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2e9f5a]};_0x3da9c6&&(_0x191df1['tag']='button',_0x191df1['on']={'click':_0x44f62e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x191df1);}}class St extends _0x517c2e{constructor(_0x33c298,_0x5334a0){super(_0x33c298),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5334a0['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5334a0['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5334a0['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x299a1f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x195d7b){super(_0x195d7b),this['context']['config']['define']('presenceList',Tt);const _0x595b79=_0x195d7b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x595b79)throw new _0x3d60ed('presencelist-collapseat-invalid-format',this);if(_0x595b79<0x1)throw new _0x3d60ed('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3fe7eb(),this['balloonPanelView']=new _0x56d969(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x305983 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x305983);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1fa1d4,_0x3aa2e9)=>{this['_handleUserAdd'](_0x3aa2e9);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x49479e,_0x654f13)=>{this['_handleUserRemove'](_0x654f13);});}['_createView'](){const _0x5a4344=this['context'],_0x7bfe21=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xfeea41=this['balloonPanelView'];if(!_0x3c49ac(_0x5a4344['config']['get']('presenceList.container')))throw new _0x3d60ed('presencelist-missing-container',this);return _0x7bfe21['counterView']['bind']('usersCount')['to'](this),_0x7bfe21['bind']('isCollapsed')['to'](this,'usersCount',_0xf535c7=>{const {collapseAt:_0x2b205d}=_0x5a4344['config']['get']('presenceList'),_0x3a9787=_0xf535c7>=_0x2b205d;if(_0x3a9787&&!_0x7bfe21['inlineListView']['items']['find'](_0x460d2f=>_0x460d2f instanceof wt)){const _0xe0c731=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xe0c731&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x7bfe21['inlineListView']['items']['add'](_0x7bfe21['counterView']);}return _0x3a9787||this['hideDropdown'](),_0x3a9787;}),_0x7bfe21['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4188fa=>{const _0x8ab4aa=_0x5a4344['config']['get']('presenceList'),_0x379bc2=new It(_0x5a4344['locale'],_0x4188fa,!!_0x8ab4aa['onClick']);return _0x379bc2['bind']('hasTooltip')['to'](_0x7bfe21,'isCollapsed',_0x2006ca=>!_0x2006ca),_0x379bc2['bind']('isFocusable')['to'](_0x7bfe21,'isCollapsed',_0x93904e=>!_0x93904e),_0x8ab4aa['onClick']&&this['listenTo'](_0x379bc2,'execute',()=>{this['view']['isCollapsed']||_0x8ab4aa['onClick'](_0x4188fa,_0x379bc2['element']);}),_0x379bc2;}),this['listenTo'](_0x7bfe21['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x7bfe21['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x7bfe21['inlineListView']['keystrokes']['set']('Enter',(_0x2753cc,_0x442a4c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x442a4c());}),_0x7bfe21['render'](),_0xfeea41['render'](),_0x157e4b({'emitter':_0x7bfe21,'activator':()=>_0xfeea41['isVisible'],'contextElements':[_0xfeea41['element'],_0x7bfe21['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5a4344['config']['get']('presenceList.container')['appendChild'](_0x7bfe21['element']),this['_bodyCollection']=new _0x2cddbd(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x7bfe21;}['_handleUserAdd'](_0x35b08f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x35b08f['isMe'])return;const _0x1b1c69=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1b1c69-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1223a1=_0x35b08f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x35b08f,_0x1223a1);}['_handleUserRemove'](_0x19be26){this['usersCount']--;const {collapseAt:_0x521888}=this['context']['config']['get']('presenceList'),_0x405516=this['usersCount']>=_0x521888;if(this['currentDisplayedUsers']['get'](_0x19be26['id']))this['currentDisplayedUsers']['remove'](_0x19be26['id']);else{if(_0x405516&&this['currentDisplayedUsers']['length']+0x1===_0x521888-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x405516?0x1:0x0)<this['usersCount']){for(const _0x50a010 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x50a010['id'])&&(this['currentDisplayedUsers']['add'](_0x50a010,Math['min'](this['currentDisplayedUsers']['length']-(_0x405516?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x405516?0x1:0x0)===_0x521888-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x366057=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x366057['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4302dd}=this['presenceDropdownView'];_0x4302dd['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x87a27b=>{if(!_0x366057['displayMe']&&_0x87a27b['isMe'])return null;const _0x303d6f=new kt(this['context']['locale'],_0x87a27b,!!_0x366057['onClick']);return _0x366057['onClick']&&this['listenTo'](_0x303d6f,'execute',()=>{_0x366057['onClick'](_0x87a27b,_0x303d6f['element']);}),_0x303d6f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4302dd['focus'](),_0x4302dd['checkIfScrollable']();const _0x186c74=(_0xcc6900,_0x5f9b1b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5f9b1b();};_0x4302dd['keystrokes']['set']('Esc',_0x186c74),_0x4302dd['keystrokes']['set']('Shift+Tab',_0x186c74),_0x4302dd['keystrokes']['set']('Tab',(_0x1c0340,_0x39bdd2)=>{!function(_0x52e048){const _0x5180c2=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3ecec4=>_0x3ecec4+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x580bad=[...document['body']['querySelectorAll'](_0x5180c2)]['filter'](_0x588b47=>_0x588b47===document['activeElement']||_0x588b47['offsetWidth']+_0x588b47['offsetHeight']>0x0)['sort']((_0x487bc3,_0x292ed0)=>(_0x487bc3['tabIndex']||0x0)-(_0x292ed0['tabIndex']||0x0)),_0x5de4c7=_0x580bad['indexOf'](_0x52e048),_0x37df3f=_0x580bad[(_0x5de4c7+0x1)%_0x580bad['length']];_0x37df3f&&_0x37df3f['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39bdd2();}),_0x4302dd['focusTracker']['add'](this['view']['element']),_0x4302dd['focusTracker']['on']('change:isFocused',(_0x46ad06,_0x430072,_0x497237)=>{_0x497237||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 Pt extends _0x299a1f{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x2dd242=>0x1!=_0x2dd242}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x399177=>0x1!=_0x399177}};