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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 _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};
23
+ import{ContextPlugin as _0xfc25ee,Plugin as _0x7d5606,PendingActions as _0x266219,Context as _0x18f807}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2fb07c,CKEditorError as _0x235139,Collection as _0x40b8f5,global as _0x4ae62f,version as _0x3cbd76,uid as _0x53efbe,KeystrokeHandler as _0x2c5ed1}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2ea787,View as _0x200324,ListView as _0x36060f,ListItemView as _0x2cee63,LabelView as _0x1bd5a2,BalloonPanelView as _0x2807ba,clickOutsideHandler as _0x39a237,BodyCollection as _0x9ad684}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3a785a,History as _0x4c61b2,NoOperation as _0x4b1528,InsertOperation as _0x3c46a8,MarkerOperation as _0x13a98e,RootAttributeOperation as _0x6eb12,transformOperationSets as _0x399d51,OperationFactory as _0x683b24}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x3e849f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x463117,WEB_SOCKET_GATEWAY_STATES as _0x125ccb,CollaborativeEditingService as _0x27da54,User as _0x532341,CommentsService as _0x421f5f,TrackChangesService as _0x5a855e,RevisionHistoryService as _0x4c05e4,EditorService as _0x1358ea}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x262a12,UserView as _0x5ca895}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x40c2f3}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x1d859c,TrackChanges as _0x17a835}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x2c2141,Comments as _0x4aaf32,CommentsEditing as _0x9ff058}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x2d0829}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x28d487}from'es-toolkit/compat';class z extends _0xfc25ee{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x463117)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x3e849f,_0x2ea787];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x146a48){super(_0x146a48),this['set']('state',_0x125ccb['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2fb07c())();}['init'](){const _0x2edb39=this['context'],_0x950b5e=_0x2edb39['plugins']['get'](_0x3e849f),_0x398dcf=_0x2edb39['plugins']['get'](_0x2ea787);if(!_0x950b5e['token'])throw new _0x235139('websocketgateway-missing-token',this);if(!_0x950b5e['webSocketUrl'])throw new _0x235139('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'](_0x950b5e['token'],_0x950b5e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x303c8d=>{if(this['connection']=_0x303c8d,this['bind']('state')['to'](_0x303c8d,'state',this,'_isBrowserOffline',(_0x4309c0,_0x3ff228)=>('connected'!==_0x4309c0&&(this['_shouldPluginsReconnect']=!0x0),_0x3ff228||_0x4309c0!==_0x125ccb['CONNECTED']?_0x125ccb['DISCONNECTED']:this['state']==_0x125ccb['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x125ccb['CONNECTING']):_0x125ccb['CONNECTED'])),this['connection']['on']('error',(_0x1d2262,_0x41b3e2)=>{if('limitExceeded'!==_0x41b3e2['code'])throw console['error'](_0x41b3e2),new _0x235139('cloudservices-init',null,{'originalError':_0x41b3e2});_0x398dcf['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'});}),!_0x303c8d['me'])return new Promise(_0x204b9e=>_0x303c8d['on']('change:me',_0x204b9e));})['catch'](_0x4a6ddd=>{throw console['error'](_0x4a6ddd),new _0x235139('cloudservices-init',null,{'originalError':_0x4a6ddd});});}['addToReconnectionStack'](_0x313349){if('function'!=typeof _0x313349['reconnect'])throw new _0x235139('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x313349))throw new _0x235139('websocketgateway-plugin-already-registered',this,{'name':_0x313349['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x313349);}['removeFromReconnectionStack'](_0x3d5ad2){this['_reconnectionStack']['delete'](_0x3d5ad2);}['isInReconnectionStack'](_0x4159d5){return this['_reconnectionStack']['has'](_0x4159d5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4d9617=>_0x4d9617['reconnect']())))['then'](()=>this['state']=_0x125ccb['CONNECTED'])['catch'](_0x3b4d70=>{throw console['error'](_0x3b4d70),new _0x235139('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x125ccb['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xfc25ee{['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,_0x262a12];}constructor(_0x296178){super(_0x296178),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x40b8f5(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x262a12);}['init'](){const _0x1f4252=this['context']['plugins']['get'](z);this['listenTo'](_0x1f4252,'change:state',(_0x27becb,_0x336ec5,_0x5bf115)=>{if('connected'!==_0x5bf115)this['channelSessions']['forEach'](_0x374b41=>_0x374b41['clear']()),this['channelConnectedUsers']['forEach'](_0x3c5e1f=>_0x3c5e1f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4ae6f0,_0x370ce2]of this['_registeredSessions'])for(const _0x1eeb0e of _0x370ce2)this['_handleSessionAdd'](_0x4ae6f0,_0x1eeb0e);}}),this['_createUser'](_0x1f4252['connection']['me'],!0x0);}['register'](_0x4294cf,_0x3bf052){if(this['_registeredSessions']['has'](_0x4294cf))throw new _0x235139('sessions-register-already-registered',null,{'channelId':_0x4294cf});this['_registeredSessions']['set'](_0x4294cf,_0x3bf052),this['channelSessions']['set'](_0x4294cf,new _0x40b8f5()),this['channelConnectedUsers']['set'](_0x4294cf,new _0x40b8f5()),this['listenTo'](_0x3bf052,'add',(_0x304b66,_0x1dc4e2)=>this['_handleSessionAdd'](_0x4294cf,_0x1dc4e2)),this['listenTo'](_0x3bf052,'remove',(_0x5380ce,_0x6ee790)=>this['_handleSessionRemove'](_0x4294cf,_0x6ee790));for(const _0x3f188f of _0x3bf052)this['_handleSessionAdd'](_0x4294cf,_0x3f188f);}['unregister'](_0x5f3fe6){if(!this['_registeredSessions']['has'](_0x5f3fe6))throw new _0x235139('sessions-unregister-not-exist',null,{'channelId':_0x5f3fe6});const _0x22202f=this['_registeredSessions']['get'](_0x5f3fe6);this['stopListening'](_0x22202f);for(const _0x3da6f1 of _0x22202f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5f3fe6,_0x3da6f1);this['_registeredSessions']['delete'](_0x5f3fe6),this['channelSessions']['delete'](_0x5f3fe6),this['channelConnectedUsers']['delete'](_0x5f3fe6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2c4f9a){for(const _0x27b0d8 of this['channelSessions']['values']())for(const _0x6c290b of _0x27b0d8)if(_0x6c290b['id']===_0x2c4f9a)return _0x6c290b['user'];}['getUserSessions'](_0x128aa1,_0x16d129){const _0x16a033=_0x16d129?[this['channelSessions']['get'](_0x16d129)]:this['channelSessions']['values'](),_0x157df5=new Set();for(const _0x1daff5 of _0x16a033)for(const _0x316535 of _0x1daff5)_0x316535['user']['id']===_0x128aa1['id']&&_0x157df5['add'](_0x316535['id']);return _0x157df5;}['getUserRole'](_0x1289b3){for(const _0x14d487 of this['channelSessions']['values']())for(const _0x2808f2 of _0x14d487)if(_0x2808f2['user']===_0x1289b3)return _0x2808f2['role'];}['_handleSessionAdd'](_0x44cef1,_0x5a9e18){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e26e=_0x5a9e18['user'],_0x250fc9=this['_users']['getUser'](_0x5e26e['id'])||this['_createUser'](_0x5e26e),_0x5d5fa1=Object['assign']({},_0x5a9e18,{'user':_0x250fc9});if(this['channelSessions']['get'](_0x44cef1)['add'](_0x5d5fa1),!_0x5e26e['hiddenInPresenceList']){const _0x48a238=this['channelConnectedUsers']['get'](_0x44cef1);_0x48a238['has'](_0x250fc9['id'])||_0x48a238['add'](_0x250fc9),this['allConnectedUsers']['has'](_0x250fc9['id'])||_0x5e26e['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x250fc9,_0x250fc9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x44cef1,{'channelId':_0x44cef1,'session':_0x5d5fa1});}['_handleSessionRemove'](_0xab08d0,_0x2b1672){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x37802c=this['channelConnectedUsers']['get'](_0xab08d0),_0x1ad6fd=_0x2b1672['user'];_0x1ad6fd['id']&&(this['channelSessions']['get'](_0xab08d0)['remove'](_0x2b1672['id']),_0x37802c['has'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd,_0xab08d0)['size']&&_0x37802c['remove'](_0x1ad6fd['id']),this['allConnectedUsers']['get'](_0x1ad6fd['id'])&&!this['getUserSessions'](_0x1ad6fd)['size']&&this['allConnectedUsers']['remove'](_0x1ad6fd['id']));}['_createUser'](_0x24d032,_0x175066){const _0x3fca0b=this['_users']['addUser'](_0x24d032);return _0x175066&&this['_users']['defineMe'](_0x24d032['id']),_0x3fca0b['orderNumber']=this['_uniqueUsersCount']++,_0x3fca0b;}}class K extends _0x7d5606{['_domEmitter']=new(_0x2fb07c())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x546c23=this['editor'],_0x45623e=_0x546c23['plugins']['get'](Y);_0x546c23['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x565e70,{writer:_0x1e9193})=>function(_0x59b555,_0x5320be,_0x3538c6,_0x6cf500){const _0x332016=_0x59b555['markerName']['split'](':')[0x2],_0x13807d=_0x3538c6['getUserBySessionId'](_0x332016);if(!_0x13807d||_0x332016===_0x3538c6['mySessionId'])return;if(!_0x6cf500['model']['schema']['checkChild'](_0x59b555['markerRange']['start'],'$text'))return;const _0x795258={'class':'ck-user__marker\x20'+_0x13807d['color']['getMarkerClass'](),'style':Q(_0x13807d),'data-name':_0x13807d['name'],'data-session-id':_0x332016},_0x492dbd=_0x6cf500['model']['markers']['get'](_0x59b555['markerName']),_0x22ed78=_0x492dbd['getStart'](),_0x3a40b0=_0x22ed78['nodeAfter'],_0x3e8565=_0x6cf500['model']['schema'];if(_0x3a40b0&&_0x3e8565['isObject'](_0x3a40b0)&&_0x3e8565['isInline'](_0x3a40b0)&&!_0x6cf500['model']['markers']['get']('user:range:'+_0x332016)['getRange']()['isCollapsed'])return;const _0x31ac1e=_0x22ed78['parent'];return _0x6cf500['model']['schema']['isLimit'](_0x31ac1e)&&!_0x6cf500['model']['hasContent'](_0x31ac1e)&&(_0x795258['contenteditable']=!0x1),function(_0xef1507,_0x326683,_0x38add8){const _0x3b843d=_0xef1507['createUIElement']('span',_0x326683);return _0xef1507['setCustomProperty']('userPositionMarker',!0x0,_0x3b843d),_0x3b843d['render']=function(_0x31570b){const _0x5672c7=this['toDomElement'](_0x31570b),_0x424b08=document['createElement']('span');return _0x424b08['classList']['add']('ck-user__marker-tooltip'),_0x424b08['setAttribute']('contenteditable','false'),_0x424b08['setAttribute']('spellcheck','false'),_0x424b08['textContent']=_0x38add8['name'],_0x5672c7['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x424b08['outerHTML']+'⁠',_0x5672c7['addEventListener']('mouseenter',()=>{_0x5672c7['classList']['add']('ck-user__marker_hovered');}),_0x5672c7['addEventListener']('mouseleave',()=>{_0x5672c7['classList']['remove']('ck-user__marker_hovered');}),_0x5672c7;},_0x3b843d['isSimilar']=function(_0x3a6ed0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3a6ed0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3a6ed0['getAttribute']('data-session-id'));},_0x3b843d;}(_0x5320be,_0x795258,_0x13807d);}(_0x565e70,_0x1e9193,_0x45623e,_0x546c23)}),_0x546c23['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40316e=>function(_0x78e925,_0x1c37a0){const _0x201bc3=_0x78e925['markerName']['split'](':')[0x2];if(_0x201bc3===_0x1c37a0['mySessionId'])return null;const _0x50df26=_0x1c37a0['getUserBySessionId'](_0x201bc3);if(!_0x50df26)return{'id':_0x201bc3,'classes':[]};return{'id':_0x201bc3,'classes':['ck-user__selection',_0x50df26['color']['getSelectionClass']()],'attributes':{'style':Q(_0x50df26),'data-session-id':_0x201bc3},'priority':0x7d0+_0x50df26['orderNumber']};}(_0x40316e,_0x45623e)}),function(_0x430ad2){const _0x11e7ba=_0x430ad2['model'],_0x5837e5=new Map(),_0x2c0215=_0x430ad2['plugins']['get'](Y);_0x11e7ba['markers']['on']('update:user:range',(_0x26158c,_0x5c65f8,_0x3951d1,_0x3a14f3)=>{if(!_0x3a14f3&&_0x5837e5['get'](_0x5c65f8['name']))return _0x5837e5['get'](_0x5c65f8['name'])['detach'](),void _0x5837e5['delete'](_0x5c65f8['name']);const _0x4cb220=_0x5c65f8['name']['split'](':')[0x2];if(_0x4cb220===_0x2c0215['mySessionId'])return;const _0x26744e='user:position:'+_0x4cb220;_0x11e7ba['markers']['has'](_0x26744e)&&_0x430ad2['editing']['reconvertMarker'](_0x26744e),_0x5c65f8['on']('change:range',(_0xa8ae4b,_0x4569b2,_0x49805d)=>{if('$graveyard'!=_0x4569b2['root']['rootName']&&'$graveyard'==_0x5c65f8['getRange']()['root']['rootName']&&!_0x5837e5['has'](_0x5c65f8['name'])){const _0x136d60=_0x11e7ba['schema']['getNearestSelectionRange'](_0x49805d['deletionPosition']);if(_0x136d60){const _0xe70484=_0x3a785a['fromRange'](_0x136d60);_0x5837e5['set'](_0x5c65f8['name'],_0xe70484),_0xe70484['on']('change:range',(_0x41da28,_0x3e5b49,_0x35cda8)=>{if('$graveyard'==_0xe70484['root']['rootName']){const _0x53ff4f=_0x11e7ba['schema']['getNearestSelectionRange'](_0x35cda8['deletionPosition']);_0x53ff4f?(_0xe70484['start']=_0x53ff4f['start'],_0xe70484['end']=_0x53ff4f['end']):(_0x5837e5['delete'](_0x5c65f8['name']),_0xe70484['detach']());}});}}});}),_0x11e7ba['document']['on']('change',()=>{_0x5837e5['size']>0x0&&_0x11e7ba['enqueueChange']({'isUndoable':!0x1},_0x239966=>{for(const [_0x32e51c,_0x57a1f2]of _0x5837e5)'$graveyard'==_0x11e7ba['markers']['get'](_0x32e51c)['getRange']()['root']['rootName']&&(J(_0x32e51c['split'](':')[0x2],_0x57a1f2['toRange'](),_0x11e7ba,_0x239966),_0x57a1f2['detach']());_0x5837e5['clear']();});});}(_0x546c23),this['_domEmitter']['listenTo'](_0x4ae62f['document'],'keydown',(_0x2958f4,{key:_0x1d82ca})=>{'Escape'===_0x1d82ca&&function(_0x2c174b){_0x2c174b['editing']['view']['change'](_0x58c7a3=>{for(const _0x16832b of _0x2c174b['model']['markers']){if(!_0x16832b['name']['startsWith']('user:position'))continue;const _0x3c257e=_0x2c174b['editing']['mapper']['markerNameToElements'](_0x16832b['name']);if(_0x3c257e){for(const _0x208e20 of _0x3c257e)_0x58c7a3['removeClass']('ck-user__marker_hovered',_0x208e20);}}});}(_0x546c23);},{'useCapture':!0x0});}['afterInit'](){const _0x243df7=this['editor'],_0x23c380=_0x243df7['commands']['get']('undo');_0x23c380&&_0x243df7['model']['on']('applyOperation',(_0x1340db,_0x9f76c0)=>{const _0x44be5b=_0x9f76c0[0x0];if(!_0x44be5b['isDocumentOperation'])return;if('marker'!=_0x44be5b['type']||!_0x44be5b['name']['startsWith']('user:'))return;const _0x1e6307=_0x44be5b['batch'];_0x23c380['_createdBatches']['has'](_0x1e6307)&&(_0x44be5b['newRange']=_0x44be5b['oldRange']?_0x243df7['model']['createRange'](_0x44be5b['oldRange']['start'],_0x44be5b['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x459a24=this['editor'],_0xeec206=_0x459a24['model']['document'],_0x1e591f=_0x459a24['plugins']['get'](Y);_0x459a24['model']['enqueueChange']({'isUndoable':!0x1},_0x9a98e7=>{const _0x3c4eba='user:range:'+_0x1e591f['mySessionId'],_0x2eb016='user:position:'+_0x1e591f['mySessionId'],_0x4a6268=_0x459a24['model']['markers']['has'](_0x3c4eba);_0x459a24['editing']['view']['hasDomSelection']?J(_0x1e591f['mySessionId'],_0xeec206['selection']['getFirstRange'](),_0x459a24['model'],_0x9a98e7):_0x4a6268&&(_0x9a98e7['removeMarker'](_0x3c4eba),_0x9a98e7['removeMarker'](_0x2eb016));});}}function J(_0xaada55,_0x178131,_0x1ef82a,_0x5c101c){const _0x561216='user:range:'+_0xaada55,_0x165a34='user:position:'+_0xaada55,_0x43bc44=_0x178131['getContainedElement']();let _0x33f69d=_0x178131['start'];if(_0x43bc44&&_0x43bc44['is']('element','tableCell')){const _0x1ba06d=function(_0x1e939e,_0x425392){for(const _0x1ddc09 of _0x1e939e['getPositions']())if(_0x425392['schema']['checkChild'](_0x1ddc09,'$text'))return _0x1ddc09;}(_0x178131,_0x1ef82a);_0x1ba06d&&(_0x33f69d=_0x1ba06d,_0x178131=_0x5c101c['createRange'](_0x33f69d));}const _0x2e3bb6=_0x5c101c['createRange'](_0x33f69d);_0x1ef82a['markers']['has'](_0x561216)?(_0x5c101c['updateMarker'](_0x561216,{'range':_0x178131}),_0x5c101c['updateMarker'](_0x165a34,{'range':_0x2e3bb6})):(_0x5c101c['addMarker'](_0x561216,{'range':_0x178131,'usingOperation':!0x0}),_0x5c101c['addMarker'](_0x165a34,{'range':_0x2e3bb6,'usingOperation':!0x0}));}function Q(_0x3b110f){return'--ck-user-color:'+_0x3b110f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3b110f['color']['getColorAlphaVariable']()+';';}function X(_0x37b9cd,_0x1d4a08,_0x27d10a){const _0x5a1407=_0x37b9cd['t'],t=_0x37b9cd['t'];switch(_0x1d4a08){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 _0x5a1407({'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'},_0x27d10a);default:return'';}}let Z=0x1;class tt extends _0x7d5606{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x27da54)());['_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,_0x266219,_0x262a12,_0x2ea787];}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 _0x3e3599=this['serverHistory']['getOperations']();for(let _0x6d360=_0x3e3599['length']-0x1;_0x6d360>=0x0;_0x6d360--){const _0x48bcd8=_0x3e3599[_0x6d360];if(!this['_disconnectionOperations']['has'](_0x48bcd8))return _0x48bcd8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xc9151){if(super(_0xc9151),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4c61b2(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x235139('collaboration-missing-channelid',this);const _0x5030c8=_0xc9151['config']['get']('cloudServices.bundleVersion')||_0x3cbd76;this['_service']=new tt['CollaborativeEditingService'](_0x5030c8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x40c2f3(),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 _0x32d2b7=this['editor'],_0x74d8eb=_0x32d2b7['plugins']['get'](_0x262a12),_0x35e56e=_0x32d2b7['plugins']['get'](z);this['listenTo'](_0x74d8eb,'getOperationAuthor',(_0x4b1999,_0x12860a)=>{const _0x36101f=_0x12860a[0x0];_0x36101f['_authorId']&&(_0x4b1999['return']=_0x74d8eb['getUser'](_0x36101f['_authorId']),_0x4b1999['stop']()),null===_0x36101f['_authorId']&&(_0x4b1999['return']=null,_0x4b1999['stop']());},{'priority':'high'}),this['listenTo'](_0x32d2b7['model']['document']['selection'],'change:range',(_0x2a6ff0,_0x13793e)=>{_0x13793e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x32d2b7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x32d2b7['model']['on']('applyOperation',(_0x118621,_0x98019a)=>{const _0x31c2f1=_0x98019a[0x0];_0x31c2f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x31c2f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x35e56e,'state',this,'_hasSynchronizationProblem',(_0x5b2f95,_0x232191)=>'connected'===_0x5b2f95&&!_0x232191),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x32d2b7['disableReadOnlyMode']('rtc-offline'):_0x32d2b7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edc8e=this['editor']['plugins']['get'](Y),_0x494a99=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edc8e['unregister'](this['_channelId']);const _0x5d4af1=await this['_service']['reconnect'](_0x494a99['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5d4af1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x106afc=await this['_service']['getConnectedSessions']();_0x3edc8e['register'](this['_channelId'],_0x106afc),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x12b92f){if(function(_0xa8a6e8){return'404'===_0xa8a6e8['code'];}(_0x12b92f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x596562){return'409'===_0x596562['code'];}(_0x12b92f)){const _0x2c52f3=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'](_0x2c52f3);}else{if(!(_0x12b92f instanceof et))throw _0x12b92f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3272df=this['editor']['plugins']['get'](z),_0x446998=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x446998['channelSessions']['has'](this['_channelId'])&&_0x446998['unregister'](this['_channelId']),_0x3272df['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5b3b04){if(this['sessionId']!==_0x5b3b04['sessionId']&&this['_lastSyncedOperationId']!==_0x5b3b04['lastOperationId'])throw new et();return this['sessionId']=_0x5b3b04['sessionId'],this['_handleServerResponse']([],{..._0x5b3b04,'wereChangesApplied':!0x1,'data':_0x5b3b04['data']},'reconnect');}async['_connectService'](_0x4fc730,_0x10b90c=!0x1){const {connection:_0x3a2145}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x3a2145,this['_channelId'])['then'](_0x360e52=>this['_initSessionsHandling'](_0x360e52))['catch'](_0x3a6d22=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3a6d22);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1f9d1d,_0xd1b0ab)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xd1b0ab);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x44484d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4fc730);this['_isPendingUpdate']=!0x0;const _0x3f4dae=await this['_service']['connect'](_0x3a2145,this['_compressOperations'](_0x4fc730),_0x44484d);if(this['sessionId']=_0x3f4dae['sessionId'],_0x10b90c){if(!_0x3f4dae['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3f4dae['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4fc730,_0x3f4dae,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3f4dae,_0x4fc730);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x66c165=this['editor']['plugins']['get'](Y),_0x5d9c50=this['editor']['plugins']['get'](K),_0x2f8580=_0x66c165['channelSessions']['get'](this['_channelId']);_0x2f8580&&_0x2f8580['length']>0x1?_0x5d9c50['createUserMarkerOperations']():this['listenTo'](_0x66c165,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x66c165['channelSessions']['get'](this['_channelId'])['length']&&_0x5d9c50['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1217ab,_0x439314,_0x4d5c2d,_0x3f0c16){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x439314){const _0x3cf2e9=this['_decompressOperations'](_0x4d5c2d,_0x3f0c16);await this['_fetchMissingUsers'](_0x3cf2e9),this['_handleExternalOperations'](_0x3cf2e9,_0x439314,_0x4d5c2d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xbe41a3}=this['editor'];let _0x324da7;try{_0x324da7=await this['_service']['getDocumentDetails']();}catch{const _0x19f200=X(_0xbe41a3,'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'](_0x19f200);}const _0x14d78b=_0x324da7['currentDocumentSession']||_0x324da7['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x14d78b['lastOperationId']){const _0x39342a=X(_0xbe41a3,'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'](_0x39342a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3786ab){const _0x5e4be0=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5e4be0,'sessionAdd:'+this['_channelId'],(_0x4f3675,{session:_0x3a3134})=>{if(_0x3a3134['id']===_0x5e4be0['mySessionId']){_0x4f3675['off']();const _0x46af86=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xae109f=_0x3a3134['permissions'];_0x46af86&&_0x46af86['isEnabled']&&(_0xae109f=_0xae109f['filter'](_0x24bdfe=>'document:write'!==_0x24bdfe)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xae109f,this['_channelId']);}}),_0x5e4be0['register'](this['_channelId'],_0x3786ab);}['_initThrowingOnDataSet'](){const _0xf5d1d9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2f2f51)=>{if(!_0x2f2f51[_0x2f2f51['length']-0x1]['suppressErrorInCollaboration'])throw new _0x235139('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xf5d1d9['apply'](this['editor']['data'],_0x2f2f51);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1264ab,[_0x4253c4])=>{if(this['_document']['version'])throw new _0x235139('realtimecollaborationclient-init-document-already-initialized',this);_0x1264ab['stop'](),this['_setPendingAction']();const _0x4dabd6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1f48ad])=>!_0x1f48ad['lazyLoad'])['map'](([_0x34ecec,_0x239acf])=>[_0x34ecec,_0x239acf['modelAttributes']||{}])),_0x9e5bf2=this['_getOperationsFromInitData'](_0x4253c4,_0x4dabd6);0x0==_0x9e5bf2['length']&&_0x9e5bf2['push'](new _0x4b1528(0x0)),_0x1264ab['return']=this['_connectService'](_0x9e5bf2)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x113b8b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x113b8b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1d9ae3,[_0x515e9f,_0x5ddc58])=>{_0x1d9ae3['stop']();const _0x27b435=this['editor']['model']['document']['getRoot'](_0x515e9f);if(!this['_knownRootNames']['has'](_0x515e9f)){const _0xe53e71=_0x5ddc58&&_0x5ddc58['data']?_0x5ddc58['data']:'',_0x1e3f09=_0x5ddc58&&_0x5ddc58['attributes']?_0x5ddc58['attributes']:{};await this['_loadRoot'](_0x515e9f,_0xe53e71,_0x1e3f09);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x27b435['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x27b435);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x284dab){const _0x40d2a0=this['editor']['plugins']['get'](_0x262a12),{connection:_0x1bff8d}=this['editor']['plugins']['get'](z),_0x1d19bc=new Set();for(const _0x187310 of _0x284dab){const _0x2cf1f5=_0x187310['_authorId'];_0x2cf1f5&&!_0x40d2a0['getUser'](_0x2cf1f5)&&_0x1d19bc['add'](_0x2cf1f5);}if(0x0===_0x1d19bc['size'])return;const _0x5ace0f=await _0x532341['getMany'](_0x1bff8d,Array['from'](_0x1d19bc));for(const _0x34aea6 of _0x5ace0f)_0x40d2a0['getUser'](_0x34aea6['id'])||_0x40d2a0['addUser'](_0x34aea6);}['_getOperationsFromInitData'](_0x53fd01,_0x35c58b={}){const _0x4476f1=this['editor']['model'],_0x1fd324=[];let _0x3c2b07=0x0;const _0x13d9db='string'==typeof _0x53fd01?{'main':_0x53fd01}:_0x53fd01;for(const _0x271d24 of Object['keys'](_0x13d9db)){if(!this['_document']['roots']['has'](_0x271d24))throw new _0x235139('realtimecollaborationclient-init-non-existent-root',this);const _0x540756=this['editor']['data']['parse'](_0x13d9db[_0x271d24]),_0x2a00cf=this['_document']['getRoot'](_0x271d24),_0x7ff511=new _0x3c46a8(_0x4476f1['createPositionAt'](_0x2a00cf,0x0),_0x540756,_0x3c2b07++);_0x1fd324['push'](_0x7ff511);for(const [_0x27b084,_0x4b4681]of _0x540756['markers']){const _0x58a734=_0x4476f1['createRange'](_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['start']['path']['slice']()),_0x4476f1['createPositionFromPath'](_0x2a00cf,_0x4b4681['end']['path']['slice']())),_0x3e573e=new _0x13a98e(_0x27b084,null,_0x58a734,_0x4476f1['markers'],!0x0,_0x3c2b07++);_0x1fd324['push'](_0x3e573e);}}if(_0x35c58b)for(const [_0x3a41a9,_0x566218]of Object['entries'](_0x35c58b)){const _0x4eef69=_0x4476f1['document']['getRoot'](_0x3a41a9);if(!_0x4eef69)throw new _0x235139('multi-root-editor-root-attributes-no-root',null);for(const [_0x413777,_0x5dd6b1]of Object['entries'](_0x566218))if(null!==_0x5dd6b1){const _0x5a854a=new _0x6eb12(_0x4eef69,_0x413777,null,_0x5dd6b1,_0x3c2b07++);_0x1fd324['push'](_0x5a854a);}}return _0x1fd324;}async['_loadRoot'](_0x278e4f,_0x412f3b,_0x2e085c){this['_getOperationsFromInitData']({[_0x278e4f]:_0x412f3b},{[_0x278e4f]:_0x2e085c})['forEach']((_0x379a4d,_0x9b2e01)=>{_0x379a4d['baseVersion']=this['_document']['version']+_0x9b2e01,_0x379a4d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x379a4d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x23fc88,_0x66722a){let _0x3c6fa7;this['_offset']=_0x23fc88['offset'];const _0xae23=_0x23fc88['wereChangesApplied']&&!_0x23fc88['initData'],_0x1861d0=_0xae23?0x0:_0x23fc88['data']['baseVersion'];if(_0x66722a['forEach'](_0x8231ca=>{_0x8231ca['_isInit']=!0x0,_0x8231ca['createdAt']=_0x23fc88['sessionCreatedAt'],_0x8231ca['_authorId']=null;}),_0xae23)_0x3c6fa7=_0x66722a,this['_applyOperationsSet'](_0x3c6fa7,_0xae23);else{if(_0x23fc88['initData']){const _0x4cd0f9=this['_getOperationsFromInitData'](_0x23fc88['initData']);this['_document']['history']['version']=-_0x4cd0f9['length'],_0x4cd0f9['forEach'](_0x3d8d8d=>{_0x3d8d8d['baseVersion']-=_0x4cd0f9['length'],_0x3d8d8d['createdAt']=_0x23fc88['sessionCreatedAt'],_0x3d8d8d['_isInit']=!0x0,_0x3d8d8d['_authorId']=null;}),this['_applyOperationsSet'](_0x4cd0f9,!0x0),this['serverHistory']['version']=-_0x4cd0f9['length']+this['_offset'],this['_updateServerHistory'](_0x4cd0f9);}this['_document']['history']['version']=_0x1861d0,_0x3c6fa7=this['_decompressOperations'](_0x23fc88['data'],_0x23fc88['metadata']),await this['_fetchMissingUsers'](_0x3c6fa7),this['_applyOperationsSet'](_0x3c6fa7,_0xae23);}_0x23fc88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3c6fa7,_0x23fc88['lastOperationId']),this['_lastSyncedOperationId']=_0x23fc88['lastOperationId']),this['serverHistory']['version']=_0x1861d0+this['_offset'],this['_updateServerHistory'](_0x3c6fa7),_0x66722a['filter'](_0x220f63=>{const _0x1e0163=this['_getAffectedRoot'](_0x220f63);return _0x1e0163&&!this['_knownRootNames']['has'](_0x1e0163);})['forEach']((_0x56d95a,_0x293ea0)=>{_0x56d95a['baseVersion']=this['_document']['version']+_0x293ea0,this['_saveOperationInBuffer'](_0x56d95a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x462c89,_0x3178b1){const _0x4be109=_0x3178b1&&_0x3178b1['message'];if(_0x4be109&&_0x4be109['startsWith']('realtimecollaborationclient'))throw _0x3178b1;const _0x246c00=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x246c00['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x235139(_0x462c89,this['editor'],_0x4be109?{'originalError':_0x4be109}:void 0x0);}['_saveOperationInBuffer'](_0x382b98){this['_knownOperations']['has'](_0x382b98)||(this['_knownOperations']['add'](_0x382b98),this['_bufferedOperations']['push'](_0x382b98),this['_pendingAction']||'marker'==_0x382b98['type']&&!_0x382b98['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5e9b2b=!0x1){!_0x5e9b2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x576fc9=>{_0x576fc9&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x525dda=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x20921d){return _0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x20921d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x525dda)||this['_crash'](_0x525dda['message'],_0x525dda);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x27051a=>{this['on']('change:_isPendingUpdate',()=>{_0x27051a();});});}async['_sendBufferedOperations'](){const _0x4dac0f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dac0f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x769f11=[...this['_bufferedOperations']];for(const _0x423b92 of _0x769f11)_0x423b92['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x423b92);const _0xc7d0f7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x769f11),_0x1e30c0=Z++,_0x3a8518=this['_compressOperations'](_0x769f11),_0x5a2f37=await this['_service']['sendOperations'](_0x3a8518,_0x3a8518['baseVersion'],_0xc7d0f7);try{return await this['_handleServerResponse'](_0x769f11,_0x5a2f37,_0x1e30c0);}catch(_0x1d577f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1d577f);}}async['_handleServerResponse'](_0x4c2061,_0x20f3c4,_0x5357c1){if('error'in _0x20f3c4)throw _0x20f3c4['error'];let _0x5bd38b=!0x1;if(_0x20f3c4['wereChangesApplied']){_0x20f3c4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x20f3c4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x273acb=>!_0x4c2061['includes'](_0x273acb));for(const _0x2d69a4 of _0x4c2061)_0x2d69a4['createdAt']='lastOperationAcceptedAt'in _0x20f3c4&&_0x20f3c4['lastOperationAcceptedAt']||void 0x0;st(_0x4c2061,_0x20f3c4['version']-_0x4c2061['length']),this['_updateServerHistory'](_0x4c2061);const _0x515261=_0x4c2061['filter'](_0x105992=>{if(!_0x105992['_isInit'])return!0x1;const _0x302c07=this['_getAffectedRoot'](_0x105992);return _0x302c07&&!this['_knownRootNames']['has'](_0x302c07);});st(_0x515261,this['_document']['version']),this['_applyOperationsSet'](_0x515261),_0x5bd38b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x833508=this['_decompressOperations'](_0x20f3c4['data'],_0x20f3c4['metadata'])['filter'](_0x3edcbf=>_0x3edcbf['baseVersion']>=this['_lastServerVersion']);_0x833508['forEach'](_0x31e0f9=>this['_addKnownRoot'](_0x31e0f9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x37c144=>!_0x37c144['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x37c144))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x833508),_0x5bd38b=this['_handleExternalOperations'](_0x833508,_0x20f3c4['version'],_0x20f3c4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5bd38b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x210a66,_0x5d05eb,_0x300daf){try{const _0x4569a1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x46e363,operationsB:_0x2b1190,originalOperations:_0x44fb08}=_0x399d51(_0x210a66,this['_bufferedOperations'],_0x4569a1);st(_0x46e363,this['_document']['version']),st(_0x2b1190,_0x5d05eb);for(const _0x10f2ef of _0x46e363){const _0x351bed=_0x44fb08['get'](_0x10f2ef);_0x10f2ef['_authorId']=_0x351bed?_0x351bed['_authorId']:null;}_0x300daf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x210a66,_0x300daf),this['_lastSyncedOperationId']=_0x300daf),this['_bufferedOperations']=[..._0x2b1190],this['_applyOperationsSet'](_0x46e363),this['_updateServerHistory'](_0x210a66);}catch(_0x4e7985){return console['error'](_0x4e7985),!0x1;}return!0x0;}['_applyOperationsSet'](_0x48abdb,_0x5d2c25=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x29ee53=>{for(const _0x29798b of _0x48abdb)this['_knownOperations']['add'](_0x29798b),this['_addKnownRoot'](_0x29798b),_0x29ee53['batch']['addOperation'](_0x29798b),this['editor']['model']['applyOperation'](_0x29798b);});}['_addKnownRoot'](_0x50361e){const _0x467d51=this['_getAffectedRoot'](_0x50361e);_0x467d51&&this['_knownRootNames']['add'](_0x467d51);}['_getAffectedRoot'](_0x40b9df){let _0x34cd25,_0x57c20e;switch(_0x40b9df['type']){case'insert':_0x34cd25=_0x40b9df['position']['root'];break;case'marker':if(_0x57c20e=_0x40b9df['newRange'],!_0x57c20e)return null;_0x34cd25=_0x57c20e['root'];break;case'addRootAttribute':_0x34cd25=_0x40b9df['root'];break;case'addRoot':_0x34cd25=_0x40b9df['affectedSelectable'];break;case'move':_0x34cd25=_0x40b9df['targetPosition']['root'];break;default:return null;}return _0x34cd25['rootName'];}['_updateServerHistory'](_0x25af4d){_0x25af4d['forEach'](_0x434efc=>{const _0x5ec0ff=_0x434efc['clone']();_0x5ec0ff['_authorId']=_0x434efc['_authorId'],_0x5ec0ff['_isInit']=!!_0x434efc['_isInit'],_0x5ec0ff['createdAt']=_0x434efc['createdAt'],_0x5ec0ff['baseVersion']+=this['_offset'],_0x434efc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ec0ff),this['serverHistory']['addOperation'](_0x5ec0ff);});}['_handleReconnectionError'](_0x16defb){const _0x1a326a=this['editor']['plugins']['get']('Notification'),_0x1af3ad=this['editor']['locale'];_0x16defb||(_0x16defb=X(_0x1af3ad,'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.')),_0x1a326a['showWarning'](_0x16defb,{'title':X(_0x1af3ad,'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'](_0x266219)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x266219)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xd69bdc){const _0x1f2095=_0xd69bdc['map'](_0x2e98e4=>_0x2e98e4['toJSON']());return this['_compressor']['compress'](_0x1f2095);}['_decompressOperations'](_0x7a9802,_0x47be79){return this['_compressor']['decompress'](_0x7a9802)['map']((_0x19045e,_0x112860)=>{const _0x11fc83='init'==_0x47be79[_0x112860]['type'];if('InsertOperation'==_0x19045e['__className']){const _0xd8f310=_0x19045e['position']['root'];!this['_document']['getRoot'](_0xd8f310)&&(this['_document']['createRoot']('$root',_0xd8f310)['_isAttached']=!0x1);}const _0x58c7f4=_0x683b24['fromJSON'](_0x19045e,this['_document']);return _0x58c7f4['wasUndone']=_0x19045e['wasUndone'],_0x58c7f4['_isInit']=_0x11fc83,_0x58c7f4['_authorId']=_0x11fc83?null:_0x47be79[_0x112860]['userId'],_0x58c7f4['_isDisconnection']='cs:removeUser'===_0x47be79[_0x112860]['type'],_0x58c7f4['createdAt']=_0x47be79[_0x112860]['createdAt'],_0x58c7f4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x340e64=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x340e64&&_0x340e64['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x352250,_0x3b6a34){for(const _0x294da0 of _0x352250)_0x294da0['baseVersion']=_0x3b6a34++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x17fe99){this['_ignoredOperations']=_0x17fe99,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1920da){let _0x2485b5=_0x1920da['length'];for(;_0x2485b5--;){const _0x3445cc=_0x1920da[_0x2485b5];if(!this['_ignoredOperations']['has'](_0x3445cc)){if(!this['_operationToId']['has'](_0x3445cc)){const _0x2536b6=_0x53efbe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3445cc,_0x2536b6);}return this['_operationToId']['get'](_0x3445cc);}}}['setIdForTheLastOperation'](_0x245cdd,_0x49d316){if(!_0x49d316)return;let _0x147bcc=_0x245cdd['length'];for(;_0x147bcc--;){const _0x1ac92b=_0x245cdd[_0x147bcc];this['_ignoredOperations']['has'](_0x1ac92b)||this['_operationToId']['set'](_0x1ac92b,_0x49d316);}}}class nt extends _0x7d5606{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xfc25ee{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x421f5f)());['_services'];static get['requires'](){return[z,_0x2c2141,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72c440){super(_0x72c440),this['_services']=new Map();}async['init'](){const _0xff69ff=this['context'],_0x1c9618=_0xff69ff['plugins']['get'](_0x2c2141);if(_0xff69ff['plugins']['get'](z)['addToReconnectionStack'](this),_0x1c9618['adapter']={'addCommentThread':async({channelId:_0x30595e,threadId:_0x38b3bb,comments:_0x19a7a5,resolvedAt:_0x71ef45,resolvedBy:_0x362d0a,context:_0x17dbae,attributes:_0x241157})=>{const _0x5417b5=await this['_getService'](_0x30595e)['addCommentThread']({'commentThreadId':_0x38b3bb,'comments':_0x19a7a5['map'](_0x366f7c=>function(_0x26526f,_0x31ef42,_0x402bd8){return{'commentThreadId':_0x402bd8,'commentId':_0x26526f['commentId'],'userId':_0x26526f['authorId'],'content':_0x26526f['content'],'documentId':_0x31ef42,'createdAt':_0x26526f['createdAt'],'attributes':_0x26526f['attributes']||{}};}(_0x366f7c,_0x30595e,_0x38b3bb)),'resolvedAt':_0x71ef45,'resolvedBy':_0x362d0a,'context':_0x17dbae,'attributes':_0x241157})['catch'](ct);return{'threadId':_0x5417b5['commentThreadId'],'comments':_0x5417b5['comments']};},'getCommentThread':async({channelId:_0x2ecbec,threadId:_0x84c347})=>{const _0x4e5168=await this['_getService'](_0x2ecbec)['getCommentThread'](_0x84c347)['catch'](rt)['catch'](ct);return _0x4e5168?_0x4e5168['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4e5168]),{'threadId':_0x4e5168['commentThreadId'],'comments':_0x4e5168['comments']['map'](at),'context':_0x4e5168['context'],'resolvedAt':_0x4e5168['resolvedAt'],'resolvedBy':_0x4e5168['resolvedBy'],'attributes':_0x4e5168['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x32e36c,threadId:_0x260a68,context:_0x4bfa0a,unlinkedAt:_0x467efa,attributes:_0x458137})=>this['_getService'](_0x32e36c)['updateCommentThread']({'commentThreadId':_0x260a68,'context':_0x4bfa0a,'attributes':_0x458137,'unlinkedAt':_0x467efa})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x575c13,threadId:_0x3d1d01})=>{const _0x36d000=await this['_getService'](_0x575c13)['resolveCommentThread'](_0x3d1d01)['catch'](rt)['catch'](ct);return{'threadId':_0x36d000['commentThreadId'],'resolvedAt':_0x36d000['resolvedAt'],'resolvedBy':_0x36d000['resolvedBy']};},'reopenCommentThread':async({channelId:_0x178d56,threadId:_0xe57d3d})=>this['_getService'](_0x178d56)['reopenCommentThread'](_0xe57d3d)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x162c11,threadId:_0x5839b0})=>this['_getService'](_0x162c11)['removeCommentThread'](_0x5839b0)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x51aadb,threadId:_0xe098d4,commentId:_0x35be12,content:_0x20dcf2,attributes:_0x2de18d})=>this['_getService'](_0x51aadb)['addComment'](_0xe098d4,_0x35be12,_0x20dcf2,_0x2de18d)['catch'](ct),'updateComment':({channelId:_0x228e4b,threadId:_0x558bdc,commentId:_0x40cdc5,content:_0x583dfa,attributes:_0x4ca7c4})=>this['_getService'](_0x228e4b)['updateComment'](_0x558bdc,_0x40cdc5,_0x583dfa,_0x4ca7c4)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5625ae,threadId:_0x547f37,commentId:_0x4734e5})=>this['_getService'](_0x5625ae)['removeComment'](_0x547f37,_0x4734e5)['catch'](rt)['catch'](ct)},_0xff69ff instanceof _0x18f807){const _0x44500d=_0xff69ff['config']['get']('collaboration.channelId'),_0x3b79f3=_0xff69ff['plugins']['get'](Y);await this['_setUpService'](_0x44500d);const _0x1f092d=await this['_services']['get'](_0x44500d)['getConnectedSessions']();this['listenTo'](_0x3b79f3,'sessionAdd:'+_0x44500d,(_0x3e12e5,{session:_0x5ee973})=>{_0x5ee973['id']===_0x3b79f3['mySessionId']&&(_0x3e12e5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5ee973['permissions'],_0x44500d));}),_0x3b79f3['register'](_0x44500d,_0x1f092d);}}async['_setUpService'](_0x20545e){if(this['_services']['has'](_0x20545e))throw new _0x235139('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x20545e});const _0x240629=this['context']['plugins']['get'](_0x2c2141),_0x5758fa=new ot['CommentsService'](_0x20545e);this['_services']['set'](_0x20545e,_0x5758fa),this['listenTo'](_0x5758fa,'commentThreadAdded',(_0x63541c,_0x3eaff5)=>{const {commentThreadId:_0x448a8d,documentId:_0x3520c3,context:_0xfed4b6,attributes:_0x21de7f,resolvedAt:_0x5416b1,resolvedBy:_0xd077ab,comments:_0x4e489d}=_0x3eaff5;_0x240629['getCommentThread'](_0x448a8d)||_0x240629['addCommentThread']({'threadId':_0x448a8d,'channelId':_0x3520c3,'comments':_0x4e489d?_0x4e489d['map'](at):[],'context':_0xfed4b6,'attributes':_0x21de7f,'resolvedAt':_0x5416b1,'resolvedBy':_0xd077ab,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadUpdated',(_0x15c69a,{commentThreadId:_0x15f64a,documentId:_0x19461f,context:_0x46534c,unlinkedAt:_0x48d51c,attributes:_0x5393e4})=>{_0x240629['getCommentThread'](_0x15f64a)&&_0x240629['updateCommentThread']({'threadId':_0x15f64a,'channelId':_0x19461f,'context':_0x46534c,'unlinkedAt':_0x48d51c,'attributes':_0x5393e4,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadResolved',(_0x11aea4,{commentThreadId:_0x238c2d,resolvedBy:_0x579624,resolvedAt:_0x7642b8})=>{const _0x574c8f=_0x240629['getCommentThread'](_0x238c2d);_0x574c8f&&_0x574c8f['resolve']({'resolvedBy':_0x579624,'resolvedAt':_0x7642b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadReopened',(_0xc717c6,{commentThreadId:_0x5653ce})=>{const _0x3dc73a=_0x240629['getCommentThread'](_0x5653ce);_0x3dc73a&&_0x3dc73a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentThreadRemoved',(_0x2b137c,{commentThreadId:_0x31d363})=>{const _0x4c99b8=_0x240629['getCommentThread'](_0x31d363);_0x4c99b8&&_0x4c99b8['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentAdded',(_0x4f168a,_0x3eb3e7)=>{const _0x4af4d0=_0x3eb3e7['commentThreadId'],_0xb2066a=_0x240629['getCommentThread'](_0x4af4d0);_0xb2066a&&_0xb2066a['addComment']({...at(_0x3eb3e7),'isFromAdapter':!0x0});}),this['listenTo'](_0x5758fa,'commentUpdated',(_0x9245ec,{commentThreadId:_0x1e20b4,commentId:_0x5e5ea4,content:_0x3d038e,attributes:_0x1e1e75})=>{const _0x522aec=_0x240629['getCommentThread'](_0x1e20b4);if(_0x522aec){const _0x5ddcee=_0x522aec['getComment'](_0x5e5ea4);_0x5ddcee&&_0x5ddcee['update']({'content':_0x3d038e,'attributes':_0x1e1e75,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5758fa,'commentRemoved',(_0x3ea1d9,{commentThreadId:_0x33dab6,commentId:_0x28f511})=>{const _0x17d3d4=_0x240629['getCommentThread'](_0x33dab6);if(_0x17d3d4){const _0x5fc17d=_0x17d3d4['getComment'](_0x28f511);_0x5fc17d&&_0x5fc17d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x20545e);}['destroy'](){if(this['context']instanceof _0x18f807){const _0x57f7e4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x57f7e4);}}['_terminateService'](_0x1e7e3b){if(!this['_services']['has'](_0x1e7e3b))throw new _0x235139('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1e7e3b});this['_getService'](_0x1e7e3b)['disconnect'](),this['_services']['delete'](_0x1e7e3b);}async['reconnect'](){for(const _0x471124 of this['_services']['keys']())await this['_connectService'](_0x471124);if(this['context']instanceof _0x18f807){const _0xfd5197=this['context']['config']['get']('collaboration.channelId'),_0x3fc919=this['context']['plugins']['get'](Y);_0x3fc919['unregister'](_0xfd5197);const _0x507715=await this['_services']['get'](_0xfd5197)['getConnectedSessions']();_0x3fc919['register'](_0xfd5197,_0x507715);}}async['_connectService'](_0x5e1bbe){const {connection:_0x2e3708}=this['context']['plugins']['get'](z),_0x2b0dbc=this['context']['plugins']['get'](_0x2c2141),_0x576f56=this['_services']['get'](_0x5e1bbe),_0x42e0c8=await _0x576f56['connect'](_0x2e3708);await this['_fetchMissingUsersForThreads'](_0x42e0c8);const _0x1e2879=new Set(Array['from'](_0x2b0dbc['getCommentThreads']({'channelId':_0x5e1bbe}),_0x45675d=>_0x45675d['id']));for(const _0x21d79a of _0x42e0c8)_0x21d79a['deletedAt']||_0x1e2879['delete'](_0x21d79a['commentThreadId']);for(const _0x6d33c3 of _0x1e2879)_0x2b0dbc['getCommentThread'](_0x6d33c3)['remove']({'isFromAdapter':!0x0});for(const _0x1a2b57 of _0x42e0c8){let _0xd14ba3=_0x2b0dbc['getCommentThread'](_0x1a2b57['commentThreadId']);const {commentThreadId:_0x22d6cc,context:_0x1e0a35,attributes:_0x4e13ae,resolvedBy:_0x2cf6fc,resolvedAt:_0x475a8c,unlinkedAt:_0x59bd5d,deletedAt:_0x570142}=_0x1a2b57;if(_0x570142)continue;_0xd14ba3||(_0xd14ba3=_0x2b0dbc['addCommentThread']({'channelId':_0x5e1bbe,'threadId':_0x22d6cc,'context':_0x1e0a35,'attributes':_0x4e13ae||{},'resolvedBy':_0x2cf6fc,'resolvedAt':_0x475a8c,'unlinkedAt':_0x59bd5d,'isFromAdapter':!0x0}));const _0x27720a=new Set(Array['from'](_0xd14ba3['comments'],_0xb3c463=>_0xb3c463['id']));for(const _0x348a4b of _0x1a2b57['comments'])_0x27720a['delete'](_0x348a4b['commentId']);for(const _0x1d1988 of _0x27720a)_0xd14ba3['getComment'](_0x1d1988)['remove']({'isFromAdapter':!0x0});for(const _0x53245a of _0x1a2b57['comments']){const _0x4a4a7e=_0xd14ba3['getComment'](_0x53245a['commentId']);_0x4a4a7e?_0x4a4a7e['content']!==_0x53245a['content']&&_0x4a4a7e['update']({'content':_0x53245a['content'],'isFromAdapter':!0x0}):_0xd14ba3['addComment'](Object['assign'](at(_0x53245a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x74a8aa){if(!this['_services']['has'](_0x74a8aa))throw new _0x235139('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x74a8aa});return this['_services']['get'](_0x74a8aa);}async['_fetchMissingUsersForThreads'](_0x4992a2){const _0x32bffe=this['context']['plugins']['get'](_0x262a12),{connection:_0x10ee09}=this['context']['plugins']['get'](z),_0x53935f=new Set();for(const {resolvedBy:_0x5992b4,comments:_0x5f00f7}of _0x4992a2){_0x5992b4&&!_0x32bffe['getUser'](_0x5992b4)&&_0x53935f['add'](_0x5992b4);for(const {userId:_0x493660}of _0x5f00f7)_0x32bffe['getUser'](_0x493660)||_0x53935f['add'](_0x493660);}if(0x0===_0x53935f['size'])return;const _0x1c7fdb=await _0x532341['getMany'](_0x10ee09,Array['from'](_0x53935f));for(const _0x3d432d of _0x1c7fdb)_0x32bffe['getUser'](_0x3d432d['id'])||_0x32bffe['addUser'](_0x3d432d);}}async function rt(_0x520b01){if('404'!==_0x520b01['code'])throw _0x520b01;}function ct(_0x1670db){if((_0x3e7b1f=_0x1670db)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e7b1f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e7b1f;throw _0x1670db;}function at(_0x10400d){return{'threadId':_0x10400d['commentThreadId'],'commentId':_0x10400d['commentId'],'content':_0x10400d['content'],'createdAt':_0x10400d['createdAt'],'authorId':_0x10400d['userId'],'attributes':_0x10400d['attributes']||{}};}class ht extends _0x7d5606{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x5a855e)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x1d859c,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2064e4){super(_0x2064e4);const _0x804fc5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x804fc5);}['init'](){const _0x4d337f=this['editor']['plugins']['get'](z),_0xb19804=this['editor']['plugins']['get'](_0x1d859c);return _0xb19804['adapter']={'getSuggestion':async _0x2e0d4d=>{await this['_waitForServiceReady']();const _0x23fec7=await this['_trackChangesService']['get'](_0x2e0d4d)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x23fec7]),_0x23fec7;},'addSuggestion':async({id:_0x3cb55d,type:_0x57089a,data:_0x5d732a,originalSuggestionId:_0x52790e,attributes:_0x1568d0})=>{await this['_waitForServiceReady']();const _0x24bc33={'id':_0x3cb55d,'type':_0x57089a,'data':_0x5d732a,'originalSuggestionId':_0x52790e,'attributes':_0x1568d0},_0x273eda=await this['_trackChangesService']['add'](_0x3cb55d,_0x57089a,_0x5d732a,_0x52790e,_0x1568d0)['catch'](_0x38606f=>{if(dt(_0x38606f))return new Promise(_0x1e99be=>{this['_bufferedRequests']['set'](_0x3cb55d,{'resolve':_0x1e99be,'suggestionData':_0x24bc33});});throw _0x38606f;});return this['_bufferedRequests']['delete'](_0x3cb55d),_0x273eda;},'updateSuggestion':async(_0x17795d,_0x185876)=>{if(await this['_waitForServiceReady'](),'open'!==_0x185876['state'])return this['_trackChangesService']['update'](_0x17795d,_0x185876)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x37b1fa,_0x40a46b)=>{_0xb19804['hasSuggestion'](_0x40a46b['id'])&&(_0xb19804['getSuggestion'](_0x40a46b['id'])['attributes']=_0x40a46b['attributes']);}),this['_trackChangesService']['connect'](_0x4d337f['connection'])['then'](_0x4a5020=>(_0x4d337f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4a5020)['then'](()=>{for(const _0x4eb6a0 of _0x4a5020){_0xb19804['addSuggestionData'](_0x4eb6a0)['_saved']=!0x0;}})));}async['reconnect'](){const _0x15f18e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1174dc}=this['editor']['plugins']['get'](z),_0x4b4afd=await this['_trackChangesService']['connect'](_0x1174dc);await this['_fetchMissingUsersForThreads'](_0x4b4afd);for(const {suggestionData:_0x18cbcc,resolve:_0xe07a71}of this['_bufferedRequests']['values']()){let _0x796d7c=_0x4b4afd['find'](_0x2456f5=>_0x2456f5['id']===_0x18cbcc['id']);_0x796d7c||(_0x796d7c=await this['_trackChangesService']['add'](_0x18cbcc['id'],_0x18cbcc['type'],_0x18cbcc['data'],_0x18cbcc['originalSuggestionId'])),_0xe07a71(_0x796d7c);}for(const _0x37b65d of _0x4b4afd)_0x15f18e['hasSuggestion'](_0x37b65d['id'])||_0x15f18e['addSuggestionData'](_0x37b65d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x435cc0=>{this['listenTo'](this['_trackChangesService'],'connected',_0x537f99=>{_0x537f99['off'](),_0x435cc0();});});}async['_fetchMissingUsersForThreads'](_0x466d97){const _0x5d1a91=this['editor']['plugins']['get'](_0x262a12),{connection:_0x5a1a8d}=this['editor']['plugins']['get'](z),_0xb96fa9=new Set();for(const {authorId:_0x4353c9}of _0x466d97)_0x5d1a91['getUser'](_0x4353c9)||_0xb96fa9['add'](_0x4353c9);if(0x0===_0xb96fa9['size'])return;const _0x40d282=await _0x532341['getMany'](_0x5a1a8d,Array['from'](_0xb96fa9));for(const _0x4145dc of _0x40d282)_0x5d1a91['getUser'](_0x4145dc['id'])||_0x5d1a91['addUser'](_0x4145dc);}}function lt(_0x3e0514){if(dt(_0x3e0514))return new Promise(()=>{});throw _0x3e0514;}function dt(_0xd3e969){return _0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xd3e969['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x7d5606{static get['requires'](){return[_0x4aaf32,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19b515=this['editor']['plugins']['get'](z),_0x489a62=this['editor']['plugins']['get'](_0x9ff058),_0x682d70=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19b515,'change:state',(_0xbf2487,_0x50dd74,_0x4ea096)=>{_0x489a62['isThreadsLoadingPaused']='connected'!==_0x4ea096;});}),this['listenTo'](_0x19b515,'change:state',(_0x51a858,_0x50f44f,_0x987e32)=>{this['editor']['plugins']['get'](_0x2c2141)['switchReadOnly']('connected'!==_0x987e32);}),_0x682d70['_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 _0x7d5606{static get['requires'](){return[ut,ht,_0x17a835];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x7d5606{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x4c05e4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2d0829,Y,_0x262a12];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292044){super(_0x292044);const _0x33a272=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x33a272);}async['init'](){const _0x531cab=this['editor']['plugins']['get'](tt),_0xdccfe1=_0x531cab['serverHistory'],_0x2f895d=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xdccfe1,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x531cab['sessionId']});const _0x5a0628=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3cbd76,_0x17ec2b=await _0x1358ea['isBundleUploaded'](_0x2f895d['connection'],_0x5a0628);this['editor']['plugins']['get'](_0x2d0829)['adapter']={'getRevision':async({revisionId:_0x5d3d4f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5d3d4f)),'updateRevisions':async _0x1c5cb3=>{await this['_waitForServiceReady']();const _0x405ad0=this['_revisionTracker']['currentRevision'];if(_0x17ec2b&&0x1===_0x1c5cb3['length']&&_0x1c5cb3[0x0]['id']===_0x405ad0['id'])return _0x1c5cb3;for(const _0x1a7578 of _0x1c5cb3)_0x1a7578['id']===_0x405ad0['id']&&(_0x1a7578['isEmptyCurrent']=_0x1a7578['fromVersion']===_0x1a7578['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1c5cb3,this['_lastRequestId'])['then'](_0xe311df=>(this['_lastRequestId']=_0xe311df,_0x1c5cb3))['catch'](_0x58cc27=>{if(pt(_0x58cc27)||'400'===_0x58cc27['code']&&void 0x0!==_0x58cc27['data']['wrongRequestId']){for(const _0x1418d7 of _0x1c5cb3){!this['_revisionTracker']['repository']['getRevision'](_0x1418d7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1418d7['id'],_0x1418d7,!0x1);}if(pt(_0x58cc27)&&'destroyed'!==this['editor']['state'])throw _0x58cc27;return _0x1c5cb3;}throw _0x58cc27;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x56dbf5,{revisionsData:_0x69d7b4,requestId:_0x15eed3})=>{Math['max'](..._0x69d7b4['map'](_0x186876=>_0x186876['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);}):this['_handleRevisionsUpdate'](_0x69d7b4,_0x15eed3);});const {revisions:_0x58e320,requestId:_0x17bf0f}=await this['_revisionHistoryService']['connect'](_0x2f895d['connection']);_0x2f895d['addToReconnectionStack'](this),this['_lastRequestId']=_0x17bf0f,await this['_fetchMissingUsers'](_0x58e320);for(const _0x564039 of _0x58e320)this['_revisionTracker']['addRevisionData'](_0x564039);this['listenTo'](_0x531cab,'change:_isConnected',(_0x1e4060,_0x5722a0,_0x3c795d)=>{_0x3c795d&&(this['_oldOffset']=_0x531cab['_offset'],_0x1e4060['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2f895d,'state',_0x3c6aae=>_0x3c6aae===_0x125ccb['CONNECTED']);}async['reconnect'](){const _0x571ce4=this['editor']['plugins']['get'](z),_0x6682a5=this['editor']['plugins']['get'](tt),_0x536b33=async()=>{const _0x3e99af=this['_revisionTracker']['currentRevision'],_0x3fe9e1=_0x3e99af['id'],_0x1be83c=_0x3fe9e1!==_0x6682a5['sessionId'];if(_0x1be83c){const _0x5de455=_0x6682a5['_offset']-this['_oldOffset'],_0x11592b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3e99af['toVersion']+_0x5de455!==_0x11592b){const _0x23d9b3=_0x3e99af['fromVersion']+_0x5de455,_0x44fc43=this['editor']['plugins']['get'](_0x262a12),_0x122e57=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e99af,'from':_0x23d9b3,'to':_0x11592b});_0x122e57['id']=_0x3e99af['id'];const _0x20361a=_0x122e57['authorsIds']['map'](_0x1790bf=>_0x44fc43['getUser'](_0x1790bf));_0x3e99af['_update']({..._0x122e57,'authors':_0x20361a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3e99af['id'],_0x122e57,!0x0);}this['_revisionTracker']['_startingVersion']=_0x11592b,(_0x3e99af['toVersion']===_0x3e99af['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3fe9e1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3fe9e1),this['_revisionTracker']['_createCurrentRevision'](_0x11592b));}const {revisions:_0x2c46bf,requestId:_0x54be60}=await this['_revisionHistoryService']['reconnect'](_0x571ce4['connection'],this['_lastRequestId']);_0x1be83c&&_0x2c46bf['length']>0x0?_0x6682a5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2c46bf),this['_handleRevisionsUpdate'](_0x2c46bf,_0x54be60),this['_revisionTracker']['sendBufferedUpdates']());};return _0x6682a5['_isConnected']?_0x536b33():new Promise((_0x477049,_0xdb1856)=>{_0x6682a5['once']('change:_isConnected',()=>{_0x536b33()['then'](_0x477049)['catch'](_0xdb1856);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x44cdcf=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5023b1=>{_0x5023b1['off'](),_0x44cdcf();});});}['_getLatestVersionFromServerOperations'](){const _0x1e7a70=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x131538 of _0x1e7a70)if('marker'!==_0x131538['type']||_0x131538['affectsData'])return _0x131538['baseVersion']+0x1;}['_getLatestVersion'](){const _0x416bf0=this['editor']['plugins']['get'](tt);return new Promise(_0xf6bab1=>{_0x416bf0['_isPendingUpdate']?_0x416bf0['once']('change:_isPendingUpdate',()=>{_0xf6bab1(this['_getLatestVersionFromServerOperations']());}):_0xf6bab1(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1c27c1,_0x3da8e9){const _0x2d7292=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3da8e9;for(const _0x1d3380 of _0x1c27c1){const _0x4424da=_0x2d7292['getRevision'](_0x1d3380['id']);if(_0x4424da){if((_0x1d3380['fromVersion']||_0x1d3380['toVersion'])&&(_0x1d3380['diffData']=null),_0x4424da===this['_revisionTracker']['currentRevision']){const _0xc2868d=Math['max'](_0x4424da['toVersion'],_0x1d3380['toVersion']),_0x2a80dd=Math['max'](_0x4424da['fromVersion'],_0x1d3380['fromVersion']);let _0x58d529;_0x4424da['toVersion']===_0x1d3380['toVersion']&&_0x4424da['fromVersion']===_0x1d3380['fromVersion']?(_0x58d529=!0x0,this['_preventResendingRevisionData'](_0x1d3380)):_0x1d3380['toVersion']===_0xc2868d&&_0x1d3380['fromVersion']===_0x2a80dd?_0x58d529=!0x1:(_0x4424da['toVersion']===_0xc2868d&&_0x4424da['fromVersion']===_0x2a80dd||this['_fixRevision']({'revision':_0x4424da,'from':_0x2a80dd,'to':_0xc2868d}),_0x58d529=!0x0),_0x58d529&&(delete _0x1d3380['fromVersion'],delete _0x1d3380['toVersion'],delete _0x1d3380['diffData'],delete _0x1d3380['createdAt'],delete _0x1d3380['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1d3380),this['_preventResendingRevisionData'](_0x1d3380);}else this['_revisionTracker']['addRevisionData'](_0x1d3380);}const _0x40b7a6=_0x2d7292['getRevisions']();_0x40b7a6['reverse']();for(let _0x127880=0x0;_0x127880<_0x40b7a6['length']-0x1;_0x127880++){const _0x5916a9=_0x40b7a6[_0x127880],_0x45bef7=_0x40b7a6[_0x127880+0x1];if(_0x5916a9['fromVersion']<_0x45bef7['toVersion']){const _0x565c0b=_0x45bef7['toVersion'],_0x416db9=Math['max'](_0x565c0b,_0x5916a9['toVersion']);this['_fixRevision']({'revision':_0x5916a9,'from':_0x565c0b,'to':_0x416db9});}}}['_fixRevision']({revision:_0x1c3185,from:_0x190b84,to:_0x2dc98c}={}){const _0x466f12=this['editor']['plugins']['get'](_0x262a12),_0x1075b1=this['_revisionTracker']['buildRevisionData']({'revision':_0x1c3185,'from':_0x190b84,'to':_0x2dc98c});_0x1075b1['authors']=_0x1075b1['authorsIds']['map'](_0xbe8dcf=>_0x466f12['getUser'](_0xbe8dcf)),_0x1c3185['_update'](_0x1075b1);}['_preventResendingRevisionData'](_0x32d134){const _0x4b480d={};_0x4b480d['id']=_0x32d134['id'];for(const _0x1bab62 of Object['keys'](_0x32d134))'id'!==_0x1bab62&&(_0x4b480d[_0x1bab62]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b480d['id'],_0x4b480d,!0x0);}async['_fetchMissingUsers'](_0x3067e4){const _0x2f307a=this['editor']['plugins']['get'](_0x262a12),{connection:_0x4b1866}=this['editor']['plugins']['get'](z),_0x51bb25=new Set();for(const _0x3a5bae of _0x3067e4){for(const _0x5f07b6 of _0x3a5bae['authorsIds'])_0x652cf(_0x5f07b6);_0x3a5bae['creatorId']&&_0x652cf(_0x3a5bae['creatorId']);}if(0x0===_0x51bb25['size'])return;const _0x32ebf4=await _0x532341['getMany'](_0x4b1866,Array['from'](_0x51bb25));for(const _0x5978dd of _0x32ebf4)_0x2f307a['getUser'](_0x5978dd['id'])||_0x2f307a['addUser'](_0x5978dd);function _0x652cf(_0x470921){_0x2f307a['getUser'](_0x470921)||_0x51bb25['add'](_0x470921);}}}function pt(_0x17fbd2){return _0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x17fbd2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7d5606{static get['requires'](){return[_0x2d0829,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x200324{['_collapseAt'];constructor(_0x43d953,_0x5c8e9a=0x6){super(_0x43d953);const _0x31f666=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5c8e9a,this['bind']('isHidden')['to'](this,'usersCount',_0x209cb9=>_0x209cb9<_0x5c8e9a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x31f666['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':_0x31f666['to']('usersCount',_0x2d2d63=>'+'+(_0x2d2d63-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x200324{['items'];['keystrokes'];constructor(_0x15483a){super(_0x15483a);const _0x4a77d5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2c5ed1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4a77d5['if']('hasPopup'),'aria-expanded':_0x4a77d5['to']('isExpanded',_0x934b84=>this['hasPopup']&&String(_0x934b84)),'aria-label':_0x4a77d5['to']('hasPopup',_0x427d4a=>X(_0x15483a,_0x427d4a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4a77d5['to']('hasPopup',_0x2b3472=>!!_0x2b3472&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4a77d5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4a77d5['to'](_0x1a4e7c=>{const _0x5e18b0=_0x1a4e7c,_0x2d20a1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3f6abb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2d20a1?.['contains'](_0x5e18b0['relatedTarget'])||_0x3f6abb?.['contains'](_0x5e18b0['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26d6a3,_0x5a7cd5,_0x2ba3f1)=>{this['element']&&(_0x2ba3f1?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 _0x200324{['counterView'];['inlineListView'];constructor(_0x5ccae3,_0x159b6b=0x6){super(_0x5ccae3);const _0x46f584=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x159b6b),this['inlineListView']=new vt(_0x5ccae3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x22bf37 of this['inlineListView']['items'])_0x22bf37['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',_0x46f584['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x200324{['listWrapperView'];constructor(_0xb12aa2,_0x1d3169){super(_0xb12aa2);const _0xa18c14=this['bindTemplate'];this['listWrapperView']=new bt(_0xb12aa2,_0x1d3169),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xb12aa2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xa18c14['to'](_0xc8c03f=>{const _0x127129=_0xc8c03f,_0x34ad4b=document['querySelector']('.ck-presence-list__list'),_0xf8f0e1=document['querySelector']('.ck-balloon-panel_with-arrow');_0x34ad4b?.['contains'](_0x127129['relatedTarget'])||_0xf8f0e1?.['contains'](_0x127129['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x36060f{constructor(_0x46c084,_0x53b95d){super(_0x46c084);const _0x11cfe0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53b95d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x11cfe0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x11cfe0['to']('role'),'aria-label':_0x11cfe0['to']('ariaLabel'),'aria-labelledby':_0x11cfe0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4ae62f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x172a81=this['element'];_0x172a81&&(this['_isScrollable']=Math['max'](_0x172a81['scrollHeight'],_0x172a81['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2cee63{['userView'];constructor(_0x5858df,_0x2a8684,_0x36585a){super(_0x5858df);const _0x138927=this['bindTemplate'];this['userView']=new _0x5ca895(_0x5858df,_0x2a8684);const _0x173643={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2a8684['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2a8684['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a8684['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2a8684['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2a8684['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x36585a&&(_0x173643['tag']='button',_0x173643['on']={'click':_0x138927['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x173643);}['focus'](){this['element']['focus']();}}class It extends _0x200324{['userView'];['markerView'];constructor(_0x1d53c2,_0x57fe15,_0x4dcaf2){super(_0x1d53c2);const _0x2db4de=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5ca895(_0x1d53c2,_0x57fe15),this['markerView']=new St(_0x1d53c2,_0x57fe15);const _0x548837=new _0x1bd5a2(_0x1d53c2);_0x548837['template']['tag']='span',_0x548837['text']=_0x57fe15['name'];const _0x275bcb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2db4de['to']('isFocusable',_0x3ed67d=>!!_0x3ed67d&&0x0),'aria-labelledby':_0x548837['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2db4de['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2db4de['to']('hasTooltip',_0x49d346=>!_0x49d346),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x548837]};_0x4dcaf2&&(_0x275bcb['tag']='button',_0x275bcb['on']={'click':_0x2db4de['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x275bcb);}}class St extends _0x200324{constructor(_0x2c375a,_0x594f9f){super(_0x2c375a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x594f9f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x594f9f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x594f9f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xfc25ee{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327119){super(_0x327119),this['context']['config']['define']('presenceList',Tt);const _0xd8c960=_0x327119['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xd8c960)throw new _0x235139('presencelist-collapseat-invalid-format',this);if(_0xd8c960<0x1)throw new _0x235139('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x40b8f5(),this['balloonPanelView']=new _0x2807ba(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf4b638 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf4b638);this['listenTo'](this['_allConnectedUsers'],'add',(_0x47431e,_0x4f1a63)=>{this['_handleUserAdd'](_0x4f1a63);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x264a5e,_0x5a6d2d)=>{this['_handleUserRemove'](_0x5a6d2d);});}['_createView'](){const _0x502c92=this['context'],_0x36647e=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6d879c=this['balloonPanelView'];if(!_0x28d487(_0x502c92['config']['get']('presenceList.container')))throw new _0x235139('presencelist-missing-container',this);return _0x36647e['counterView']['bind']('usersCount')['to'](this),_0x36647e['bind']('isCollapsed')['to'](this,'usersCount',_0xa4932e=>{const {collapseAt:_0x40df3e}=_0x502c92['config']['get']('presenceList'),_0x57599d=_0xa4932e>=_0x40df3e;if(_0x57599d&&!_0x36647e['inlineListView']['items']['find'](_0x5b6f1b=>_0x5b6f1b instanceof wt)){const _0x32cb5b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x32cb5b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x36647e['inlineListView']['items']['add'](_0x36647e['counterView']);}return _0x57599d||this['hideDropdown'](),_0x57599d;}),_0x36647e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x49184c=>{const _0x3411b7=_0x502c92['config']['get']('presenceList'),_0x42d0d6=new It(_0x502c92['locale'],_0x49184c,!!_0x3411b7['onClick']);return _0x42d0d6['bind']('hasTooltip')['to'](_0x36647e,'isCollapsed',_0xb2552a=>!_0xb2552a),_0x42d0d6['bind']('isFocusable')['to'](_0x36647e,'isCollapsed',_0x4aad9d=>!_0x4aad9d),_0x3411b7['onClick']&&this['listenTo'](_0x42d0d6,'execute',()=>{this['view']['isCollapsed']||_0x3411b7['onClick'](_0x49184c,_0x42d0d6['element']);}),_0x42d0d6;}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x36647e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x36647e['inlineListView']['keystrokes']['set']('Enter',(_0x2d0190,_0x17f0f0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x17f0f0());}),_0x36647e['render'](),_0x6d879c['render'](),_0x39a237({'emitter':_0x36647e,'activator':()=>_0x6d879c['isVisible'],'contextElements':[_0x6d879c['element'],_0x36647e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x502c92['config']['get']('presenceList.container')['appendChild'](_0x36647e['element']),this['_bodyCollection']=new _0x9ad684(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x36647e;}['_handleUserAdd'](_0xa6d5ae){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xa6d5ae['isMe'])return;const _0x4d1e13=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4d1e13-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x43e981=_0xa6d5ae['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xa6d5ae,_0x43e981);}['_handleUserRemove'](_0x1dcd2f){this['usersCount']--;const {collapseAt:_0x205ffa}=this['context']['config']['get']('presenceList'),_0x52e62b=this['usersCount']>=_0x205ffa;if(this['currentDisplayedUsers']['get'](_0x1dcd2f['id']))this['currentDisplayedUsers']['remove'](_0x1dcd2f['id']);else{if(_0x52e62b&&this['currentDisplayedUsers']['length']+0x1===_0x205ffa-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)<this['usersCount']){for(const _0x1b18df of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1b18df['id'])&&(this['currentDisplayedUsers']['add'](_0x1b18df,Math['min'](this['currentDisplayedUsers']['length']-(_0x52e62b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x52e62b?0x1:0x0)===_0x205ffa-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xac9c2e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0xac9c2e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2162b0}=this['presenceDropdownView'];_0x2162b0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x41bf45=>{if(!_0xac9c2e['displayMe']&&_0x41bf45['isMe'])return null;const _0x236c83=new kt(this['context']['locale'],_0x41bf45,!!_0xac9c2e['onClick']);return _0xac9c2e['onClick']&&this['listenTo'](_0x236c83,'execute',()=>{_0xac9c2e['onClick'](_0x41bf45,_0x236c83['element']);}),_0x236c83;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2162b0['focus'](),_0x2162b0['checkIfScrollable']();const _0xa307c2=(_0x578062,_0x2176d2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2176d2();};_0x2162b0['keystrokes']['set']('Esc',_0xa307c2),_0x2162b0['keystrokes']['set']('Shift+Tab',_0xa307c2),_0x2162b0['keystrokes']['set']('Tab',(_0x2254b0,_0x39c3a6)=>{!function(_0x5290c1){const _0x1c76b1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x567b66=>_0x567b66+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x19959f=[...document['body']['querySelectorAll'](_0x1c76b1)]['filter'](_0x43b1cd=>_0x43b1cd===document['activeElement']||_0x43b1cd['offsetWidth']+_0x43b1cd['offsetHeight']>0x0)['sort']((_0x54f954,_0x371e81)=>(_0x54f954['tabIndex']||0x0)-(_0x371e81['tabIndex']||0x0)),_0x202724=_0x19959f['indexOf'](_0x5290c1),_0x5b9c03=_0x19959f[(_0x202724+0x1)%_0x19959f['length']];_0x5b9c03&&_0x5b9c03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39c3a6();}),_0x2162b0['focusTracker']['add'](this['view']['element']),_0x2162b0['focusTracker']['on']('change:isFocused',(_0x9ebf8b,_0x301063,_0x9f1b23)=>{_0x9f1b23||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 _0xfc25ee{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':_0x399177=>0x1!=_0x399177}};
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':_0x3e9755=>0x1!=_0x3e9755}};