@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.0 → 48.3.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x65df0c,ContextPlugin as _0x525f71,PendingActions as _0x442fb9,Plugin as _0x203610}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x50f763,Collection as _0x3eba5a,DomEmitterMixin as _0x475f3d,KeystrokeHandler as _0x17a0f8,global as _0x6efeaf,uid as _0x3ff10e,version as _0xad9c89}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1af306,BodyCollection as _0x3e76fb,LabelView as _0x5a2556,ListItemView as _0x2b1c38,ListView as _0x1157a6,Notification as _0x1a5404,View as _0x4317fb,clickOutsideHandler as _0x56aa22}from'@ckeditor/ckeditor5-ui';import{History as _0x10d3fc,InsertOperation as _0x51617e,MarkerOperation as _0x57d1e8,ModelLiveRange as _0x3155f0,NoOperation as _0x44598d,OperationFactory as _0x3e843c,RootAttributeOperation as _0x1fde9d,transformOperationSets as _0x3b64ef}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x42d953}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x444d59,CommentsService as _0x3fa162,EditorService as _0x4bd199,RevisionHistoryService as _0x2cda8d,TrackChangesService as _0x105cc0,User as _0x5778e5,WEB_SOCKET_GATEWAY_STATES as _0xcc2284,WebSocketGateway as _0x25bf89}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x15c9e3,Users as _0x3a0f0f}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x53ed3a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0xedfa48,TrackChangesEditing as _0x55cc9b}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x421a60,CommentsEditing as _0x372972,CommentsRepository as _0x4fd941}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x57a2b8}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x31be5e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x525f71{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x25bf89)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x42d953,_0x1a5404];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29d437){super(_0x29d437),this['set']('state',_0xcc2284['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x475f3d())();}['init'](){const _0x572dbf=this['context'],_0x3535d7=_0x572dbf['plugins']['get'](_0x42d953),_0x6c3cf8=_0x572dbf['plugins']['get'](_0x1a5404);if(!_0x3535d7['token'])throw new _0x50f763('websocketgateway-missing-token',this);if(!_0x3535d7['webSocketUrl'])throw new _0x50f763('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),WebSocketGateway['WebSocketGateway']['connect'](_0x3535d7['token'],_0x3535d7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x36fee8=>{if(this['connection']=_0x36fee8,this['bind']('state')['to'](_0x36fee8,'state',this,'_isBrowserOffline',(_0xd2d5af,_0x2d3c65)=>('connected'!==_0xd2d5af&&(this['_shouldPluginsReconnect']=!0x0),_0x2d3c65||_0xd2d5af!==_0xcc2284['CONNECTED']?_0xcc2284['DISCONNECTED']:this['state']==_0xcc2284['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xcc2284['CONNECTING']):_0xcc2284['CONNECTED'])),this['connection']['on']('error',(_0x7ab10b,_0x4e4b48)=>{if('limitExceeded'!==_0x4e4b48['code'])throw console['error'](_0x4e4b48),new _0x50f763('cloudservices-init',null,{'originalError':_0x4e4b48});_0x6c3cf8['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'});}),!_0x36fee8['me'])return new Promise(_0x41d385=>_0x36fee8['on']('change:me',_0x41d385));})['catch'](_0x26be12=>{throw console['error'](_0x26be12),new _0x50f763('cloudservices-init',null,{'originalError':_0x26be12});});}['addToReconnectionStack'](_0x52cfbd){if('function'!=typeof _0x52cfbd['reconnect'])throw new _0x50f763('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x52cfbd))throw new _0x50f763('websocketgateway-plugin-already-registered',this,{'name':_0x52cfbd['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x52cfbd);}['removeFromReconnectionStack'](_0x3067ab){this['_reconnectionStack']['delete'](_0x3067ab);}['isInReconnectionStack'](_0x45e727){return this['_reconnectionStack']['has'](_0x45e727);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x427a4d=>_0x427a4d['reconnect']())))['then'](()=>this['state']=_0xcc2284['CONNECTED'])['catch'](_0x3b23b9=>{throw console['error'](_0x3b23b9),new _0x50f763('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xcc2284['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x525f71{['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,_0x3a0f0f];}constructor(_0x2ae023){super(_0x2ae023),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3eba5a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a0f0f);}['init'](){const _0x46acd1=this['context']['plugins']['get'](z);this['listenTo'](_0x46acd1,'change:state',(_0x170d64,_0x2baa04,_0x5e439d)=>{if('connected'!==_0x5e439d)this['channelSessions']['forEach'](_0x5c05ec=>_0x5c05ec['clear']()),this['channelConnectedUsers']['forEach'](_0x7f2195=>_0x7f2195['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11d272,_0x354cae]of this['_registeredSessions'])for(const _0x23bbd9 of _0x354cae)this['_handleSessionAdd'](_0x11d272,_0x23bbd9);}}),this['_createUser'](_0x46acd1['connection']['me'],!0x0);}['register'](_0x72fadd,_0x73608b){if(this['_registeredSessions']['has'](_0x72fadd))throw new _0x50f763('sessions-register-already-registered',null,{'channelId':_0x72fadd});this['_registeredSessions']['set'](_0x72fadd,_0x73608b),this['channelSessions']['set'](_0x72fadd,new _0x3eba5a()),this['channelConnectedUsers']['set'](_0x72fadd,new _0x3eba5a()),this['listenTo'](_0x73608b,'add',(_0x4e631f,_0x34ce84)=>this['_handleSessionAdd'](_0x72fadd,_0x34ce84)),this['listenTo'](_0x73608b,'remove',(_0x3363ea,_0x2abe9e)=>this['_handleSessionRemove'](_0x72fadd,_0x2abe9e));for(const _0x5ea693 of _0x73608b)this['_handleSessionAdd'](_0x72fadd,_0x5ea693);}['unregister'](_0x435dc6){if(!this['_registeredSessions']['has'](_0x435dc6))throw new _0x50f763('sessions-unregister-not-exist',null,{'channelId':_0x435dc6});const _0x252726=this['_registeredSessions']['get'](_0x435dc6);this['stopListening'](_0x252726);for(const _0xdb369d of _0x252726)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x435dc6,_0xdb369d);this['_registeredSessions']['delete'](_0x435dc6),this['channelSessions']['delete'](_0x435dc6),this['channelConnectedUsers']['delete'](_0x435dc6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x9b1415){for(const _0x5b8294 of this['channelSessions']['values']())for(const _0x193ef2 of _0x5b8294)if(_0x193ef2['id']===_0x9b1415)return _0x193ef2['user'];}['getUserSessions'](_0x3ccae9,_0x161137){const _0x14bbf2=_0x161137?[this['channelSessions']['get'](_0x161137)]:this['channelSessions']['values'](),_0x1e4f84=new Set();for(const _0xb5ac3f of _0x14bbf2)for(const _0x470967 of _0xb5ac3f)_0x470967['user']['id']===_0x3ccae9['id']&&_0x1e4f84['add'](_0x470967['id']);return _0x1e4f84;}['getUserRole'](_0x4659d1){for(const _0x160812 of this['channelSessions']['values']())for(const _0x36e2bd of _0x160812)if(_0x36e2bd['user']===_0x4659d1)return _0x36e2bd['role'];}['_handleSessionAdd'](_0x2b2e5e,_0x55c9f4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x85a7ca=_0x55c9f4['user'],_0x30f2f6=this['_users']['getUser'](_0x85a7ca['id'])||this['_createUser'](_0x85a7ca),_0x41c5b6=Object['assign']({},_0x55c9f4,{'user':_0x30f2f6});if(this['channelSessions']['get'](_0x2b2e5e)['add'](_0x41c5b6),!_0x85a7ca['hiddenInPresenceList']){const _0x3f8f77=this['channelConnectedUsers']['get'](_0x2b2e5e);_0x3f8f77['has'](_0x30f2f6['id'])||_0x3f8f77['add'](_0x30f2f6),this['allConnectedUsers']['has'](_0x30f2f6['id'])||_0x85a7ca['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x30f2f6,_0x30f2f6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2b2e5e,{'channelId':_0x2b2e5e,'session':_0x41c5b6});}['_handleSessionRemove'](_0x424d3e,_0x5dcb9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34894c=this['channelConnectedUsers']['get'](_0x424d3e),_0x250374=_0x5dcb9d['user'];_0x250374['id']&&(this['channelSessions']['get'](_0x424d3e)['remove'](_0x5dcb9d['id']),_0x34894c['has'](_0x250374['id'])&&!this['getUserSessions'](_0x250374,_0x424d3e)['size']&&_0x34894c['remove'](_0x250374['id']),this['allConnectedUsers']['get'](_0x250374['id'])&&!this['getUserSessions'](_0x250374)['size']&&this['allConnectedUsers']['remove'](_0x250374['id']));}['_createUser'](_0x549944,_0x9e5b17){const _0x3c9006=this['_users']['addUser'](_0x549944);return _0x9e5b17&&this['_users']['defineMe'](_0x549944['id']),_0x3c9006['orderNumber']=this['_uniqueUsersCount']++,_0x3c9006;}},K=class extends _0x203610{['_domEmitter']=new(_0x475f3d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fa545=this['editor'],_0x3af208=_0x2fa545['plugins']['get'](Y);_0x2fa545['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x496fc0,{writer:_0x9b244b})=>function(_0x417438,_0x2d44a7,_0xb51e8f,_0x61c52f){const _0x5e671d=_0x417438['markerName']['split'](':')[0x2],_0x29af90=_0xb51e8f['getUserBySessionId'](_0x5e671d);if(!_0x29af90||_0x5e671d===_0xb51e8f['mySessionId'])return;if(!_0x61c52f['model']['schema']['checkChild'](_0x417438['markerRange']['start'],'$text'))return;const _0x1c13e8={'class':'ck-user__marker\x20'+_0x29af90['color']['getMarkerClass'](),'style':Q(_0x29af90),'data-name':_0x29af90['name'],'data-session-id':_0x5e671d},_0x1036ff=_0x61c52f['model']['markers']['get'](_0x417438['markerName'])['getStart'](),_0x4ea7cb=_0x1036ff['nodeAfter'],_0x2ab7df=_0x61c52f['model']['schema'];if(_0x4ea7cb&&_0x2ab7df['isObject'](_0x4ea7cb)&&_0x2ab7df['isInline'](_0x4ea7cb)&&!_0x61c52f['model']['markers']['get']('user:range:'+_0x5e671d)['getRange']()['isCollapsed'])return;const _0x134616=_0x1036ff['parent'];return _0x61c52f['model']['schema']['isLimit'](_0x134616)&&!_0x61c52f['model']['hasContent'](_0x134616)&&(_0x1c13e8['contenteditable']=!0x1),function(_0x399ff2,_0x54f630,_0x1cd97d){const _0x4a40be=_0x399ff2['createUIElement']('span',_0x54f630);return _0x399ff2['setCustomProperty']('userPositionMarker',!0x0,_0x4a40be),_0x4a40be['render']=function(_0x2f5569){const _0x730c83=this['toDomElement'](_0x2f5569),_0x3599bf=document['createElement']('span');return _0x3599bf['classList']['add']('ck-user__marker-tooltip'),_0x3599bf['setAttribute']('contenteditable','false'),_0x3599bf['setAttribute']('spellcheck','false'),_0x3599bf['textContent']=_0x1cd97d['name'],_0x730c83['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3599bf['outerHTML']+'⁠',_0x730c83['addEventListener']('mouseenter',()=>{_0x730c83['classList']['add']('ck-user__marker_hovered');}),_0x730c83['addEventListener']('mouseleave',()=>{_0x730c83['classList']['remove']('ck-user__marker_hovered');}),_0x730c83;},_0x4a40be['isSimilar']=function(_0x21a225){return!(!this['getCustomProperty']('userPositionMarker')||!_0x21a225['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x21a225['getAttribute']('data-session-id'));},_0x4a40be;}(_0x2d44a7,_0x1c13e8,_0x29af90);}(_0x496fc0,_0x9b244b,_0x3af208,_0x2fa545)}),_0x2fa545['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x324a92=>function(_0x4f0f32,_0x5b16ba){const _0x3e4f10=_0x4f0f32['markerName']['split'](':')[0x2];if(_0x3e4f10===_0x5b16ba['mySessionId'])return null;const _0x5cac73=_0x5b16ba['getUserBySessionId'](_0x3e4f10);return _0x5cac73?{'id':_0x3e4f10,'classes':['ck-user__selection',_0x5cac73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5cac73),'data-session-id':_0x3e4f10},'priority':0x7d0+_0x5cac73['orderNumber']}:{'id':_0x3e4f10,'classes':[]};}(_0x324a92,_0x3af208)}),function(_0x3b3115){const _0x4898af=_0x3b3115['model'],_0x3d749d=new Map(),_0xf5482d=_0x3b3115['plugins']['get'](Y);_0x4898af['markers']['on']('update:user:range',(_0x8ada44,_0x3182f3,_0x4e53d1,_0x3bd949)=>{if(!_0x3bd949&&_0x3d749d['get'](_0x3182f3['name']))return _0x3d749d['get'](_0x3182f3['name'])['detach'](),void _0x3d749d['delete'](_0x3182f3['name']);const _0x5df7a1=_0x3182f3['name']['split'](':')[0x2];if(_0x5df7a1===_0xf5482d['mySessionId'])return;const _0x39d502='user:position:'+_0x5df7a1;_0x4898af['markers']['has'](_0x39d502)&&_0x3b3115['editing']['reconvertMarker'](_0x39d502),_0x3182f3['on']('change:range',(_0x53fecf,_0xee7499,_0xdfee88)=>{if('$graveyard'!=_0xee7499['root']['rootName']&&'$graveyard'==_0x3182f3['getRange']()['root']['rootName']&&!_0x3d749d['has'](_0x3182f3['name'])){const _0x91aed=_0x4898af['schema']['getNearestSelectionRange'](_0xdfee88['deletionPosition']);if(_0x91aed){const _0x3cf7eb=_0x3155f0['fromRange'](_0x91aed);_0x3d749d['set'](_0x3182f3['name'],_0x3cf7eb),_0x3cf7eb['on']('change:range',(_0x4387c9,_0x4e0f1f,_0x59f11d)=>{if('$graveyard'==_0x3cf7eb['root']['rootName']){const _0x460591=_0x4898af['schema']['getNearestSelectionRange'](_0x59f11d['deletionPosition']);_0x460591?(_0x3cf7eb['start']=_0x460591['start'],_0x3cf7eb['end']=_0x460591['end']):(_0x3d749d['delete'](_0x3182f3['name']),_0x3cf7eb['detach']());}});}}});}),_0x4898af['document']['on']('change',()=>{_0x3d749d['size']>0x0&&_0x4898af['enqueueChange']({'isUndoable':!0x1},_0x141da8=>{for(const [_0xb72b4e,_0x109ec7]of _0x3d749d)'$graveyard'==_0x4898af['markers']['get'](_0xb72b4e)['getRange']()['root']['rootName']&&(J(_0xb72b4e['split'](':')[0x2],_0x109ec7['toRange'](),_0x4898af,_0x141da8),_0x109ec7['detach']());_0x3d749d['clear']();});});}(_0x2fa545),this['_domEmitter']['listenTo'](_0x6efeaf['document'],'keydown',(_0x40bdf0,{key:_0x111b0a})=>{'Escape'===_0x111b0a&&function(_0x109730){_0x109730['editing']['view']['change'](_0x37fc5e=>{for(const _0x23ddce of _0x109730['model']['markers']){if(!_0x23ddce['name']['startsWith']('user:position'))continue;const _0x439739=_0x109730['editing']['mapper']['markerNameToElements'](_0x23ddce['name']);if(_0x439739){for(const _0x18a632 of _0x439739)_0x37fc5e['removeClass']('ck-user__marker_hovered',_0x18a632);}}});}(_0x2fa545);},{'useCapture':!0x0});}['afterInit'](){const _0x588220=this['editor'],_0x2e6206=_0x588220['commands']['get']('undo');_0x2e6206&&_0x588220['model']['on']('applyOperation',(_0x159f1b,_0x54f775)=>{const _0x4274a8=_0x54f775[0x0];if(!_0x4274a8['isDocumentOperation'])return;if('marker'!=_0x4274a8['type']||!_0x4274a8['name']['startsWith']('user:'))return;const _0x29ce7e=_0x4274a8['batch'];_0x2e6206['_createdBatches']['has'](_0x29ce7e)&&(_0x4274a8['newRange']=_0x4274a8['oldRange']?_0x588220['model']['createRange'](_0x4274a8['oldRange']['start'],_0x4274a8['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ebbfa=this['editor'],_0x8c9b91=_0x5ebbfa['model']['document'],_0x157b0a=_0x5ebbfa['plugins']['get'](Y);_0x5ebbfa['model']['enqueueChange']({'isUndoable':!0x1},_0x5d0d2a=>{const _0x4a8e23='user:range:'+_0x157b0a['mySessionId'],_0x167c80='user:position:'+_0x157b0a['mySessionId'],_0x289e68=_0x5ebbfa['model']['markers']['has'](_0x4a8e23);_0x5ebbfa['editing']['view']['hasDomSelection']?J(_0x157b0a['mySessionId'],_0x8c9b91['selection']['getFirstRange'](),_0x5ebbfa['model'],_0x5d0d2a):_0x289e68&&(_0x5d0d2a['removeMarker'](_0x4a8e23),_0x5d0d2a['removeMarker'](_0x167c80));});}};function J(_0x3aaeeb,_0x44c6d1,_0x51c474,_0xc7039f){const _0x1c150f='user:range:'+_0x3aaeeb,_0x2b254d='user:position:'+_0x3aaeeb,_0x4d6fb0=_0x44c6d1['getContainedElement']();let _0x25e5b3=_0x44c6d1['start'];if(_0x4d6fb0&&_0x4d6fb0['is']('element','tableCell')){const _0x46718a=function(_0x5c5409,_0x48686b){for(const _0x5a0d76 of _0x5c5409['getPositions']())if(_0x48686b['schema']['checkChild'](_0x5a0d76,'$text'))return _0x5a0d76;}(_0x44c6d1,_0x51c474);_0x46718a&&(_0x25e5b3=_0x46718a,_0x44c6d1=_0xc7039f['createRange'](_0x25e5b3));}const _0x2cff88=_0xc7039f['createRange'](_0x25e5b3);_0x51c474['markers']['has'](_0x1c150f)?(_0xc7039f['updateMarker'](_0x1c150f,{'range':_0x44c6d1}),_0xc7039f['updateMarker'](_0x2b254d,{'range':_0x2cff88})):(_0xc7039f['addMarker'](_0x1c150f,{'range':_0x44c6d1,'usingOperation':!0x0}),_0xc7039f['addMarker'](_0x2b254d,{'range':_0x2cff88,'usingOperation':!0x0}));}function Q(_0x4e3e4a){return'--ck-user-color:'+_0x4e3e4a['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4e3e4a['color']['getColorAlphaVariable']()+';';}function X(_0x3d2667,_0x30c7f4,_0x508355){const _0x305add=_0x3d2667['t'],t=_0x3d2667['t'];switch(_0x30c7f4){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 _0x305add({'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'},_0x508355);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x203610{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x444d59)());['_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,_0x442fb9,_0x3a0f0f,_0x1a5404];}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 _0x131111=this['serverHistory']['getOperations']();for(let _0x71d0f9=_0x131111['length']-0x1;_0x71d0f9>=0x0;_0x71d0f9--){const _0x50adc0=_0x131111[_0x71d0f9];if(!this['_disconnectionOperations']['has'](_0x50adc0))return _0x50adc0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1616b7){if(super(_0x1616b7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x10d3fc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50f763('collaboration-missing-channelid',this);const _0x3779d0=_0x1616b7['config']['get']('cloudServices.bundleVersion')||_0xad9c89;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3779d0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x53ed3a(),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 _0x5dd7f3=this['editor'],_0x19f679=_0x5dd7f3['plugins']['get'](_0x3a0f0f),_0x404c0e=_0x5dd7f3['plugins']['get'](z);this['listenTo'](_0x19f679,'getOperationAuthor',(_0x5df9a7,_0x4ec3a3)=>{const _0xbe5234=_0x4ec3a3[0x0];_0xbe5234['_authorId']&&(_0x5df9a7['return']=_0x19f679['getUser'](_0xbe5234['_authorId']),_0x5df9a7['stop']()),null===_0xbe5234['_authorId']&&(_0x5df9a7['return']=null,_0x5df9a7['stop']());},{'priority':'high'}),this['listenTo'](_0x5dd7f3['model']['document']['selection'],'change:range',(_0x2a13ea,_0x37be4a)=>{_0x37be4a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5dd7f3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5dd7f3['model']['on']('applyOperation',(_0x9a7d62,_0x570512)=>{const _0x13cc40=_0x570512[0x0];_0x13cc40['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x13cc40),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x404c0e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f34df,_0x430ec9,_0x4e672d)=>'connected'===_0x3f34df&&!_0x430ec9&&!_0x4e672d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a09f0=this['editor']['plugins']['get'](Y),_0x237611=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2a09f0['unregister'](this['_channelId']);const _0x36562a=await this['_service']['reconnect'](_0x237611['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36562a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18b0e2=await this['_service']['getConnectedSessions']();_0x2a09f0['register'](this['_channelId'],_0x18b0e2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2ae4e0){if(function(_0x2674e6){return'404'===_0x2674e6['code'];}(_0x2ae4e0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x471389){return'409'===_0x471389['code'];}(_0x2ae4e0)){const _0x3a0e6b=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'](_0x3a0e6b);}else{if(!(_0x2ae4e0 instanceof et))throw _0x2ae4e0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25ac72=this['editor']['plugins']['get'](z),_0x343113=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x343113['channelSessions']['has'](this['_channelId'])&&_0x343113['unregister'](this['_channelId']),_0x25ac72['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43c303){if(this['sessionId']!==_0x43c303['sessionId']&&this['_lastSyncedOperationId']!==_0x43c303['lastOperationId'])throw new et();return this['sessionId']=_0x43c303['sessionId'],this['_handleServerResponse']([],{..._0x43c303,'wereChangesApplied':!0x1,'data':_0x43c303['data']},'reconnect');}async['_connectService'](_0x1925af,_0x34bf60=!0x1){const {connection:_0x367723}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x367723,this['_channelId'])['then'](_0x336d00=>this['_initSessionsHandling'](_0x336d00))['catch'](_0x33c21a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33c21a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x56b951,_0x5c36fb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c36fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x24b977=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1925af);this['_isPendingUpdate']=!0x0;const _0x13acc6=await this['_service']['connect'](_0x367723,this['_compressOperations'](_0x1925af),_0x24b977);if(this['sessionId']=_0x13acc6['sessionId'],_0x34bf60){if(!_0x13acc6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x13acc6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1925af,_0x13acc6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x13acc6,_0x1925af);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x28fd2e=this['editor']['plugins']['get'](Y),_0x43775b=this['editor']['plugins']['get'](K),_0x4a5ce3=_0x28fd2e['channelSessions']['get'](this['_channelId']);_0x4a5ce3&&_0x4a5ce3['length']>0x1?_0x43775b['createUserMarkerOperations']():this['listenTo'](_0x28fd2e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x28fd2e['channelSessions']['get'](this['_channelId'])['length']&&_0x43775b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ee6ce,_0x16e593,_0x32d822,_0x751e88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x16e593){const _0x46de19=this['_decompressOperations'](_0x32d822,_0x751e88);await this['_fetchMissingUsers'](_0x46de19),this['_handleExternalOperations'](_0x46de19,_0x16e593,_0x32d822['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3ea35e}=this['editor'];let _0x1238b4;try{_0x1238b4=await this['_service']['getDocumentDetails']();}catch{const _0x2a8af4=X(_0x3ea35e,'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'](_0x2a8af4);}const _0x30af8c=_0x1238b4['currentDocumentSession']||_0x1238b4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x30af8c['lastOperationId']){const _0xc07aee=X(_0x3ea35e,'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'](_0xc07aee);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2d51cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2d51cf['connection']||'connected'!==_0x2d51cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x322561=this['editor']['plugins']['get'](Y);_0x322561['channelSessions']['has'](this['_channelId'])&&_0x322561['unregister'](this['_channelId']),_0x2d51cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x359795){const _0x2bbff4=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2bbff4,'sessionAdd:'+this['_channelId'],(_0x36b7a1,{session:_0x444fd4})=>{if(_0x444fd4['id']===_0x2bbff4['mySessionId']){_0x36b7a1['off']();const _0x5d79f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xdbafa7=_0x444fd4['permissions'];_0x5d79f&&_0x5d79f['isEnabled']&&(_0xdbafa7=_0xdbafa7['filter'](_0x1c7c22=>'document:write'!==_0x1c7c22)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xdbafa7,this['_channelId']);}}),_0x2bbff4['register'](this['_channelId'],_0x359795);}['_initThrowingOnDataSet'](){const _0x67c542=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x571bfe)=>{if(!_0x571bfe[_0x571bfe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50f763('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x67c542['apply'](this['editor']['data'],_0x571bfe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20e442,[_0x2548d4])=>{if(this['_document']['version'])throw new _0x50f763('realtimecollaborationclient-init-document-already-initialized',this);_0x20e442['stop'](),this['_setPendingAction']();const _0x1cc162=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1418ee])=>!_0x1418ee['lazyLoad'])['map'](([_0x5eba09,_0x36be37])=>[_0x5eba09,_0x36be37['modelAttributes']||{}])),_0x57e1ae=this['_getOperationsFromInitData'](_0x2548d4,_0x1cc162);0x0==_0x57e1ae['length']&&_0x57e1ae['push'](new _0x44598d(0x0)),_0x20e442['return']=this['_connectService'](_0x57e1ae)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14f7b3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14f7b3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdeea7e,[_0x1b6ba,_0x533a46])=>{_0xdeea7e['stop']();const _0x1f8e14=this['editor']['model']['document']['getRoot'](_0x1b6ba);if(!this['_knownRootNames']['has'](_0x1b6ba)){const _0x3cca01=_0x533a46&&_0x533a46['data']?_0x533a46['data']:'',_0x49db29=_0x533a46&&_0x533a46['attributes']?_0x533a46['attributes']:{};await this['_loadRoot'](_0x1b6ba,_0x3cca01,_0x49db29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f8e14['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f8e14);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x55d4c2){const _0x263490=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x34ea8a}=this['editor']['plugins']['get'](z),_0x5cbacb=new Set();for(const _0x109336 of _0x55d4c2){const _0x28dbbf=_0x109336['_authorId'];_0x28dbbf&&!_0x263490['getUser'](_0x28dbbf)&&_0x5cbacb['add'](_0x28dbbf);}if(0x0===_0x5cbacb['size'])return;const _0x4ec9d8=await _0x5778e5['getMany'](_0x34ea8a,Array['from'](_0x5cbacb));for(const _0x513fff of _0x4ec9d8)_0x263490['getUser'](_0x513fff['id'])||_0x263490['addUser'](_0x513fff);}['_getOperationsFromInitData'](_0x11e5a1,_0x28037a={}){const _0x54f0e5=this['editor']['model'],_0xd82de8=[];let _0x550f6f=0x0;const _0x43af2a='string'==typeof _0x11e5a1?{'main':_0x11e5a1}:_0x11e5a1;for(const _0x18aee6 of Object['keys'](_0x43af2a)){if(!this['_document']['roots']['has'](_0x18aee6))throw new _0x50f763('realtimecollaborationclient-init-non-existent-root',this);const _0x8a6b74=this['_document']['getRoot'](_0x18aee6),_0x122eac=this['editor']['data']['parse'](_0x43af2a[_0x18aee6],_0x8a6b74),_0x68e4cc=new _0x51617e(_0x54f0e5['createPositionAt'](_0x8a6b74,0x0),_0x122eac,_0x550f6f++);_0xd82de8['push'](_0x68e4cc);for(const [_0x37ae84,_0x117fb8]of _0x122eac['markers']){const _0x48732f=new _0x57d1e8(_0x37ae84,null,_0x54f0e5['createRange'](_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['start']['path']['slice']()),_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['end']['path']['slice']())),_0x54f0e5['markers'],!0x0,_0x550f6f++);_0xd82de8['push'](_0x48732f);}}if(_0x28037a)for(const [_0x1e38a5,_0x2f948a]of Object['entries'](_0x28037a)){const _0x204aa5=_0x54f0e5['document']['getRoot'](_0x1e38a5);if(!_0x204aa5)throw new _0x50f763('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a605e,_0xb0aef8]of Object['entries'](_0x2f948a))if(null!==_0xb0aef8){const _0x26f745=new _0x1fde9d(_0x204aa5,_0x5a605e,null,_0xb0aef8,_0x550f6f++);_0xd82de8['push'](_0x26f745);}}return _0xd82de8;}async['_loadRoot'](_0x1e90e2,_0x44fdc7,_0x5c0fa3){this['_getOperationsFromInitData']({[_0x1e90e2]:_0x44fdc7},{[_0x1e90e2]:_0x5c0fa3})['forEach']((_0x18b575,_0x3588b2)=>{_0x18b575['baseVersion']=this['_document']['version']+_0x3588b2,_0x18b575['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18b575);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x164c8d,_0x34e242){let _0x27ad58;this['_offset']=_0x164c8d['offset'];const _0x284f11=_0x164c8d['wereChangesApplied']&&!_0x164c8d['initData'],_0x1e0256=_0x284f11?0x0:_0x164c8d['data']['baseVersion'];if(_0x34e242['forEach'](_0x20ad4e=>{_0x20ad4e['_isInit']=!0x0,_0x20ad4e['createdAt']=_0x164c8d['sessionCreatedAt'],_0x20ad4e['_authorId']=null;}),_0x284f11)_0x27ad58=_0x34e242,this['_applyOperationsSet'](_0x27ad58,_0x284f11);else{if(_0x164c8d['initData']){const _0x2c0e3f=this['_getOperationsFromInitData'](_0x164c8d['initData']);this['_document']['history']['version']=-_0x2c0e3f['length'],_0x2c0e3f['forEach'](_0x4d5970=>{_0x4d5970['baseVersion']-=_0x2c0e3f['length'],_0x4d5970['createdAt']=_0x164c8d['sessionCreatedAt'],_0x4d5970['_isInit']=!0x0,_0x4d5970['_authorId']=null;}),this['_applyOperationsSet'](_0x2c0e3f,!0x0),this['serverHistory']['version']=-_0x2c0e3f['length']+this['_offset'],this['_updateServerHistory'](_0x2c0e3f);}this['_document']['history']['version']=_0x1e0256,_0x27ad58=this['_decompressOperations'](_0x164c8d['data'],_0x164c8d['metadata']),await this['_fetchMissingUsers'](_0x27ad58),this['_applyOperationsSet'](_0x27ad58,_0x284f11);}_0x164c8d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x27ad58,_0x164c8d['lastOperationId']),this['_lastSyncedOperationId']=_0x164c8d['lastOperationId']),this['serverHistory']['version']=_0x1e0256+this['_offset'],this['_updateServerHistory'](_0x27ad58),_0x34e242['filter'](_0x4476b4=>{const _0x5a1134=this['_getAffectedRoot'](_0x4476b4);return _0x5a1134&&!this['_knownRootNames']['has'](_0x5a1134);})['forEach']((_0x6f8c40,_0x2e4667)=>{_0x6f8c40['baseVersion']=this['_document']['version']+_0x2e4667,this['_saveOperationInBuffer'](_0x6f8c40);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1ae223,_0xd012e0){const _0x287591=_0xd012e0&&_0xd012e0['message'];if(_0x287591&&_0x287591['startsWith']('realtimecollaborationclient'))throw _0xd012e0;const _0x49efde=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x49efde['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50f763(_0x1ae223,this['editor'],_0x287591?{'originalError':_0x287591}:void 0x0);}['_saveOperationInBuffer'](_0x1d642e){this['_knownOperations']['has'](_0x1d642e)||(this['_knownOperations']['add'](_0x1d642e),this['_bufferedOperations']['push'](_0x1d642e),this['_pendingAction']||'marker'==_0x1d642e['type']&&!_0x1d642e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x34361f=!0x1){!_0x34361f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1c110b=>{_0x1c110b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x367dc7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3419c1){return _0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x367dc7)||this['_crash'](_0x367dc7['message'],_0x367dc7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c6e98=>{this['on']('change:_isPendingUpdate',()=>{_0x2c6e98();});});}async['_sendBufferedOperations'](){const _0x4fe350=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4fe350['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5939b9=[...this['_bufferedOperations']];for(const _0x204adb of _0x5939b9)_0x204adb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204adb);const _0x57519a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5939b9),_0x4d30d2=Z++,_0x387378=this['_compressOperations'](_0x5939b9),_0xda8345=await this['_service']['sendOperations'](_0x387378,_0x387378['baseVersion'],_0x57519a);try{return await this['_handleServerResponse'](_0x5939b9,_0xda8345,_0x4d30d2);}catch(_0x309816){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x309816);}}async['_handleServerResponse'](_0x3fc344,_0x5b1bd2,_0x188574){if('error'in _0x5b1bd2)throw _0x5b1bd2['error'];let _0x1320f1=!0x1;if(_0x5b1bd2['wereChangesApplied']){_0x5b1bd2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b1bd2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9e9147=>!_0x3fc344['includes'](_0x9e9147));for(const _0x40b50b of _0x3fc344)_0x40b50b['createdAt']='lastOperationAcceptedAt'in _0x5b1bd2&&_0x5b1bd2['lastOperationAcceptedAt']||void 0x0;st(_0x3fc344,_0x5b1bd2['version']-_0x3fc344['length']),this['_updateServerHistory'](_0x3fc344);const _0x39ae90=_0x3fc344['filter'](_0x1ca479=>{if(!_0x1ca479['_isInit'])return!0x1;const _0x204f7f=this['_getAffectedRoot'](_0x1ca479);return _0x204f7f&&!this['_knownRootNames']['has'](_0x204f7f);});st(_0x39ae90,this['_document']['version']),this['_applyOperationsSet'](_0x39ae90),_0x1320f1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c088=this['_decompressOperations'](_0x5b1bd2['data'],_0x5b1bd2['metadata'])['filter'](_0x28fd8f=>_0x28fd8f['baseVersion']>=this['_lastServerVersion']);_0x53c088['forEach'](_0x585239=>this['_addKnownRoot'](_0x585239)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c937b=>!_0x3c937b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c937b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c088),_0x1320f1=this['_handleExternalOperations'](_0x53c088,_0x5b1bd2['version'],_0x5b1bd2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1320f1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181885,_0x2966da,_0x47ca5d){try{const _0x1fa018={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dd446,operationsB:_0x35f646,originalOperations:_0x452e15}=_0x3b64ef(_0x181885,this['_bufferedOperations'],_0x1fa018);st(_0x4dd446,this['_document']['version']),st(_0x35f646,_0x2966da);for(const _0xdb79b5 of _0x4dd446){const _0x1ba5bc=_0x452e15['get'](_0xdb79b5);_0x1ba5bc?(_0xdb79b5['_authorId']=_0x1ba5bc['_authorId'],'noop'!==_0xdb79b5['type']&&(_0xdb79b5['_aiSource']=_0x1ba5bc['_aiSource'])):_0xdb79b5['_authorId']=null;}for(const _0x4c1bda of _0x35f646)'noop'!==_0x4c1bda['type']&&(_0x4c1bda['_aiSource']=_0x452e15['get'](_0x4c1bda)?.['_aiSource']);_0x47ca5d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181885,_0x47ca5d),this['_lastSyncedOperationId']=_0x47ca5d),this['_bufferedOperations']=[..._0x35f646],this['_applyOperationsSet'](_0x4dd446),this['_updateServerHistory'](_0x181885);}catch(_0x34a774){return console['error'](_0x34a774),!0x1;}return!0x0;}['_applyOperationsSet'](_0x475af8,_0x297f5c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x485354=>{for(const _0x5ca3c0 of _0x475af8)this['_knownOperations']['add'](_0x5ca3c0),this['_addKnownRoot'](_0x5ca3c0),_0x485354['batch']['addOperation'](_0x5ca3c0),this['editor']['model']['applyOperation'](_0x5ca3c0);});}['_addKnownRoot'](_0x587993){const _0x237407=this['_getAffectedRoot'](_0x587993);_0x237407&&this['_knownRootNames']['add'](_0x237407);}['_getAffectedRoot'](_0x20d55f){let _0x5525b4,_0x3e52a4;switch(_0x20d55f['type']){case'insert':_0x5525b4=_0x20d55f['position']['root'];break;case'marker':if(_0x3e52a4=_0x20d55f['newRange'],!_0x3e52a4)return null;_0x5525b4=_0x3e52a4['root'];break;case'addRootAttribute':_0x5525b4=_0x20d55f['root'];break;case'addRoot':_0x5525b4=_0x20d55f['affectedSelectable'];break;case'move':_0x5525b4=_0x20d55f['targetPosition']['root'];break;default:return null;}return _0x5525b4['rootName'];}['_updateServerHistory'](_0x1fa1d6){_0x1fa1d6['forEach'](_0x247223=>{const _0x1cc997=_0x247223['clone']();_0x1cc997['_authorId']=_0x247223['_authorId'],_0x1cc997['_isInit']=!!_0x247223['_isInit'],_0x1cc997['_aiSource']=_0x247223['_aiSource'],_0x1cc997['createdAt']=_0x247223['createdAt'],_0x1cc997['baseVersion']+=this['_offset'],_0x247223['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc997),this['serverHistory']['addOperation'](_0x1cc997);});}['_handleReconnectionError'](_0x3d40ae){const _0x573169=this['editor']['plugins']['get']('Notification'),_0x16ce66=this['editor']['locale'];_0x3d40ae||(_0x3d40ae=X(_0x16ce66,'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.')),_0x573169['showWarning'](_0x3d40ae,{'title':X(_0x16ce66,'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'](_0x442fb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442fb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4da0c9){const _0x5c75f2=_0x4da0c9['map'](_0x322b79=>_0x322b79['toJSON']());return this['_compressor']['compress'](_0x5c75f2);}['_decompressOperations'](_0x103792,_0x2f8ca3){return this['_compressor']['decompress'](_0x103792)['map']((_0x2d1c15,_0x36cc21)=>{const _0x37df9f='init'==_0x2f8ca3[_0x36cc21]['type'];if('InsertOperation'==_0x2d1c15['__className']){const _0x5efc52=_0x2d1c15['position']['root'];!this['_document']['getRoot'](_0x5efc52)&&(this['_document']['createRoot']('$unknown',_0x5efc52)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2d1c15['__className']){const _0x3d79e5=this['_document']['getRoot'](_0x2d1c15['rootName']);_0x3d79e5&&'$unknown'==_0x3d79e5['name']&&_0x2d1c15['elementName']!=_0x3d79e5['name']&&(_0x3d79e5['name']=_0x2d1c15['elementName']);}}const _0x3a4d16=_0x3e843c['fromJSON'](_0x2d1c15,this['_document']);return _0x3a4d16['wasUndone']=_0x2d1c15['wasUndone'],_0x3a4d16['_isInit']=_0x37df9f,_0x3a4d16['_authorId']=_0x37df9f?null:_0x2f8ca3[_0x36cc21]['userId'],_0x3a4d16['_isDisconnection']='cs:removeUser'===_0x2f8ca3[_0x36cc21]['type'],_0x3a4d16['_aiSource']=_0x2d1c15['_aiSource']||void 0x0,_0x3a4d16['createdAt']=_0x2f8ca3[_0x36cc21]['createdAt'],_0x3a4d16;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2a3c22=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2a3c22&&_0x2a3c22['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2900e2,_0x5f40dc){for(const _0x123bab of _0x2900e2)_0x123bab['baseVersion']=_0x5f40dc++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x5e0a80){this['_ignoredOperations']=_0x5e0a80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x30f33f){let _0x22b031=_0x30f33f['length'];for(;_0x22b031--;){const _0x4374ab=_0x30f33f[_0x22b031];if(!this['_ignoredOperations']['has'](_0x4374ab)){if(!this['_operationToId']['has'](_0x4374ab)){const _0x4a07fc=_0x3ff10e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374ab,_0x4a07fc);}return this['_operationToId']['get'](_0x4374ab);}}}['setIdForTheLastOperation'](_0x2b2ee7,_0x4d22e6){if(!_0x4d22e6)return;let _0x30707e=_0x2b2ee7['length'];for(;_0x30707e--;){const _0x494dd5=_0x2b2ee7[_0x30707e];this['_ignoredOperations']['has'](_0x494dd5)||this['_operationToId']['set'](_0x494dd5,_0x4d22e6);}}},nt=class extends _0x203610{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x525f71{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x3fa162)());['_services'];static get['requires'](){return[z,_0x4fd941,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20bc88){super(_0x20bc88),this['_services']=new Map();}async['init'](){const _0x31154a=this['context'],_0xb7fabe=_0x31154a['plugins']['get'](_0x4fd941);if(_0x31154a['plugins']['get'](z)['addToReconnectionStack'](this),_0xb7fabe['adapter']={'addCommentThread':async({channelId:_0x25ffdf,threadId:_0x456a36,comments:_0x35f097,resolvedAt:_0x410cd3,resolvedBy:_0x29a55d,context:_0x52a322,attributes:_0x4ecc5d})=>{const _0x77c04a=await this['_getService'](_0x25ffdf)['addCommentThread']({'commentThreadId':_0x456a36,'comments':_0x35f097['map'](_0x581a4e=>function(_0xe20a8d,_0x3f92c1,_0x265a84){return{'commentThreadId':_0x265a84,'commentId':_0xe20a8d['commentId'],'userId':_0xe20a8d['authorId'],'content':_0xe20a8d['content'],'documentId':_0x3f92c1,'createdAt':_0xe20a8d['createdAt'],'attributes':_0xe20a8d['attributes']||{}};}(_0x581a4e,_0x25ffdf,_0x456a36)),'resolvedAt':_0x410cd3,'resolvedBy':_0x29a55d,'context':_0x52a322,'attributes':_0x4ecc5d})['catch'](ct);return{'threadId':_0x77c04a['commentThreadId'],'comments':_0x77c04a['comments']};},'getCommentThread':async({channelId:_0x5370df,threadId:_0x2dbcd})=>{const _0x177753=await this['_getService'](_0x5370df)['getCommentThread'](_0x2dbcd)['catch'](rt)['catch'](ct);return _0x177753?_0x177753['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x177753]),{'threadId':_0x177753['commentThreadId'],'comments':_0x177753['comments']['map'](at),'context':_0x177753['context'],'resolvedAt':_0x177753['resolvedAt'],'resolvedBy':_0x177753['resolvedBy'],'attributes':_0x177753['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb94e,threadId:_0xeedfb6,context:_0x323881,unlinkedAt:_0x108370,attributes:_0x5339ac})=>this['_getService'](_0x5cb94e)['updateCommentThread']({'commentThreadId':_0xeedfb6,'context':_0x323881,'attributes':_0x5339ac,'unlinkedAt':_0x108370})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x11858c,threadId:_0x2c2a45})=>{const _0x30c2c9=await this['_getService'](_0x11858c)['resolveCommentThread'](_0x2c2a45)['catch'](rt)['catch'](ct);return{'threadId':_0x30c2c9['commentThreadId'],'resolvedAt':_0x30c2c9['resolvedAt'],'resolvedBy':_0x30c2c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x472f0b,threadId:_0x24c981})=>this['_getService'](_0x472f0b)['reopenCommentThread'](_0x24c981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x423d2c,threadId:_0x828860})=>this['_getService'](_0x423d2c)['removeCommentThread'](_0x828860)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4e46ab,threadId:_0x78ead9,commentId:_0x554fda,content:_0x3fa5cb,attributes:_0x5daac5})=>this['_getService'](_0x4e46ab)['addComment'](_0x78ead9,_0x554fda,_0x3fa5cb,_0x5daac5)['catch'](ct),'updateComment':({channelId:_0x459bdb,threadId:_0x58a0f8,commentId:_0xfc311,content:_0x32cfc8,attributes:_0x4bdf86})=>this['_getService'](_0x459bdb)['updateComment'](_0x58a0f8,_0xfc311,_0x32cfc8,_0x4bdf86)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x33e23d,threadId:_0x475b21,commentId:_0x34f421})=>this['_getService'](_0x33e23d)['removeComment'](_0x475b21,_0x34f421)['catch'](rt)['catch'](ct)},_0x31154a instanceof _0x65df0c){const _0x4adc2a=_0x31154a['config']['get']('collaboration.channelId'),_0x1cefda=_0x31154a['plugins']['get'](Y);await this['_setUpService'](_0x4adc2a);const _0x192e21=await this['_services']['get'](_0x4adc2a)['getConnectedSessions']();this['listenTo'](_0x1cefda,'sessionAdd:'+_0x4adc2a,(_0x3945b5,{session:_0x5cbeb5})=>{_0x5cbeb5['id']===_0x1cefda['mySessionId']&&(_0x3945b5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cbeb5['permissions'],_0x4adc2a));}),_0x1cefda['register'](_0x4adc2a,_0x192e21);}}async['_setUpService'](_0x3915e9){if(this['_services']['has'](_0x3915e9))throw new _0x50f763('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3915e9});const _0x4d5e72=this['context']['plugins']['get'](_0x4fd941),_0x111703=new CloudServicesCommentsAdapter['CommentsService'](_0x3915e9);this['_services']['set'](_0x3915e9,_0x111703),this['listenTo'](_0x111703,'commentThreadAdded',(_0x4b318d,_0x2e9504)=>{const {commentThreadId:_0xe5b731,documentId:_0x5d6163,context:_0x2f9065,attributes:_0xc43e44,resolvedAt:_0x38337c,resolvedBy:_0x73949e,comments:_0x151c68}=_0x2e9504;_0x4d5e72['getCommentThread'](_0xe5b731)||_0x4d5e72['addCommentThread']({'threadId':_0xe5b731,'channelId':_0x5d6163,'comments':_0x151c68?_0x151c68['map'](at):[],'context':_0x2f9065,'attributes':_0xc43e44,'resolvedAt':_0x38337c,'resolvedBy':_0x73949e,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadUpdated',(_0x5bca15,{commentThreadId:_0x32ee5c,documentId:_0x3e7c27,context:_0x22b037,unlinkedAt:_0x4e380a,attributes:_0x4a9c02})=>{_0x4d5e72['getCommentThread'](_0x32ee5c)&&_0x4d5e72['updateCommentThread']({'threadId':_0x32ee5c,'channelId':_0x3e7c27,'context':_0x22b037,'unlinkedAt':_0x4e380a,'attributes':_0x4a9c02,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadResolved',(_0x40ad15,{commentThreadId:_0xb1c25f,resolvedBy:_0x13d545,resolvedAt:_0x4927ba})=>{const _0x421dcd=_0x4d5e72['getCommentThread'](_0xb1c25f);_0x421dcd&&_0x421dcd['resolve']({'resolvedBy':_0x13d545,'resolvedAt':_0x4927ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadReopened',(_0x55ba08,{commentThreadId:_0x5de229})=>{const _0x31e049=_0x4d5e72['getCommentThread'](_0x5de229);_0x31e049&&_0x31e049['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadRemoved',(_0xb94f21,{commentThreadId:_0x3e54bc})=>{const _0x1b72f0=_0x4d5e72['getCommentThread'](_0x3e54bc);_0x1b72f0&&_0x1b72f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentAdded',(_0x251f8e,_0x2b1a2d)=>{const _0xeec4d=_0x2b1a2d['commentThreadId'],_0x36b955=_0x4d5e72['getCommentThread'](_0xeec4d);_0x36b955&&_0x36b955['addComment']({...at(_0x2b1a2d),'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentUpdated',(_0x1264f4,{commentThreadId:_0x1e1d13,commentId:_0x6eacff,content:_0x348056,attributes:_0x43cfc4})=>{const _0x34aecf=_0x4d5e72['getCommentThread'](_0x1e1d13);if(_0x34aecf){const _0x5024e2=_0x34aecf['getComment'](_0x6eacff);_0x5024e2&&_0x5024e2['update']({'content':_0x348056,'attributes':_0x43cfc4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'commentRemoved',(_0x528709,{commentThreadId:_0x529736,commentId:_0x5279b9})=>{const _0x5e6709=_0x4d5e72['getCommentThread'](_0x529736);if(_0x5e6709){const _0x26e4ef=_0x5e6709['getComment'](_0x5279b9);_0x26e4ef&&_0x26e4ef['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x3915e9),this['stopListening'](_0x111703));}),await this['_connectService'](_0x3915e9);}['destroy'](){if(this['context']instanceof _0x65df0c){const _0x100bbf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x100bbf)&&this['_terminateService'](_0x100bbf);}}['_terminateService'](_0x563b79){if(!this['_services']['has'](_0x563b79))throw new _0x50f763('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x563b79});this['_getService'](_0x563b79)['disconnect'](),this['_services']['delete'](_0x563b79);}async['reconnect'](){for(const _0x2821a2 of this['_services']['keys']())await this['_connectService'](_0x2821a2);if(this['context']instanceof _0x65df0c){const _0x2eb25b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2eb25b)){const _0x597ecb=this['context']['plugins']['get'](Y);_0x597ecb['unregister'](_0x2eb25b);const _0x80fb84=await this['_services']['get'](_0x2eb25b)['getConnectedSessions']();_0x597ecb['register'](_0x2eb25b,_0x80fb84);}}}async['_connectService'](_0x374372){const {connection:_0x179916}=this['context']['plugins']['get'](z),_0x45bc49=this['context']['plugins']['get'](_0x4fd941),_0xf15548=await this['_services']['get'](_0x374372)['connect'](_0x179916);await this['_fetchMissingUsersForThreads'](_0xf15548);const _0x1879e3=new Set(Array['from'](_0x45bc49['getCommentThreads']({'channelId':_0x374372}),_0x25f347=>_0x25f347['id']));for(const _0x9b9b1f of _0xf15548)_0x9b9b1f['deletedAt']||_0x1879e3['delete'](_0x9b9b1f['commentThreadId']);for(const _0x458315 of _0x1879e3)_0x45bc49['getCommentThread'](_0x458315)['remove']({'isFromAdapter':!0x0});for(const _0x6bbd1f of _0xf15548){let _0x5efae3=_0x45bc49['getCommentThread'](_0x6bbd1f['commentThreadId']);const {commentThreadId:_0x22b184,context:_0x139b52,attributes:_0x336138,resolvedBy:_0x58886a,resolvedAt:_0x5f20c3,unlinkedAt:_0x38e026,deletedAt:_0x339917}=_0x6bbd1f;if(_0x339917)continue;_0x5efae3||(_0x5efae3=_0x45bc49['addCommentThread']({'channelId':_0x374372,'threadId':_0x22b184,'context':_0x139b52,'attributes':_0x336138||{},'resolvedBy':_0x58886a,'resolvedAt':_0x5f20c3,'unlinkedAt':_0x38e026,'isFromAdapter':!0x0}));const _0xbbfb9f=new Set(Array['from'](_0x5efae3['comments'],_0x22134c=>_0x22134c['id']));for(const _0x49cfcc of _0x6bbd1f['comments'])_0xbbfb9f['delete'](_0x49cfcc['commentId']);for(const _0x238dd2 of _0xbbfb9f)_0x5efae3['getComment'](_0x238dd2)['remove']({'isFromAdapter':!0x0});for(const _0x3b0143 of _0x6bbd1f['comments']){const _0x43ffd7=_0x5efae3['getComment'](_0x3b0143['commentId']);_0x43ffd7?_0x43ffd7['content']!==_0x3b0143['content']&&_0x43ffd7['update']({'content':_0x3b0143['content'],'isFromAdapter':!0x0}):_0x5efae3['addComment'](Object['assign'](at(_0x3b0143),{'isFromAdapter':!0x0}));}}}['_getService'](_0x373a71){if(!this['_services']['has'](_0x373a71))throw new _0x50f763('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x373a71});return this['_services']['get'](_0x373a71);}async['_fetchMissingUsersForThreads'](_0x1c1c18){const _0x2e19d0=this['context']['plugins']['get'](_0x3a0f0f),{connection:_0x3d5a58}=this['context']['plugins']['get'](z),_0x3c4836=new Set();for(const {resolvedBy:_0x54b666,comments:_0x1b5680}of _0x1c1c18){_0x54b666&&!_0x2e19d0['getUser'](_0x54b666)&&_0x3c4836['add'](_0x54b666);for(const {userId:_0x52c5a1}of _0x1b5680)_0x2e19d0['getUser'](_0x52c5a1)||_0x3c4836['add'](_0x52c5a1);}if(0x0===_0x3c4836['size'])return;const _0x3ba133=await _0x5778e5['getMany'](_0x3d5a58,Array['from'](_0x3c4836));for(const _0x6843ed of _0x3ba133)_0x2e19d0['getUser'](_0x6843ed['id'])||_0x2e19d0['addUser'](_0x6843ed);}};async function rt(_0x1708af){if('404'!==_0x1708af['code'])throw _0x1708af;}function ct(_0x36420c){if((_0x4809fe=_0x36420c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4809fe;throw _0x36420c;}function at(_0x531497){return{'threadId':_0x531497['commentThreadId'],'commentId':_0x531497['commentId'],'content':_0x531497['content'],'createdAt':_0x531497['createdAt'],'authorId':_0x531497['userId'],'attributes':_0x531497['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x203610{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x105cc0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x55cc9b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x192309){super(_0x192309);const _0x4fa999=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x4fa999);}['init'](){const _0x89ea31=this['editor']['plugins']['get'](z),_0x431dd2=this['editor']['plugins']['get'](_0x55cc9b);return _0x431dd2['adapter']={'getSuggestion':async _0x53e8df=>{await this['_waitForServiceReady']();const _0x4cbcf3=await this['_trackChangesService']['get'](_0x53e8df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4cbcf3]),_0x4cbcf3;},'addSuggestion':async({id:_0x1b5419,type:_0x1ad43f,data:_0x160083,originalSuggestionId:_0x1e3a7a,attributes:_0x410eda})=>{await this['_waitForServiceReady']();const _0x4f1c02={'id':_0x1b5419,'type':_0x1ad43f,'data':_0x160083,'originalSuggestionId':_0x1e3a7a,'attributes':_0x410eda},_0xb1cce5=await this['_trackChangesService']['add'](_0x1b5419,_0x1ad43f,_0x160083,_0x1e3a7a,_0x410eda)['catch'](_0x5586d1=>{if(dt(_0x5586d1))return new Promise(_0x4ddfef=>{this['_bufferedRequests']['set'](_0x1b5419,{'resolve':_0x4ddfef,'suggestionData':_0x4f1c02});});throw _0x5586d1;});return this['_bufferedRequests']['delete'](_0x1b5419),_0xb1cce5;},'updateSuggestion':async(_0x138f2e,_0x26ced6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x26ced6['state'])return this['_trackChangesService']['update'](_0x138f2e,_0x26ced6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x113692,_0x1b4be4)=>{_0x431dd2['hasSuggestion'](_0x1b4be4['id'])&&(_0x431dd2['getSuggestion'](_0x1b4be4['id'])['attributes']=_0x1b4be4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x89ea31['connection']?.['state']&&(_0x89ea31['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x89ea31['connection'])['then'](_0x5127d2=>(_0x89ea31['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5127d2)['then'](()=>{for(const _0x269c22 of _0x5127d2){_0x431dd2['addSuggestionData'](_0x269c22)['_saved']=!0x0;}})));}async['reconnect'](){const _0x417f07=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d4127}=this['editor']['plugins']['get'](z),_0x59fda1=await this['_trackChangesService']['connect'](_0x5d4127);await this['_fetchMissingUsersForThreads'](_0x59fda1);for(const {suggestionData:_0x279bcc,resolve:_0x3fc8f2}of this['_bufferedRequests']['values']()){let _0x2494b9=_0x59fda1['find'](_0x2aaf5d=>_0x2aaf5d['id']===_0x279bcc['id']);_0x2494b9||(_0x2494b9=await this['_trackChangesService']['add'](_0x279bcc['id'],_0x279bcc['type'],_0x279bcc['data'],_0x279bcc['originalSuggestionId'])),_0x3fc8f2(_0x2494b9);}for(const _0x5ca23c of _0x59fda1)_0x417f07['hasSuggestion'](_0x5ca23c['id'])||_0x417f07['addSuggestionData'](_0x5ca23c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x17575c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18f5c8=>{_0x18f5c8['off'](),_0x17575c();});});}async['_fetchMissingUsersForThreads'](_0x1010cc){const _0x5cc84a=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x395416}=this['editor']['plugins']['get'](z),_0x4a7535=new Set();for(const {authorId:_0x513dc6}of _0x1010cc)_0x5cc84a['getUser'](_0x513dc6)||_0x4a7535['add'](_0x513dc6);if(0x0===_0x4a7535['size'])return;const _0x25b260=await _0x5778e5['getMany'](_0x395416,Array['from'](_0x4a7535));for(const _0xbf04b4 of _0x25b260)_0x5cc84a['getUser'](_0xbf04b4['id'])||_0x5cc84a['addUser'](_0xbf04b4);}};function lt(_0x16fcfc){if(dt(_0x16fcfc))return new Promise(()=>{});throw _0x16fcfc;}function dt(_0x3d9785){return _0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x203610{static get['requires'](){return[_0x421a60,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2f304c=this['editor']['plugins']['get'](z),_0x23ccb1=this['editor']['plugins']['get'](_0x372972),_0x574b40=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2f304c,'change:state',(_0x15cd37,_0x495999,_0x5cbac3)=>{_0x23ccb1['isThreadsLoadingPaused']='connected'!==_0x5cbac3;});}),this['listenTo'](_0x2f304c,'change:state',(_0x4bfb2c,_0x11fd6b,_0xff6678)=>{this['editor']['plugins']['get'](_0x4fd941)['switchReadOnly']('connected'!==_0xff6678);}),_0x574b40['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3f5d89=this['editor']['plugins']['get'](ot),_0x25601f=this['editor']['config']['get']('collaboration.channelId');_0x3f5d89['_services']['has'](_0x25601f)&&_0x3f5d89['_terminateService'](_0x25601f),super['destroy']();}},ft=class extends _0x203610{static get['requires'](){return[ut,ht,_0xedfa48];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x203610{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x2cda8d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x57a2b8,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ca630){super(_0x2ca630);const _0x2a7750=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2a7750);}async['init'](){const _0x2d4b8f=this['editor']['plugins']['get'](tt),_0x77b539=_0x2d4b8f['serverHistory'],_0x3e6b39=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x77b539,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2d4b8f['sessionId']});const _0x1efe80=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xad9c89,_0x535436=await _0x4bd199['isBundleUploaded'](_0x3e6b39['connection'],_0x1efe80);this['editor']['plugins']['get'](_0x57a2b8)['adapter']={'getRevision':async({revisionId:_0x1a9027})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1a9027)),'updateRevisions':async _0x6a802=>{await this['_waitForServiceReady']();const _0x500cc2=this['_revisionTracker']['currentRevision'];if(_0x535436&&0x1===_0x6a802['length']&&_0x6a802[0x0]['id']===_0x500cc2['id'])return _0x6a802;for(const _0x13e212 of _0x6a802)_0x13e212['id']===_0x500cc2['id']&&(_0x13e212['isEmptyCurrent']=_0x13e212['fromVersion']===_0x13e212['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x6a802,this['_lastRequestId'])['then'](_0xc651aa=>(this['_lastRequestId']=_0xc651aa,_0x6a802))['catch'](_0x24407d=>{if(pt(_0x24407d)||'400'===_0x24407d['code']&&void 0x0!==_0x24407d['data']['wrongRequestId']){for(const _0x14e960 of _0x6a802)this['_revisionTracker']['repository']['getRevision'](_0x14e960['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x14e960['id'],_0x14e960,!0x1);if(pt(_0x24407d)&&'destroyed'!==this['editor']['state'])throw _0x24407d;return _0x6a802;}throw _0x24407d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x7b0fda,{revisionsData:_0x1dfc7e,requestId:_0x3f1968})=>{Math['max'](..._0x1dfc7e['map'](_0x250a9a=>_0x250a9a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}):this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3e6b39['connection']?.['state']&&(_0x3e6b39['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47c755,requestId:_0x49b361}=await this['_revisionHistoryService']['connect'](_0x3e6b39['connection']);_0x3e6b39['addToReconnectionStack'](this),this['_lastRequestId']=_0x49b361,await this['_fetchMissingUsers'](_0x47c755);for(const _0x52ee2c of _0x47c755)this['_revisionTracker']['addRevisionData'](_0x52ee2c);this['listenTo'](_0x2d4b8f,'change:_isConnected',(_0x341aa0,_0x3dd2d1,_0x4b77d1)=>{_0x4b77d1&&(this['_oldOffset']=_0x2d4b8f['_offset'],_0x341aa0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4e1ad3=this['editor']['plugins']['get'](z),_0x250afa=this['editor']['plugins']['get'](tt),_0xc32d28=async()=>{const _0x3dce51=this['_revisionTracker']['currentRevision'],_0xa0c001=_0x3dce51['id'],_0x436dc7=_0xa0c001!==_0x250afa['sessionId'];if(_0x436dc7){const _0x52d571=_0x250afa['_offset']-this['_oldOffset'],_0x525825=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3dce51['toVersion']+_0x52d571!==_0x525825){const _0x47915c=_0x3dce51['fromVersion']+_0x52d571,_0x2e7de2=this['editor']['plugins']['get'](_0x3a0f0f),_0x6286dd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dce51,'from':_0x47915c,'to':_0x525825});_0x6286dd['id']=_0x3dce51['id'];const _0x1cfc97=_0x6286dd['authorsIds']['map'](_0x2bd197=>_0x2e7de2['getUser'](_0x2bd197));_0x3dce51['_update']({..._0x6286dd,'authors':_0x1cfc97},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3dce51['id'],_0x6286dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x525825,_0x3dce51['toVersion']!==_0x3dce51['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xa0c001)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xa0c001),this['_revisionTracker']['_createCurrentRevision'](_0x525825);}const {revisions:_0x23b8fc,requestId:_0x44c7a4}=await this['_revisionHistoryService']['reconnect'](_0x4e1ad3['connection'],this['_lastRequestId']);_0x436dc7&&_0x23b8fc['length']>0x0?_0x250afa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x23b8fc),this['_handleRevisionsUpdate'](_0x23b8fc,_0x44c7a4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x250afa['_isConnected']?_0xc32d28():new Promise((_0x246a81,_0x1fa750)=>{_0x250afa['once']('change:_isConnected',()=>{_0xc32d28()['then'](_0x246a81)['catch'](_0x1fa750);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x376b62=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8d9730=>{_0x8d9730['off'](),_0x376b62();});});}['_getLatestVersionFromServerOperations'](){const _0x58d5c9=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17d994 of _0x58d5c9)if('marker'!==_0x17d994['type']||_0x17d994['affectsData'])return _0x17d994['baseVersion']+0x1;}['_getLatestVersion'](){const _0x52ef6b=this['editor']['plugins']['get'](tt);return new Promise(_0x578998=>{_0x52ef6b['_isPendingUpdate']?_0x52ef6b['once']('change:_isPendingUpdate',()=>{_0x578998(this['_getLatestVersionFromServerOperations']());}):_0x578998(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x461255,_0x3610b6){const _0x388593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3610b6;for(const _0x4611c3 of _0x461255){const _0x1c0f9f=_0x388593['getRevision'](_0x4611c3['id']);if(_0x1c0f9f){if((_0x4611c3['fromVersion']||_0x4611c3['toVersion'])&&(_0x4611c3['diffData']=null),_0x1c0f9f===this['_revisionTracker']['currentRevision']){const _0x2f4def=Math['max'](_0x1c0f9f['toVersion'],_0x4611c3['toVersion']),_0x12a15f=Math['max'](_0x1c0f9f['fromVersion'],_0x4611c3['fromVersion']);let _0x595b9;_0x1c0f9f['toVersion']===_0x4611c3['toVersion']&&_0x1c0f9f['fromVersion']===_0x4611c3['fromVersion']?(_0x595b9=!0x0,this['_preventResendingRevisionData'](_0x4611c3)):_0x4611c3['toVersion']===_0x2f4def&&_0x4611c3['fromVersion']===_0x12a15f?_0x595b9=!0x1:(_0x1c0f9f['toVersion']===_0x2f4def&&_0x1c0f9f['fromVersion']===_0x12a15f||this['_fixRevision']({'revision':_0x1c0f9f,'from':_0x12a15f,'to':_0x2f4def}),_0x595b9=!0x0),_0x595b9&&(delete _0x4611c3['fromVersion'],delete _0x4611c3['toVersion'],delete _0x4611c3['diffData'],delete _0x4611c3['createdAt'],delete _0x4611c3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4611c3),this['_preventResendingRevisionData'](_0x4611c3);}else this['_revisionTracker']['addRevisionData'](_0x4611c3);}const _0x5ee1c9=_0x388593['getRevisions']();_0x5ee1c9['reverse']();for(let _0x5eff3c=0x0;_0x5eff3c<_0x5ee1c9['length']-0x1;_0x5eff3c++){const _0x2b93ba=_0x5ee1c9[_0x5eff3c],_0x16299b=_0x5ee1c9[_0x5eff3c+0x1];if(_0x2b93ba['fromVersion']<_0x16299b['toVersion']){const _0x4520c2=_0x16299b['toVersion'],_0x44eb84=Math['max'](_0x4520c2,_0x2b93ba['toVersion']);this['_fixRevision']({'revision':_0x2b93ba,'from':_0x4520c2,'to':_0x44eb84});}}}['_fixRevision']({revision:_0x49f833,from:_0xe37590,to:_0x147670}={}){const _0x1d3083=this['editor']['plugins']['get'](_0x3a0f0f),_0x12e47c=this['_revisionTracker']['buildRevisionData']({'revision':_0x49f833,'from':_0xe37590,'to':_0x147670});_0x12e47c['authors']=_0x12e47c['authorsIds']['map'](_0x19b395=>_0x1d3083['getUser'](_0x19b395)),_0x49f833['_update'](_0x12e47c);}['_preventResendingRevisionData'](_0x39be98){const _0x304c74={};_0x304c74['id']=_0x39be98['id'];for(const _0x413c26 of Object['keys'](_0x39be98))'id'!==_0x413c26&&(_0x304c74[_0x413c26]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x304c74['id'],_0x304c74,!0x0);}async['_fetchMissingUsers'](_0x2650d2){const _0x4dd1ad=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x3dc1e0}=this['editor']['plugins']['get'](z),_0x3bfa41=new Set();for(const _0x263d12 of _0x2650d2){for(const _0x1797b4 of _0x263d12['authorsIds'])_0x249df1(_0x1797b4);_0x263d12['creatorId']&&_0x249df1(_0x263d12['creatorId']);}if(0x0===_0x3bfa41['size'])return;const _0x35b17c=await _0x5778e5['getMany'](_0x3dc1e0,Array['from'](_0x3bfa41));for(const _0x4c92a5 of _0x35b17c)_0x4dd1ad['getUser'](_0x4c92a5['id'])||_0x4dd1ad['addUser'](_0x4c92a5);function _0x249df1(_0x5a1e9b){_0x4dd1ad['getUser'](_0x5a1e9b)||_0x3bfa41['add'](_0x5a1e9b);}}};function pt(_0x52e9f5){return _0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x203610{static get['requires'](){return[_0x57a2b8,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4317fb{['_collapseAt'];constructor(_0x1c9075,_0x5bc683=0x6){super(_0x1c9075);const _0x36641a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bc683,this['bind']('isHidden')['to'](this,'usersCount',_0x1cc367=>_0x1cc367<_0x5bc683),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x36641a['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':_0x36641a['to']('usersCount',_0x19bd58=>'+'+(_0x19bd58-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4317fb{['items'];['keystrokes'];constructor(_0x1baae8){super(_0x1baae8);const _0x2a08ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17a0f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2a08ed['if']('hasPopup'),'aria-expanded':_0x2a08ed['to']('isExpanded',_0x2ea15c=>this['hasPopup']&&String(_0x2ea15c)),'aria-label':_0x2a08ed['to']('hasPopup',_0x41c124=>X(_0x1baae8,_0x41c124?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2a08ed['to']('hasPopup',_0x46cbc=>!!_0x46cbc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2a08ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2a08ed['to'](_0x2618a3=>{const _0x2f9651=_0x2618a3,_0x338487=document['querySelector']('.ck-presence-list__dropdown-list'),_0x56a132=document['querySelector']('.ck-balloon-panel_with-arrow');_0x338487?.['contains'](_0x2f9651['relatedTarget'])||_0x56a132?.['contains'](_0x2f9651['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3c440f,_0x53fa31,_0x2931c0)=>{this['element']&&(_0x2931c0?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']);}},_t=class extends _0x4317fb{['counterView'];['inlineListView'];constructor(_0x1bb56f,_0x1c3427=0x6){super(_0x1bb56f);const _0x2e428d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c3427),this['inlineListView']=new vt(_0x1bb56f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5cf091 of this['inlineListView']['items'])_0x5cf091['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',_0x2e428d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4317fb{['listWrapperView'];constructor(_0x343dce,_0x4bbbf5){super(_0x343dce);const _0x3e90bc=this['bindTemplate'];this['listWrapperView']=new bt(_0x343dce,_0x4bbbf5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x343dce,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3e90bc['to'](_0x25d1b5=>{const _0xeee1ff=_0x25d1b5,_0x52662f=document['querySelector']('.ck-presence-list__list'),_0x129009=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52662f?.['contains'](_0xeee1ff['relatedTarget'])||_0x129009?.['contains'](_0xeee1ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1157a6{constructor(_0x1c0c52,_0x2f7f8c){super(_0x1c0c52);const _0x45dc73=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7f8c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45dc73['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45dc73['to']('role'),'aria-label':_0x45dc73['to']('ariaLabel'),'aria-labelledby':_0x45dc73['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x6efeaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x297135=this['element'];_0x297135&&(this['_isScrollable']=Math['max'](_0x297135['scrollHeight'],_0x297135['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2b1c38{['userView'];constructor(_0x15c40f,_0x2cb5c6,_0x52b0ed){super(_0x15c40f);const _0x3c0ed5=this['bindTemplate'];this['userView']=new _0x15c9e3(_0x15c40f,_0x2cb5c6);const _0x5f1f2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2cb5c6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2cb5c6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cb5c6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2cb5c6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2cb5c6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x52b0ed&&(_0x5f1f2b['tag']='button',_0x5f1f2b['on']={'click':_0x3c0ed5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f1f2b);}['focus'](){this['element']['focus']();}},It=class extends _0x4317fb{['userView'];['markerView'];constructor(_0xc036af,_0x83ef7e,_0x471d61){super(_0xc036af);const _0x2960e9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x15c9e3(_0xc036af,_0x83ef7e),this['markerView']=new St(_0xc036af,_0x83ef7e);const _0x5ba787=new _0x5a2556(_0xc036af);_0x5ba787['template']['tag']='span',_0x5ba787['text']=_0x83ef7e['name'];const _0x3d4836={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2960e9['to']('isFocusable',_0x4ec3ab=>!!_0x4ec3ab&&0x0),'aria-labelledby':_0x5ba787['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2960e9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2960e9['to']('hasTooltip',_0x5ea876=>!_0x5ea876),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ba787]};_0x471d61&&(_0x3d4836['tag']='button',_0x3d4836['on']={'click':_0x2960e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4836);}},St=class extends _0x4317fb{constructor(_0x493824,_0x16afb8){super(_0x493824),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16afb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16afb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16afb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x525f71{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bbdaa){super(_0x2bbdaa),this['context']['config']['define']('presenceList',Tt);const _0x18ef0c=_0x2bbdaa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x18ef0c)throw new _0x50f763('presencelist-collapseat-invalid-format',this);if(_0x18ef0c<0x1)throw new _0x50f763('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3eba5a(),this['balloonPanelView']=new _0x1af306(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x43bb59 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x43bb59);this['listenTo'](this['_allConnectedUsers'],'add',(_0x14e8c1,_0x24623f)=>{this['_handleUserAdd'](_0x24623f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x471e33,_0x33ac18)=>{this['_handleUserRemove'](_0x33ac18);});}['_createView'](){const _0x55f580=this['context'],_0x3b6a9d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49a49b=this['balloonPanelView'];if(!_0x31be5e(_0x55f580['config']['get']('presenceList.container')))throw new _0x50f763('presencelist-missing-container',this);return _0x3b6a9d['counterView']['bind']('usersCount')['to'](this),_0x3b6a9d['bind']('isCollapsed')['to'](this,'usersCount',_0x195df2=>{const {collapseAt:_0x4f38ea}=_0x55f580['config']['get']('presenceList'),_0x444c2c=_0x195df2>=_0x4f38ea;if(_0x444c2c&&!_0x3b6a9d['inlineListView']['items']['find'](_0x2a93a2=>_0x2a93a2 instanceof wt)){const _0x16b7d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x16b7d8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b6a9d['inlineListView']['items']['add'](_0x3b6a9d['counterView']);}return _0x444c2c||this['hideDropdown'](),_0x444c2c;}),_0x3b6a9d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x532c16=>{const _0x5ebb92=_0x55f580['config']['get']('presenceList'),_0x5b4103=new It(_0x55f580['locale'],_0x532c16,!!_0x5ebb92['onClick']);return _0x5b4103['bind']('hasTooltip')['to'](_0x3b6a9d,'isCollapsed',_0x57f9a3=>!_0x57f9a3),_0x5b4103['bind']('isFocusable')['to'](_0x3b6a9d,'isCollapsed',_0x221713=>!_0x221713),_0x5ebb92['onClick']&&this['listenTo'](_0x5b4103,'execute',()=>{this['view']['isCollapsed']||_0x5ebb92['onClick'](_0x532c16,_0x5b4103['element']);}),_0x5b4103;}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b6a9d['inlineListView']['keystrokes']['set']('Enter',(_0x47c85,_0x5b2fbb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b2fbb());}),_0x3b6a9d['render'](),_0x49a49b['render'](),_0x56aa22({'emitter':_0x3b6a9d,'activator':()=>_0x49a49b['isVisible'],'contextElements':[_0x49a49b['element'],_0x3b6a9d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x55f580['config']['get']('presenceList.container')['appendChild'](_0x3b6a9d['element']),this['_bodyCollection']=new _0x3e76fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b6a9d;}['_handleUserAdd'](_0x587675){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x587675['isMe'])return;const _0x151cc3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x151cc3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41c550=_0x587675['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x587675,_0x41c550);}['_handleUserRemove'](_0x5ea65f){this['usersCount']--;const {collapseAt:_0x520d0e}=this['context']['config']['get']('presenceList'),_0xb90513=this['usersCount']>=_0x520d0e;if(this['currentDisplayedUsers']['get'](_0x5ea65f['id']))this['currentDisplayedUsers']['remove'](_0x5ea65f['id']);else{if(_0xb90513&&this['currentDisplayedUsers']['length']+0x1===_0x520d0e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)<this['usersCount']){for(const _0x276b0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x276b0c['id'])&&(this['currentDisplayedUsers']['add'](_0x276b0c,Math['min'](this['currentDisplayedUsers']['length']-(_0xb90513?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)===_0x520d0e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x487df0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x487df0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x414ea8}=this['presenceDropdownView'];_0x414ea8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14920a=>{if(!_0x487df0['displayMe']&&_0x14920a['isMe'])return null;const _0x4ec9a6=new kt(this['context']['locale'],_0x14920a,!!_0x487df0['onClick']);return _0x487df0['onClick']&&this['listenTo'](_0x4ec9a6,'execute',()=>{_0x487df0['onClick'](_0x14920a,_0x4ec9a6['element']);}),_0x4ec9a6;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x414ea8['focus'](),_0x414ea8['checkIfScrollable']();const _0x359153=(_0x56c5c9,_0x4627cb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4627cb();};_0x414ea8['keystrokes']['set']('Esc',_0x359153),_0x414ea8['keystrokes']['set']('Shift+Tab',_0x359153),_0x414ea8['keystrokes']['set']('Tab',(_0x15afbf,_0x57d0c1)=>{!function(_0x4802a1){const _0x37d8f8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b5452=>_0x1b5452+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab3be=[...document['body']['querySelectorAll'](_0x37d8f8)]['filter'](_0x219472=>_0x219472===document['activeElement']||_0x219472['offsetWidth']+_0x219472['offsetHeight']>0x0)['sort']((_0x37744e,_0x2e37ba)=>(_0x37744e['tabIndex']||0x0)-(_0x2e37ba['tabIndex']||0x0)),_0x5b8d25=_0x1ab3be[(_0x1ab3be['indexOf'](_0x4802a1)+0x1)%_0x1ab3be['length']];_0x5b8d25&&_0x5b8d25['focus']();}(this['view']['element']),this['hideDropdown'](),_0x57d0c1();}),_0x414ea8['focusTracker']['add'](this['view']['element']),_0x414ea8['focusTracker']['on']('change:isFocused',(_0x104579,_0x240cf0,_0x2768d6)=>{_0x2768d6||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);}},At=class extends _0x525f71{static get['requires'](){return[Y,Ct];}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,At as PresenceList,Ct 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{Context as _0x2d03f6,ContextPlugin as _0x198b15,PendingActions as _0x1664fe,Plugin as _0x55f077}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x247b99,Collection as _0x306590,DomEmitterMixin as _0x128a5f,KeystrokeHandler as _0x8e2249,global as _0x3de184,uid as _0x15a4eb,version as _0x43a572}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x40139a,BodyCollection as _0x34295a,LabelView as _0x4b0e72,ListItemView as _0x81bb6c,ListView as _0x41f256,Notification as _0x3aba24,View as _0x734c23,clickOutsideHandler as _0x955340}from'@ckeditor/ckeditor5-ui';import{History as _0x3b9cfe,InsertOperation as _0x1e623b,MarkerOperation as _0x2b7f21,ModelLiveRange as _0x537809,NoOperation as _0x506b04,OperationFactory as _0x23d9fa,RootAttributeOperation as _0x530ebb,transformOperationSets as _0x367266}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1d1225}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x56bfe2,CommentsService as _0x25de81,EditorService as _0x5e4875,RevisionHistoryService as _0xb0619e,TrackChangesService as _0x504e78,User as _0x3fdc75,WEB_SOCKET_GATEWAY_STATES as _0xbe46e2,WebSocketGateway as _0x3197df}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x111a61,Users as _0x2c4aec}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x307d8e}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x348130,TrackChangesEditing as _0x21a4e2}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x5ddb33,CommentsEditing as _0x4a2cc1,CommentsRepository as _0x557678}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x278f20}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x368f5b}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x198b15{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x3197df)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d1225,_0x3aba24];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3462ac){super(_0x3462ac),this['set']('state',_0xbe46e2['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x128a5f())();}['init'](){const _0x2e711c=this['context'],_0x3db06c=_0x2e711c['plugins']['get'](_0x1d1225),_0x3706e2=_0x2e711c['plugins']['get'](_0x3aba24);if(!_0x3db06c['token'])throw new _0x247b99('websocketgateway-missing-token',this);if(!_0x3db06c['webSocketUrl'])throw new _0x247b99('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),WebSocketGateway['WebSocketGateway']['connect'](_0x3db06c['token'],_0x3db06c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x41e0b5=>{if(this['connection']=_0x41e0b5,this['bind']('state')['to'](_0x41e0b5,'state',this,'_isBrowserOffline',(_0x4632a2,_0x15ccb0)=>('connected'!==_0x4632a2&&(this['_shouldPluginsReconnect']=!0x0),_0x15ccb0||_0x4632a2!==_0xbe46e2['CONNECTED']?_0xbe46e2['DISCONNECTED']:this['state']==_0xbe46e2['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xbe46e2['CONNECTING']):_0xbe46e2['CONNECTED'])),this['connection']['on']('error',(_0x20e359,_0x1f0206)=>{if('limitExceeded'!==_0x1f0206['code'])throw console['error'](_0x1f0206),new _0x247b99('cloudservices-init',null,{'originalError':_0x1f0206});_0x3706e2['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'});}),!_0x41e0b5['me'])return new Promise(_0x12509a=>_0x41e0b5['on']('change:me',_0x12509a));})['catch'](_0x3b5220=>{throw console['error'](_0x3b5220),new _0x247b99('cloudservices-init',null,{'originalError':_0x3b5220});});}['addToReconnectionStack'](_0x1baca3){if('function'!=typeof _0x1baca3['reconnect'])throw new _0x247b99('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1baca3))throw new _0x247b99('websocketgateway-plugin-already-registered',this,{'name':_0x1baca3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1baca3);}['removeFromReconnectionStack'](_0x1ed928){this['_reconnectionStack']['delete'](_0x1ed928);}['isInReconnectionStack'](_0x33be3b){return this['_reconnectionStack']['has'](_0x33be3b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xeb7e3b=>_0xeb7e3b['reconnect']())))['then'](()=>this['state']=_0xbe46e2['CONNECTED'])['catch'](_0x2b4fcc=>{throw console['error'](_0x2b4fcc),new _0x247b99('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xbe46e2['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x198b15{['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,_0x2c4aec];}constructor(_0x438c58){super(_0x438c58),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x306590(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2c4aec);}['init'](){const _0x5c897b=this['context']['plugins']['get'](z);this['listenTo'](_0x5c897b,'change:state',(_0x17f0a5,_0x21a04f,_0x4ad1e5)=>{if('connected'!==_0x4ad1e5)this['channelSessions']['forEach'](_0x635b1a=>_0x635b1a['clear']()),this['channelConnectedUsers']['forEach'](_0x2a1a2e=>_0x2a1a2e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x693cbe,_0x35f46c]of this['_registeredSessions'])for(const _0x11ad98 of _0x35f46c)this['_handleSessionAdd'](_0x693cbe,_0x11ad98);}}),this['_createUser'](_0x5c897b['connection']['me'],!0x0);}['register'](_0x22a626,_0x1e793d){if(this['_registeredSessions']['has'](_0x22a626))throw new _0x247b99('sessions-register-already-registered',null,{'channelId':_0x22a626});this['_registeredSessions']['set'](_0x22a626,_0x1e793d),this['channelSessions']['set'](_0x22a626,new _0x306590()),this['channelConnectedUsers']['set'](_0x22a626,new _0x306590()),this['listenTo'](_0x1e793d,'add',(_0x472e02,_0x169d72)=>this['_handleSessionAdd'](_0x22a626,_0x169d72)),this['listenTo'](_0x1e793d,'remove',(_0x4f1ddd,_0x3b7916)=>this['_handleSessionRemove'](_0x22a626,_0x3b7916));for(const _0x794a02 of _0x1e793d)this['_handleSessionAdd'](_0x22a626,_0x794a02);}['unregister'](_0x3a0c9a){if(!this['_registeredSessions']['has'](_0x3a0c9a))throw new _0x247b99('sessions-unregister-not-exist',null,{'channelId':_0x3a0c9a});const _0x1eae91=this['_registeredSessions']['get'](_0x3a0c9a);this['stopListening'](_0x1eae91);for(const _0x5b225b of _0x1eae91)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3a0c9a,_0x5b225b);this['_registeredSessions']['delete'](_0x3a0c9a),this['channelSessions']['delete'](_0x3a0c9a),this['channelConnectedUsers']['delete'](_0x3a0c9a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ac32e){for(const _0x2d28ac of this['channelSessions']['values']())for(const _0x407ac2 of _0x2d28ac)if(_0x407ac2['id']===_0x3ac32e)return _0x407ac2['user'];}['getUserSessions'](_0x4a3424,_0x481da4){const _0x15758c=_0x481da4?[this['channelSessions']['get'](_0x481da4)]:this['channelSessions']['values'](),_0x5666ce=new Set();for(const _0x5dd310 of _0x15758c)for(const _0x337701 of _0x5dd310)_0x337701['user']['id']===_0x4a3424['id']&&_0x5666ce['add'](_0x337701['id']);return _0x5666ce;}['getUserRole'](_0x317586){for(const _0x174598 of this['channelSessions']['values']())for(const _0x554da3 of _0x174598)if(_0x554da3['user']===_0x317586)return _0x554da3['role'];}['_handleSessionAdd'](_0x455c4a,_0x5b614a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3e74a5=_0x5b614a['user'],_0x31eadb=this['_users']['getUser'](_0x3e74a5['id'])||this['_createUser'](_0x3e74a5),_0x1f289c=Object['assign']({},_0x5b614a,{'user':_0x31eadb});if(this['channelSessions']['get'](_0x455c4a)['add'](_0x1f289c),!_0x3e74a5['hiddenInPresenceList']){const _0x56697e=this['channelConnectedUsers']['get'](_0x455c4a);_0x56697e['has'](_0x31eadb['id'])||_0x56697e['add'](_0x31eadb),this['allConnectedUsers']['has'](_0x31eadb['id'])||_0x3e74a5['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31eadb,_0x31eadb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x455c4a,{'channelId':_0x455c4a,'session':_0x1f289c});}['_handleSessionRemove'](_0x738f87,_0x1500ed){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4327ca=this['channelConnectedUsers']['get'](_0x738f87),_0x3ecbc6=_0x1500ed['user'];_0x3ecbc6['id']&&(this['channelSessions']['get'](_0x738f87)['remove'](_0x1500ed['id']),_0x4327ca['has'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6,_0x738f87)['size']&&_0x4327ca['remove'](_0x3ecbc6['id']),this['allConnectedUsers']['get'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6)['size']&&this['allConnectedUsers']['remove'](_0x3ecbc6['id']));}['_createUser'](_0x137c15,_0x3ef584){const _0x22a60a=this['_users']['addUser'](_0x137c15);return _0x3ef584&&this['_users']['defineMe'](_0x137c15['id']),_0x22a60a['orderNumber']=this['_uniqueUsersCount']++,_0x22a60a;}},K=class extends _0x55f077{['_domEmitter']=new(_0x128a5f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf8ab14=this['editor'],_0x3e256c=_0xf8ab14['plugins']['get'](Y);_0xf8ab14['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc8eae,{writer:_0x3fce45})=>function(_0x202683,_0x1a9b25,_0x51edd5,_0x39fbd5){const _0xaea4cc=_0x202683['markerName']['split'](':')[0x2],_0x5920e6=_0x51edd5['getUserBySessionId'](_0xaea4cc);if(!_0x5920e6||_0xaea4cc===_0x51edd5['mySessionId'])return;if(!_0x39fbd5['model']['schema']['checkChild'](_0x202683['markerRange']['start'],'$text'))return;const _0x1ae736={'class':'ck-user__marker\x20'+_0x5920e6['color']['getMarkerClass'](),'style':Q(_0x5920e6),'data-name':_0x5920e6['name'],'data-session-id':_0xaea4cc},_0x75f1e1=_0x39fbd5['model']['markers']['get'](_0x202683['markerName'])['getStart'](),_0x54a056=_0x75f1e1['nodeAfter'],_0x53d722=_0x39fbd5['model']['schema'];if(_0x54a056&&_0x53d722['isObject'](_0x54a056)&&_0x53d722['isInline'](_0x54a056)&&!_0x39fbd5['model']['markers']['get']('user:range:'+_0xaea4cc)['getRange']()['isCollapsed'])return;const _0x1cca80=_0x75f1e1['parent'];return _0x39fbd5['model']['schema']['isLimit'](_0x1cca80)&&!_0x39fbd5['model']['hasContent'](_0x1cca80)&&(_0x1ae736['contenteditable']=!0x1),function(_0x500c73,_0x3312fb,_0x47ce0b){const _0x2a0a3c=_0x500c73['createUIElement']('span',_0x3312fb);return _0x500c73['setCustomProperty']('userPositionMarker',!0x0,_0x2a0a3c),_0x2a0a3c['render']=function(_0xd40a0e){const _0x5b2231=this['toDomElement'](_0xd40a0e),_0x5017de=document['createElement']('span');return _0x5017de['classList']['add']('ck-user__marker-tooltip'),_0x5017de['setAttribute']('contenteditable','false'),_0x5017de['setAttribute']('spellcheck','false'),_0x5017de['textContent']=_0x47ce0b['name'],_0x5b2231['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5017de['outerHTML']+'⁠',_0x5b2231['addEventListener']('mouseenter',()=>{_0x5b2231['classList']['add']('ck-user__marker_hovered');}),_0x5b2231['addEventListener']('mouseleave',()=>{_0x5b2231['classList']['remove']('ck-user__marker_hovered');}),_0x5b2231;},_0x2a0a3c['isSimilar']=function(_0x93968e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x93968e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x93968e['getAttribute']('data-session-id'));},_0x2a0a3c;}(_0x1a9b25,_0x1ae736,_0x5920e6);}(_0xcc8eae,_0x3fce45,_0x3e256c,_0xf8ab14)}),_0xf8ab14['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x9cbf31=>function(_0x58d334,_0x16d6f4){const _0x24eef1=_0x58d334['markerName']['split'](':')[0x2];if(_0x24eef1===_0x16d6f4['mySessionId'])return null;const _0x2829bf=_0x16d6f4['getUserBySessionId'](_0x24eef1);return _0x2829bf?{'id':_0x24eef1,'classes':['ck-user__selection',_0x2829bf['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2829bf),'data-session-id':_0x24eef1},'priority':0x7d0+_0x2829bf['orderNumber']}:{'id':_0x24eef1,'classes':[]};}(_0x9cbf31,_0x3e256c)}),function(_0x3edfa5){const _0x147445=_0x3edfa5['model'],_0x21bdeb=new Map(),_0x4f869c=_0x3edfa5['plugins']['get'](Y);_0x147445['markers']['on']('update:user:range',(_0x5516b1,_0x19b7a3,_0xf6fc61,_0x554f9d)=>{if(!_0x554f9d&&_0x21bdeb['get'](_0x19b7a3['name']))return _0x21bdeb['get'](_0x19b7a3['name'])['detach'](),void _0x21bdeb['delete'](_0x19b7a3['name']);const _0x5d8981=_0x19b7a3['name']['split'](':')[0x2];if(_0x5d8981===_0x4f869c['mySessionId'])return;const _0x29caff='user:position:'+_0x5d8981;_0x147445['markers']['has'](_0x29caff)&&_0x3edfa5['editing']['reconvertMarker'](_0x29caff),_0x19b7a3['on']('change:range',(_0x225aa3,_0x15f62d,_0xb87a4a)=>{if('$graveyard'!=_0x15f62d['root']['rootName']&&'$graveyard'==_0x19b7a3['getRange']()['root']['rootName']&&!_0x21bdeb['has'](_0x19b7a3['name'])){const _0x562c3b=_0x147445['schema']['getNearestSelectionRange'](_0xb87a4a['deletionPosition']);if(_0x562c3b){const _0x528df6=_0x537809['fromRange'](_0x562c3b);_0x21bdeb['set'](_0x19b7a3['name'],_0x528df6),_0x528df6['on']('change:range',(_0x5c0393,_0x38921b,_0x5ce3c9)=>{if('$graveyard'==_0x528df6['root']['rootName']){const _0x565665=_0x147445['schema']['getNearestSelectionRange'](_0x5ce3c9['deletionPosition']);_0x565665?(_0x528df6['start']=_0x565665['start'],_0x528df6['end']=_0x565665['end']):(_0x21bdeb['delete'](_0x19b7a3['name']),_0x528df6['detach']());}});}}});}),_0x147445['document']['on']('change',()=>{_0x21bdeb['size']>0x0&&_0x147445['enqueueChange']({'isUndoable':!0x1},_0x4da494=>{for(const [_0x344ae2,_0x25c67a]of _0x21bdeb)'$graveyard'==_0x147445['markers']['get'](_0x344ae2)['getRange']()['root']['rootName']&&(J(_0x344ae2['split'](':')[0x2],_0x25c67a['toRange'](),_0x147445,_0x4da494),_0x25c67a['detach']());_0x21bdeb['clear']();});});}(_0xf8ab14),this['_domEmitter']['listenTo'](_0x3de184['document'],'keydown',(_0x201010,{key:_0x2208d6})=>{'Escape'===_0x2208d6&&function(_0xdcc4fc){_0xdcc4fc['editing']['view']['change'](_0x5cfc62=>{for(const _0x29df6d of _0xdcc4fc['model']['markers']){if(!_0x29df6d['name']['startsWith']('user:position'))continue;const _0x873309=_0xdcc4fc['editing']['mapper']['markerNameToElements'](_0x29df6d['name']);if(_0x873309){for(const _0x21a3ad of _0x873309)_0x5cfc62['removeClass']('ck-user__marker_hovered',_0x21a3ad);}}});}(_0xf8ab14);},{'useCapture':!0x0});}['afterInit'](){const _0x133824=this['editor'],_0x25e23d=_0x133824['commands']['get']('undo');_0x25e23d&&_0x133824['model']['on']('applyOperation',(_0x903e41,_0xf89f34)=>{const _0x5e3318=_0xf89f34[0x0];if(!_0x5e3318['isDocumentOperation'])return;if('marker'!=_0x5e3318['type']||!_0x5e3318['name']['startsWith']('user:'))return;const _0x36cd93=_0x5e3318['batch'];_0x25e23d['_createdBatches']['has'](_0x36cd93)&&(_0x5e3318['newRange']=_0x5e3318['oldRange']?_0x133824['model']['createRange'](_0x5e3318['oldRange']['start'],_0x5e3318['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2939be=this['editor'],_0x15b234=_0x2939be['model']['document'],_0x4cf68e=_0x2939be['plugins']['get'](Y);_0x2939be['model']['enqueueChange']({'isUndoable':!0x1},_0x5d5e79=>{const _0x32a869='user:range:'+_0x4cf68e['mySessionId'],_0x135e0b='user:position:'+_0x4cf68e['mySessionId'],_0x37168c=_0x2939be['model']['markers']['has'](_0x32a869);_0x2939be['editing']['view']['hasDomSelection']?J(_0x4cf68e['mySessionId'],_0x15b234['selection']['getFirstRange'](),_0x2939be['model'],_0x5d5e79):_0x37168c&&(_0x5d5e79['removeMarker'](_0x32a869),_0x5d5e79['removeMarker'](_0x135e0b));});}};function J(_0x5d6205,_0x4167a4,_0xcc5ac3,_0x258df7){const _0x21012e='user:range:'+_0x5d6205,_0x398941='user:position:'+_0x5d6205,_0x10c64f=_0x4167a4['getContainedElement']();let _0x57dcde=_0x4167a4['start'];if(_0x10c64f&&_0x10c64f['is']('element','tableCell')){const _0x6ba8b2=function(_0x1c55d2,_0x4cf1dd){for(const _0x418734 of _0x1c55d2['getPositions']())if(_0x4cf1dd['schema']['checkChild'](_0x418734,'$text'))return _0x418734;}(_0x4167a4,_0xcc5ac3);_0x6ba8b2&&(_0x57dcde=_0x6ba8b2,_0x4167a4=_0x258df7['createRange'](_0x57dcde));}const _0x4ec9d9=_0x258df7['createRange'](_0x57dcde);_0xcc5ac3['markers']['has'](_0x21012e)?(_0x258df7['updateMarker'](_0x21012e,{'range':_0x4167a4}),_0x258df7['updateMarker'](_0x398941,{'range':_0x4ec9d9})):(_0x258df7['addMarker'](_0x21012e,{'range':_0x4167a4,'usingOperation':!0x0}),_0x258df7['addMarker'](_0x398941,{'range':_0x4ec9d9,'usingOperation':!0x0}));}function Q(_0x57ef86){return'--ck-user-color:'+_0x57ef86['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57ef86['color']['getColorAlphaVariable']()+';';}function X(_0x530142,_0x14f333,_0x2dae1f){const _0x36232a=_0x530142['t'],t=_0x530142['t'];switch(_0x14f333){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 _0x36232a({'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'},_0x2dae1f);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55f077{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x56bfe2)());['_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,_0x1664fe,_0x2c4aec,_0x3aba24];}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 _0x387526=this['serverHistory']['getOperations']();for(let _0x13be41=_0x387526['length']-0x1;_0x13be41>=0x0;_0x13be41--){const _0x196c0f=_0x387526[_0x13be41];if(!this['_disconnectionOperations']['has'](_0x196c0f))return _0x196c0f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b1491){if(super(_0x4b1491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b9cfe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x247b99('collaboration-missing-channelid',this);const _0x10fd95=_0x4b1491['config']['get']('cloudServices.bundleVersion')||_0x43a572;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10fd95,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x307d8e(),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 _0x3c5cb3=this['editor'],_0x52d793=_0x3c5cb3['plugins']['get'](_0x2c4aec),_0x5aa1c8=_0x3c5cb3['plugins']['get'](z);this['listenTo'](_0x52d793,'getOperationAuthor',(_0x356bd3,_0x3779e0)=>{const _0x338986=_0x3779e0[0x0];_0x338986['_authorId']&&(_0x356bd3['return']=_0x52d793['getUser'](_0x338986['_authorId']),_0x356bd3['stop']()),null===_0x338986['_authorId']&&(_0x356bd3['return']=null,_0x356bd3['stop']());},{'priority':'high'}),this['listenTo'](_0x3c5cb3['model']['document']['selection'],'change:range',(_0x56fda7,_0x1809a0)=>{_0x1809a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3c5cb3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3c5cb3['model']['on']('applyOperation',(_0x3afeec,_0x4e69e1)=>{const _0x27d9f1=_0x4e69e1[0x0];_0x27d9f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27d9f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5aa1c8,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x321a47,_0x5ba8d3,_0x26c543)=>'connected'===_0x321a47&&!_0x5ba8d3&&!_0x26c543),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b4cb=this['editor']['plugins']['get'](Y),_0x2457cb=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50b4cb['unregister'](this['_channelId']);const _0x5039f5=await this['_service']['reconnect'](_0x2457cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5039f5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x479ee9=await this['_service']['getConnectedSessions']();_0x50b4cb['register'](this['_channelId'],_0x479ee9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2340cb){if(function(_0x10813d){return'404'===_0x10813d['code'];}(_0x2340cb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2ceccc){return'409'===_0x2ceccc['code'];}(_0x2340cb)){const _0x38c187=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'](_0x38c187);}else{if(!(_0x2340cb instanceof et))throw _0x2340cb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x531712=this['editor']['plugins']['get'](z),_0x55a1e4=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x55a1e4['channelSessions']['has'](this['_channelId'])&&_0x55a1e4['unregister'](this['_channelId']),_0x531712['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x567414){if(this['sessionId']!==_0x567414['sessionId']&&this['_lastSyncedOperationId']!==_0x567414['lastOperationId'])throw new et();return this['sessionId']=_0x567414['sessionId'],this['_handleServerResponse']([],{..._0x567414,'wereChangesApplied':!0x1,'data':_0x567414['data']},'reconnect');}async['_connectService'](_0x14f28d,_0x438022=!0x1){const {connection:_0x392605}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x392605,this['_channelId'])['then'](_0x2dc7ba=>this['_initSessionsHandling'](_0x2dc7ba))['catch'](_0x4d995b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4d995b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59bf40,_0x688884)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x688884);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5efd14=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14f28d);this['_isPendingUpdate']=!0x0;const _0x28d416=await this['_service']['connect'](_0x392605,this['_compressOperations'](_0x14f28d),_0x5efd14);if(this['sessionId']=_0x28d416['sessionId'],_0x438022){if(!_0x28d416['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28d416['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x14f28d,_0x28d416,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28d416,_0x14f28d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x13fc90=this['editor']['plugins']['get'](Y),_0x1b280d=this['editor']['plugins']['get'](K),_0x1cccec=_0x13fc90['channelSessions']['get'](this['_channelId']);_0x1cccec&&_0x1cccec['length']>0x1?_0x1b280d['createUserMarkerOperations']():this['listenTo'](_0x13fc90,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13fc90['channelSessions']['get'](this['_channelId'])['length']&&_0x1b280d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x400c04,_0x34e242,_0x560ec2,_0x25b211){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e242){const _0x20a981=this['_decompressOperations'](_0x560ec2,_0x25b211);await this['_fetchMissingUsers'](_0x20a981),this['_handleExternalOperations'](_0x20a981,_0x34e242,_0x560ec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a86e3}=this['editor'];let _0x53b307;try{_0x53b307=await this['_service']['getDocumentDetails']();}catch{const _0x42ca3f=X(_0x3a86e3,'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'](_0x42ca3f);}const _0x46b586=_0x53b307['currentDocumentSession']||_0x53b307['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x46b586['lastOperationId']){const _0x2e0879=X(_0x3a86e3,'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'](_0x2e0879);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2ec208=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2ec208['connection']||'connected'!==_0x2ec208['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x27dbd3=this['editor']['plugins']['get'](Y);_0x27dbd3['channelSessions']['has'](this['_channelId'])&&_0x27dbd3['unregister'](this['_channelId']),_0x2ec208['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26803f){const _0x5763a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5763a5,'sessionAdd:'+this['_channelId'],(_0x4199be,{session:_0x3fb7b3})=>{if(_0x3fb7b3['id']===_0x5763a5['mySessionId']){_0x4199be['off']();const _0x52c1d8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x16075a=_0x3fb7b3['permissions'];_0x52c1d8&&_0x52c1d8['isEnabled']&&(_0x16075a=_0x16075a['filter'](_0x37c924=>'document:write'!==_0x37c924)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x16075a,this['_channelId']);}}),_0x5763a5['register'](this['_channelId'],_0x26803f);}['_initThrowingOnDataSet'](){const _0x8a206e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56eae2)=>{if(!_0x56eae2[_0x56eae2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x247b99('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x8a206e['apply'](this['editor']['data'],_0x56eae2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d56a8,[_0x4236b7])=>{if(this['_document']['version'])throw new _0x247b99('realtimecollaborationclient-init-document-already-initialized',this);_0x2d56a8['stop'](),this['_setPendingAction']();const _0x490ac4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xc55c06])=>!_0xc55c06['lazyLoad'])['map'](([_0x216b84,_0x332897])=>[_0x216b84,_0x332897['modelAttributes']||{}])),_0xf8fc1f=this['_getOperationsFromInitData'](_0x4236b7,_0x490ac4);0x0==_0xf8fc1f['length']&&_0xf8fc1f['push'](new _0x506b04(0x0)),_0x2d56a8['return']=this['_connectService'](_0xf8fc1f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e2d7b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e2d7b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x91c735,[_0x2942ae,_0x3a98c4])=>{_0x91c735['stop']();const _0x2f3e19=this['editor']['model']['document']['getRoot'](_0x2942ae);if(!this['_knownRootNames']['has'](_0x2942ae)){const _0x3c72ea=_0x3a98c4&&_0x3a98c4['data']?_0x3a98c4['data']:'',_0x4bd1b3=_0x3a98c4&&_0x3a98c4['attributes']?_0x3a98c4['attributes']:{};await this['_loadRoot'](_0x2942ae,_0x3c72ea,_0x4bd1b3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f3e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f3e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35894e){const _0x488497=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x30453a}=this['editor']['plugins']['get'](z),_0x3827f2=new Set();for(const _0x3f66b6 of _0x35894e){const _0x2055ee=_0x3f66b6['_authorId'];_0x2055ee&&!_0x488497['getUser'](_0x2055ee)&&_0x3827f2['add'](_0x2055ee);}if(0x0===_0x3827f2['size'])return;const _0x450b4e=await _0x3fdc75['getMany'](_0x30453a,Array['from'](_0x3827f2));for(const _0x34fcde of _0x450b4e)_0x488497['getUser'](_0x34fcde['id'])||_0x488497['addUser'](_0x34fcde);}['_getOperationsFromInitData'](_0x4a40af,_0x333075={}){const _0x2d761d=this['editor']['model'],_0x32d939=[];let _0x2a4550=0x0;const _0x11d752='string'==typeof _0x4a40af?{'main':_0x4a40af}:_0x4a40af;for(const _0x4d3bab of Object['keys'](_0x11d752)){if(!this['_document']['roots']['has'](_0x4d3bab))throw new _0x247b99('realtimecollaborationclient-init-non-existent-root',this);const _0xaa7742=this['_document']['getRoot'](_0x4d3bab),_0x70c5a3=this['editor']['data']['parse'](_0x11d752[_0x4d3bab],_0xaa7742),_0x3051bb=new _0x1e623b(_0x2d761d['createPositionAt'](_0xaa7742,0x0),_0x70c5a3,_0x2a4550++);_0x32d939['push'](_0x3051bb);for(const [_0x2a4f1c,_0x4a1444]of _0x70c5a3['markers']){const _0x5d040d=new _0x2b7f21(_0x2a4f1c,null,_0x2d761d['createRange'](_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['start']['path']['slice']()),_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['end']['path']['slice']())),_0x2d761d['markers'],!0x0,_0x2a4550++);_0x32d939['push'](_0x5d040d);}}if(_0x333075)for(const [_0x10f51f,_0x3d9780]of Object['entries'](_0x333075)){const _0xae09d3=_0x2d761d['document']['getRoot'](_0x10f51f);if(!_0xae09d3)throw new _0x247b99('multi-root-editor-root-attributes-no-root',null);for(const [_0x401ed6,_0x2ae0f3]of Object['entries'](_0x3d9780))if(null!==_0x2ae0f3){const _0x523524=new _0x530ebb(_0xae09d3,_0x401ed6,null,_0x2ae0f3,_0x2a4550++);_0x32d939['push'](_0x523524);}}return _0x32d939;}async['_loadRoot'](_0x25fa80,_0x3e2359,_0x2f8abc){this['_getOperationsFromInitData']({[_0x25fa80]:_0x3e2359},{[_0x25fa80]:_0x2f8abc})['forEach']((_0x2a5ae9,_0x1468b1)=>{_0x2a5ae9['baseVersion']=this['_document']['version']+_0x1468b1,_0x2a5ae9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a5ae9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e9ada,_0xedc5b2){let _0x158834;this['_offset']=_0x2e9ada['offset'];const _0x512f13=_0x2e9ada['wereChangesApplied']&&!_0x2e9ada['initData'],_0x5b59a0=_0x512f13?0x0:_0x2e9ada['data']['baseVersion'];if(_0xedc5b2['forEach'](_0x476687=>{_0x476687['_isInit']=!0x0,_0x476687['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x476687['_authorId']=null;}),_0x512f13)_0x158834=_0xedc5b2,this['_applyOperationsSet'](_0x158834,_0x512f13);else{if(_0x2e9ada['initData']){const _0x9724a9=this['_getOperationsFromInitData'](_0x2e9ada['initData']);this['_document']['history']['version']=-_0x9724a9['length'],_0x9724a9['forEach'](_0x45aefa=>{_0x45aefa['baseVersion']-=_0x9724a9['length'],_0x45aefa['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x45aefa['_isInit']=!0x0,_0x45aefa['_authorId']=null;}),this['_applyOperationsSet'](_0x9724a9,!0x0),this['serverHistory']['version']=-_0x9724a9['length']+this['_offset'],this['_updateServerHistory'](_0x9724a9);}this['_document']['history']['version']=_0x5b59a0,_0x158834=this['_decompressOperations'](_0x2e9ada['data'],_0x2e9ada['metadata']),await this['_fetchMissingUsers'](_0x158834),this['_applyOperationsSet'](_0x158834,_0x512f13);}_0x2e9ada['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x158834,_0x2e9ada['lastOperationId']),this['_lastSyncedOperationId']=_0x2e9ada['lastOperationId']),this['serverHistory']['version']=_0x5b59a0+this['_offset'],this['_updateServerHistory'](_0x158834),_0xedc5b2['filter'](_0x175ba6=>{const _0x37a466=this['_getAffectedRoot'](_0x175ba6);return _0x37a466&&!this['_knownRootNames']['has'](_0x37a466);})['forEach']((_0xd4502f,_0x3d59b7)=>{_0xd4502f['baseVersion']=this['_document']['version']+_0x3d59b7,this['_saveOperationInBuffer'](_0xd4502f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5c81ab,_0x1d1420){const _0xc25ef2=_0x1d1420&&_0x1d1420['message'];if(_0xc25ef2&&_0xc25ef2['startsWith']('realtimecollaborationclient'))throw _0x1d1420;const _0x2f5495=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2f5495['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x247b99(_0x5c81ab,this['editor'],_0xc25ef2?{'originalError':_0xc25ef2}:void 0x0);}['_saveOperationInBuffer'](_0x56b497){this['_knownOperations']['has'](_0x56b497)||(this['_knownOperations']['add'](_0x56b497),this['_bufferedOperations']['push'](_0x56b497),this['_pendingAction']||'marker'==_0x56b497['type']&&!_0x56b497['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc23f51=!0x1){!_0xc23f51&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3ec373=>{_0x3ec373&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x706406=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xdfbea4){return _0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x706406)||this['_crash'](_0x706406['message'],_0x706406);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x28d860=>{this['on']('change:_isPendingUpdate',()=>{_0x28d860();});});}async['_sendBufferedOperations'](){const _0x1c5b98=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1c5b98['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1c8329=[...this['_bufferedOperations']];for(const _0x25a654 of _0x1c8329)_0x25a654['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25a654);const _0x244535=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c8329),_0x55ecab=Z++,_0x5d4f3a=this['_compressOperations'](_0x1c8329),_0x394096=await this['_service']['sendOperations'](_0x5d4f3a,_0x5d4f3a['baseVersion'],_0x244535);try{return await this['_handleServerResponse'](_0x1c8329,_0x394096,_0x55ecab);}catch(_0x18aea2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x18aea2);}}async['_handleServerResponse'](_0x45dc36,_0x2bdbcf,_0x3b69d2){if('error'in _0x2bdbcf)throw _0x2bdbcf['error'];let _0x588830=!0x1;if(_0x2bdbcf['wereChangesApplied']){_0x2bdbcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdbcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41a16b=>!_0x45dc36['includes'](_0x41a16b));for(const _0x5be202 of _0x45dc36)_0x5be202['createdAt']='lastOperationAcceptedAt'in _0x2bdbcf&&_0x2bdbcf['lastOperationAcceptedAt']||void 0x0;st(_0x45dc36,_0x2bdbcf['version']-_0x45dc36['length']),this['_updateServerHistory'](_0x45dc36);const _0x2f4594=_0x45dc36['filter'](_0x267ba6=>{if(!_0x267ba6['_isInit'])return!0x1;const _0x42f205=this['_getAffectedRoot'](_0x267ba6);return _0x42f205&&!this['_knownRootNames']['has'](_0x42f205);});st(_0x2f4594,this['_document']['version']),this['_applyOperationsSet'](_0x2f4594),_0x588830=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10bf07=this['_decompressOperations'](_0x2bdbcf['data'],_0x2bdbcf['metadata'])['filter'](_0xa1aea7=>_0xa1aea7['baseVersion']>=this['_lastServerVersion']);_0x10bf07['forEach'](_0x62ae8a=>this['_addKnownRoot'](_0x62ae8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b3ff9=>!_0x2b3ff9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2b3ff9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10bf07),_0x588830=this['_handleExternalOperations'](_0x10bf07,_0x2bdbcf['version'],_0x2bdbcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x588830?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x298af5,_0xd6c1f7,_0xd1ad45){try{const _0x21fdf8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x231e74,operationsB:_0x5e985c,originalOperations:_0x9e2da9}=_0x367266(_0x298af5,this['_bufferedOperations'],_0x21fdf8);st(_0x231e74,this['_document']['version']),st(_0x5e985c,_0xd6c1f7);for(const _0x36abc5 of _0x231e74){const _0x22137b=_0x9e2da9['get'](_0x36abc5);_0x22137b?(_0x36abc5['_authorId']=_0x22137b['_authorId'],'noop'!==_0x36abc5['type']&&(_0x36abc5['_aiSource']=_0x22137b['_aiSource'])):_0x36abc5['_authorId']=null;}for(const _0x9a9ddf of _0x5e985c)'noop'!==_0x9a9ddf['type']&&(_0x9a9ddf['_aiSource']=_0x9e2da9['get'](_0x9a9ddf)?.['_aiSource']);_0xd1ad45&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x298af5,_0xd1ad45),this['_lastSyncedOperationId']=_0xd1ad45),this['_bufferedOperations']=[..._0x5e985c],this['_applyOperationsSet'](_0x231e74),this['_updateServerHistory'](_0x298af5);}catch(_0x57389b){return console['error'](_0x57389b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x54390a,_0x373260=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1cb66a=>{for(const _0x33f6de of _0x54390a)this['_knownOperations']['add'](_0x33f6de),this['_addKnownRoot'](_0x33f6de),_0x1cb66a['batch']['addOperation'](_0x33f6de),this['editor']['model']['applyOperation'](_0x33f6de);});}['_addKnownRoot'](_0x4b3a5c){const _0x4c936c=this['_getAffectedRoot'](_0x4b3a5c);_0x4c936c&&this['_knownRootNames']['add'](_0x4c936c);}['_getAffectedRoot'](_0x28542c){let _0x129d2f,_0x5e5c7a;switch(_0x28542c['type']){case'insert':_0x129d2f=_0x28542c['position']['root'];break;case'marker':if(_0x5e5c7a=_0x28542c['newRange'],!_0x5e5c7a)return null;_0x129d2f=_0x5e5c7a['root'];break;case'addRootAttribute':_0x129d2f=_0x28542c['root'];break;case'addRoot':_0x129d2f=_0x28542c['affectedSelectable'];break;case'move':_0x129d2f=_0x28542c['targetPosition']['root'];break;default:return null;}return _0x129d2f['rootName'];}['_updateServerHistory'](_0x53dede){_0x53dede['forEach'](_0x5d4c4a=>{const _0x5ddaf6=_0x5d4c4a['clone']();_0x5ddaf6['_authorId']=_0x5d4c4a['_authorId'],_0x5ddaf6['_isInit']=!!_0x5d4c4a['_isInit'],_0x5ddaf6['_aiSource']=_0x5d4c4a['_aiSource'],_0x5ddaf6['createdAt']=_0x5d4c4a['createdAt'],_0x5ddaf6['baseVersion']+=this['_offset'],_0x5d4c4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ddaf6),this['serverHistory']['addOperation'](_0x5ddaf6);});}['_handleReconnectionError'](_0x35d979){const _0x4ca5fb=this['editor']['plugins']['get']('Notification'),_0x289024=this['editor']['locale'];_0x35d979||(_0x35d979=X(_0x289024,'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.')),_0x4ca5fb['showWarning'](_0x35d979,{'title':X(_0x289024,'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'](_0x1664fe)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1664fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x242e60){const _0x5719f3=_0x242e60['map'](_0x4dd81c=>_0x4dd81c['toJSON']());return this['_compressor']['compress'](_0x5719f3);}['_decompressOperations'](_0x4089eb,_0x4c7799){return this['_compressor']['decompress'](_0x4089eb)['map']((_0x2be7dc,_0x577ab3)=>{const _0x530401='init'==_0x4c7799[_0x577ab3]['type'];if('InsertOperation'==_0x2be7dc['__className']){const _0x166bea=_0x2be7dc['position']['root'];!this['_document']['getRoot'](_0x166bea)&&(this['_document']['createRoot']('$unknown',_0x166bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2be7dc['__className']){const _0x315d3c=this['_document']['getRoot'](_0x2be7dc['rootName']);_0x315d3c&&'$unknown'==_0x315d3c['name']&&_0x2be7dc['elementName']!=_0x315d3c['name']&&(_0x315d3c['name']=_0x2be7dc['elementName']);}}const _0x21eddb=_0x23d9fa['fromJSON'](_0x2be7dc,this['_document']);return _0x21eddb['wasUndone']=_0x2be7dc['wasUndone'],_0x21eddb['_isInit']=_0x530401,_0x21eddb['_authorId']=_0x530401?null:_0x4c7799[_0x577ab3]['userId'],_0x21eddb['_isDisconnection']='cs:removeUser'===_0x4c7799[_0x577ab3]['type'],_0x21eddb['_aiSource']=_0x2be7dc['_aiSource']||void 0x0,_0x21eddb['createdAt']=_0x4c7799[_0x577ab3]['createdAt'],_0x21eddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xeb95f8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xeb95f8&&_0xeb95f8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x4fbf92,_0x2dc436){for(const _0x5e237b of _0x4fbf92)_0x5e237b['baseVersion']=_0x2dc436++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x7bbafd){this['_ignoredOperations']=_0x7bbafd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e1231){let _0x44bb60=_0x2e1231['length'];for(;_0x44bb60--;){const _0x5ae877=_0x2e1231[_0x44bb60];if(!this['_ignoredOperations']['has'](_0x5ae877)){if(!this['_operationToId']['has'](_0x5ae877)){const _0x617309=_0x15a4eb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ae877,_0x617309);}return this['_operationToId']['get'](_0x5ae877);}}}['setIdForTheLastOperation'](_0x562749,_0x4ab16c){if(!_0x4ab16c)return;let _0x5dd3df=_0x562749['length'];for(;_0x5dd3df--;){const _0xb43b6a=_0x562749[_0x5dd3df];this['_ignoredOperations']['has'](_0xb43b6a)||this['_operationToId']['set'](_0xb43b6a,_0x4ab16c);}}},nt=class extends _0x55f077{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x198b15{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x25de81)());['_services'];static get['requires'](){return[z,_0x557678,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e927){super(_0x34e927),this['_services']=new Map();}async['init'](){const _0x2cd89c=this['context'],_0x5552d6=_0x2cd89c['plugins']['get'](_0x557678);if(_0x2cd89c['plugins']['get'](z)['addToReconnectionStack'](this),_0x5552d6['adapter']={'addCommentThread':async({channelId:_0x6c9aef,threadId:_0x52fa28,comments:_0x33b9ca,resolvedAt:_0x2f96f3,resolvedBy:_0x5a4a7a,context:_0x54a51c,attributes:_0x3dae32})=>{const _0x43be02=await this['_getService'](_0x6c9aef)['addCommentThread']({'commentThreadId':_0x52fa28,'comments':_0x33b9ca['map'](_0x4413f7=>function(_0x33aeaf,_0x4e7cbf,_0x3b4bf1){return{'commentThreadId':_0x3b4bf1,'commentId':_0x33aeaf['commentId'],'userId':_0x33aeaf['authorId'],'content':_0x33aeaf['content'],'documentId':_0x4e7cbf,'createdAt':_0x33aeaf['createdAt'],'attributes':_0x33aeaf['attributes']||{}};}(_0x4413f7,_0x6c9aef,_0x52fa28)),'resolvedAt':_0x2f96f3,'resolvedBy':_0x5a4a7a,'context':_0x54a51c,'attributes':_0x3dae32})['catch'](ct);return{'threadId':_0x43be02['commentThreadId'],'comments':_0x43be02['comments']};},'getCommentThread':async({channelId:_0x3fe202,threadId:_0x2c314a})=>{const _0x883a6d=await this['_getService'](_0x3fe202)['getCommentThread'](_0x2c314a)['catch'](rt)['catch'](ct);return _0x883a6d?_0x883a6d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x883a6d]),{'threadId':_0x883a6d['commentThreadId'],'comments':_0x883a6d['comments']['map'](at),'context':_0x883a6d['context'],'resolvedAt':_0x883a6d['resolvedAt'],'resolvedBy':_0x883a6d['resolvedBy'],'attributes':_0x883a6d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3a5f11,threadId:_0x1be783,context:_0x3d184d,unlinkedAt:_0xfa1fd5,attributes:_0x3d7f83})=>this['_getService'](_0x3a5f11)['updateCommentThread']({'commentThreadId':_0x1be783,'context':_0x3d184d,'attributes':_0x3d7f83,'unlinkedAt':_0xfa1fd5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7d678f,threadId:_0x539e39})=>{const _0x29f816=await this['_getService'](_0x7d678f)['resolveCommentThread'](_0x539e39)['catch'](rt)['catch'](ct);return{'threadId':_0x29f816['commentThreadId'],'resolvedAt':_0x29f816['resolvedAt'],'resolvedBy':_0x29f816['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5abbd8,threadId:_0x5ef77a})=>this['_getService'](_0x5abbd8)['reopenCommentThread'](_0x5ef77a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x49b1dd,threadId:_0x5287a5})=>this['_getService'](_0x49b1dd)['removeCommentThread'](_0x5287a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x165e86,threadId:_0x1eee2f,commentId:_0x55d6e3,content:_0x3cd5d1,attributes:_0x190a1f})=>this['_getService'](_0x165e86)['addComment'](_0x1eee2f,_0x55d6e3,_0x3cd5d1,_0x190a1f)['catch'](ct),'updateComment':({channelId:_0x30c918,threadId:_0x194cda,commentId:_0x4d571a,content:_0x544aa9,attributes:_0x58c59a})=>this['_getService'](_0x30c918)['updateComment'](_0x194cda,_0x4d571a,_0x544aa9,_0x58c59a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1eb93d,threadId:_0x4c8602,commentId:_0x2b3336})=>this['_getService'](_0x1eb93d)['removeComment'](_0x4c8602,_0x2b3336)['catch'](rt)['catch'](ct)},_0x2cd89c instanceof _0x2d03f6){const _0x29a1fe=_0x2cd89c['config']['get']('collaboration.channelId'),_0x4a1c7e=_0x2cd89c['plugins']['get'](Y);await this['_setUpService'](_0x29a1fe);const _0x2835f7=await this['_services']['get'](_0x29a1fe)['getConnectedSessions']();this['listenTo'](_0x4a1c7e,'sessionAdd:'+_0x29a1fe,(_0x12fc3f,{session:_0x59fd67})=>{_0x59fd67['id']===_0x4a1c7e['mySessionId']&&(_0x12fc3f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59fd67['permissions'],_0x29a1fe));}),_0x4a1c7e['register'](_0x29a1fe,_0x2835f7);}}async['_setUpService'](_0x8f005f){if(this['_services']['has'](_0x8f005f))throw new _0x247b99('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x8f005f});const _0x4bf8b6=this['context']['plugins']['get'](_0x557678),_0x13a3d1=new CloudServicesCommentsAdapter['CommentsService'](_0x8f005f);this['_services']['set'](_0x8f005f,_0x13a3d1),this['listenTo'](_0x13a3d1,'commentThreadAdded',(_0x44e6d2,_0xed9b7d)=>{const {commentThreadId:_0x386a52,documentId:_0x7f706d,context:_0x28f5c5,attributes:_0x382979,resolvedAt:_0x2588f2,resolvedBy:_0x1ca9cb,comments:_0x485c88}=_0xed9b7d;_0x4bf8b6['getCommentThread'](_0x386a52)||_0x4bf8b6['addCommentThread']({'threadId':_0x386a52,'channelId':_0x7f706d,'comments':_0x485c88?_0x485c88['map'](at):[],'context':_0x28f5c5,'attributes':_0x382979,'resolvedAt':_0x2588f2,'resolvedBy':_0x1ca9cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadUpdated',(_0x50b3a4,{commentThreadId:_0x23261e,documentId:_0x3d44f8,context:_0x5bb447,unlinkedAt:_0x172f80,attributes:_0x2d078a})=>{_0x4bf8b6['getCommentThread'](_0x23261e)&&_0x4bf8b6['updateCommentThread']({'threadId':_0x23261e,'channelId':_0x3d44f8,'context':_0x5bb447,'unlinkedAt':_0x172f80,'attributes':_0x2d078a,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadResolved',(_0x5c681c,{commentThreadId:_0x20afdc,resolvedBy:_0x42a1b6,resolvedAt:_0x58f8f6})=>{const _0x1f928a=_0x4bf8b6['getCommentThread'](_0x20afdc);_0x1f928a&&_0x1f928a['resolve']({'resolvedBy':_0x42a1b6,'resolvedAt':_0x58f8f6,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadReopened',(_0x3765a3,{commentThreadId:_0x41b3fb})=>{const _0x1bfbf7=_0x4bf8b6['getCommentThread'](_0x41b3fb);_0x1bfbf7&&_0x1bfbf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadRemoved',(_0x4747cc,{commentThreadId:_0x331948})=>{const _0x13ef75=_0x4bf8b6['getCommentThread'](_0x331948);_0x13ef75&&_0x13ef75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentAdded',(_0x23ef4a,_0x159ab6)=>{const _0x4f0376=_0x159ab6['commentThreadId'],_0x47a075=_0x4bf8b6['getCommentThread'](_0x4f0376);_0x47a075&&_0x47a075['addComment']({...at(_0x159ab6),'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentUpdated',(_0x566b14,{commentThreadId:_0x5f373b,commentId:_0x15ff3f,content:_0x55acce,attributes:_0x405616})=>{const _0x217106=_0x4bf8b6['getCommentThread'](_0x5f373b);if(_0x217106){const _0x278bda=_0x217106['getComment'](_0x15ff3f);_0x278bda&&_0x278bda['update']({'content':_0x55acce,'attributes':_0x405616,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'commentRemoved',(_0x470556,{commentThreadId:_0x106bb3,commentId:_0x49f979})=>{const _0x505501=_0x4bf8b6['getCommentThread'](_0x106bb3);if(_0x505501){const _0x4d839=_0x505501['getComment'](_0x49f979);_0x4d839&&_0x4d839['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x8f005f),this['stopListening'](_0x13a3d1));}),await this['_connectService'](_0x8f005f);}['destroy'](){if(this['context']instanceof _0x2d03f6){const _0x56a093=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x56a093)&&this['_terminateService'](_0x56a093);}}['_terminateService'](_0x70a3c2){if(!this['_services']['has'](_0x70a3c2))throw new _0x247b99('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x70a3c2});this['_getService'](_0x70a3c2)['disconnect'](),this['_services']['delete'](_0x70a3c2);}async['reconnect'](){for(const _0x132d97 of this['_services']['keys']())await this['_connectService'](_0x132d97);if(this['context']instanceof _0x2d03f6){const _0x3fd398=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3fd398)){const _0xcc7b3b=this['context']['plugins']['get'](Y);_0xcc7b3b['unregister'](_0x3fd398);const _0x346a24=await this['_services']['get'](_0x3fd398)['getConnectedSessions']();_0xcc7b3b['register'](_0x3fd398,_0x346a24);}}}async['_connectService'](_0x55859a){const {connection:_0x472666}=this['context']['plugins']['get'](z),_0x4572df=this['context']['plugins']['get'](_0x557678),_0x969630=await this['_services']['get'](_0x55859a)['connect'](_0x472666);await this['_fetchMissingUsersForThreads'](_0x969630);const _0x410287=new Set(Array['from'](_0x4572df['getCommentThreads']({'channelId':_0x55859a}),_0x267e47=>_0x267e47['id']));for(const _0x24a96c of _0x969630)_0x24a96c['deletedAt']||_0x410287['delete'](_0x24a96c['commentThreadId']);for(const _0x392f6f of _0x410287)_0x4572df['getCommentThread'](_0x392f6f)['remove']({'isFromAdapter':!0x0});for(const _0x287b5b of _0x969630){let _0x239647=_0x4572df['getCommentThread'](_0x287b5b['commentThreadId']);const {commentThreadId:_0x5b8ba6,context:_0xe8d3f8,attributes:_0x4a7983,resolvedBy:_0x118294,resolvedAt:_0xa756cc,unlinkedAt:_0x37e958,deletedAt:_0x46bf2a}=_0x287b5b;if(_0x46bf2a)continue;_0x239647||(_0x239647=_0x4572df['addCommentThread']({'channelId':_0x55859a,'threadId':_0x5b8ba6,'context':_0xe8d3f8,'attributes':_0x4a7983||{},'resolvedBy':_0x118294,'resolvedAt':_0xa756cc,'unlinkedAt':_0x37e958,'isFromAdapter':!0x0}));const _0x56d674=new Set(Array['from'](_0x239647['comments'],_0x5813d6=>_0x5813d6['id']));for(const _0x4c1423 of _0x287b5b['comments'])_0x56d674['delete'](_0x4c1423['commentId']);for(const _0x2f1ea6 of _0x56d674)_0x239647['getComment'](_0x2f1ea6)['remove']({'isFromAdapter':!0x0});for(const _0x4c2cc6 of _0x287b5b['comments']){const _0x1aa4fc=_0x239647['getComment'](_0x4c2cc6['commentId']);_0x1aa4fc?_0x1aa4fc['content']!==_0x4c2cc6['content']&&_0x1aa4fc['update']({'content':_0x4c2cc6['content'],'isFromAdapter':!0x0}):_0x239647['addComment'](Object['assign'](at(_0x4c2cc6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x16810e){if(!this['_services']['has'](_0x16810e))throw new _0x247b99('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x16810e});return this['_services']['get'](_0x16810e);}async['_fetchMissingUsersForThreads'](_0x2b0d87){const _0x12ec39=this['context']['plugins']['get'](_0x2c4aec),{connection:_0x19e680}=this['context']['plugins']['get'](z),_0x52a07c=new Set();for(const {resolvedBy:_0x3facdf,comments:_0x8ac57}of _0x2b0d87){_0x3facdf&&!_0x12ec39['getUser'](_0x3facdf)&&_0x52a07c['add'](_0x3facdf);for(const {userId:_0x5a6347}of _0x8ac57)_0x12ec39['getUser'](_0x5a6347)||_0x52a07c['add'](_0x5a6347);}if(0x0===_0x52a07c['size'])return;const _0x3b0a82=await _0x3fdc75['getMany'](_0x19e680,Array['from'](_0x52a07c));for(const _0x841fcc of _0x3b0a82)_0x12ec39['getUser'](_0x841fcc['id'])||_0x12ec39['addUser'](_0x841fcc);}};async function rt(_0x5a415f){if('404'!==_0x5a415f['code'])throw _0x5a415f;}function ct(_0x1b6f6a){if((_0x248f2a=_0x1b6f6a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x248f2a;throw _0x1b6f6a;}function at(_0x1f360a){return{'threadId':_0x1f360a['commentThreadId'],'commentId':_0x1f360a['commentId'],'content':_0x1f360a['content'],'createdAt':_0x1f360a['createdAt'],'authorId':_0x1f360a['userId'],'attributes':_0x1f360a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55f077{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x504e78)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x21a4e2,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ec783){super(_0x2ec783);const _0x531c23=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x531c23);}['init'](){const _0x135a7b=this['editor']['plugins']['get'](z),_0x5dd975=this['editor']['plugins']['get'](_0x21a4e2);return _0x5dd975['adapter']={'getSuggestion':async _0x41d7df=>{await this['_waitForServiceReady']();const _0x3a1289=await this['_trackChangesService']['get'](_0x41d7df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a1289]),_0x3a1289;},'addSuggestion':async({id:_0x14bdf2,type:_0x2efff9,data:_0x4d15e1,originalSuggestionId:_0x2e3447,attributes:_0x52eb80})=>{await this['_waitForServiceReady']();const _0xc67497={'id':_0x14bdf2,'type':_0x2efff9,'data':_0x4d15e1,'originalSuggestionId':_0x2e3447,'attributes':_0x52eb80},_0x25525f=await this['_trackChangesService']['add'](_0x14bdf2,_0x2efff9,_0x4d15e1,_0x2e3447,_0x52eb80)['catch'](_0x2780d0=>{if(dt(_0x2780d0))return new Promise(_0x4eb60d=>{this['_bufferedRequests']['set'](_0x14bdf2,{'resolve':_0x4eb60d,'suggestionData':_0xc67497});});throw _0x2780d0;});return this['_bufferedRequests']['delete'](_0x14bdf2),_0x25525f;},'updateSuggestion':async(_0x38ffff,_0x31c62c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x31c62c['state'])return this['_trackChangesService']['update'](_0x38ffff,_0x31c62c)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ecf9f,_0x51e1f5)=>{_0x5dd975['hasSuggestion'](_0x51e1f5['id'])&&(_0x5dd975['getSuggestion'](_0x51e1f5['id'])['attributes']=_0x51e1f5['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x135a7b['connection']?.['state']&&(_0x135a7b['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x135a7b['connection'])['then'](_0x1485b3=>(_0x135a7b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1485b3)['then'](()=>{for(const _0x41bfb7 of _0x1485b3){_0x5dd975['addSuggestionData'](_0x41bfb7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x51f27d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5c438e}=this['editor']['plugins']['get'](z),_0x18effc=await this['_trackChangesService']['connect'](_0x5c438e);await this['_fetchMissingUsersForThreads'](_0x18effc);for(const {suggestionData:_0x453ad6,resolve:_0x56022f}of this['_bufferedRequests']['values']()){let _0x2fb0c4=_0x18effc['find'](_0x4e1ae3=>_0x4e1ae3['id']===_0x453ad6['id']);_0x2fb0c4||(_0x2fb0c4=await this['_trackChangesService']['add'](_0x453ad6['id'],_0x453ad6['type'],_0x453ad6['data'],_0x453ad6['originalSuggestionId'])),_0x56022f(_0x2fb0c4);}for(const _0x37472c of _0x18effc)_0x51f27d['hasSuggestion'](_0x37472c['id'])||_0x51f27d['addSuggestionData'](_0x37472c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x52e74a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x48988c=>{_0x48988c['off'](),_0x52e74a();});});}async['_fetchMissingUsersForThreads'](_0x329601){const _0x193267=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x47c624}=this['editor']['plugins']['get'](z),_0x337153=new Set();for(const {authorId:_0x453282}of _0x329601)_0x193267['getUser'](_0x453282)||_0x337153['add'](_0x453282);if(0x0===_0x337153['size'])return;const _0x24076e=await _0x3fdc75['getMany'](_0x47c624,Array['from'](_0x337153));for(const _0x3cedb4 of _0x24076e)_0x193267['getUser'](_0x3cedb4['id'])||_0x193267['addUser'](_0x3cedb4);}};function lt(_0x453709){if(dt(_0x453709))return new Promise(()=>{});throw _0x453709;}function dt(_0x27c288){return _0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55f077{static get['requires'](){return[_0x5ddb33,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5bb531=this['editor']['plugins']['get'](z),_0x224ccb=this['editor']['plugins']['get'](_0x4a2cc1),_0x2c6388=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5bb531,'change:state',(_0x514770,_0x5c89f2,_0x3f791e)=>{_0x224ccb['isThreadsLoadingPaused']='connected'!==_0x3f791e;});}),this['listenTo'](_0x5bb531,'change:state',(_0x48ce1e,_0x1d019b,_0x1d6ae5)=>{this['editor']['plugins']['get'](_0x557678)['switchReadOnly']('connected'!==_0x1d6ae5);}),_0x2c6388['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3ac3d7=this['editor']['plugins']['get'](ot),_0x3550a5=this['editor']['config']['get']('collaboration.channelId');_0x3ac3d7['_services']['has'](_0x3550a5)&&_0x3ac3d7['_terminateService'](_0x3550a5),super['destroy']();}},ft=class extends _0x55f077{static get['requires'](){return[ut,ht,_0x348130];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55f077{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0xb0619e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x278f20,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x580f3b){super(_0x580f3b);const _0x3ca96d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3ca96d);}async['init'](){const _0x427bd4=this['editor']['plugins']['get'](tt),_0x225fdc=_0x427bd4['serverHistory'],_0x40cfd1=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x225fdc,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x427bd4['sessionId']});const _0x31dd9b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x43a572,_0x5330e5=await _0x5e4875['isBundleUploaded'](_0x40cfd1['connection'],_0x31dd9b);this['editor']['plugins']['get'](_0x278f20)['adapter']={'getRevision':async({revisionId:_0x23fb1b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x23fb1b)),'updateRevisions':async _0x34fcca=>{await this['_waitForServiceReady']();const _0x501381=this['_revisionTracker']['currentRevision'];if(_0x5330e5&&0x1===_0x34fcca['length']&&_0x34fcca[0x0]['id']===_0x501381['id'])return _0x34fcca;for(const _0x26df55 of _0x34fcca)_0x26df55['id']===_0x501381['id']&&(_0x26df55['isEmptyCurrent']=_0x26df55['fromVersion']===_0x26df55['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34fcca,this['_lastRequestId'])['then'](_0xec9d6=>(this['_lastRequestId']=_0xec9d6,_0x34fcca))['catch'](_0x1f8f75=>{if(pt(_0x1f8f75)||'400'===_0x1f8f75['code']&&void 0x0!==_0x1f8f75['data']['wrongRequestId']){for(const _0x5c9c4c of _0x34fcca)this['_revisionTracker']['repository']['getRevision'](_0x5c9c4c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5c9c4c['id'],_0x5c9c4c,!0x1);if(pt(_0x1f8f75)&&'destroyed'!==this['editor']['state'])throw _0x1f8f75;return _0x34fcca;}throw _0x1f8f75;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x15e5ee,{revisionsData:_0x3b4cd4,requestId:_0x281f84})=>{Math['max'](..._0x3b4cd4['map'](_0x1778b6=>_0x1778b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}):this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x40cfd1['connection']?.['state']&&(_0x40cfd1['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x11ae08,requestId:_0x1171ce}=await this['_revisionHistoryService']['connect'](_0x40cfd1['connection']);_0x40cfd1['addToReconnectionStack'](this),this['_lastRequestId']=_0x1171ce,await this['_fetchMissingUsers'](_0x11ae08);for(const _0xab94f0 of _0x11ae08)this['_revisionTracker']['addRevisionData'](_0xab94f0);this['listenTo'](_0x427bd4,'change:_isConnected',(_0x18647a,_0x248343,_0x2fdcd5)=>{_0x2fdcd5&&(this['_oldOffset']=_0x427bd4['_offset'],_0x18647a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0xeed547=this['editor']['plugins']['get'](z),_0x56d047=this['editor']['plugins']['get'](tt),_0x215aa0=async()=>{const _0x3eac47=this['_revisionTracker']['currentRevision'],_0x1f26c7=_0x3eac47['id'],_0x5cd889=_0x1f26c7!==_0x56d047['sessionId'];if(_0x5cd889){const _0x42443f=_0x56d047['_offset']-this['_oldOffset'],_0x3f7e9e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3eac47['toVersion']+_0x42443f!==_0x3f7e9e){const _0x22baf3=_0x3eac47['fromVersion']+_0x42443f,_0x505fda=this['editor']['plugins']['get'](_0x2c4aec),_0x2313e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3eac47,'from':_0x22baf3,'to':_0x3f7e9e});_0x2313e8['id']=_0x3eac47['id'];const _0x387f27=_0x2313e8['authorsIds']['map'](_0x25318d=>_0x505fda['getUser'](_0x25318d));_0x3eac47['_update']({..._0x2313e8,'authors':_0x387f27},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3eac47['id'],_0x2313e8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3f7e9e,_0x3eac47['toVersion']!==_0x3eac47['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f26c7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f26c7),this['_revisionTracker']['_createCurrentRevision'](_0x3f7e9e);}const {revisions:_0x3a8617,requestId:_0xcd3cfd}=await this['_revisionHistoryService']['reconnect'](_0xeed547['connection'],this['_lastRequestId']);_0x5cd889&&_0x3a8617['length']>0x0?_0x56d047['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a8617),this['_handleRevisionsUpdate'](_0x3a8617,_0xcd3cfd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56d047['_isConnected']?_0x215aa0():new Promise((_0x400a1f,_0x1af3d0)=>{_0x56d047['once']('change:_isConnected',()=>{_0x215aa0()['then'](_0x400a1f)['catch'](_0x1af3d0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x309f31=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35e0a6=>{_0x35e0a6['off'](),_0x309f31();});});}['_getLatestVersionFromServerOperations'](){const _0x43b11e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x592cbe of _0x43b11e)if('marker'!==_0x592cbe['type']||_0x592cbe['affectsData'])return _0x592cbe['baseVersion']+0x1;}['_getLatestVersion'](){const _0x575144=this['editor']['plugins']['get'](tt);return new Promise(_0x44dc8c=>{_0x575144['_isPendingUpdate']?_0x575144['once']('change:_isPendingUpdate',()=>{_0x44dc8c(this['_getLatestVersionFromServerOperations']());}):_0x44dc8c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd8ccf1,_0x4a132d){const _0x25a90f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4a132d;for(const _0x3442d0 of _0xd8ccf1){const _0x4fc0da=_0x25a90f['getRevision'](_0x3442d0['id']);if(_0x4fc0da){if((_0x3442d0['fromVersion']||_0x3442d0['toVersion'])&&(_0x3442d0['diffData']=null),_0x4fc0da===this['_revisionTracker']['currentRevision']){const _0x54d083=Math['max'](_0x4fc0da['toVersion'],_0x3442d0['toVersion']),_0x5c3070=Math['max'](_0x4fc0da['fromVersion'],_0x3442d0['fromVersion']);let _0x43f921;_0x4fc0da['toVersion']===_0x3442d0['toVersion']&&_0x4fc0da['fromVersion']===_0x3442d0['fromVersion']?(_0x43f921=!0x0,this['_preventResendingRevisionData'](_0x3442d0)):_0x3442d0['toVersion']===_0x54d083&&_0x3442d0['fromVersion']===_0x5c3070?_0x43f921=!0x1:(_0x4fc0da['toVersion']===_0x54d083&&_0x4fc0da['fromVersion']===_0x5c3070||this['_fixRevision']({'revision':_0x4fc0da,'from':_0x5c3070,'to':_0x54d083}),_0x43f921=!0x0),_0x43f921&&(delete _0x3442d0['fromVersion'],delete _0x3442d0['toVersion'],delete _0x3442d0['diffData'],delete _0x3442d0['createdAt'],delete _0x3442d0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3442d0),this['_preventResendingRevisionData'](_0x3442d0);}else this['_revisionTracker']['addRevisionData'](_0x3442d0);}const _0x51792d=_0x25a90f['getRevisions']();_0x51792d['reverse']();for(let _0x1592c5=0x0;_0x1592c5<_0x51792d['length']-0x1;_0x1592c5++){const _0x530c3c=_0x51792d[_0x1592c5],_0x1dc6d6=_0x51792d[_0x1592c5+0x1];if(_0x530c3c['fromVersion']<_0x1dc6d6['toVersion']){const _0x5d0e69=_0x1dc6d6['toVersion'],_0x49e43d=Math['max'](_0x5d0e69,_0x530c3c['toVersion']);this['_fixRevision']({'revision':_0x530c3c,'from':_0x5d0e69,'to':_0x49e43d});}}}['_fixRevision']({revision:_0x52b6e7,from:_0x4dfceb,to:_0x1d136a}={}){const _0x3fd3ee=this['editor']['plugins']['get'](_0x2c4aec),_0x6fa669=this['_revisionTracker']['buildRevisionData']({'revision':_0x52b6e7,'from':_0x4dfceb,'to':_0x1d136a});_0x6fa669['authors']=_0x6fa669['authorsIds']['map'](_0x21760a=>_0x3fd3ee['getUser'](_0x21760a)),_0x52b6e7['_update'](_0x6fa669);}['_preventResendingRevisionData'](_0x196174){const _0x3379de={};_0x3379de['id']=_0x196174['id'];for(const _0xbf2b66 of Object['keys'](_0x196174))'id'!==_0xbf2b66&&(_0x3379de[_0xbf2b66]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3379de['id'],_0x3379de,!0x0);}async['_fetchMissingUsers'](_0x14c401){const _0x4e4e7c=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x25fa5f}=this['editor']['plugins']['get'](z),_0x3298ce=new Set();for(const _0x4c5f35 of _0x14c401){for(const _0x17bac5 of _0x4c5f35['authorsIds'])_0x2daec4(_0x17bac5);_0x4c5f35['creatorId']&&_0x2daec4(_0x4c5f35['creatorId']);}if(0x0===_0x3298ce['size'])return;const _0x38b804=await _0x3fdc75['getMany'](_0x25fa5f,Array['from'](_0x3298ce));for(const _0x37f14c of _0x38b804)_0x4e4e7c['getUser'](_0x37f14c['id'])||_0x4e4e7c['addUser'](_0x37f14c);function _0x2daec4(_0x79747c){_0x4e4e7c['getUser'](_0x79747c)||_0x3298ce['add'](_0x79747c);}}};function pt(_0x438a68){return _0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55f077{static get['requires'](){return[_0x278f20,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x734c23{['_collapseAt'];constructor(_0x3fed50,_0x2d740d=0x6){super(_0x3fed50);const _0x12cb6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2d740d,this['bind']('isHidden')['to'](this,'usersCount',_0x4f6d7a=>_0x4f6d7a<_0x2d740d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x12cb6d['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':_0x12cb6d['to']('usersCount',_0x24a406=>'+'+(_0x24a406-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x734c23{['items'];['keystrokes'];constructor(_0x1b450e){super(_0x1b450e);const _0x397d56=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x8e2249(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x397d56['if']('hasPopup'),'aria-expanded':_0x397d56['to']('isExpanded',_0x37f221=>this['hasPopup']&&String(_0x37f221)),'aria-label':_0x397d56['to']('hasPopup',_0x377101=>X(_0x1b450e,_0x377101?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x397d56['to']('hasPopup',_0x488ceb=>!!_0x488ceb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x397d56['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x397d56['to'](_0x568583=>{const _0x45ed57=_0x568583,_0x52352f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c72a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52352f?.['contains'](_0x45ed57['relatedTarget'])||_0x1c72a9?.['contains'](_0x45ed57['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x372d1f,_0x3c477c,_0x172e30)=>{this['element']&&(_0x172e30?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']);}},_t=class extends _0x734c23{['counterView'];['inlineListView'];constructor(_0x87e391,_0x1c8724=0x6){super(_0x87e391);const _0x56119d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c8724),this['inlineListView']=new vt(_0x87e391),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d3d51 of this['inlineListView']['items'])_0x3d3d51['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',_0x56119d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x734c23{['listWrapperView'];constructor(_0x177741,_0xd6e9e4){super(_0x177741);const _0x3f73b=this['bindTemplate'];this['listWrapperView']=new bt(_0x177741,_0xd6e9e4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x177741,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3f73b['to'](_0x34dc11=>{const _0xe97126=_0x34dc11,_0x1ea7f3=document['querySelector']('.ck-presence-list__list'),_0x52f205=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ea7f3?.['contains'](_0xe97126['relatedTarget'])||_0x52f205?.['contains'](_0xe97126['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x41f256{constructor(_0x48d134,_0x367b08){super(_0x48d134);const _0x357b31=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x367b08?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x357b31['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x357b31['to']('role'),'aria-label':_0x357b31['to']('ariaLabel'),'aria-labelledby':_0x357b31['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3de184['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xe88a55=this['element'];_0xe88a55&&(this['_isScrollable']=Math['max'](_0xe88a55['scrollHeight'],_0xe88a55['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x81bb6c{['userView'];constructor(_0x2b1a84,_0x18e7f2,_0x123ddf){super(_0x2b1a84);const _0xc89086=this['bindTemplate'];this['userView']=new _0x111a61(_0x2b1a84,_0x18e7f2);const _0xff1192={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18e7f2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18e7f2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18e7f2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18e7f2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18e7f2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123ddf&&(_0xff1192['tag']='button',_0xff1192['on']={'click':_0xc89086['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xff1192);}['focus'](){this['element']['focus']();}},It=class extends _0x734c23{['userView'];['markerView'];constructor(_0x5e57da,_0x3355da,_0x545c38){super(_0x5e57da);const _0x59e596=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x111a61(_0x5e57da,_0x3355da),this['markerView']=new St(_0x5e57da,_0x3355da);const _0x4f19a6=new _0x4b0e72(_0x5e57da);_0x4f19a6['template']['tag']='span',_0x4f19a6['text']=_0x3355da['name'];const _0x382ffc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x59e596['to']('isFocusable',_0x63b34=>!!_0x63b34&&0x0),'aria-labelledby':_0x4f19a6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x59e596['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x59e596['to']('hasTooltip',_0x5c1753=>!_0x5c1753),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4f19a6]};_0x545c38&&(_0x382ffc['tag']='button',_0x382ffc['on']={'click':_0x59e596['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x382ffc);}},St=class extends _0x734c23{constructor(_0x30dcfe,_0x361b55){super(_0x30dcfe),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x361b55['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x361b55['color']['getColorVariable'](),'--ck-user-color-alpha':_0x361b55['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x198b15{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565955){super(_0x565955),this['context']['config']['define']('presenceList',Tt);const _0x2bc697=_0x565955['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2bc697)throw new _0x247b99('presencelist-collapseat-invalid-format',this);if(_0x2bc697<0x1)throw new _0x247b99('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x306590(),this['balloonPanelView']=new _0x40139a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5ac2dd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ac2dd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1469d4,_0xc29b14)=>{this['_handleUserAdd'](_0xc29b14);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x338862,_0x2256f6)=>{this['_handleUserRemove'](_0x2256f6);});}['_createView'](){const _0x1b5655=this['context'],_0x4754db=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x197bd6=this['balloonPanelView'];if(!_0x368f5b(_0x1b5655['config']['get']('presenceList.container')))throw new _0x247b99('presencelist-missing-container',this);return _0x4754db['counterView']['bind']('usersCount')['to'](this),_0x4754db['bind']('isCollapsed')['to'](this,'usersCount',_0x48949b=>{const {collapseAt:_0x6a7e4f}=_0x1b5655['config']['get']('presenceList'),_0x24d4b9=_0x48949b>=_0x6a7e4f;if(_0x24d4b9&&!_0x4754db['inlineListView']['items']['find'](_0x21b0a4=>_0x21b0a4 instanceof wt)){const _0x56e4ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x56e4ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4754db['inlineListView']['items']['add'](_0x4754db['counterView']);}return _0x24d4b9||this['hideDropdown'](),_0x24d4b9;}),_0x4754db['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x45a28c=>{const _0x36fcd2=_0x1b5655['config']['get']('presenceList'),_0x53f563=new It(_0x1b5655['locale'],_0x45a28c,!!_0x36fcd2['onClick']);return _0x53f563['bind']('hasTooltip')['to'](_0x4754db,'isCollapsed',_0x5b6246=>!_0x5b6246),_0x53f563['bind']('isFocusable')['to'](_0x4754db,'isCollapsed',_0x2a510e=>!_0x2a510e),_0x36fcd2['onClick']&&this['listenTo'](_0x53f563,'execute',()=>{this['view']['isCollapsed']||_0x36fcd2['onClick'](_0x45a28c,_0x53f563['element']);}),_0x53f563;}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4754db['inlineListView']['keystrokes']['set']('Enter',(_0x336c65,_0x23faaa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23faaa());}),_0x4754db['render'](),_0x197bd6['render'](),_0x955340({'emitter':_0x4754db,'activator':()=>_0x197bd6['isVisible'],'contextElements':[_0x197bd6['element'],_0x4754db['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1b5655['config']['get']('presenceList.container')['appendChild'](_0x4754db['element']),this['_bodyCollection']=new _0x34295a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4754db;}['_handleUserAdd'](_0x709d4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x709d4['isMe'])return;const _0x27be9d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x27be9d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5652db=_0x709d4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x709d4,_0x5652db);}['_handleUserRemove'](_0x37757c){this['usersCount']--;const {collapseAt:_0x4d4e81}=this['context']['config']['get']('presenceList'),_0x50f3ce=this['usersCount']>=_0x4d4e81;if(this['currentDisplayedUsers']['get'](_0x37757c['id']))this['currentDisplayedUsers']['remove'](_0x37757c['id']);else{if(_0x50f3ce&&this['currentDisplayedUsers']['length']+0x1===_0x4d4e81-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)<this['usersCount']){for(const _0x3ee291 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3ee291['id'])&&(this['currentDisplayedUsers']['add'](_0x3ee291,Math['min'](this['currentDisplayedUsers']['length']-(_0x50f3ce?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)===_0x4d4e81-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1a3846=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1a3846['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4af046}=this['presenceDropdownView'];_0x4af046['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x321aae=>{if(!_0x1a3846['displayMe']&&_0x321aae['isMe'])return null;const _0x5569c5=new kt(this['context']['locale'],_0x321aae,!!_0x1a3846['onClick']);return _0x1a3846['onClick']&&this['listenTo'](_0x5569c5,'execute',()=>{_0x1a3846['onClick'](_0x321aae,_0x5569c5['element']);}),_0x5569c5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4af046['focus'](),_0x4af046['checkIfScrollable']();const _0xe32af7=(_0x5227e5,_0xc6c471)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc6c471();};_0x4af046['keystrokes']['set']('Esc',_0xe32af7),_0x4af046['keystrokes']['set']('Shift+Tab',_0xe32af7),_0x4af046['keystrokes']['set']('Tab',(_0x42c890,_0x223629)=>{!function(_0x3466cd){const _0x4f2c49=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a92ab=>_0x3a92ab+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e6845=[...document['body']['querySelectorAll'](_0x4f2c49)]['filter'](_0x5f425=>_0x5f425===document['activeElement']||_0x5f425['offsetWidth']+_0x5f425['offsetHeight']>0x0)['sort']((_0x43f9ab,_0x85f105)=>(_0x43f9ab['tabIndex']||0x0)-(_0x85f105['tabIndex']||0x0)),_0x384053=_0x5e6845[(_0x5e6845['indexOf'](_0x3466cd)+0x1)%_0x5e6845['length']];_0x384053&&_0x384053['focus']();}(this['view']['element']),this['hideDropdown'](),_0x223629();}),_0x4af046['focusTracker']['add'](this['view']['element']),_0x4af046['focusTracker']['on']('change:isFocused',(_0x14d557,_0x2080e5,_0x1e3091)=>{_0x1e3091||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);}},At=class extends _0x198b15{static get['requires'](){return[Y,Ct];}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,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};