@ckeditor/ckeditor5-revision-history 36.0.1 → 37.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/revision-history.js +1 -1
- package/package.json +22 -7
- package/src/augmentation.d.ts +25 -0
- package/src/augmentation.js +23 -0
- package/src/changeitem.d.ts +52 -0
- package/src/changeitem.js +1 -1
- package/src/editor/revisionviewereditor.d.ts +27 -0
- package/src/editor/revisionviewereditor.js +1 -1
- package/src/editor/revisionviewereditorui.d.ts +28 -0
- package/src/editor/revisionviewereditorui.js +1 -1
- package/src/editor/revisionviewereditoruiview.d.ts +43 -0
- package/src/editor/revisionviewereditoruiview.js +1 -1
- package/src/index.d.ts +10 -0
- package/src/index.js +1 -1
- package/src/revision.d.ts +153 -0
- package/src/revision.js +1 -1
- package/src/revisiondiff.d.ts +19 -0
- package/src/revisiondiff.js +1 -1
- package/src/revisionhistory.d.ts +93 -0
- package/src/revisionhistory.js +1 -1
- package/src/revisionhistoryadapter.d.ts +60 -0
- package/src/revisionhistoryadapter.js +23 -0
- package/src/revisionhistoryconfig.d.ts +60 -0
- package/src/revisionhistoryconfig.js +23 -0
- package/src/revisionsrepository.d.ts +43 -0
- package/src/revisionsrepository.js +1 -1
- package/src/revisiontracker.d.ts +72 -0
- package/src/revisiontracker.js +1 -1
- package/src/revisionviewer.d.ts +21 -0
- package/src/revisionviewer.js +1 -1
- package/src/ui/revision/createrevisionactionsdropdown.d.ts +9 -0
- package/src/ui/revision/createrevisionactionsdropdown.js +1 -1
- package/src/ui/revision/revisionauthorview.d.ts +4 -0
- package/src/ui/revision/revisionauthorview.js +1 -1
- package/src/ui/revision/revisionnameview.d.ts +4 -0
- package/src/ui/revision/revisionnameview.js +1 -1
- package/src/ui/revision/revisionview.d.ts +91 -0
- package/src/ui/revision/revisionview.js +1 -1
- package/src/ui/revision/subrevisioncollapserview.d.ts +17 -0
- package/src/ui/revision/subrevisioncollapserview.js +1 -1
- package/src/ui/revision/subrevisionview.d.ts +30 -0
- package/src/ui/revision/subrevisionview.js +1 -1
- package/src/ui/revision/utils.d.ts +4 -0
- package/src/ui/revision/utils.js +1 -1
- package/src/ui/revisionhistory/revisionhistorysaverevisionformview.d.ts +80 -0
- package/src/ui/revisionhistory/revisionhistorysaverevisionformview.js +1 -1
- package/src/ui/revisionhistory/revisionhistoryui.d.ts +21 -0
- package/src/ui/revisionhistory/revisionhistoryui.js +1 -1
- package/src/ui/revisionssidebar/revisionssidebar.d.ts +39 -0
- package/src/ui/revisionssidebar/revisionssidebar.js +1 -1
- package/src/ui/revisionssidebar/revisionssidebarheaderview.d.ts +4 -0
- package/src/ui/revisionssidebar/revisionssidebarheaderview.js +1 -1
- package/src/ui/revisionssidebar/revisionssidebartimeperiodview.d.ts +25 -0
- package/src/ui/revisionssidebar/revisionssidebartimeperiodview.js +1 -1
- package/src/ui/revisionssidebar/revisionssidebarview.d.ts +40 -0
- package/src/ui/revisionssidebar/revisionssidebarview.js +1 -1
- package/src/ui/revisionssidebar/utils.d.ts +8 -0
- package/src/ui/revisionssidebar/utils.js +1 -1
- package/src/ui/revisionviewer/changedetailsview.d.ts +18 -0
- package/src/ui/revisionviewer/changedetailsview.js +1 -1
- package/src/ui/revisionviewer/changesnavigationview.d.ts +36 -0
- package/src/ui/revisionviewer/changesnavigationview.js +1 -1
- package/src/ui/revisionviewer/revisionviewerloadingoverlay.d.ts +22 -0
- package/src/ui/revisionviewer/revisionviewerloadingoverlay.js +1 -1
- package/src/ui/revisionviewer/revisionviewerui.d.ts +22 -0
- package/src/ui/revisionviewer/revisionviewerui.js +1 -1
- package/src/utils/common-translations.d.ts +7 -0
- package/src/utils/common-translations.js +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Plugin, type PluginDependencies, type Editor } from 'ckeditor5/src/core';
|
|
2
|
+
import RevisionsRepository from './revisionsrepository';
|
|
3
|
+
import type { RevisionHistoryAdapter } from './revisionhistoryadapter';
|
|
4
|
+
import type { default as Revision, RevisionData } from './revision';
|
|
5
|
+
/**
|
|
6
|
+
* Creates and updates revisions based on changes of the editor content.
|
|
7
|
+
*
|
|
8
|
+
* There are always at least two revisions available for the document: the initial revision and the current revision.
|
|
9
|
+
* If those revisions have not been created for the document yet, they are created when the editor data is loaded.
|
|
10
|
+
*
|
|
11
|
+
* The initial revision contains the initial document data from when the document was loaded for the first time.
|
|
12
|
+
*
|
|
13
|
+
* The current revision contains all the unsaved document changes, that is changes which have not been saved yet as a specific revision.
|
|
14
|
+
* The current revision is always available and it is always the "top" revision (most recent).
|
|
15
|
+
*/
|
|
16
|
+
export default class RevisionTracker extends Plugin {
|
|
17
|
+
/**
|
|
18
|
+
* An adapter object that should communicate with the data source to fetch or save the revisions data.
|
|
19
|
+
*
|
|
20
|
+
* This property is also set through {@link module:revision-history/revisionhistory~RevisionHistory#adapter}.
|
|
21
|
+
*/
|
|
22
|
+
adapter: RevisionHistoryAdapter | null;
|
|
23
|
+
repository?: RevisionsRepository;
|
|
24
|
+
static get pluginName(): 'RevisionTracker';
|
|
25
|
+
static get requires(): PluginDependencies;
|
|
26
|
+
constructor(editor: Editor);
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
init(): void;
|
|
31
|
+
afterInit(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Adds the new document changes to the current revision.
|
|
34
|
+
*
|
|
35
|
+
* This method should be called before document data and revision data is saved (for example, in the autosave callback).
|
|
36
|
+
*
|
|
37
|
+
* @returns Promise that is resolved after the revision is updated locally (the promise does not wait for the adapter update).
|
|
38
|
+
*/
|
|
39
|
+
update(): Promise<void>;
|
|
40
|
+
private _loadState;
|
|
41
|
+
/**
|
|
42
|
+
* Creates and saves a new revision.
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* // Saves all the unsaved changes as a revision without a name.
|
|
46
|
+
* const myRevision = await revisionTracker.saveRevision();
|
|
47
|
+
*
|
|
48
|
+
* // Saves all the unsaved changes as a revision named 'My revision'.
|
|
49
|
+
* const myRevision = await revisionTracker.saveRevision( { name: 'My revision' } );
|
|
50
|
+
*
|
|
51
|
+
* // Saves a revision named 'My revision'.
|
|
52
|
+
* // It will include document data with all the changes up to document version `30`.
|
|
53
|
+
* // The revision will be on "top" of the closest revision with a lower document version.
|
|
54
|
+
* // The revision diff will include all the changes since the previous revision up to document version `30`.
|
|
55
|
+
* const myRevision = await revisionTracker.saveRevision( { name: 'My revision' }, 30 );
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* A new revision can be created in the middle of the revision history. In such case, already existing revisions will be
|
|
59
|
+
* appropriately updated.
|
|
60
|
+
*
|
|
61
|
+
* @param revisionData Revision data to set on the created revision.
|
|
62
|
+
* @param version {@link module:engine/model/document~Document#version Document version} on which the revision is saved.
|
|
63
|
+
* If not set, the revision will be saved for the current (most recent) document state.
|
|
64
|
+
* @returns Promise that resolves with the created revision after it is saved locally (the promise does not wait for the
|
|
65
|
+
* adapter update).
|
|
66
|
+
*/
|
|
67
|
+
saveRevision(revisionData?: RevisionData, version?: number | null): Promise<Revision>;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a revision basing on given revision data and adds it to the revision tracker and revision repository.
|
|
70
|
+
*/
|
|
71
|
+
addRevisionData(revisionData: RevisionData): Revision;
|
|
72
|
+
}
|
package/src/revisiontracker.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const _0x450b=['RevisionsRepository','editor','_removeRevisionMarkers','clear','_startingRevisionId','bind','revision-end','addRevision','saveRevision','_getState','attributes','forEach','parse','merge','createRevision','revision:','_getBaseVids','item','_saveMetaData','get','_touched','_pendingAction','conversion','repository','_savedMetaData','update','createPositionFromPath','toView','_loadRevisionData','_handleMergeOperation','keys','affectsData','_prepareViewToSave','set','_getPreviousFrom','processor','insertionPosition','getChild','reverse','reinsert','path','useFillerType','sort','addRevisionData','_createFromRanges','version','marker','history','offsetSize','elementStart','_copyMarkers','values','_revisionDataBuilder','_handleMarkerOperation','_fixPosition','has','Users','PendingActions','getOperation','loadState','insertion','splitPosition','_isPendingUpdate','remove','length','_markers','pluginName','_calculateMetaData','_lastFrom','targetPosition','from','add','define','_touchedMarkers','position','plugins','parent','deletion','buildRevisionData','createPositionBefore','root','range','isEnabled','oldRange','deletions','max','isEqual','upcast','toVersion','stickiness','rootName','_removePendingAction','getRevisions','adapter','element','vid_start','init','start','_authorId','_setConversion','_execute','locale','_idsRoots','nodes','_cloneOperation','revisionHistory.resumeUnsavedRevision','getChildren','createPositionAt','offset','_createCurrentRevision','split','_initialRevisionId','_markChanges','_makeRevision','currentRevision','view','tableCell','_reset','vid','_generateTape','authors','_replaceEditorDataWithRevisionData','_addPendingAction','insertions','collaboration.channelId','_startingVersion','getRevision','trim','_source','documentFragment','_operations','creator','newRange','getData','default','then','sendBufferedUpdates','initialData','getRevisionDocumentData','end','insert','revision','createdAt','getLatestVersion','_removeMetaData','_handleOperation','stringify','_makeModelFromViewString','getTransformedByOperation','getAncestors','elementEnd','_handleSplitOperation','data','push','fromVersion','initial','_bufferUpdate','type','RevisionTracker','slice','editing','graveyardPosition','getCurrentRevisionId','previousPosition','_getVidAttributeName','string','$graveyard','_update','text','hasContent','markerToData','getUser','for','config','vid_end','children','_clone','_createInitialRevision','_revisionId','getAttribute','size','_continueCurrentRevision','_loadedStateData','keepParagraph','nodeAfter','_diffRoots','updateRevisions','source','_bufferedUpdates','find','getRootNames','toModel','move','data-revision-','document','createRangeIn','$text','ready','_loadState','startsWith','_fixOperation','getNodeByPath','afterInit','toData','_lastTo','resolve','map','sourcePosition','_fixRange','_rootNames','getTime','model','reInit','diffData','baseVersion','_findInsertionIndex','_handleMoveOperation','authorsIds','filter','howMany','_transformMarkers','_setAttribute','_baseRoots','getWalker','_processRootBeforeSave','markers','setRevisionData','getAttributes','childCount','_applyOperations','NEGATIVE_INFINITY','creatorId','_handleInsertOperation','userId','isReady','RealTimeCollaborationClient','_baseIdsRoots','_getViewJson','_getFromVersion','name','roots','_makeIdsRoot','delete','createRange','clone'];(function(_0x4bcc33,_0x450b7e){const _0x5c6d95=function(_0x27b188){while(--_0x27b188){_0x4bcc33['push'](_0x4bcc33['shift']());}};_0x5c6d95(++_0x450b7e);}(_0x450b,0x1a2));const _0x5c6d=function(_0x4bcc33,_0x450b7e){_0x4bcc33=_0x4bcc33-0x0;let _0x5c6d95=_0x450b[_0x4bcc33];return _0x5c6d95;};import{Users as _0x110f5e}from'ckeditor5-collaboration/src/collaboration-core';import{Plugin as _0x881c2f,PendingActions as _0x1cb1d5}from'ckeditor5/src/core';import{logWarning as _0x1ebf2e,uid as _0x187adc}from'ckeditor5/src/utils';import{Position as _0x302755,Range as _0x4bafe2,Element as _0x32778a,DocumentFragment as _0x5c8a1f,ViewText as _0xfc94e1,ViewElement as _0xa5b306,ViewContainerElement as _0x1a386b,ViewAttributeElement as _0x243804,ViewEmptyElement as _0xf4c31b,ViewRawElement as _0x1c1300,ViewUIElement as _0x49ced0,ViewDocumentFragment as _0x4ceba3}from'ckeditor5/src/engine';import _0x1ecbb8 from'./revisionsrepository';import{getTranslation as _0x2e38bf}from'./utils/common-translations';const V={'c':_0x1a386b,'a':_0x243804,'e':_0xf4c31b,'r':_0x1c1300,'u':_0x49ced0};export default class l extends _0x881c2f{static get[_0x5c6d('0x8a')](){return _0x5c6d('0xe6');}static get['requires'](){return[_0x110f5e,_0x1ecbb8,_0x1cb1d5];}constructor(..._0x4fd498){super(..._0x4fd498),this[_0x5c6d('0xa5')]=null,this['set'](_0x5c6d('0x3d'),!0x1),this[_0x5c6d('0x69')](_0x5c6d('0x9a'),!0x0),this[_0x5c6d('0xba')]=null;const _0x533961=_0x187adc();this[_0x5c6d('0xc8')]={'history':this[_0x5c6d('0x49')][_0x5c6d('0x26')][_0x5c6d('0x15')][_0x5c6d('0x77')],'getLatestVersion':()=>Promise['resolve'](this[_0x5c6d('0x49')][_0x5c6d('0x26')][_0x5c6d('0x15')][_0x5c6d('0x75')]),'getCurrentRevisionId':()=>_0x533961},this['_revisionDataBuilder']=new T(this[_0x5c6d('0x49')]),this[_0x5c6d('0xb7')]=this['editor']['config'][_0x5c6d('0x5b')](_0x5c6d('0xc4'))||_0x5c6d('0xe3'),this[_0x5c6d('0x69')]('isPendingUpdate',!0x1),this[_0x5c6d('0xf')]=new Map(),this[_0x5c6d('0x49')]['config'][_0x5c6d('0x90')](_0x5c6d('0xb1'),!0x0),this[_0x5c6d('0x9')]=null,this[_0x5c6d('0x49')][_0x5c6d('0x5e')][_0x5c6d('0xf4')](_0x5c6d('0x9f'))['dataToMarker']({'view':'revision'});}['init'](){this[_0x5c6d('0x5f')]=this['editor']['plugins'][_0x5c6d('0x5b')](_0x5c6d('0x48')),this[_0x5c6d('0xab')](),this[_0x5c6d('0x49')][_0x5c6d('0xe0')]['on'](_0x5c6d('0x18'),()=>{const _0x56cc3b=this[_0x5c6d('0x5f')]['getRevision'](0x0),_0x1f38a7=_0x56cc3b&&null===_0x56cc3b['creator']?_0x56cc3b:null;if(this[_0x5c6d('0x8')]=!!_0x1f38a7&&this[_0x5c6d('0x49')]['config'][_0x5c6d('0x5b')](_0x5c6d('0xb1')),this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x7f')](_0x5c6d('0x3e'))){const _0x3d10d8=this['_source']['getCurrentRevisionId'](),_0x5efe75=this[_0x5c6d('0x5f')][_0x5c6d('0xc6')](_0x3d10d8);if(_0x5efe75)this['_startingVersion']=_0x5efe75[_0x5c6d('0xe2')],this[_0x5c6d('0x8')]=!0x1;else{const _0x28e2a1=this['_source'][_0x5c6d('0x77')][_0x5c6d('0xca')][_0x5c6d('0x10')](_0x4e82d2=>!_0x4e82d2['_isInit']),_0xb603e1=_0x28e2a1?_0x28e2a1['baseVersion']:this[_0x5c6d('0xc8')][_0x5c6d('0x77')][_0x5c6d('0x75')];_0x56cc3b?(_0x56cc3b[_0x5c6d('0xa0')]<_0xb603e1&&_0x56cc3b[_0x5c6d('0xef')]({'toVersion':_0xb603e1}),this[_0x5c6d('0x8')]?(this[_0x5c6d('0xc8')][_0x5c6d('0xea')]=()=>_0x1f38a7['id'],this[_0x5c6d('0xc5')]=_0x1f38a7[_0x5c6d('0xe2')]):(this[_0x5c6d('0xc5')]=_0x56cc3b['toVersion'],this[_0x5c6d('0x8')]=!0x1)):(this[_0x5c6d('0xc5')]=_0xb603e1,this[_0x5c6d('0x8')]=!0x1);}}else _0x1f38a7&&(this[_0x5c6d('0x49')][_0x5c6d('0x26')][_0x5c6d('0x15')]['history'][_0x5c6d('0x75')]=Math[_0x5c6d('0x9d')](_0x1f38a7[_0x5c6d('0xa0')],this[_0x5c6d('0x49')][_0x5c6d('0x26')][_0x5c6d('0x15')][_0x5c6d('0x77')][_0x5c6d('0x75')]),_0x1f38a7['fromVersion']===_0x1f38a7[_0x5c6d('0xa0')]?(0x0!==_0x1f38a7[_0x5c6d('0xe2')]&&(this[_0x5c6d('0xc8')][_0x5c6d('0xea')]=()=>_0x1f38a7['id']),this[_0x5c6d('0x8')]=!0x1):this[_0x5c6d('0x8')]&&(this[_0x5c6d('0xc8')]['getCurrentRevisionId']=()=>_0x1f38a7['id'],this[_0x5c6d('0xc5')]=_0x1f38a7[_0x5c6d('0xe2')])),this['_continueCurrentRevision']||(this[_0x5c6d('0xc5')]=this['editor']['model'][_0x5c6d('0x15')]['version']);this[_0x5c6d('0x7c')][_0x5c6d('0xa8')](this['_source'][_0x5c6d('0x77')]),this[_0x5c6d('0x4')](this['_startingVersion']),this[_0x5c6d('0xb5')](this[_0x5c6d('0xc5')]),this[_0x5c6d('0xa5')]&&this[_0x5c6d('0xd0')]();}),this[_0x5c6d('0x4d')](_0x5c6d('0x3d'))['to'](this,_0x5c6d('0x86'),_0x42adaf=>!_0x42adaf);}async[_0x5c6d('0x1d')](){if(this[_0x5c6d('0x5f')][_0x5c6d('0x88')]>0x0){const _0x46f72a=this[_0x5c6d('0x5f')][_0x5c6d('0xc6')](0x0),_0x2695c9=await this[_0x5c6d('0xd2')](_0x46f72a);this[_0x5c6d('0xc1')](_0x2695c9);}}['setSource'](_0x2c4a46){this[_0x5c6d('0xc8')]=_0x2c4a46;}async[_0x5c6d('0x61')](){const _0x14c163=await this[_0x5c6d('0xc8')]['getLatestVersion']();if(_0x14c163>this[_0x5c6d('0xba')]['toVersion']){await this[_0x5c6d('0x19')]();const _0xab4880=this[_0x5c6d('0x96')]({'revision':this[_0x5c6d('0xba')],'to':_0x14c163});_0xab4880[_0x5c6d('0xc0')]=_0xab4880[_0x5c6d('0x2c')][_0x5c6d('0x21')](_0x1f5b43=>this['editor']['plugins'][_0x5c6d('0x5b')](_0x5c6d('0x80'))[_0x5c6d('0xf3')](_0x1f5b43)),this[_0x5c6d('0xba')][_0x5c6d('0xef')](_0xab4880);}}async['_loadState'](){this[_0x5c6d('0x8')]&&!this[_0x5c6d('0x9')]&&(await this[_0x5c6d('0x64')](this['currentRevision']),this[_0x5c6d('0x7c')][_0x5c6d('0x83')](this[_0x5c6d('0xba')]),this[_0x5c6d('0x9')]={'fromVersion':this[_0x5c6d('0xba')]['fromVersion'],'authors':this[_0x5c6d('0xba')][_0x5c6d('0xc0')][_0x5c6d('0xe7')]()});}async[_0x5c6d('0x50')](_0x2b99f4={},_0x31b66e=null){const _0x3e4808=[];await this['_loadState'](),this['_continueCurrentRevision']=!0x1,_0x31b66e>this[_0x5c6d('0xba')]['toVersion']&&(_0x31b66e=null),null===_0x31b66e&&(_0x31b66e=await this[_0x5c6d('0xc8')][_0x5c6d('0xd7')]());const _0x5a12a0=this['_getFromVersion'](_0x31b66e),_0x32a7be=this[_0x5c6d('0x96')]({'from':_0x5a12a0,'to':_0x31b66e});if(this['currentRevision'][_0x5c6d('0xa0')]<_0x31b66e){const _0x4cae31=this['buildRevisionData']({'revision':this[_0x5c6d('0xba')],'from':_0x31b66e,'to':_0x31b66e});_0x4cae31[_0x5c6d('0xc0')]=[],_0x4cae31['authorsIds']=[],_0x4cae31['id']=this[_0x5c6d('0xba')]['id'],this[_0x5c6d('0xba')]['_update'](_0x4cae31,!0x0),delete _0x4cae31[_0x5c6d('0xc0')],_0x3e4808[_0x5c6d('0xe1')](_0x4cae31);}_0x2b99f4[_0x5c6d('0x3a')]=this[_0x5c6d('0x49')]['plugins'][_0x5c6d('0x5b')](_0x5c6d('0x80'))['me']['id'],_0x2b99f4[_0x5c6d('0x42')]=_0x2b99f4[_0x5c6d('0x42')]||null,_0x2b99f4['id']=_0x2b99f4['id']||_0x187adc(),_0x2b99f4={..._0x2b99f4,..._0x32a7be};const _0x1b6a9d=this[_0x5c6d('0x73')](_0x2b99f4);_0x3e4808[_0x5c6d('0xe1')](_0x2b99f4);const _0xf2a456=this[_0x5c6d('0x5f')]['getIndex'](_0x1b6a9d);if(0x0!==_0xf2a456){const _0xdc3099=this[_0x5c6d('0x5f')][_0x5c6d('0xc6')](_0xf2a456-0x1);if(_0xdc3099[_0x5c6d('0xe2')]!==_0x31b66e){const _0x3f7daf=this[_0x5c6d('0x7c')][_0x5c6d('0xcd')](_0x31b66e,_0xdc3099[_0x5c6d('0xa0')]),_0x1570fa={'id':_0xdc3099['id'],'diffData':_0x3f7daf[_0x5c6d('0x28')],'authorsIds':_0x3f7daf[_0x5c6d('0x2c')],'authors':_0x3f7daf[_0x5c6d('0x2c')][_0x5c6d('0x21')](_0x1a199d=>this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')](_0x5c6d('0x80'))[_0x5c6d('0xf3')](_0x1a199d)),'fromVersion':_0x31b66e};_0xdc3099===this[_0x5c6d('0xba')]&&(_0x1570fa[_0x5c6d('0xd6')]=new Date(_0x2b99f4[_0x5c6d('0xd6')][_0x5c6d('0x25')]()+0xa)),_0xdc3099[_0x5c6d('0xef')](_0x1570fa,!0x0),delete _0x1570fa[_0x5c6d('0xc0')],_0x3e4808['push'](_0x1570fa);}}if(this[_0x5c6d('0xa5')]){for(const _0x50ba19 of _0x3e4808)this['_bufferUpdate'](_0x50ba19['id'],_0x50ba19,!0x0);this[_0x5c6d('0xd0')]();}return _0x1b6a9d;}[_0x5c6d('0x73')](_0x86fd97){const _0x3c0a2e=this[_0x5c6d('0x5f')][_0x5c6d('0x56')](_0x86fd97);return this[_0x5c6d('0xa5')]&&_0x3c0a2e['on'](_0x5c6d('0xef'),(_0x313930,_0x33cfe5,_0x597451)=>{_0x597451||(this['_bufferUpdate'](_0x33cfe5['id'],_0x33cfe5,!0x0),this[_0x5c6d('0xd0')]());}),this[_0x5c6d('0x5f')][_0x5c6d('0x4f')](_0x3c0a2e,this['_findInsertionIndex'](_0x3c0a2e)),_0x3c0a2e;}async[_0x5c6d('0xd2')](_0x40fcf9){await this[_0x5c6d('0x64')](_0x40fcf9);const _0x4c3274={};for(const _0x38fdf2 in _0x40fcf9[_0x5c6d('0x28')]){const _0x1520f6=this[_0x5c6d('0x4a')](JSON[_0x5c6d('0x54')](_0x40fcf9[_0x5c6d('0x28')][_0x38fdf2][_0x5c6d('0xc3')])),_0x191354=this[_0x5c6d('0x49')][_0x5c6d('0xe8')][_0x5c6d('0xbb')][_0x5c6d('0x15')],_0x3b4e00=new _0x4ceba3(_0x191354,_0x1520f6[_0x5c6d('0x21')](_0x576925=>F(_0x576925,this['editor'])));this['editor']['data'][_0x5c6d('0x6b')][_0x5c6d('0x71')]('marked'),_0x4c3274[_0x38fdf2]=this[_0x5c6d('0x49')][_0x5c6d('0xe0')][_0x5c6d('0x6b')][_0x5c6d('0x1e')](_0x3b4e00),this[_0x5c6d('0x49')][_0x5c6d('0xe0')]['processor'][_0x5c6d('0x71')](_0x5c6d('0xce'));}return _0x4c3274;}[_0x5c6d('0xd0')](){if(0x0===this[_0x5c6d('0xf')][_0x5c6d('0x7')])return;if(this[_0x5c6d('0x86')])return;let _0xf7efca=Array[_0x5c6d('0x8e')](this[_0x5c6d('0xf')][_0x5c6d('0x7b')]());this[_0x5c6d('0xf')]['clear']();for(let _0x1a4c71=0x0;_0x1a4c71<_0xf7efca[_0x5c6d('0x88')];_0x1a4c71++){const _0x22c1cb=_0xf7efca[_0x1a4c71];let _0x40845f=!0x1;for(const _0x574289 of Object[_0x5c6d('0x66')](_0x22c1cb))void 0x0===_0x22c1cb[_0x574289]?delete _0x22c1cb[_0x574289]:'id'!==_0x574289&&(_0x40845f=!0x0);_0x40845f||(_0xf7efca[_0x1a4c71]=null);}if(_0xf7efca=_0xf7efca[_0x5c6d('0x2d')](_0x39d1fa=>null!==_0x39d1fa),!_0xf7efca['length'])return;for(let _0x4d873a=0x0;_0x4d873a<_0xf7efca[_0x5c6d('0x88')];_0x4d873a++){const _0x304de2=_0xf7efca[_0x4d873a];void 0x0!==_0x304de2[_0x5c6d('0xe2')]&&void 0x0===_0x304de2[_0x5c6d('0xa0')]&&(_0x304de2[_0x5c6d('0xa0')]=this[_0x5c6d('0x5f')][_0x5c6d('0xc6')](_0x304de2['id'])[_0x5c6d('0xa0')]),void 0x0!==_0x304de2['toVersion']&&void 0x0===_0x304de2[_0x5c6d('0xe2')]&&(_0x304de2['fromVersion']=this[_0x5c6d('0x5f')][_0x5c6d('0xc6')](_0x304de2['id'])[_0x5c6d('0xe2')]);}const _0x55f3fb=this[_0x5c6d('0x49')]['config'][_0x5c6d('0x5b')](_0x5c6d('0xc4'));this[_0x5c6d('0x86')]=!0x0,this[_0x5c6d('0xc2')](),this[_0x5c6d('0xa5')][_0x5c6d('0xd')](_0xf7efca,_0x55f3fb)['finally'](()=>{this[_0x5c6d('0x86')]=!0x1;})[_0x5c6d('0xcf')](_0x24a803=>{if(_0x24a803)for(const _0x5e5658 of _0x24a803)this[_0x5c6d('0x35')]({'id':_0x5e5658['id'],'createdAt':_0x5e5658[_0x5c6d('0xd6')]});this[_0x5c6d('0xa3')](),this['sendBufferedUpdates']();});}[_0x5c6d('0xc1')](_0x5ca096){let _0x32ae1d=this[_0x5c6d('0x49')][_0x5c6d('0x0')][_0x5c6d('0x5b')](_0x5c6d('0xd1'));if(void 0x0===_0x32ae1d){_0x32ae1d={};for(const _0x5b6d34 of this[_0x5c6d('0x49')]['model'][_0x5c6d('0x15')]['getRootNames']())_0x32ae1d[_0x5b6d34]='';}'string'==typeof _0x32ae1d&&(_0x32ae1d={'main':_0x32ae1d});let _0xad20be=!0x1;for(const _0x1e77e7 of Object[_0x5c6d('0x66')](_0x32ae1d))_0x5ca096[_0x1e77e7]&&(_0x32ae1d[_0x1e77e7]!==_0x5ca096[_0x1e77e7]&&''!==_0x32ae1d[_0x1e77e7][_0x5c6d('0xc7')]()&&(_0xad20be=!0x0),_0x32ae1d[_0x1e77e7]=_0x5ca096[_0x1e77e7]);_0xad20be&&_0x1ebf2e('editor-initial-data-replaced-with-revision-data'),this[_0x5c6d('0x49')][_0x5c6d('0x0')][_0x5c6d('0x69')](_0x5c6d('0xd1'),_0x32ae1d);}['_addPendingAction'](){if(!this[_0x5c6d('0x5d')]){const _0x520d64=this['editor'][_0x5c6d('0x93')]['get'](_0x5c6d('0x81'));this[_0x5c6d('0x5d')]=_0x520d64['add'](_0x2e38bf(this[_0x5c6d('0x49')][_0x5c6d('0xad')],'PENDING_ACTION_REVISION_HISTORY'));}}['_removePendingAction'](){this[_0x5c6d('0x5d')]&&(this[_0x5c6d('0x49')]['plugins']['get'](_0x5c6d('0x81'))['remove'](this[_0x5c6d('0x5d')]),this[_0x5c6d('0x5d')]=null);}[_0x5c6d('0x2a')](_0x1b4562){const _0x1f759a=this[_0x5c6d('0x5f')][_0x5c6d('0xa4')]();_0x1f759a[_0x5c6d('0x6e')]();let _0x515c81=0x0;for(;_0x515c81<_0x1f759a[_0x5c6d('0x88')];){const _0x1e3461=_0x1f759a[_0x515c81];if(_0x1e3461===this[_0x5c6d('0xba')]){_0x515c81++;continue;}if(_0x1e3461['id']===this[_0x5c6d('0xb7')])break;const _0x490633=_0x1b4562[_0x5c6d('0xa0')]-_0x1e3461[_0x5c6d('0xa0')]||_0x1b4562[_0x5c6d('0xe2')]-_0x1e3461[_0x5c6d('0xe2')];if(_0x490633>0x0)break;if(_0x490633<0x0)_0x515c81++;else{if(!_0x1b4562['creator']&&_0x1e3461[_0x5c6d('0xcb')])break;if(_0x1e3461[_0x5c6d('0xcb')]||!_0x1b4562['creator']){if(_0x1b4562[_0x5c6d('0xd6')]>_0x1e3461[_0x5c6d('0xd6')])break;_0x515c81++;}else _0x515c81++;}}return _0x515c81;}[_0x5c6d('0x35')](_0x35815f){const _0x3a4efa=this['repository']['getRevision'](_0x35815f['id']);if(_0x35815f['createdAt']&&(_0x35815f[_0x5c6d('0xd6')]=new Date(_0x35815f[_0x5c6d('0xd6')])),_0x35815f[_0x5c6d('0x2c')]){const _0xfe923d=this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')](_0x5c6d('0x80'));_0x35815f[_0x5c6d('0xc0')]=_0x35815f[_0x5c6d('0x2c')][_0x5c6d('0x21')](_0xbe3836=>_0xfe923d[_0x5c6d('0xf3')](_0xbe3836));}_0x3a4efa[_0x5c6d('0xef')](_0x35815f,!0x0);}[_0x5c6d('0x96')]({revision:_0x1095a1=null,from:_0x173d39=null,to:_0x39b6e2=null}){_0x173d39=null!==_0x173d39?_0x173d39:_0x1095a1[_0x5c6d('0xe2')],_0x39b6e2=null!==_0x39b6e2?_0x39b6e2:_0x1095a1['toVersion'];const _0x2907fe=this[_0x5c6d('0x7c')][_0x5c6d('0xcd')](_0x173d39,_0x39b6e2),_0xbf231a={'diffData':_0x2907fe[_0x5c6d('0x28')],'authorsIds':_0x2907fe[_0x5c6d('0x2c')],'fromVersion':_0x173d39,'toVersion':_0x39b6e2};if(!_0x1095a1||_0x39b6e2!==_0x1095a1[_0x5c6d('0xa0')]){const _0x17d4f0=_0x39b6e2-0x1,_0x182040=this[_0x5c6d('0xc8')][_0x5c6d('0x77')][_0x5c6d('0x82')](_0x17d4f0);_0xbf231a[_0x5c6d('0xd6')]=_0x182040&&_0x182040['createdAt']||new Date();}if(this['_loadedStateData']&&_0x173d39===this['_loadedStateData']['fromVersion'])for(const _0xf4d0f8 of this['_loadedStateData']['authors'])_0xbf231a[_0x5c6d('0x2c')]['includes'](_0xf4d0f8['id'])||_0xbf231a['authorsIds']['push'](_0xf4d0f8['id']);return _0xbf231a;}['_loadRevisionData'](_0x25bc5b){if(!_0x25bc5b||_0x25bc5b['diffData'])return Promise[_0x5c6d('0x20')]();{const _0x3bc209=this[_0x5c6d('0x49')]['config'][_0x5c6d('0x5b')]('collaboration.channelId');return this[_0x5c6d('0xa5')][_0x5c6d('0xc6')]({'channelId':_0x3bc209,'revisionId':_0x25bc5b['id']})[_0x5c6d('0xcf')](_0x53ac2e=>{_0x25bc5b['diffData']=_0x53ac2e['diffData'];});}}[_0x5c6d('0xe4')](_0x187111,_0x5304c5,_0x4c2040){if(this[_0x5c6d('0xf')][_0x5c6d('0x7f')](_0x187111)){const _0x473bf5=this[_0x5c6d('0xf')][_0x5c6d('0x5b')](_0x187111);_0x5304c5=_0x4c2040?{..._0x473bf5,..._0x5304c5}:{..._0x5304c5,..._0x473bf5};}this[_0x5c6d('0xf')][_0x5c6d('0x69')](_0x187111,_0x5304c5);}[_0x5c6d('0x41')](_0x6a5ac){const _0x530438=this[_0x5c6d('0x5f')][_0x5c6d('0xa4')]();_0x530438[_0x5c6d('0x6e')](),_0x530438['shift']();const _0x271f78=_0x530438[_0x5c6d('0x10')](_0x2e06b4=>_0x2e06b4['toVersion']<=_0x6a5ac)[_0x5c6d('0xa0')];return _0x271f78<this[_0x5c6d('0xc5')]?this[_0x5c6d('0xc5')]:_0x271f78;}[_0x5c6d('0x4')](_0x57bc4f){const _0x839358=this[_0x5c6d('0x5f')]['getRevision'](this[_0x5c6d('0x5f')][_0x5c6d('0x88')]-0x1);if(_0x839358)this[_0x5c6d('0xb7')]=_0x839358['id'];else{const _0x4d59a6=!this['editor'][_0x5c6d('0x26')]['document'][_0x5c6d('0x43')][_0x5c6d('0x10')](_0x4e7192=>this[_0x5c6d('0x49')]['model'][_0x5c6d('0xf1')](_0x4e7192)),_0x1be2e1=this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')]('Users')['me']['id'],_0x43aadf=_0x2e38bf(this[_0x5c6d('0x49')][_0x5c6d('0xad')],_0x4d59a6?'Empty\x20document':'Initial\x20revision');this[_0x5c6d('0xb9')]({'from':_0x57bc4f,'to':_0x57bc4f,'id':this[_0x5c6d('0xb7')],'name':_0x43aadf,'creatorId':_0x1be2e1});}}[_0x5c6d('0xb5')](_0xb4beae){const _0x307be5=this[_0x5c6d('0xc8')][_0x5c6d('0xea')]();this[_0x5c6d('0xba')]=this['repository'][_0x5c6d('0xc6')](_0x307be5),this['currentRevision']||(this[_0x5c6d('0xba')]=this['_makeRevision']({'from':_0xb4beae,'to':_0xb4beae,'id':_0x307be5,'name':'','creatorId':null}));}[_0x5c6d('0xb9')]({name:_0x5caab9,from:_0x4ddc8b,to:_0x35034a,creatorId:_0x114a20,id:_0x1be6f8}){const _0x2b0582=this[_0x5c6d('0x96')]({'from':_0x4ddc8b,'to':_0x35034a});_0x2b0582[_0x5c6d('0x42')]=_0x5caab9,_0x2b0582[_0x5c6d('0x3a')]=_0x114a20,_0x2b0582['id']=_0x1be6f8;const _0x2df321=this[_0x5c6d('0x73')](_0x2b0582);return this[_0x5c6d('0xa5')]&&this[_0x5c6d('0xe4')](_0x2b0582['id'],_0x2b0582,!0x0),_0x2df321;}[_0x5c6d('0xab')](){this['editor']['conversion']['for']('dataDowncast')[_0x5c6d('0xf2')]({'model':_0x5c6d('0xd5')});}['_removeRevisionMarkers'](_0x5deec9){return(_0x5deec9=_0x5deec9['filter'](_0x1d9071=>!_0x1d9071['name']||'revision-start'!==_0x1d9071[_0x5c6d('0x42')]&&_0x5c6d('0x4e')!==_0x1d9071[_0x5c6d('0x42')]))[_0x5c6d('0x53')](_0x1c21b5=>{_0x5c6d('0xed')!=typeof _0x1c21b5&&(_0x1c21b5[_0x5c6d('0x2')]=this[_0x5c6d('0x4a')](_0x1c21b5[_0x5c6d('0x2')]),_0x1c21b5[_0x5c6d('0x52')]=_0x1c21b5[_0x5c6d('0x52')][_0x5c6d('0x2d')](_0x589e13=>!_0x589e13[0x0][_0x5c6d('0x1a')](_0x5c6d('0x14'))));}),_0x5deec9;}}function F(_0x2f0975,_0x1f3a66){const _0x264fcc=_0x1f3a66['editing'][_0x5c6d('0xbb')][_0x5c6d('0x15')];if(_0x5c6d('0xed')==typeof _0x2f0975)return new _0xfc94e1(_0x264fcc,_0x2f0975);{const _0x5b7868=_0x2f0975[_0x5c6d('0x2')][_0x5c6d('0x21')](_0x4ac7b0=>F(_0x4ac7b0,_0x1f3a66));return new(V[_0x2f0975['type']]||_0xa5b306)(_0x264fcc,_0x2f0975[_0x5c6d('0x42')],_0x2f0975[_0x5c6d('0x52')],_0x5b7868);}}class T{constructor(_0x3f0aee){this[_0x5c6d('0x49')]=_0x3f0aee,this[_0x5c6d('0x60')]=new Map(),this[_0x5c6d('0x8c')]=-0x1,this[_0x5c6d('0x1f')]=-0x1,this[_0x5c6d('0x89')]=new Map(),this['_diffRoots']=new Map(),this[_0x5c6d('0x31')]=new Map(),this['_idsRoots']=new Map(),this['_baseIdsRoots']=new Map(),this[_0x5c6d('0x5c')]=new Map(),this[_0x5c6d('0x91')]=new Map(),this[_0x5c6d('0x5')]=0x1,this['_rootNames']=this['editor'][_0x5c6d('0x26')][_0x5c6d('0x15')][_0x5c6d('0x11')](),this[_0x5c6d('0x24')][_0x5c6d('0xe1')](_0x5c6d('0xee'));}[_0x5c6d('0xa8')](_0x21fc2b){this[_0x5c6d('0xe')]=_0x21fc2b;const _0x5f357e=new Map();for(const _0x365799 of this[_0x5c6d('0x24')]){const _0x2cb670=J(this[_0x5c6d('0x49')]['model'][_0x5c6d('0x15')]['getRoot'](_0x365799));_0x5f357e['set'](_0x365799,_0x2cb670);}const _0x5775b1=Array[_0x5c6d('0x8e')](this['editor'][_0x5c6d('0x26')]['markers'])[_0x5c6d('0x21')](_0x5d0a84=>[_0x5d0a84[_0x5c6d('0x42')],_0x5d0a84['getRange']()]),_0x52fd15=this[_0x5c6d('0xe')]['version'];this[_0x5c6d('0x5a')](_0x52fd15,_0x5f357e,_0x5775b1),this[_0x5c6d('0x4c')]=this[_0x5c6d('0x5')];}['getData'](_0x48b6d9,_0x469412){if(this[_0x5c6d('0x8c')]===_0x48b6d9&&this[_0x5c6d('0x1f')]<=_0x469412)this[_0x5c6d('0x60')][_0x5c6d('0x7')]>0x1&&this[_0x5c6d('0xd8')](this['_lastTo']),this[_0x5c6d('0x38')](this[_0x5c6d('0x1f')],_0x469412,!0x0);else{if(!this[_0x5c6d('0x60')][_0x5c6d('0x7f')](_0x48b6d9)){const _0x12a66b=this[_0x5c6d('0x6a')](_0x48b6d9);this[_0x5c6d('0x8b')](_0x12a66b,_0x48b6d9,!0x1);}this[_0x5c6d('0x8b')](_0x48b6d9,_0x469412,!0x0);}return this[_0x5c6d('0x8c')]=_0x48b6d9,this[_0x5c6d('0x1f')]=_0x469412,this[_0x5c6d('0x51')]();}[_0x5c6d('0x83')](_0x1747cb){this['_reset'](),this[_0x5c6d('0x8c')]=_0x1747cb[_0x5c6d('0xe2')],this['_lastTo']=_0x1747cb[_0x5c6d('0xa0')];for(const _0x10af6a in _0x1747cb[_0x5c6d('0x28')]){const _0x463982=this[_0x5c6d('0xdb')](_0x1747cb['diffData'][_0x10af6a][_0x5c6d('0x9c')]);_0x463982['rootName']=_0x10af6a,this[_0x5c6d('0x31')][_0x5c6d('0x69')](_0x10af6a,_0x463982);const _0x1291a8=this['_makeIdsRoot'](_0x463982);this[_0x5c6d('0x3f')]['set'](_0x10af6a,_0x1291a8);for(const [_0x370e19,_0x162c2f]of _0x463982[_0x5c6d('0x34')]){if(!_0x370e19['startsWith']('revision:'))continue;const _0x3bb01b=_0x370e19[_0x5c6d('0xb6')](':')[0x2];for(const _0x384cae of _0x162c2f[_0x5c6d('0x32')]({'singleCharacters':!0x0})){const _0x40546d=this[_0x5c6d('0xec')](_0x384cae),_0x5995e1=_0x5c6d('0xde')==_0x384cae['type']?_0x384cae['previousPosition'][_0x5c6d('0x70')][_0x5c6d('0xe7')](0x0,-0x1):_0x384cae['previousPosition'][_0x5c6d('0x70')],_0x499266=_0x1291a8[_0x5c6d('0x1c')](_0x5995e1)[_0x5c6d('0x6')](_0x40546d);this[_0x5c6d('0x5c')][_0x5c6d('0x69')](_0x499266,{'userId':_0x3bb01b});}}}this[_0x5c6d('0x4c')]=this[_0x5c6d('0x5')];const _0xd2a5d0=[...Array(this[_0x5c6d('0x5')])[_0x5c6d('0x66')]()][_0x5c6d('0xe7')](0x1)[_0x5c6d('0x2d')](_0x24466b=>!this['_touched'][_0x5c6d('0x7f')](_0x24466b));let _0x5d012d=0x0;for(const _0x203ca2 in _0x1747cb[_0x5c6d('0x28')]){const _0xbebc13=this[_0x5c6d('0xdb')](_0x1747cb[_0x5c6d('0x28')][_0x203ca2][_0x5c6d('0xc3')]);_0xbebc13[_0x5c6d('0xa2')]=_0x203ca2,this[_0x5c6d('0xc')][_0x5c6d('0x69')](_0x203ca2,_0xbebc13);const _0x1f5a08=this[_0x5c6d('0x44')](_0xbebc13,Number['NEGATIVE_INFINITY']);this[_0x5c6d('0xae')][_0x5c6d('0x69')](_0x203ca2,_0x1f5a08);for(const [_0x145f36,_0xcb7670]of _0xbebc13[_0x5c6d('0x34')]){if(!_0x145f36['startsWith']('revision:'))continue;const _0x5b141f=_0x145f36[_0x5c6d('0xb6')](':')[0x2];for(const _0x1d4edf of _0xcb7670[_0x5c6d('0x32')]({'singleCharacters':!0x0})){const _0x5e33b3=this[_0x5c6d('0xec')](_0x1d4edf),_0x450b66=this[_0x5c6d('0x5')]++,_0xc5ebda=_0x5c6d('0xde')==_0x1d4edf['type']?_0x1d4edf['previousPosition'][_0x5c6d('0x70')][_0x5c6d('0xe7')](0x0,-0x1):_0x1d4edf[_0x5c6d('0xeb')][_0x5c6d('0x70')];_0x1f5a08['getNodeByPath'](_0xc5ebda)['_setAttribute'](_0x5e33b3,_0x450b66),this[_0x5c6d('0x5c')]['set'](_0x450b66,{'userId':_0x5b141f});}}for(const _0x4cc740 of this['editor'][_0x5c6d('0x26')][_0x5c6d('0x16')](_0xbebc13)[_0x5c6d('0x32')]({'singleCharacters':!0x0})){const _0x2f2290=this[_0x5c6d('0xec')](_0x4cc740),_0x72df2b='elementEnd'==_0x4cc740[_0x5c6d('0xe5')]?_0x4cc740[_0x5c6d('0xeb')][_0x5c6d('0x70')][_0x5c6d('0xe7')](0x0,-0x1):_0x4cc740[_0x5c6d('0xeb')][_0x5c6d('0x70')],_0x2c631d=_0x1f5a08[_0x5c6d('0x1c')](_0x72df2b);_0x2c631d[_0x5c6d('0x6')](_0x2f2290)>0x0||_0x2c631d['_setAttribute'](_0x2f2290,_0xd2a5d0[_0x5d012d++]);}const _0x2c2cb4=new _0x5c8a1f();_0x2c2cb4[_0x5c6d('0xa2')]=_0x5c6d('0xee'),this[_0x5c6d('0x31')][_0x5c6d('0x69')]('$graveyard',_0x2c2cb4),this[_0x5c6d('0x3f')]['set'](_0x5c6d('0xee'),this['_makeIdsRoot'](_0x2c2cb4,0x1));const _0x43dcf4=new _0x5c8a1f();_0x43dcf4[_0x5c6d('0xa2')]=_0x5c6d('0xee'),this[_0x5c6d('0xc')][_0x5c6d('0x69')](_0x5c6d('0xee'),_0x43dcf4),this[_0x5c6d('0xae')]['set'](_0x5c6d('0xee'),this[_0x5c6d('0x44')](_0x43dcf4,0x1));for(const [_0x519884,_0x315842]of _0xbebc13[_0x5c6d('0x34')])_0x519884[_0x5c6d('0x1a')](_0x5c6d('0x57'))||this[_0x5c6d('0x89')][_0x5c6d('0x69')](_0x519884,_0x315842);}const _0x4aed63=Array[_0x5c6d('0x8e')](this['_diffRoots'])[_0x5c6d('0x21')](([_0x591a72,_0x6c84d6])=>[_0x591a72,J(_0x6c84d6)]);this[_0x5c6d('0x5a')](this['_lastTo'],_0x4aed63,this['_markers']);}['_makeModelFromViewString'](_0x3f346e){const _0x56b5d2=JSON[_0x5c6d('0x54')](_0x3f346e),_0xf83a3f=this[_0x5c6d('0x49')][_0x5c6d('0xe8')][_0x5c6d('0xbb')]['document'],_0x3bc273=new _0x4ceba3(_0xf83a3f,_0x56b5d2[_0x5c6d('0x21')](_0x4b6a42=>F(_0x4b6a42,this[_0x5c6d('0x49')])));return this['editor'][_0x5c6d('0xe0')][_0x5c6d('0x12')](_0x3bc273);}['_saveEmptyMetaData'](){const _0x35088f=new Map();for(const _0x2d2097 of this[_0x5c6d('0x24')]){const _0x4dae75=new _0x5c8a1f();_0x4dae75[_0x5c6d('0xa2')]=_0x2d2097,_0x35088f[_0x5c6d('0x69')](_0x2d2097,_0x4dae75);}this[_0x5c6d('0x5a')](Number[_0x5c6d('0x39')],_0x35088f,[]);}[_0x5c6d('0x5a')](_0x3fc4ca,_0x2701b9,_0x185cf0){const _0x31efb8=new Map(_0x2701b9),_0x1ec6df=new Map();for(const [_0x532837,_0x554310]of _0x185cf0)_0x1ec6df[_0x5c6d('0x69')](_0x532837,{'start':_0x554310[_0x5c6d('0xa9')]['clone'](),'end':_0x554310[_0x5c6d('0xd3')][_0x5c6d('0x47')](),'rootName':_0x554310['root'][_0x5c6d('0xa2')]});this[_0x5c6d('0x60')][_0x5c6d('0x69')](_0x3fc4ca,{'roots':_0x31efb8,'markers':_0x1ec6df});}[_0x5c6d('0xd8')](_0x349484){this[_0x5c6d('0x60')][_0x5c6d('0x45')](_0x349484);}[_0x5c6d('0x27')](){this[_0x5c6d('0xbd')](),this[_0x5c6d('0x8c')]=-0x1,this[_0x5c6d('0x1f')]=-0x1,this['_savedMetaData']['clear'](),this[_0x5c6d('0xa8')](this['source']);}[_0x5c6d('0xbd')](){this[_0x5c6d('0x5c')][_0x5c6d('0x4b')](),this['_touchedMarkers']['clear'](),this[_0x5c6d('0xc')][_0x5c6d('0x4b')](),this['_baseRoots']['clear'](),this[_0x5c6d('0xae')]['clear'](),this['_baseIdsRoots'][_0x5c6d('0x4b')](),this[_0x5c6d('0x89')][_0x5c6d('0x4b')](),this[_0x5c6d('0x5')]=0x1,this[_0x5c6d('0x4c')]=this['_revisionId'];}[_0x5c6d('0x44')](_0x37c389,_0x14862b=null){let _0x19b24c=null;_0x37c389['is'](_0x5c6d('0xc9'))||(_0x19b24c=new _0x32778a(_0x37c389[_0x5c6d('0x42')],{'vid_start':null===_0x14862b?this[_0x5c6d('0x5')]++:_0x14862b++}));const _0xfd85cc=[];for(const _0x4f6d2f of _0x37c389[_0x5c6d('0xb2')]())if(_0x4f6d2f['is']('element')){_0xfd85cc[_0x5c6d('0xe1')](this[_0x5c6d('0x44')](_0x4f6d2f,_0x14862b));const _0x25d93e=_0xfd85cc[_0xfd85cc['length']-0x1];null!==_0x14862b&&(_0x14862b=_0x25d93e['is']('element',_0x5c6d('0x17'))?_0x25d93e[_0x5c6d('0x6')]('vid')+0x1:_0x25d93e[_0x5c6d('0x6')](_0x5c6d('0x1'))+0x1);}else for(let _0x51d40b=0x0;_0x51d40b<_0x4f6d2f[_0x5c6d('0x78')];_0x51d40b++)_0xfd85cc[_0x5c6d('0xe1')](new _0x32778a(_0x5c6d('0x17'),{'vid':null===_0x14862b?this[_0x5c6d('0x5')]++:_0x14862b++}));if(_0x37c389['is'](_0x5c6d('0xc9'))){const _0x35d0ae=new _0x5c8a1f(_0xfd85cc);return _0x35d0ae[_0x5c6d('0xa2')]=_0x37c389['rootName'],_0x35d0ae;}return _0x19b24c[_0x5c6d('0x30')]('vid_end',null===_0x14862b?this[_0x5c6d('0x5')]++:_0x14862b++),_0x19b24c['_insertChild'](0x0,_0xfd85cc),_0x19b24c;}[_0x5c6d('0x8b')](_0x2ecde6,_0x316241,_0x1d71a0){this[_0x5c6d('0xbd')]();const {roots:_0x177475,markers:_0x57fa92}=this['_savedMetaData'][_0x5c6d('0x5b')](_0x2ecde6);this[_0x5c6d('0x31')]=new Map(_0x177475);for(const [_0x535261,_0x2c1413]of this[_0x5c6d('0x31')])if(_0x5c6d('0xee')!==_0x535261&&(this['_diffRoots']['set'](_0x535261,J(_0x2c1413)),_0x1d71a0)){const _0xec1ec0=this[_0x5c6d('0x5')];this['_idsRoots']['set'](_0x535261,this[_0x5c6d('0x44')](_0x2c1413)),this[_0x5c6d('0x3f')][_0x5c6d('0x69')](_0x535261,this[_0x5c6d('0x44')](_0x2c1413,_0xec1ec0));}this[_0x5c6d('0x4c')]=this['_revisionId'],this[_0x5c6d('0xc')]['set'](_0x5c6d('0xee'),J(this['_baseRoots'][_0x5c6d('0x5b')](_0x5c6d('0xee')))),_0x1d71a0&&this[_0x5c6d('0xae')][_0x5c6d('0x69')](_0x5c6d('0xee'),this[_0x5c6d('0x44')](this['_baseRoots'][_0x5c6d('0x5b')](_0x5c6d('0xee'))));for(const [_0x442838,_0x5c01d1]of _0x57fa92){const _0x3458be=this[_0x5c6d('0x31')][_0x5c6d('0x5b')](_0x5c01d1[_0x5c6d('0xa2')]),_0x5cd135=this[_0x5c6d('0xc')][_0x5c6d('0x5b')](_0x5c01d1[_0x5c6d('0xa2')]),_0x18fb1e=new _0x4bafe2(this['_fixPosition'](_0x5c01d1[_0x5c6d('0xa9')],_0x3458be),this[_0x5c6d('0x7e')](_0x5c01d1[_0x5c6d('0xd3')],_0x3458be)),_0x5b3622=this[_0x5c6d('0x23')](_0x18fb1e,_0x5cd135);_0x3458be[_0x5c6d('0x34')]['set'](_0x442838,_0x18fb1e),this[_0x5c6d('0x89')][_0x5c6d('0x69')](_0x442838,_0x5b3622);}this[_0x5c6d('0x38')](_0x2ecde6,_0x316241,_0x1d71a0);}['_applyOperations'](_0xc6a9eb,_0x4a3480,_0x3e5a7e){for(const _0x124375 of this[_0x5c6d('0xe')]['getOperations'](_0xc6a9eb,_0x4a3480))this[_0x5c6d('0xd9')](_0x124375,_0x3e5a7e);for(const _0x2fe03d of this['_diffRoots'][_0x5c6d('0x7b')]())_0x2fe03d[_0x5c6d('0x34')]['clear']();for(const [_0x4d005e,_0x2bc741]of this[_0x5c6d('0x89')]){this[_0x5c6d('0xc')][_0x5c6d('0x5b')](_0x2bc741[_0x5c6d('0x98')][_0x5c6d('0xa2')])[_0x5c6d('0x34')][_0x5c6d('0x69')](_0x4d005e,_0x2bc741[_0x5c6d('0x47')]());}this[_0x5c6d('0x5a')](_0x4a3480,Array['from'](this[_0x5c6d('0xc')])[_0x5c6d('0x21')](([_0x2f643e,_0x5c2eaf])=>[_0x2f643e,J(_0x5c2eaf)]),this[_0x5c6d('0x89')]);}[_0x5c6d('0x6a')](_0x55aeb0){const _0x17378b=Array['from'](this[_0x5c6d('0x60')][_0x5c6d('0x66')]());_0x17378b[_0x5c6d('0x72')]((_0x4f3193,_0x233ec5)=>_0x4f3193-_0x233ec5),_0x17378b['reverse']();for(const _0x2c2681 of _0x17378b)if(_0x2c2681<_0x55aeb0)return _0x2c2681;return this['_saveEmptyMetaData'](),Number['NEGATIVE_INFINITY'];}['_copyMarkers'](_0x5569c5,_0x1571c3){const _0x43b713=Array[_0x5c6d('0x8e')](_0x1571c3[_0x5c6d('0x34')])[_0x5c6d('0x21')](([_0x51b056,_0x331d8a])=>[_0x51b056,this[_0x5c6d('0x23')](_0x331d8a,_0x5569c5)]);_0x5569c5[_0x5c6d('0x34')]=new Map(_0x43b713);}[_0x5c6d('0x2f')](_0x4a6caf){for(const _0x3bf35e of this[_0x5c6d('0x89')][_0x5c6d('0x7b')]()){const _0x2ae764=_0x3bf35e[_0x5c6d('0xdc')](_0x4a6caf),_0x59a178=_0x4bafe2[_0x5c6d('0x74')](_0x2ae764);_0x3bf35e[_0x5c6d('0xa9')]=_0x59a178['start'],_0x3bf35e['end']=_0x59a178[_0x5c6d('0xd3')];}}['_handleOperation'](_0x36573a,_0x16558a){const _0x163f7f=this[_0x5c6d('0xb0')](_0x36573a,this[_0x5c6d('0xc')]);if(_0x5c6d('0x76')!==_0x36573a['type']&&(_0x163f7f[_0x5c6d('0xac')](),this[_0x5c6d('0x2f')](_0x163f7f)),_0x16558a)switch(_0x163f7f[_0x5c6d('0xe5')]){case _0x5c6d('0xd4'):this[_0x5c6d('0x3b')](_0x36573a);break;case _0x5c6d('0x13'):case _0x5c6d('0x87'):case _0x5c6d('0x6f'):this[_0x5c6d('0x2b')](_0x36573a);break;case _0x5c6d('0x55'):this[_0x5c6d('0x65')](_0x36573a);break;case _0x5c6d('0xb6'):this[_0x5c6d('0xdf')](_0x36573a);break;case _0x5c6d('0x76'):this['_handleMarkerOperation'](_0x36573a);}}['_cloneOperation'](_0x3babc1,_0x41426e){const _0x4feb26=_0x3babc1[_0x5c6d('0x47')]();return _0x4feb26['_authorId']=_0x3babc1['_authorId'],this[_0x5c6d('0x1b')](_0x4feb26,_0x41426e),_0x4feb26;}['_getBaseVids'](_0xdfd8f2){return _0xdfd8f2[_0x5c6d('0x21')](_0x10b44f=>{const _0x1e20d2=this[_0x5c6d('0xec')](_0x10b44f);return Number(_0x10b44f['item']['getAttribute'](_0x1e20d2));});}[_0x5c6d('0xbf')](_0x1a84f9,_0x5bb818){if(_0x1a84f9['is'](_0x5c6d('0xa6'),_0x5c6d('0x17')))_0x5bb818[_0x5c6d('0xe1')]({'item':_0x1a84f9,'type':_0x5c6d('0xf0')});else{_0x1a84f9['is']('element')&&_0x5bb818[_0x5c6d('0xe1')]({'item':_0x1a84f9,'type':_0x5c6d('0x79')});for(const _0x5dc22a of _0x1a84f9[_0x5c6d('0xb2')]())this['_generateTape'](_0x5dc22a,_0x5bb818);_0x1a84f9['is'](_0x5c6d('0xa6'))&&_0x5bb818[_0x5c6d('0xe1')]({'item':_0x1a84f9,'type':'elementEnd'});}return _0x5bb818;}['_getState'](){const _0x5c3008=this[_0x5c6d('0x49')][_0x5c6d('0x26')]['document'][_0x5c6d('0x11')](),_0x41418b=new Map(this[_0x5c6d('0x5c')]),_0x291493=new Map(_0x41418b),_0x7ef5eb=new Map(),_0xab11c8={'insertions':{},'deletions':{}},_0x542964={'insertions':{},'deletions':{}},_0x468d9b=new Map();for(const _0x3a0bbf of _0x5c3008){const _0x1f0a29=this[_0x5c6d('0xc')][_0x5c6d('0x5b')](_0x3a0bbf),_0x22e2f0=this[_0x5c6d('0x31')]['get'](_0x3a0bbf);_0xab11c8[_0x5c6d('0xc3')][_0x3a0bbf]=J(_0x1f0a29),_0xab11c8[_0x5c6d('0x9c')][_0x3a0bbf]=J(_0x22e2f0),this[_0x5c6d('0x7a')](_0xab11c8[_0x5c6d('0x9c')][_0x3a0bbf],_0x22e2f0),this[_0x5c6d('0x7a')](_0xab11c8[_0x5c6d('0xc3')][_0x3a0bbf],_0x1f0a29),_0x542964['insertions'][_0x3a0bbf]=this[_0x5c6d('0xbf')](this[_0x5c6d('0xae')]['get'](_0x3a0bbf),[]),_0x542964[_0x5c6d('0x9c')][_0x3a0bbf]=this['_generateTape'](this[_0x5c6d('0x3f')][_0x5c6d('0x5b')](_0x3a0bbf),[]);}for(const _0x23c0cb of _0x5c3008){const _0x5a1bd3=_0x542964[_0x5c6d('0xc3')][_0x23c0cb];for(const _0x18e984 of _0x5a1bd3){const _0x19d286=this[_0x5c6d('0xec')](_0x18e984),_0x5aa93a=_0x18e984[_0x5c6d('0x59')][_0x5c6d('0x6')](_0x19d286);_0x291493[_0x5c6d('0x45')](_0x5aa93a),_0x5aa93a>=this[_0x5c6d('0x4c')]&&_0x7ef5eb[_0x5c6d('0x69')](_0x5aa93a,_0x41418b[_0x5c6d('0x5b')](_0x5aa93a));}}for(const _0x4c2184 of _0x5c3008){const _0x4340ee=_0x542964[_0x5c6d('0xc3')][_0x4c2184],_0x25e346=this[_0x5c6d('0x58')](_0x542964[_0x5c6d('0x9c')][_0x4c2184]);let _0x14e679=0x0;for(const _0x12ce04 of _0x4340ee){const _0x3fc921=this['_getVidAttributeName'](_0x12ce04),_0x212e45=_0x12ce04[_0x5c6d('0x59')]['getAttribute'](_0x3fc921);if(!_0x7ef5eb[_0x5c6d('0x7f')](_0x212e45)&&!_0x468d9b['has'](_0x212e45)){if(_0x291493[_0x5c6d('0x7f')](_0x212e45))_0x14e679++;else{if(_0x212e45!=_0x25e346[_0x14e679]){const _0x28c74a=_0x41418b[_0x5c6d('0x5b')](_0x212e45)||_0x41418b[_0x5c6d('0x5b')](_0x25e346[_0x14e679]);for(;_0x212e45!=_0x25e346[_0x14e679];)_0x291493[_0x5c6d('0x7f')](_0x25e346[_0x14e679])||(_0x468d9b[_0x5c6d('0x69')](_0x25e346[_0x14e679],_0x28c74a),_0x41418b[_0x5c6d('0x69')](_0x25e346[_0x14e679],_0x28c74a)),_0x14e679++;}_0x14e679++;}}}}for(const _0x46e076 of _0x5c3008){const _0xf8b7f2=_0x542964[_0x5c6d('0xc3')][_0x46e076];for(const _0x298749 of _0xf8b7f2){const _0x6ef235=this[_0x5c6d('0xec')](_0x298749),_0x285268=_0x298749['item']['getAttribute'](_0x6ef235);if(_0x468d9b['has'](_0x285268)){const _0x32e1cb=_0x468d9b[_0x5c6d('0x5b')](_0x285268);_0x291493[_0x5c6d('0x7f')](_0x285268)||_0x291493[_0x5c6d('0x69')](_0x285268,{..._0x32e1cb}),_0x7ef5eb[_0x5c6d('0x69')](_0x285268,{..._0x32e1cb});}}}for(const _0xd0e85c of _0x291493['keys']())_0xd0e85c>=this[_0x5c6d('0x4c')]&&_0x291493[_0x5c6d('0x45')](_0xd0e85c);const _0x159f9c=new Map();for(const _0x49d1de of _0x5c3008){let _0x3efe2a=_0x542964[_0x5c6d('0xc3')][_0x49d1de];for(const _0x271173 of _0x3efe2a)if(_0x271173[_0x5c6d('0x59')]['is'](_0x5c6d('0xa6'),_0x5c6d('0xbc'))){const _0x375e18=this['_getVidAttributeName'](_0x271173),_0x438e86=_0x271173[_0x5c6d('0x59')][_0x5c6d('0x6')](_0x375e18);if(_0x7ef5eb[_0x5c6d('0x7f')](_0x438e86)){const _0x7b1b36=_0x271173[_0x5c6d('0x59')][_0x5c6d('0x94')]['parent'][_0x5c6d('0x6')](_0x5c6d('0xa7')),_0x2a95dc=_0x159f9c['get'](_0x7b1b36)||new Set();_0x2a95dc[_0x5c6d('0x8f')](_0x7ef5eb['get'](_0x438e86)['userId']),_0x159f9c['set'](_0x7b1b36,_0x2a95dc);}}_0x3efe2a=_0x542964[_0x5c6d('0x9c')][_0x49d1de];for(const _0x291e1d of _0x3efe2a)if(_0x291e1d[_0x5c6d('0x59')]['is']('element',_0x5c6d('0xbc'))){const _0x5eeaca=this[_0x5c6d('0xec')](_0x291e1d),_0x2b4dbc=_0x291e1d[_0x5c6d('0x59')]['getAttribute'](_0x5eeaca);if(_0x291493[_0x5c6d('0x7f')](_0x2b4dbc)){const _0x2e3d3b=_0x291e1d[_0x5c6d('0x59')][_0x5c6d('0x94')]['parent'][_0x5c6d('0x6')](_0x5c6d('0xa7')),_0x32fab2=_0x159f9c[_0x5c6d('0x5b')](_0x2e3d3b)||new Set();_0x32fab2[_0x5c6d('0x8f')](_0x291493[_0x5c6d('0x5b')](_0x2b4dbc)[_0x5c6d('0x3c')]),_0x159f9c['set'](_0x2e3d3b,_0x32fab2);}}for(const _0x434d90 of _0x159f9c[_0x5c6d('0x66')]())(_0x7ef5eb[_0x5c6d('0x7f')](_0x434d90)||_0x291493[_0x5c6d('0x7f')](_0x434d90))&&_0x159f9c[_0x5c6d('0x45')](_0x434d90);}for(const _0x22bdfa of _0x5c3008){const _0x37e0ae=_0x542964[_0x5c6d('0xc3')][_0x22bdfa];let _0x398451=null,_0x4f505a=null;for(const _0x4bf46d of _0x37e0ae){const _0x564e7f=this['_getVidAttributeName'](_0x4bf46d),_0x44ac76=_0x4bf46d[_0x5c6d('0x59')]['getAttribute'](_0x564e7f),_0x2fc53b=_0x159f9c[_0x5c6d('0x5b')](_0x44ac76);_0x2fc53b&&_0x5c6d('0x79')==_0x4bf46d['type']&&(_0x398451=Array['from'](_0x2fc53b)[0x0],_0x4f505a=_0x4bf46d[_0x5c6d('0x59')][_0x5c6d('0x6')](_0x5c6d('0x1'))),_0x398451&&(_0x291493[_0x5c6d('0x69')](_0x44ac76,{'userId':_0x398451}),_0x7ef5eb['set'](_0x44ac76,{'userId':_0x398451})),_0x44ac76==_0x4f505a&&(_0x398451=null,_0x4f505a=null);}}const _0x55eb86={},_0x3f1488=new Set();for(const _0x1d0c1b of _0x5c3008){const _0xc571e8=_0xab11c8[_0x5c6d('0x9c')][_0x1d0c1b],_0x532b7d=_0xab11c8[_0x5c6d('0xc3')][_0x1d0c1b];for(const {userId:_0x538a43}of this[_0x5c6d('0x91')][_0x5c6d('0x7b')]())null!==_0x538a43&&_0x3f1488[_0x5c6d('0x8f')](_0x538a43);this[_0x5c6d('0xb8')](_0x532b7d,_0x542964['insertions'][_0x1d0c1b],_0x7ef5eb,_0x5c6d('0x84'),_0x3f1488),this[_0x5c6d('0xb8')](_0xc571e8,_0x542964[_0x5c6d('0x9c')][_0x1d0c1b],_0x291493,_0x5c6d('0x95'),_0x3f1488),_0x55eb86[_0x1d0c1b]={'insertions':this[_0x5c6d('0x68')](_0x532b7d),'deletions':this['_prepareViewToSave'](_0xc571e8)};}return{'diffData':_0x55eb86,'authorsIds':Array[_0x5c6d('0x8e')](_0x3f1488)};}['_processRootBeforeSave'](_0x30aa81){for(const [,_0x1ee6dc]of _0x30aa81[_0x5c6d('0x34')]){const _0x40ff34=_0x1ee6dc[_0x5c6d('0xa9')][_0x5c6d('0xdd')]()['filter'](_0xf5a855=>_0x5c6d('0xbc')==_0xf5a855[_0x5c6d('0x42')]);for(const _0x339341 of _0x40ff34)0x1==_0x339341['childCount']&&_0x339341[_0x5c6d('0x6d')](0x0)['is'](_0x5c6d('0xa6'),'paragraph')&&_0x339341['getChild'](0x0)[_0x5c6d('0x30')](_0x5c6d('0xa'),!0x0);}}['_prepareViewToSave'](_0x6c4154){this[_0x5c6d('0x33')](_0x6c4154);const _0xc218c5=this[_0x5c6d('0x49')][_0x5c6d('0xe0')][_0x5c6d('0x63')](_0x6c4154,{}),_0x43988c=Array[_0x5c6d('0x8e')](_0xc218c5[_0x5c6d('0xb2')]())['map'](_0xbaaa8d=>this[_0x5c6d('0x40')](_0xbaaa8d));return JSON[_0x5c6d('0xda')](_0x43988c);}[_0x5c6d('0x40')](_0x115eaf){if(_0x115eaf['is'](_0x5c6d('0xf0')))return _0x115eaf['data'];return{'type':Object[_0x5c6d('0x66')](V)['find'](_0x29bc5f=>_0x115eaf instanceof V[_0x29bc5f]),'name':_0x115eaf[_0x5c6d('0x42')],'attributes':Array[_0x5c6d('0x8e')](_0x115eaf[_0x5c6d('0x36')]()),'children':Array[_0x5c6d('0x8e')](_0x115eaf[_0x5c6d('0xb2')]())[_0x5c6d('0x21')](_0x3dcf4b=>this[_0x5c6d('0x40')](_0x3dcf4b))};}[_0x5c6d('0xb8')](_0x571ebd,_0x2c6fa3,_0x359936,_0x23edb9,_0x2b49e6){let _0x1d664f=null,_0x1b7630=null,_0x1bd654=0x0;const _0x12ddca=this[_0x5c6d('0x49')]['model'];for(let _0x4bfb53=0x0;_0x4bfb53<_0x2c6fa3[_0x5c6d('0x88')];_0x4bfb53++){const _0x2efcc0=this[_0x5c6d('0xec')](_0x2c6fa3[_0x4bfb53]),_0x439116=_0x2c6fa3[_0x4bfb53][_0x5c6d('0x59')]['getAttribute'](_0x2efcc0),_0x280d75=_0x359936['get'](_0x439116),_0x41b6ee=_0x4bfb53==_0x2c6fa3[_0x5c6d('0x88')]-0x1;(!_0x1d664f&&_0x280d75&&(_0x1d664f=_0x280d75,_0x1b7630=_0x2c6fa3[_0x4bfb53]),_0x1d664f&&(!_0x280d75||_0x280d75[_0x5c6d('0x3c')]!=_0x1d664f[_0x5c6d('0x3c')]))&&(_0xa6794b(_0x280d75,j(_0x1b7630,_0x571ebd,_0x12ddca),j(_0x2c6fa3[_0x4bfb53],_0x571ebd,_0x12ddca)),_0x1d664f=_0x280d75||null,_0x1b7630=_0x280d75?_0x2c6fa3[_0x4bfb53]:null),_0x1d664f&&_0x41b6ee&&_0xa6794b(_0x280d75,j(_0x1b7630,_0x571ebd,_0x12ddca),B(_0x2c6fa3[_0x4bfb53],_0x571ebd,_0x12ddca));}function _0xa6794b(_0x36b51a,_0x56bc44,_0x226d0b){const _0xd94df9=_0x1d664f[_0x5c6d('0x3c')],_0x4ac696=_0x5c6d('0x57')+_0x23edb9+':'+_0xd94df9+':'+_0x1bd654++,_0x4b828b=_0x12ddca[_0x5c6d('0x46')](_0x56bc44,_0x226d0b);_0x571ebd[_0x5c6d('0x34')]['set'](_0x4ac696,_0x4b828b),null!==_0xd94df9&&_0x2b49e6['add'](_0xd94df9);}}[_0x5c6d('0xec')](_0x5554ad){switch(_0x5554ad[_0x5c6d('0xe5')]){case _0x5c6d('0x79'):return'vid_start';case _0x5c6d('0xde'):return _0x5c6d('0x1');default:return _0x5c6d('0xbe');}}[_0x5c6d('0x1b')](_0x32a910,_0xf66555){_0x32a910[_0x5c6d('0x29')]=null;for(const _0x2df786 in _0x32a910){if(_0x32a910[_0x2df786]instanceof _0x302755){const _0x29d1a9=_0xf66555['get'](_0x32a910[_0x2df786][_0x5c6d('0x98')]['rootName']);_0x32a910[_0x2df786]=this[_0x5c6d('0x7e')](_0x32a910[_0x2df786],_0x29d1a9);}if(_0x32a910[_0x2df786]instanceof _0x4bafe2){const _0x6b292=_0xf66555[_0x5c6d('0x5b')](_0x32a910[_0x2df786][_0x5c6d('0x98')][_0x5c6d('0xa2')]);_0x32a910[_0x2df786]=this[_0x5c6d('0x23')](_0x32a910[_0x2df786],_0x6b292);}}_0x32a910['root']&&(_0x32a910[_0x5c6d('0x98')]=_0xf66555[_0x5c6d('0x5b')](_0x32a910[_0x5c6d('0x98')][_0x5c6d('0xa2')]));}[_0x5c6d('0x23')](_0x13641d,_0x44c8c3){return this['editor'][_0x5c6d('0x26')][_0x5c6d('0x46')](this[_0x5c6d('0x7e')](_0x13641d[_0x5c6d('0xa9')],_0x44c8c3),this[_0x5c6d('0x7e')](_0x13641d[_0x5c6d('0xd3')],_0x44c8c3));}[_0x5c6d('0x7e')](_0x3e2958,_0x5a7fdb){return this[_0x5c6d('0x49')][_0x5c6d('0x26')][_0x5c6d('0x62')](_0x5a7fdb,_0x3e2958[_0x5c6d('0x70')],_0x3e2958[_0x5c6d('0xa1')]);}[_0x5c6d('0x3b')](_0x1e714c){const _0x5c7e45=this['_idsRoots'][_0x5c6d('0x5b')](_0x1e714c[_0x5c6d('0x92')][_0x5c6d('0x98')]['rootName']),_0xfa925b=this[_0x5c6d('0x7e')](_0x1e714c[_0x5c6d('0x92')],_0x5c7e45),_0x2b97ca=null===_0x1e714c['_authorId']?null:_0x1e714c[_0x5c6d('0xaa')]||this[_0x5c6d('0x49')][_0x5c6d('0x93')]['get']('Users')['me']['id'],_0x1d1032=_0xfa925b['parent'],_0x3c9f30=this[_0x5c6d('0x5')],_0x5b08d5=[];for(const _0x5cad70 of _0x1e714c[_0x5c6d('0xaf')])if(_0x5cad70['is']('element'))_0x5b08d5['push'](this[_0x5c6d('0x44')](_0x5cad70));else for(let _0xc30caf=0x0;_0xc30caf<_0x5cad70['offsetSize'];_0xc30caf++)_0x5b08d5[_0x5c6d('0xe1')](new _0x32778a(_0x5c6d('0x17'),{'vid':this[_0x5c6d('0x5')]++}));const _0x1f4c7e=this[_0x5c6d('0x5')];for(let _0x4aa123=_0x3c9f30;_0x4aa123<_0x1f4c7e;_0x4aa123++)this[_0x5c6d('0x5c')][_0x5c6d('0x69')](_0x4aa123,{'userId':_0x2b97ca});_0x1d1032['_insertChild'](_0xfa925b[_0x5c6d('0xb4')],_0x5b08d5);}[_0x5c6d('0x2b')](_0x27a67a){(_0x27a67a=this[_0x5c6d('0xb0')](_0x27a67a,this[_0x5c6d('0xae')]))[_0x5c6d('0xac')]();const _0x44aace=null===_0x27a67a[_0x5c6d('0xaa')]?null:_0x27a67a[_0x5c6d('0xaa')]||this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')](_0x5c6d('0x80'))['me']['id'],_0x5111fc=_0x27a67a['getMovedRangeStart'](),_0x26998b=_0x5111fc[_0x5c6d('0x94')],_0x1730c0=_0x5111fc[_0x5c6d('0xb4')];!function _0x296c64(_0x5a5427,_0x505919,_0x3ffe13,_0x3b989b){for(let _0x1bb696=_0x3ffe13;_0x1bb696<_0x3b989b;_0x1bb696++){const _0x460bd7=_0x505919[_0x5c6d('0x6d')](_0x1bb696);_0x460bd7['is'](_0x5c6d('0xa6'),_0x5c6d('0x17'))?_0x5a5427[_0x5c6d('0x69')](_0x460bd7['getAttribute'](_0x5c6d('0xbe')),{'userId':_0x44aace}):(_0x5a5427[_0x5c6d('0x69')](_0x460bd7[_0x5c6d('0x6')]('vid_start'),{'userId':_0x44aace}),_0x296c64(_0x5a5427,_0x460bd7,0x0,_0x460bd7[_0x5c6d('0x37')]),_0x5a5427['set'](_0x460bd7['getAttribute']('vid_end'),{'userId':_0x44aace}));}}(this[_0x5c6d('0x5c')],_0x26998b,_0x1730c0,_0x1730c0+_0x27a67a[_0x5c6d('0x2e')]);}[_0x5c6d('0x65')](_0x301648){const _0x4e53ce=null===(_0x301648=this['_cloneOperation'](_0x301648,this['_idsRoots']))[_0x5c6d('0xaa')]?null:_0x301648[_0x5c6d('0xaa')]||this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')](_0x5c6d('0x80'))['me']['id'],_0x122feb=_0x301648[_0x5c6d('0x8d')][_0x5c6d('0x94')],_0x35d225=_0x301648[_0x5c6d('0x22')][_0x5c6d('0x94')],_0x559904=_0x122feb['getAttribute'](_0x5c6d('0x1')),_0x376c0f=_0x35d225['getAttribute']('vid_start');_0x122feb['_setAttribute'](_0x5c6d('0x1'),_0x35d225['getAttribute']('vid_end')),_0x35d225[_0x5c6d('0x30')](_0x5c6d('0x1'),_0x559904),this['_touched'][_0x5c6d('0x69')](_0x376c0f,{'userId':_0x4e53ce}),this['_touched'][_0x5c6d('0x69')](_0x559904,{'userId':_0x4e53ce}),_0x301648[_0x5c6d('0xac')]();}[_0x5c6d('0xdf')](_0x109ffb){const _0x485705=null===(_0x109ffb=this[_0x5c6d('0xb0')](_0x109ffb,this[_0x5c6d('0xae')]))[_0x5c6d('0xaa')]?null:_0x109ffb[_0x5c6d('0xaa')]||this[_0x5c6d('0x49')][_0x5c6d('0x93')]['get']('Users')['me']['id'],_0x34b17c=_0x109ffb[_0x5c6d('0xe9')],_0x143fc5=_0x109ffb[_0x5c6d('0x85')][_0x5c6d('0x94')];_0x109ffb[_0x5c6d('0xac')]();const _0x1ae10a=_0x143fc5[_0x5c6d('0x6')](_0x5c6d('0x1')),_0x146f9c=_0x109ffb[_0x5c6d('0x6c')][_0x5c6d('0xb')];if(_0x34b17c){const _0x5b2771=_0x146f9c[_0x5c6d('0x6')](_0x5c6d('0x1')),_0x4aa338=_0x143fc5[_0x5c6d('0x6')](_0x5c6d('0x1'));_0x143fc5[_0x5c6d('0x30')](_0x5c6d('0x1'),_0x5b2771),_0x146f9c[_0x5c6d('0x30')](_0x5c6d('0x1'),_0x4aa338),this[_0x5c6d('0x5c')][_0x5c6d('0x69')](_0x143fc5[_0x5c6d('0x6')](_0x5c6d('0x1')),{'userId':_0x485705}),this[_0x5c6d('0x5c')]['set'](_0x146f9c[_0x5c6d('0x6')](_0x5c6d('0xa7')),{'userId':_0x485705});}else{const _0x2de100=this[_0x5c6d('0x5')]++,_0x5f3230=this[_0x5c6d('0x5')]++;_0x143fc5[_0x5c6d('0x30')](_0x5c6d('0x1'),_0x2de100),_0x146f9c['_setAttribute']('vid_start',_0x5f3230),_0x146f9c[_0x5c6d('0x30')](_0x5c6d('0x1'),_0x1ae10a),this[_0x5c6d('0x5c')][_0x5c6d('0x69')](_0x2de100,{'userId':_0x485705}),this['_touched']['set'](_0x5f3230,{'userId':_0x485705});}}[_0x5c6d('0x7d')](_0x3b00f6){if(!_0x3b00f6[_0x5c6d('0x67')])return;const _0x2b2a84=(_0x3b00f6=this[_0x5c6d('0xb0')](_0x3b00f6,this['_diffRoots']))['oldRange']?_0x3b00f6[_0x5c6d('0x9b')]['root']:null,_0x2b9d50=_0x3b00f6[_0x5c6d('0xcc')]?_0x3b00f6[_0x5c6d('0xcc')][_0x5c6d('0x98')]:null;_0x2b2a84&&this[_0x5c6d('0x89')][_0x5c6d('0x45')](_0x3b00f6[_0x5c6d('0x42')]),_0x2b9d50&&this['_markers'][_0x5c6d('0x69')](_0x3b00f6[_0x5c6d('0x42')],_0x3b00f6['newRange'][_0x5c6d('0x47')]());const _0xccd8e6=null===_0x3b00f6['_authorId']?null:_0x3b00f6[_0x5c6d('0xaa')]||this[_0x5c6d('0x49')][_0x5c6d('0x93')][_0x5c6d('0x5b')]('Users')['me']['id'],_0x41ef6b=_0x3b00f6[_0x5c6d('0x42')];if(!this[_0x5c6d('0x91')][_0x5c6d('0x7f')](_0x41ef6b))return void this[_0x5c6d('0x91')][_0x5c6d('0x69')](_0x41ef6b,{'range':_0x3b00f6[_0x5c6d('0x9b')],'userId':_0xccd8e6});const _0x3b25a0=this[_0x5c6d('0x91')][_0x5c6d('0x5b')](_0x41ef6b),_0x49185c=_0x3b25a0[_0x5c6d('0x99')],_0x36bc64=_0x3b00f6[_0x5c6d('0xcc')];null==_0x49185c&&null==_0x36bc64||_0x49185c&&_0x36bc64&&_0x49185c[_0x5c6d('0x9e')](_0x36bc64)?this[_0x5c6d('0x91')]['delete'](_0x3b00f6['name']):_0x3b25a0['userId']=_0xccd8e6;}}function J(_0x2aa62e){const _0x2962c8=new _0x5c8a1f();_0x2962c8[_0x5c6d('0xa2')]=_0x2aa62e[_0x5c6d('0xa2')];for(const _0x293abb of _0x2aa62e['getChildren']()){const _0x19b08f=_0x293abb[_0x5c6d('0x3')](!0x0);_0x2962c8['_appendChild'](_0x19b08f);}return _0x2962c8;}function j(_0x568906,_0x47672a,_0x599a82){const _0x1b5541=_0x5c6d('0xde')==_0x568906['type']?_0x599a82[_0x5c6d('0xb3')](_0x568906[_0x5c6d('0x59')],'end'):_0x599a82[_0x5c6d('0x97')](_0x568906[_0x5c6d('0x59')]);return _0x1b5541[_0x5c6d('0x98')]=_0x47672a,_0x1b5541;}function B(_0x279138,_0x53dc4b,_0x36ff34){const _0x3fe4a7=_0x5c6d('0x79')==_0x279138[_0x5c6d('0xe5')]?_0x36ff34[_0x5c6d('0xb3')](_0x279138[_0x5c6d('0x59')],0x0):_0x36ff34['createPositionAfter'](_0x279138[_0x5c6d('0x59')]);return _0x3fe4a7[_0x5c6d('0x98')]=_0x53dc4b,_0x3fe4a7;}
|
|
23
|
+
const _0x310c=['_getViewJson','getWalker','createRange','Empty\x20document','affectsData','_isPendingUpdate','getRevision','clone','deletions','RealTimeCollaborationClient','$text','_handleMergeOperation','_getPreviousFrom','_markers','elementStart','_fixRange','toVersion','roots','tableCell','locale','parse','_reset','_execute','clear','keepParagraph','start','vid_end','stickiness','view','startsWith','getRoot','_removeRevisionMarkers','markers','editing','get','_loadState','element','toModel','getTime','marker','adapter','toView','default','forEach','loadState','initialData','_loadedStateData','afterInit','keys','getRevisions','values','_isInit','authors','_copyMarkers','map','nodes','isReady','_appendChild','_clone','setSource','collaboration.channelId','init','includes','type','_setConversion','creatorId','creator','move','attributes','$graveyard','_diffRoots','nodeAfter','_handleMoveOperation','reverse','insertion','_makeRevision','_applyOperations','PENDING_ACTION_REVISION_HISTORY','_removePendingAction','insert','source','addRevisionData','fromVersion','newRange','sendBufferedUpdates','config','_handleOperation','_startingRevisionId','buildRevisionData','_createInitialRevision','_source','elementEnd','_baseIdsRoots','remove','getAttribute','_lastFrom','_fixPosition','_idsRoots','howMany','insertionPosition','_touchedMarkers','find','data-revision-','repository','_generateTape','_createCurrentRevision','getData','_markChanges','trim','childCount','_continueCurrentRevision','_loadRevisionData','insertions','_findInsertionIndex','_handleInsertOperation','max','_createFromRanges','vid_start','_lastTo','getLatestVersion','string','revision:','revision-end','editor-initial-data-replaced-with-revision-data','_cloneOperation','shift','revisionHistory.resumeUnsavedRevision','createdAt','from','oldRange','userId','_touched','children','_operations','for','deletion','slice','_update','_savedMetaData','_setAttribute','_bufferedUpdates','getIndex','_fixOperation','has','_baseRoots','useFillerType','_processRootBeforeSave','bind','updateRevisions','end','length','model','authorsIds','push','graveyardPosition','version','RevisionTracker','set','_getState','getNodeByPath','isEqual','_getVidAttributeName','getAncestors','getRange','history','parent','NEGATIVE_INFINITY','_replaceEditorDataWithRevisionData','size','_getBaseVids','_authorId','_initialRevisionId','sort','delete','RevisionsRepository','getUser','createPositionAt','text','_removeMetaData','_calculateMetaData','data','editor','baseVersion','initial','resolve','currentRevision','createPositionAfter','PendingActions','getOperations','offset','sourcePosition','_makeIdsRoot','_prepareViewToSave','name','finally','getCurrentRevisionId','_getFromVersion','marked','stringify','toData','_revisionDataBuilder','_rootNames','conversion','getOperation','reinsert','_insertChild','getChildren','rootName','root','_makeModelFromViewString','hasContent','split','documentFragment','Users','processor','getRevisionDocumentData','offsetSize','_addPendingAction','vid','createPositionFromPath','_bufferUpdate','getTransformedByOperation','filter','document','revision-start','_saveMetaData','add','revision','paragraph','path','_startingVersion','previousPosition','_revisionId','_pendingAction','_handleMarkerOperation','diffData','range','_handleSplitOperation','item','targetPosition','getRootNames','_saveEmptyMetaData','ready','then','plugins','requires'];(function(_0x21f6b7,_0x310c1d){const _0x23baca=function(_0x412928){while(--_0x412928){_0x21f6b7['push'](_0x21f6b7['shift']());}};_0x23baca(++_0x310c1d);}(_0x310c,0xf2));const _0x23ba=function(_0x21f6b7,_0x310c1d){_0x21f6b7=_0x21f6b7-0x0;let _0x23baca=_0x310c[_0x21f6b7];return _0x23baca;};import{Users as _0x5dfa45}from'ckeditor5-collaboration/src/collaboration-core';import{Plugin as _0xb35329,PendingActions as _0x334170}from'ckeditor5/src/core';import{logWarning as _0x2d0833,uid as _0x20b1ec}from'ckeditor5/src/utils';import{Position as _0x1394e0,Range as _0x1e150f,Element as _0x463cd8,DocumentFragment as _0x19b136,ViewText as _0x26ed65,ViewElement as _0x3f6c7f,ViewContainerElement as _0x5a5ea4,ViewAttributeElement as _0x10e9d6,ViewEmptyElement as _0x44a202,ViewRawElement as _0x284716,ViewUIElement as _0xb2d2d8,ViewDocumentFragment as _0x3f73e9}from'ckeditor5/src/engine';import _0x7c5365 from'./revisionsrepository';import{getTranslation as _0x25704c}from'./utils/common-translations';const V={'c':_0x5a5ea4,'a':_0x10e9d6,'e':_0x44a202,'r':_0x284716,'u':_0xb2d2d8};export default class l extends _0xb35329{static get['pluginName'](){return _0x23ba('0xa0');}static get[_0x23ba('0x3')](){return[_0x5dfa45,_0x7c5365,_0x334170];}constructor(_0x10e114){super(_0x10e114),this['adapter']=null,this['currentRevision']=null,this['_revisionDataBuilder']=new T(this[_0x23ba('0xb9')]),this[_0x23ba('0xaf')]=this[_0x23ba('0xb9')][_0x23ba('0x59')][_0x23ba('0x26')](_0x23ba('0x40'))||_0x23ba('0xbb'),this['_bufferedUpdates']=new Map(),this['_loadedStateData']=null;const _0x4facd2=_0x20b1ec();this[_0x23ba('0x5e')]={'history':this['editor'][_0x23ba('0x9b')][_0x23ba('0xe3')][_0x23ba('0xa8')],'getLatestVersion':()=>Promise[_0x23ba('0xbc')](this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xe3')]['version']),'getCurrentRevisionId':()=>_0x4facd2},this[_0x23ba('0xa1')](_0x23ba('0x3c'),!0x1),this[_0x23ba('0xa1')]('isEnabled',!0x0),this[_0x23ba('0xa1')](_0x23ba('0x9'),!0x1),this[_0x23ba('0xb9')][_0x23ba('0x59')]['define'](_0x23ba('0x82'),!0x0),this[_0x23ba('0xb9')][_0x23ba('0xce')]['for']('upcast')['dataToMarker']({'view':_0x23ba('0xe7')});}[_0x23ba('0x41')](){this[_0x23ba('0x6b')]=this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x26')](_0x23ba('0xb2')),this['_setConversion'](),this[_0x23ba('0xb9')][_0x23ba('0xb8')]['on'](_0x23ba('0x0'),()=>{const _0x3fd9bb=this[_0x23ba('0x6b')][_0x23ba('0xa')](0x0),_0x4789be=_0x3fd9bb&&null===_0x3fd9bb[_0x23ba('0x46')]?_0x3fd9bb:null;if(this[_0x23ba('0x72')]=!!_0x4789be&&this[_0x23ba('0xb9')]['config'][_0x23ba('0x26')](_0x23ba('0x82')),this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x93')](_0x23ba('0xd'))){const _0x290c9d=this['_source'][_0x23ba('0xc7')](),_0x38be80=this[_0x23ba('0x6b')]['getRevision'](_0x290c9d);if(_0x38be80)this['_startingVersion']=_0x38be80[_0x23ba('0x56')],this[_0x23ba('0x72')]=!0x1;else{const _0x14db51=this[_0x23ba('0x5e')]['history'][_0x23ba('0x89')][_0x23ba('0x69')](_0x245260=>!_0x245260[_0x23ba('0x37')]),_0x529464=_0x14db51?_0x14db51['baseVersion']:this[_0x23ba('0x5e')][_0x23ba('0xa8')]['version'];_0x3fd9bb?(_0x3fd9bb[_0x23ba('0x14')]<_0x529464&&_0x3fd9bb['_update']({'toVersion':_0x529464}),this['_continueCurrentRevision']?(this[_0x23ba('0x5e')][_0x23ba('0xc7')]=()=>_0x4789be['id'],this[_0x23ba('0xea')]=_0x4789be['fromVersion']):(this[_0x23ba('0xea')]=_0x3fd9bb['toVersion'],this[_0x23ba('0x72')]=!0x1)):(this[_0x23ba('0xea')]=_0x529464,this[_0x23ba('0x72')]=!0x1);}}else _0x4789be&&(this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xe3')][_0x23ba('0xa8')][_0x23ba('0x9f')]=Math[_0x23ba('0x77')](_0x4789be['toVersion'],this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xe3')][_0x23ba('0xa8')][_0x23ba('0x9f')]),_0x4789be[_0x23ba('0x56')]===_0x4789be[_0x23ba('0x14')]?(0x0!==_0x4789be[_0x23ba('0x56')]&&(this[_0x23ba('0x5e')][_0x23ba('0xc7')]=()=>_0x4789be['id']),this[_0x23ba('0x72')]=!0x1):this['_continueCurrentRevision']&&(this['_source'][_0x23ba('0xc7')]=()=>_0x4789be['id'],this['_startingVersion']=_0x4789be['fromVersion'])),this[_0x23ba('0x72')]||(this[_0x23ba('0xea')]=this['editor'][_0x23ba('0x9b')]['document']['version']);this[_0x23ba('0xcc')]['init'](this[_0x23ba('0x5e')][_0x23ba('0xa8')]),this['_createInitialRevision'](this[_0x23ba('0xea')]),this[_0x23ba('0x6d')](this[_0x23ba('0xea')]),this['adapter']&&this[_0x23ba('0x58')]();}),this[_0x23ba('0x97')](_0x23ba('0x3c'))['to'](this,_0x23ba('0x9'),_0x1f948e=>!_0x1f948e);}async[_0x23ba('0x33')](){if(this[_0x23ba('0x6b')][_0x23ba('0x9a')]>0x0){const _0x446acb=this[_0x23ba('0x6b')][_0x23ba('0xa')](0x0),_0x81e6ae=await this['getRevisionDocumentData'](_0x446acb);this[_0x23ba('0xab')](_0x81e6ae);}}[_0x23ba('0x3f')](_0x1fdacb){this['_source']=_0x1fdacb;}async['update'](){const _0x363fec=await this[_0x23ba('0x5e')][_0x23ba('0x7b')]();if(_0x363fec>this['currentRevision'][_0x23ba('0x14')]){await this[_0x23ba('0x27')]();const _0x56f6fc=this['buildRevisionData']({'revision':this[_0x23ba('0xbd')],'to':_0x363fec});_0x56f6fc[_0x23ba('0x38')]=_0x56f6fc['authorsIds'][_0x23ba('0x3a')](_0x5c5fdc=>this[_0x23ba('0xb9')]['plugins'][_0x23ba('0x26')]('Users')[_0x23ba('0xb3')](_0x5c5fdc)),this[_0x23ba('0xbd')]['_update'](_0x56f6fc);}}async[_0x23ba('0x27')](){this[_0x23ba('0x72')]&&!this[_0x23ba('0x32')]&&(await this[_0x23ba('0x73')](this[_0x23ba('0xbd')]),this[_0x23ba('0xcc')][_0x23ba('0x30')](this[_0x23ba('0xbd')]),this[_0x23ba('0x32')]={'fromVersion':this['currentRevision'][_0x23ba('0x56')],'authors':this[_0x23ba('0xbd')][_0x23ba('0x38')]['slice']()});}async['saveRevision'](_0xa04770={},_0x13fbde=null){const _0x339228=[];await this[_0x23ba('0x27')](),this[_0x23ba('0x72')]=!0x1,_0x13fbde>this['currentRevision'][_0x23ba('0x14')]&&(_0x13fbde=null),null===_0x13fbde&&(_0x13fbde=await this[_0x23ba('0x5e')][_0x23ba('0x7b')]());const _0x336953=this[_0x23ba('0xc8')](_0x13fbde),_0x3e632b=this['buildRevisionData']({'from':_0x336953,'to':_0x13fbde});if(this[_0x23ba('0xbd')][_0x23ba('0x14')]<_0x13fbde){const _0xbb432b=this[_0x23ba('0x5c')]({'revision':this[_0x23ba('0xbd')],'from':_0x13fbde,'to':_0x13fbde});_0xbb432b[_0x23ba('0x38')]=[],_0xbb432b[_0x23ba('0x9c')]=[],_0xbb432b['id']=this['currentRevision']['id'],this[_0x23ba('0xbd')][_0x23ba('0x8d')](_0xbb432b,!0x0),delete _0xbb432b[_0x23ba('0x38')],_0x339228['push'](_0xbb432b);}_0xa04770['creatorId']=this[_0x23ba('0xb9')]['plugins'][_0x23ba('0x26')](_0x23ba('0xd9'))['me']['id'],_0xa04770[_0x23ba('0xc5')]=_0xa04770['name']||null,_0xa04770['id']=_0xa04770['id']||_0x20b1ec(),_0xa04770={..._0xa04770,..._0x3e632b};const _0x5c4e09=this[_0x23ba('0x55')](_0xa04770);_0x339228[_0x23ba('0x9d')](_0xa04770);const _0x3836e5=this['repository'][_0x23ba('0x91')](_0x5c4e09);if(0x0!==_0x3836e5){const _0x28764d=this[_0x23ba('0x6b')][_0x23ba('0xa')](_0x3836e5-0x1);if(_0x28764d['fromVersion']!==_0x13fbde){const _0x4cf470=this[_0x23ba('0xcc')][_0x23ba('0x6e')](_0x13fbde,_0x28764d['toVersion']),_0x5a079b={'id':_0x28764d['id'],'diffData':_0x4cf470[_0x23ba('0xef')],'authorsIds':_0x4cf470[_0x23ba('0x9c')],'authors':_0x4cf470['authorsIds'][_0x23ba('0x3a')](_0x46f53f=>this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x26')]('Users')[_0x23ba('0xb3')](_0x46f53f)),'fromVersion':_0x13fbde};_0x28764d===this[_0x23ba('0xbd')]&&(_0x5a079b[_0x23ba('0x83')]=new Date(_0xa04770[_0x23ba('0x83')][_0x23ba('0x2a')]()+0xa)),_0x28764d['_update'](_0x5a079b,!0x0),delete _0x5a079b['authors'],_0x339228[_0x23ba('0x9d')](_0x5a079b);}}if(this[_0x23ba('0x2c')]){for(const _0x4d10f0 of _0x339228)this[_0x23ba('0xe0')](_0x4d10f0['id'],_0x4d10f0,!0x0);this[_0x23ba('0x58')]();}return _0x5c4e09;}[_0x23ba('0x55')](_0x17bfe0){const _0x5cad5c=this[_0x23ba('0x6b')]['createRevision'](_0x17bfe0);return this[_0x23ba('0x2c')]&&_0x5cad5c['on']('_update',(_0x5948d6,_0x556399,_0x3cd219)=>{_0x3cd219||(this[_0x23ba('0xe0')](_0x556399['id'],_0x556399,!0x0),this[_0x23ba('0x58')]());}),this['repository']['addRevision'](_0x5cad5c,this[_0x23ba('0x75')](_0x5cad5c)),_0x5cad5c;}async[_0x23ba('0xdb')](_0x11613f){await this[_0x23ba('0x73')](_0x11613f);const _0x4c1e74={};for(const _0x1fbc2f in _0x11613f[_0x23ba('0xef')]){const _0x21cee7=this[_0x23ba('0x23')](JSON['parse'](_0x11613f['diffData'][_0x1fbc2f][_0x23ba('0x74')])),_0x55976f=this['editor'][_0x23ba('0x25')][_0x23ba('0x20')][_0x23ba('0xe3')],_0x5c8e73=new _0x3f73e9(_0x55976f,_0x21cee7[_0x23ba('0x3a')](_0x140afa=>F(_0x140afa,this[_0x23ba('0xb9')])));this[_0x23ba('0xb9')][_0x23ba('0xb8')][_0x23ba('0xda')][_0x23ba('0x95')](_0x23ba('0xc9')),_0x4c1e74[_0x1fbc2f]=this[_0x23ba('0xb9')][_0x23ba('0xb8')]['processor'][_0x23ba('0xcb')](_0x5c8e73),this['editor']['data']['processor'][_0x23ba('0x95')](_0x23ba('0x2e'));}return _0x4c1e74;}[_0x23ba('0x58')](){if(0x0===this[_0x23ba('0x90')][_0x23ba('0xac')])return;if(this[_0x23ba('0x9')])return;let _0x922ab0=Array[_0x23ba('0x84')](this['_bufferedUpdates']['values']());this[_0x23ba('0x90')][_0x23ba('0x1b')]();for(let _0x28998b=0x0;_0x28998b<_0x922ab0['length'];_0x28998b++){const _0x24eb62=_0x922ab0[_0x28998b];let _0x4419d7=!0x1;for(const _0x423759 of Object['keys'](_0x24eb62))void 0x0===_0x24eb62[_0x423759]?delete _0x24eb62[_0x423759]:'id'!==_0x423759&&(_0x4419d7=!0x0);_0x4419d7||(_0x922ab0[_0x28998b]=null);}if(_0x922ab0=_0x922ab0['filter'](_0x4eb51a=>null!==_0x4eb51a),!_0x922ab0['length'])return;for(let _0x32537b=0x0;_0x32537b<_0x922ab0['length'];_0x32537b++){const _0x3e717f=_0x922ab0[_0x32537b];void 0x0!==_0x3e717f[_0x23ba('0x56')]&&void 0x0===_0x3e717f['toVersion']&&(_0x3e717f[_0x23ba('0x14')]=this[_0x23ba('0x6b')][_0x23ba('0xa')](_0x3e717f['id'])[_0x23ba('0x14')]),void 0x0!==_0x3e717f[_0x23ba('0x14')]&&void 0x0===_0x3e717f[_0x23ba('0x56')]&&(_0x3e717f[_0x23ba('0x56')]=this[_0x23ba('0x6b')]['getRevision'](_0x3e717f['id'])[_0x23ba('0x56')]);}const _0xd47d60=this[_0x23ba('0xb9')][_0x23ba('0x59')][_0x23ba('0x26')](_0x23ba('0x40'));this[_0x23ba('0x9')]=!0x0,this[_0x23ba('0xdd')](),this[_0x23ba('0x2c')][_0x23ba('0x98')](_0x922ab0,_0xd47d60)[_0x23ba('0xc6')](()=>{this[_0x23ba('0x9')]=!0x1;})[_0x23ba('0x1')](_0x12499a=>{if(_0x12499a)for(const _0x389d32 of _0x12499a)this['setRevisionData']({'id':_0x389d32['id'],'createdAt':_0x389d32[_0x23ba('0x83')]});this[_0x23ba('0x52')](),this[_0x23ba('0x58')]();});}[_0x23ba('0xab')](_0x48a6fc){let _0x4286fc=this['editor'][_0x23ba('0x59')]['get']('initialData');if(void 0x0===_0x4286fc){_0x4286fc={};for(const _0x39e45d of this['editor'][_0x23ba('0x9b')][_0x23ba('0xe3')][_0x23ba('0xf4')]())_0x4286fc[_0x39e45d]='';}_0x23ba('0x7c')==typeof _0x4286fc&&(_0x4286fc={'main':_0x4286fc});let _0x1fd275=!0x1;for(const _0x9a16d4 of Object[_0x23ba('0x34')](_0x4286fc))_0x48a6fc[_0x9a16d4]&&(_0x4286fc[_0x9a16d4]!==_0x48a6fc[_0x9a16d4]&&''!==_0x4286fc[_0x9a16d4][_0x23ba('0x70')]()&&(_0x1fd275=!0x0),_0x4286fc[_0x9a16d4]=_0x48a6fc[_0x9a16d4]);_0x1fd275&&_0x2d0833(_0x23ba('0x7f')),this[_0x23ba('0xb9')][_0x23ba('0x59')]['set'](_0x23ba('0x31'),_0x4286fc);}[_0x23ba('0xdd')](){if(!this['_pendingAction']){const _0x3bb858=this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x26')](_0x23ba('0xbf'));this[_0x23ba('0xed')]=_0x3bb858[_0x23ba('0xe6')](_0x25704c(this[_0x23ba('0xb9')][_0x23ba('0x17')],_0x23ba('0x51')));}}[_0x23ba('0x52')](){this['_pendingAction']&&(this[_0x23ba('0xb9')][_0x23ba('0x2')]['get'](_0x23ba('0xbf'))[_0x23ba('0x61')](this[_0x23ba('0xed')]),this[_0x23ba('0xed')]=null);}[_0x23ba('0x75')](_0x5be0c0){const _0x40aecc=this[_0x23ba('0x6b')][_0x23ba('0x35')]();_0x40aecc[_0x23ba('0x4d')]();let _0x2590d4=0x0;for(;_0x2590d4<_0x40aecc[_0x23ba('0x9a')];){const _0x314720=_0x40aecc[_0x2590d4];if(_0x314720===this[_0x23ba('0xbd')]){_0x2590d4++;continue;}if(_0x314720['id']===this[_0x23ba('0xaf')])break;const _0x3484c5=_0x5be0c0[_0x23ba('0x14')]-_0x314720[_0x23ba('0x14')]||_0x5be0c0[_0x23ba('0x56')]-_0x314720['fromVersion'];if(_0x3484c5>0x0)break;if(_0x3484c5<0x0)_0x2590d4++;else{if(!_0x5be0c0['creator']&&_0x314720[_0x23ba('0x46')])break;if(_0x314720[_0x23ba('0x46')]||!_0x5be0c0[_0x23ba('0x46')]){if(_0x5be0c0[_0x23ba('0x83')]>_0x314720[_0x23ba('0x83')])break;_0x2590d4++;}else _0x2590d4++;}}return _0x2590d4;}['setRevisionData'](_0x2b6e5e){const _0x1f085d=this['repository'][_0x23ba('0xa')](_0x2b6e5e['id']);if(_0x2b6e5e['createdAt']&&(_0x2b6e5e[_0x23ba('0x83')]=new Date(_0x2b6e5e['createdAt'])),_0x2b6e5e[_0x23ba('0x9c')]){const _0x64a2d7=this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x26')](_0x23ba('0xd9'));_0x2b6e5e[_0x23ba('0x38')]=_0x2b6e5e[_0x23ba('0x9c')][_0x23ba('0x3a')](_0x3a7337=>_0x64a2d7['getUser'](_0x3a7337));}_0x1f085d[_0x23ba('0x8d')](_0x2b6e5e,!0x0);}[_0x23ba('0x5c')]({revision:_0x5e9dd2=null,from:_0x7405ed=null,to:_0x419076=null}){_0x7405ed=null!==_0x7405ed?_0x7405ed:_0x5e9dd2[_0x23ba('0x56')],_0x419076=null!==_0x419076?_0x419076:_0x5e9dd2[_0x23ba('0x14')];const _0x5599af=this['_revisionDataBuilder'][_0x23ba('0x6e')](_0x7405ed,_0x419076),_0x5c3a65={'diffData':_0x5599af[_0x23ba('0xef')],'authorsIds':_0x5599af[_0x23ba('0x9c')],'fromVersion':_0x7405ed,'toVersion':_0x419076};if(!_0x5e9dd2||_0x419076!==_0x5e9dd2[_0x23ba('0x14')]){const _0x5700ef=_0x419076-0x1,_0x29b913=this['_source'][_0x23ba('0xa8')][_0x23ba('0xcf')](_0x5700ef);_0x5c3a65[_0x23ba('0x83')]=_0x29b913&&_0x29b913[_0x23ba('0x83')]||new Date();}if(this[_0x23ba('0x32')]&&_0x7405ed===this[_0x23ba('0x32')][_0x23ba('0x56')])for(const _0x2bf69a of this[_0x23ba('0x32')][_0x23ba('0x38')])_0x5c3a65[_0x23ba('0x9c')][_0x23ba('0x42')](_0x2bf69a['id'])||_0x5c3a65[_0x23ba('0x9c')][_0x23ba('0x9d')](_0x2bf69a['id']);return _0x5c3a65;}[_0x23ba('0x73')](_0x3a8b14){if(!_0x3a8b14||_0x3a8b14[_0x23ba('0xef')])return Promise[_0x23ba('0xbc')]();{const _0x94c6fd=this[_0x23ba('0xb9')][_0x23ba('0x59')][_0x23ba('0x26')](_0x23ba('0x40'));return this[_0x23ba('0x2c')][_0x23ba('0xa')]({'channelId':_0x94c6fd,'revisionId':_0x3a8b14['id']})[_0x23ba('0x1')](_0x519312=>{_0x3a8b14[_0x23ba('0xef')]=_0x519312[_0x23ba('0xef')];});}}['_bufferUpdate'](_0x19ab8c,_0x5000e6,_0x3510f5){if(this['_bufferedUpdates'][_0x23ba('0x93')](_0x19ab8c)){const _0x4a4391=this['_bufferedUpdates']['get'](_0x19ab8c);_0x5000e6=_0x3510f5?{..._0x4a4391,..._0x5000e6}:{..._0x5000e6,..._0x4a4391};}this['_bufferedUpdates'][_0x23ba('0xa1')](_0x19ab8c,_0x5000e6);}[_0x23ba('0xc8')](_0x259e2b){const _0x15c87e=this[_0x23ba('0x6b')][_0x23ba('0x35')]();_0x15c87e[_0x23ba('0x4d')](),_0x15c87e[_0x23ba('0x81')]();const _0x19f865=_0x15c87e[_0x23ba('0x69')](_0x490acc=>_0x490acc[_0x23ba('0x14')]<=_0x259e2b)[_0x23ba('0x14')];return _0x19f865<this['_startingVersion']?this[_0x23ba('0xea')]:_0x19f865;}[_0x23ba('0x5d')](_0x519e06){const _0x311db1=this['repository'][_0x23ba('0xa')](this[_0x23ba('0x6b')]['length']-0x1);if(_0x311db1)this[_0x23ba('0xaf')]=_0x311db1['id'];else{const _0x39454c=!this[_0x23ba('0xb9')]['model'][_0x23ba('0xe3')][_0x23ba('0x15')][_0x23ba('0x69')](_0x3fc1d2=>this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xd6')](_0x3fc1d2)),_0x39abc8=this[_0x23ba('0xb9')][_0x23ba('0x2')]['get'](_0x23ba('0xd9'))['me']['id'],_0x14decf=_0x25704c(this[_0x23ba('0xb9')]['locale'],_0x39454c?_0x23ba('0x7'):'Initial\x20revision');this[_0x23ba('0x4f')]({'from':_0x519e06,'to':_0x519e06,'id':this[_0x23ba('0xaf')],'name':_0x14decf,'creatorId':_0x39abc8});}}[_0x23ba('0x6d')](_0x5d87ff){const _0x2dee18=this[_0x23ba('0x5e')][_0x23ba('0xc7')]();this['currentRevision']=this[_0x23ba('0x6b')][_0x23ba('0xa')](_0x2dee18),this['currentRevision']||(this[_0x23ba('0xbd')]=this[_0x23ba('0x4f')]({'from':_0x5d87ff,'to':_0x5d87ff,'id':_0x2dee18,'name':'','creatorId':null}));}[_0x23ba('0x4f')]({name:_0x20cef2,from:_0x407f83,to:_0x43eaaa,creatorId:_0xe8ba66,id:_0x3c7d01}){const _0x3b5a90=this[_0x23ba('0x5c')]({'from':_0x407f83,'to':_0x43eaaa});_0x3b5a90[_0x23ba('0xc5')]=_0x20cef2,_0x3b5a90[_0x23ba('0x45')]=_0xe8ba66,_0x3b5a90['id']=_0x3c7d01;const _0x2c1a74=this[_0x23ba('0x55')](_0x3b5a90);return this[_0x23ba('0x2c')]&&this[_0x23ba('0xe0')](_0x3b5a90['id'],_0x3b5a90,!0x0),_0x2c1a74;}[_0x23ba('0x44')](){this[_0x23ba('0xb9')][_0x23ba('0xce')][_0x23ba('0x8a')]('dataDowncast')['markerToData']({'model':_0x23ba('0xe7')});}[_0x23ba('0x23')](_0x563271){return(_0x563271=_0x563271[_0x23ba('0xe2')](_0x1de5fc=>!_0x1de5fc[_0x23ba('0xc5')]||_0x23ba('0xe4')!==_0x1de5fc[_0x23ba('0xc5')]&&_0x23ba('0x7e')!==_0x1de5fc[_0x23ba('0xc5')]))[_0x23ba('0x2f')](_0x356012=>{'string'!=typeof _0x356012&&(_0x356012[_0x23ba('0x88')]=this[_0x23ba('0x23')](_0x356012[_0x23ba('0x88')]),_0x356012[_0x23ba('0x48')]=_0x356012[_0x23ba('0x48')][_0x23ba('0xe2')](_0x59a275=>!_0x59a275[0x0][_0x23ba('0x21')](_0x23ba('0x6a'))));}),_0x563271;}}function F(_0x2f95fd,_0x24526a){const _0x580e47=_0x24526a[_0x23ba('0x25')][_0x23ba('0x20')][_0x23ba('0xe3')];if(_0x23ba('0x7c')==typeof _0x2f95fd)return new _0x26ed65(_0x580e47,_0x2f95fd);{const _0x3297f6=_0x2f95fd[_0x23ba('0x88')][_0x23ba('0x3a')](_0x4b6690=>F(_0x4b6690,_0x24526a));return new(V[_0x2f95fd['type']]||_0x3f6c7f)(_0x580e47,_0x2f95fd['name'],_0x2f95fd[_0x23ba('0x48')],_0x3297f6);}}class T{constructor(_0x589ec2){this['editor']=_0x589ec2,this[_0x23ba('0x8e')]=new Map(),this[_0x23ba('0x63')]=-0x1,this['_lastTo']=-0x1,this[_0x23ba('0x11')]=new Map(),this[_0x23ba('0x4a')]=new Map(),this['_baseRoots']=new Map(),this[_0x23ba('0x65')]=new Map(),this['_baseIdsRoots']=new Map(),this[_0x23ba('0x87')]=new Map(),this[_0x23ba('0x68')]=new Map(),this[_0x23ba('0xec')]=0x1,this[_0x23ba('0xcd')]=this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xe3')]['getRootNames'](),this[_0x23ba('0xcd')][_0x23ba('0x9d')]('$graveyard');}[_0x23ba('0x41')](_0x455bb8){this['source']=_0x455bb8;const _0x22c551=new Map();for(const _0x5a34a of this['_rootNames']){const _0x2ce3ee=J(this[_0x23ba('0xb9')][_0x23ba('0x9b')][_0x23ba('0xe3')][_0x23ba('0x22')](_0x5a34a));_0x22c551[_0x23ba('0xa1')](_0x5a34a,_0x2ce3ee);}const _0x1d40f2=Array[_0x23ba('0x84')](this['editor'][_0x23ba('0x9b')]['markers'])[_0x23ba('0x3a')](_0x583f80=>[_0x583f80[_0x23ba('0xc5')],_0x583f80[_0x23ba('0xa7')]()]),_0x3b4232=this[_0x23ba('0x54')][_0x23ba('0x9f')];this[_0x23ba('0xe5')](_0x3b4232,_0x22c551,_0x1d40f2),this[_0x23ba('0x5b')]=this[_0x23ba('0xec')];}[_0x23ba('0x6e')](_0x5dcdb1,_0x2f325a){if(this['_lastFrom']===_0x5dcdb1&&this[_0x23ba('0x7a')]<=_0x2f325a)this[_0x23ba('0x8e')][_0x23ba('0xac')]>0x1&&this[_0x23ba('0xb6')](this[_0x23ba('0x7a')]),this[_0x23ba('0x50')](this['_lastTo'],_0x2f325a,!0x0);else{if(!this[_0x23ba('0x8e')][_0x23ba('0x93')](_0x5dcdb1)){const _0x471c8b=this[_0x23ba('0x10')](_0x5dcdb1);this['_calculateMetaData'](_0x471c8b,_0x5dcdb1,!0x1);}this['_calculateMetaData'](_0x5dcdb1,_0x2f325a,!0x0);}return this[_0x23ba('0x63')]=_0x5dcdb1,this[_0x23ba('0x7a')]=_0x2f325a,this[_0x23ba('0xa2')]();}[_0x23ba('0x30')](_0x46ca8f){this[_0x23ba('0x19')](),this[_0x23ba('0x63')]=_0x46ca8f[_0x23ba('0x56')],this[_0x23ba('0x7a')]=_0x46ca8f[_0x23ba('0x14')];for(const _0x1fa5f9 in _0x46ca8f['diffData']){const _0x579f9f=this['_makeModelFromViewString'](_0x46ca8f['diffData'][_0x1fa5f9][_0x23ba('0xc')]);_0x579f9f['rootName']=_0x1fa5f9,this[_0x23ba('0x94')][_0x23ba('0xa1')](_0x1fa5f9,_0x579f9f);const _0x1a639b=this[_0x23ba('0xc3')](_0x579f9f);this['_baseIdsRoots'][_0x23ba('0xa1')](_0x1fa5f9,_0x1a639b);for(const [_0x1d87be,_0x4d74fa]of _0x579f9f['markers']){if(!_0x1d87be[_0x23ba('0x21')](_0x23ba('0x7d')))continue;const _0x3aed3d=_0x1d87be[_0x23ba('0xd7')](':')[0x2];for(const _0x1fb0b8 of _0x4d74fa[_0x23ba('0x5')]({'singleCharacters':!0x0})){const _0x101ff6=this[_0x23ba('0xa5')](_0x1fb0b8),_0x4982ee='elementEnd'==_0x1fb0b8[_0x23ba('0x43')]?_0x1fb0b8[_0x23ba('0xeb')][_0x23ba('0xe9')][_0x23ba('0x8c')](0x0,-0x1):_0x1fb0b8[_0x23ba('0xeb')][_0x23ba('0xe9')],_0x31bb7a=_0x1a639b[_0x23ba('0xa3')](_0x4982ee)[_0x23ba('0x62')](_0x101ff6);this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x31bb7a,{'userId':_0x3aed3d});}}}this[_0x23ba('0x5b')]=this[_0x23ba('0xec')];const _0x21e610=[...Array(this[_0x23ba('0xec')])['keys']()][_0x23ba('0x8c')](0x1)['filter'](_0xcd5278=>!this[_0x23ba('0x87')][_0x23ba('0x93')](_0xcd5278));let _0x355ba4=0x0;for(const _0x163521 in _0x46ca8f[_0x23ba('0xef')]){const _0x379f80=this[_0x23ba('0xd5')](_0x46ca8f[_0x23ba('0xef')][_0x163521][_0x23ba('0x74')]);_0x379f80['rootName']=_0x163521,this['_diffRoots']['set'](_0x163521,_0x379f80);const _0x3bdd43=this['_makeIdsRoot'](_0x379f80,Number[_0x23ba('0xaa')]);this[_0x23ba('0x65')][_0x23ba('0xa1')](_0x163521,_0x3bdd43);for(const [_0xf70532,_0x57b146]of _0x379f80[_0x23ba('0x24')]){if(!_0xf70532[_0x23ba('0x21')](_0x23ba('0x7d')))continue;const _0x1f3334=_0xf70532[_0x23ba('0xd7')](':')[0x2];for(const _0x51ac70 of _0x57b146['getWalker']({'singleCharacters':!0x0})){const _0x538cc2=this[_0x23ba('0xa5')](_0x51ac70),_0x4a124c=this[_0x23ba('0xec')]++,_0x50d772=_0x23ba('0x5f')==_0x51ac70['type']?_0x51ac70[_0x23ba('0xeb')][_0x23ba('0xe9')][_0x23ba('0x8c')](0x0,-0x1):_0x51ac70[_0x23ba('0xeb')][_0x23ba('0xe9')];_0x3bdd43['getNodeByPath'](_0x50d772)[_0x23ba('0x8f')](_0x538cc2,_0x4a124c),this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x4a124c,{'userId':_0x1f3334});}}for(const _0x1a80af of this[_0x23ba('0xb9')][_0x23ba('0x9b')]['createRangeIn'](_0x379f80)['getWalker']({'singleCharacters':!0x0})){const _0x4f84c6=this[_0x23ba('0xa5')](_0x1a80af),_0x5e1dc9=_0x23ba('0x5f')==_0x1a80af[_0x23ba('0x43')]?_0x1a80af[_0x23ba('0xeb')][_0x23ba('0xe9')][_0x23ba('0x8c')](0x0,-0x1):_0x1a80af[_0x23ba('0xeb')][_0x23ba('0xe9')],_0x47504f=_0x3bdd43[_0x23ba('0xa3')](_0x5e1dc9);_0x47504f[_0x23ba('0x62')](_0x4f84c6)>0x0||_0x47504f[_0x23ba('0x8f')](_0x4f84c6,_0x21e610[_0x355ba4++]);}const _0x113327=new _0x19b136();_0x113327[_0x23ba('0xd3')]=_0x23ba('0x49'),this[_0x23ba('0x94')][_0x23ba('0xa1')]('$graveyard',_0x113327),this[_0x23ba('0x60')][_0x23ba('0xa1')](_0x23ba('0x49'),this['_makeIdsRoot'](_0x113327,0x1));const _0x4614c2=new _0x19b136();_0x4614c2['rootName']=_0x23ba('0x49'),this['_diffRoots'][_0x23ba('0xa1')](_0x23ba('0x49'),_0x4614c2),this[_0x23ba('0x65')][_0x23ba('0xa1')](_0x23ba('0x49'),this[_0x23ba('0xc3')](_0x4614c2,0x1));for(const [_0x515e1f,_0x5d0ff8]of _0x379f80[_0x23ba('0x24')])_0x515e1f['startsWith'](_0x23ba('0x7d'))||this[_0x23ba('0x11')][_0x23ba('0xa1')](_0x515e1f,_0x5d0ff8);}const _0x542044=Array[_0x23ba('0x84')](this[_0x23ba('0x4a')])[_0x23ba('0x3a')](([_0x1e5a2a,_0xa07a10])=>[_0x1e5a2a,J(_0xa07a10)]);this[_0x23ba('0xe5')](this[_0x23ba('0x7a')],_0x542044,this[_0x23ba('0x11')]);}[_0x23ba('0xd5')](_0x1ccede){const _0x50d3f0=JSON[_0x23ba('0x18')](_0x1ccede),_0x559a60=this[_0x23ba('0xb9')]['editing'][_0x23ba('0x20')][_0x23ba('0xe3')],_0xdbef9b=new _0x3f73e9(_0x559a60,_0x50d3f0[_0x23ba('0x3a')](_0x14fc3c=>F(_0x14fc3c,this[_0x23ba('0xb9')])));return this[_0x23ba('0xb9')][_0x23ba('0xb8')][_0x23ba('0x29')](_0xdbef9b);}['_saveEmptyMetaData'](){const _0x57d292=new Map();for(const _0x3350fb of this[_0x23ba('0xcd')]){const _0x1e6ae6=new _0x19b136();_0x1e6ae6[_0x23ba('0xd3')]=_0x3350fb,_0x57d292[_0x23ba('0xa1')](_0x3350fb,_0x1e6ae6);}this[_0x23ba('0xe5')](Number[_0x23ba('0xaa')],_0x57d292,[]);}[_0x23ba('0xe5')](_0x16ac55,_0x29bdf8,_0x3ece57){const _0x3ab914=new Map(_0x29bdf8),_0x7dbdd2=new Map();for(const [_0x1dea37,_0x29d05d]of _0x3ece57)_0x7dbdd2[_0x23ba('0xa1')](_0x1dea37,{'start':_0x29d05d[_0x23ba('0x1d')][_0x23ba('0xb')](),'end':_0x29d05d[_0x23ba('0x99')]['clone'](),'rootName':_0x29d05d[_0x23ba('0xd4')][_0x23ba('0xd3')]});this[_0x23ba('0x8e')][_0x23ba('0xa1')](_0x16ac55,{'roots':_0x3ab914,'markers':_0x7dbdd2});}[_0x23ba('0xb6')](_0x26ff2e){this[_0x23ba('0x8e')]['delete'](_0x26ff2e);}['reInit'](){this['_reset'](),this[_0x23ba('0x63')]=-0x1,this['_lastTo']=-0x1,this['_savedMetaData']['clear'](),this[_0x23ba('0x41')](this[_0x23ba('0x54')]);}['_reset'](){this[_0x23ba('0x87')][_0x23ba('0x1b')](),this['_touchedMarkers'][_0x23ba('0x1b')](),this[_0x23ba('0x4a')][_0x23ba('0x1b')](),this[_0x23ba('0x94')][_0x23ba('0x1b')](),this[_0x23ba('0x65')][_0x23ba('0x1b')](),this[_0x23ba('0x60')]['clear'](),this[_0x23ba('0x11')][_0x23ba('0x1b')](),this[_0x23ba('0xec')]=0x1,this[_0x23ba('0x5b')]=this[_0x23ba('0xec')];}['_makeIdsRoot'](_0x1ac9a1,_0x3c60a3=null){let _0x587def=null;_0x1ac9a1['is']('documentFragment')||(_0x587def=new _0x463cd8(_0x1ac9a1[_0x23ba('0xc5')],{'vid_start':null===_0x3c60a3?this[_0x23ba('0xec')]++:_0x3c60a3++}));const _0x27257a=[];for(const _0x50f63f of _0x1ac9a1['getChildren']())if(_0x50f63f['is']('element')){_0x27257a[_0x23ba('0x9d')](this['_makeIdsRoot'](_0x50f63f,_0x3c60a3));const _0xb22d93=_0x27257a[_0x27257a[_0x23ba('0x9a')]-0x1];null!==_0x3c60a3&&(_0x3c60a3=_0xb22d93['is'](_0x23ba('0x28'),_0x23ba('0xe'))?_0xb22d93[_0x23ba('0x62')]('vid')+0x1:_0xb22d93[_0x23ba('0x62')](_0x23ba('0x1e'))+0x1);}else for(let _0x30d92a=0x0;_0x30d92a<_0x50f63f[_0x23ba('0xdc')];_0x30d92a++)_0x27257a[_0x23ba('0x9d')](new _0x463cd8(_0x23ba('0xe'),{'vid':null===_0x3c60a3?this['_revisionId']++:_0x3c60a3++}));if(_0x1ac9a1['is'](_0x23ba('0xd8'))){const _0x1548a8=new _0x19b136(_0x27257a);return _0x1548a8['rootName']=_0x1ac9a1[_0x23ba('0xd3')],_0x1548a8;}return _0x587def[_0x23ba('0x8f')](_0x23ba('0x1e'),null===_0x3c60a3?this[_0x23ba('0xec')]++:_0x3c60a3++),_0x587def[_0x23ba('0xd1')](0x0,_0x27257a),_0x587def;}[_0x23ba('0xb7')](_0x1d4e94,_0xb50eb4,_0x150cee){this[_0x23ba('0x19')]();const {roots:_0x9a4f9c,markers:_0x2af9c2}=this[_0x23ba('0x8e')][_0x23ba('0x26')](_0x1d4e94);this[_0x23ba('0x94')]=new Map(_0x9a4f9c);for(const [_0x320299,_0x30aad4]of this[_0x23ba('0x94')])if('$graveyard'!==_0x320299&&(this[_0x23ba('0x4a')][_0x23ba('0xa1')](_0x320299,J(_0x30aad4)),_0x150cee)){const _0x1cdabe=this[_0x23ba('0xec')];this[_0x23ba('0x65')][_0x23ba('0xa1')](_0x320299,this[_0x23ba('0xc3')](_0x30aad4)),this[_0x23ba('0x60')][_0x23ba('0xa1')](_0x320299,this[_0x23ba('0xc3')](_0x30aad4,_0x1cdabe));}this[_0x23ba('0x5b')]=this[_0x23ba('0xec')],this[_0x23ba('0x4a')][_0x23ba('0xa1')](_0x23ba('0x49'),J(this[_0x23ba('0x94')][_0x23ba('0x26')](_0x23ba('0x49')))),_0x150cee&&this[_0x23ba('0x65')][_0x23ba('0xa1')](_0x23ba('0x49'),this['_makeIdsRoot'](this[_0x23ba('0x94')][_0x23ba('0x26')](_0x23ba('0x49'))));for(const [_0x38b93b,_0x185769]of _0x2af9c2){const _0x19bd03=this[_0x23ba('0x94')][_0x23ba('0x26')](_0x185769[_0x23ba('0xd3')]),_0x2929f3=this[_0x23ba('0x4a')][_0x23ba('0x26')](_0x185769['rootName']),_0x3fd7f5=new _0x1e150f(this['_fixPosition'](_0x185769[_0x23ba('0x1d')],_0x19bd03),this[_0x23ba('0x64')](_0x185769[_0x23ba('0x99')],_0x19bd03)),_0x16f403=this[_0x23ba('0x13')](_0x3fd7f5,_0x2929f3);_0x19bd03[_0x23ba('0x24')][_0x23ba('0xa1')](_0x38b93b,_0x3fd7f5),this[_0x23ba('0x11')][_0x23ba('0xa1')](_0x38b93b,_0x16f403);}this[_0x23ba('0x50')](_0x1d4e94,_0xb50eb4,_0x150cee);}[_0x23ba('0x50')](_0x455bbf,_0x243b00,_0x135356){for(const _0x138d6a of this[_0x23ba('0x54')][_0x23ba('0xc0')](_0x455bbf,_0x243b00))this[_0x23ba('0x5a')](_0x138d6a,_0x135356);for(const _0xcc4973 of this[_0x23ba('0x4a')][_0x23ba('0x36')]())_0xcc4973[_0x23ba('0x24')][_0x23ba('0x1b')]();for(const [_0x153994,_0x3c6bb5]of this[_0x23ba('0x11')]){this[_0x23ba('0x4a')][_0x23ba('0x26')](_0x3c6bb5[_0x23ba('0xd4')][_0x23ba('0xd3')])['markers'][_0x23ba('0xa1')](_0x153994,_0x3c6bb5[_0x23ba('0xb')]());}this[_0x23ba('0xe5')](_0x243b00,Array[_0x23ba('0x84')](this[_0x23ba('0x4a')])[_0x23ba('0x3a')](([_0x12db68,_0x2f4b9b])=>[_0x12db68,J(_0x2f4b9b)]),this[_0x23ba('0x11')]);}[_0x23ba('0x10')](_0x4361a5){const _0x1914da=Array[_0x23ba('0x84')](this[_0x23ba('0x8e')][_0x23ba('0x34')]());_0x1914da[_0x23ba('0xb0')]((_0x3fa1ab,_0x9f24c8)=>_0x3fa1ab-_0x9f24c8),_0x1914da[_0x23ba('0x4d')]();for(const _0x4592a7 of _0x1914da)if(_0x4592a7<_0x4361a5)return _0x4592a7;return this[_0x23ba('0xf5')](),Number[_0x23ba('0xaa')];}['_copyMarkers'](_0x17aa32,_0x14f60b){const _0xf09bbb=Array[_0x23ba('0x84')](_0x14f60b[_0x23ba('0x24')])[_0x23ba('0x3a')](([_0x4e60f2,_0x78901d])=>[_0x4e60f2,this[_0x23ba('0x13')](_0x78901d,_0x17aa32)]);_0x17aa32[_0x23ba('0x24')]=new Map(_0xf09bbb);}['_transformMarkers'](_0x2d9e41){for(const _0x5dcba4 of this[_0x23ba('0x11')][_0x23ba('0x36')]()){const _0x2b69be=_0x5dcba4[_0x23ba('0xe1')](_0x2d9e41),_0x4f16a2=_0x1e150f[_0x23ba('0x78')](_0x2b69be);_0x5dcba4[_0x23ba('0x1d')]=_0x4f16a2[_0x23ba('0x1d')],_0x5dcba4[_0x23ba('0x99')]=_0x4f16a2[_0x23ba('0x99')];}}['_handleOperation'](_0x228551,_0x1fc61d){const _0x497c4d=this[_0x23ba('0x80')](_0x228551,this[_0x23ba('0x4a')]);if(_0x23ba('0x2b')!==_0x228551[_0x23ba('0x43')]&&(_0x497c4d[_0x23ba('0x1a')](),this['_transformMarkers'](_0x497c4d)),_0x1fc61d)switch(_0x497c4d[_0x23ba('0x43')]){case _0x23ba('0x53'):this[_0x23ba('0x76')](_0x228551);break;case _0x23ba('0x47'):case _0x23ba('0x61'):case _0x23ba('0xd0'):this['_handleMoveOperation'](_0x228551);break;case'merge':this[_0x23ba('0xf')](_0x228551);break;case _0x23ba('0xd7'):this[_0x23ba('0xf1')](_0x228551);break;case _0x23ba('0x2b'):this[_0x23ba('0xee')](_0x228551);}}[_0x23ba('0x80')](_0xcf7a8c,_0x2283ab){const _0x417d7f=_0xcf7a8c[_0x23ba('0xb')]();return _0x417d7f['_authorId']=_0xcf7a8c['_authorId'],this['_fixOperation'](_0x417d7f,_0x2283ab),_0x417d7f;}[_0x23ba('0xad')](_0xae8c34){return _0xae8c34['map'](_0x12e9c9=>{const _0xf7df97=this['_getVidAttributeName'](_0x12e9c9);return Number(_0x12e9c9['item']['getAttribute'](_0xf7df97));});}[_0x23ba('0x6c')](_0x3a8a03,_0x4587ec){if(_0x3a8a03['is'](_0x23ba('0x28'),_0x23ba('0xe')))_0x4587ec[_0x23ba('0x9d')]({'item':_0x3a8a03,'type':_0x23ba('0xb5')});else{_0x3a8a03['is']('element')&&_0x4587ec[_0x23ba('0x9d')]({'item':_0x3a8a03,'type':'elementStart'});for(const _0x2fdf05 of _0x3a8a03[_0x23ba('0xd2')]())this[_0x23ba('0x6c')](_0x2fdf05,_0x4587ec);_0x3a8a03['is'](_0x23ba('0x28'))&&_0x4587ec['push']({'item':_0x3a8a03,'type':'elementEnd'});}return _0x4587ec;}['_getState'](){const _0x1d2df5=this[_0x23ba('0xb9')][_0x23ba('0x9b')]['document'][_0x23ba('0xf4')](),_0x3a6a8b=new Map(this['_touched']),_0x11de35=new Map(_0x3a6a8b),_0x5690ad=new Map(),_0x15e017={'insertions':{},'deletions':{}},_0x1d4993={'insertions':{},'deletions':{}},_0x316727=new Map();for(const _0x55eb0e of _0x1d2df5){const _0xce6d18=this[_0x23ba('0x4a')]['get'](_0x55eb0e),_0x3df043=this[_0x23ba('0x94')][_0x23ba('0x26')](_0x55eb0e);_0x15e017[_0x23ba('0x74')][_0x55eb0e]=J(_0xce6d18),_0x15e017[_0x23ba('0xc')][_0x55eb0e]=J(_0x3df043),this[_0x23ba('0x39')](_0x15e017[_0x23ba('0xc')][_0x55eb0e],_0x3df043),this[_0x23ba('0x39')](_0x15e017[_0x23ba('0x74')][_0x55eb0e],_0xce6d18),_0x1d4993['insertions'][_0x55eb0e]=this[_0x23ba('0x6c')](this['_idsRoots'][_0x23ba('0x26')](_0x55eb0e),[]),_0x1d4993[_0x23ba('0xc')][_0x55eb0e]=this[_0x23ba('0x6c')](this[_0x23ba('0x60')]['get'](_0x55eb0e),[]);}for(const _0xc8dd4d of _0x1d2df5){const _0x2d31ac=_0x1d4993['insertions'][_0xc8dd4d];for(const _0x1601ae of _0x2d31ac){const _0x3aea09=this['_getVidAttributeName'](_0x1601ae),_0x20c399=_0x1601ae[_0x23ba('0xf2')][_0x23ba('0x62')](_0x3aea09);_0x11de35['delete'](_0x20c399),_0x20c399>=this[_0x23ba('0x5b')]&&_0x5690ad[_0x23ba('0xa1')](_0x20c399,_0x3a6a8b[_0x23ba('0x26')](_0x20c399));}}for(const _0x549c88 of _0x1d2df5){const _0x554099=_0x1d4993[_0x23ba('0x74')][_0x549c88],_0x5f05da=this[_0x23ba('0xad')](_0x1d4993[_0x23ba('0xc')][_0x549c88]);let _0x823c3b=0x0;for(const _0x4187f5 of _0x554099){const _0xfd84a=this[_0x23ba('0xa5')](_0x4187f5),_0x400aa6=_0x4187f5['item'][_0x23ba('0x62')](_0xfd84a);if(!_0x5690ad[_0x23ba('0x93')](_0x400aa6)&&!_0x316727[_0x23ba('0x93')](_0x400aa6)){if(_0x11de35['has'](_0x400aa6))_0x823c3b++;else{if(_0x400aa6!=_0x5f05da[_0x823c3b]){const _0x28bf44=_0x3a6a8b[_0x23ba('0x26')](_0x400aa6)||_0x3a6a8b[_0x23ba('0x26')](_0x5f05da[_0x823c3b]);for(;_0x400aa6!=_0x5f05da[_0x823c3b];)_0x11de35['has'](_0x5f05da[_0x823c3b])||(_0x316727[_0x23ba('0xa1')](_0x5f05da[_0x823c3b],_0x28bf44),_0x3a6a8b[_0x23ba('0xa1')](_0x5f05da[_0x823c3b],_0x28bf44)),_0x823c3b++;}_0x823c3b++;}}}}for(const _0x39f018 of _0x1d2df5){const _0x387c7d=_0x1d4993[_0x23ba('0x74')][_0x39f018];for(const _0x165320 of _0x387c7d){const _0x1c58d1=this['_getVidAttributeName'](_0x165320),_0x5708c4=_0x165320[_0x23ba('0xf2')][_0x23ba('0x62')](_0x1c58d1);if(_0x316727[_0x23ba('0x93')](_0x5708c4)){const _0x57295c=_0x316727[_0x23ba('0x26')](_0x5708c4);_0x11de35['has'](_0x5708c4)||_0x11de35['set'](_0x5708c4,{..._0x57295c}),_0x5690ad[_0x23ba('0xa1')](_0x5708c4,{..._0x57295c});}}}for(const _0x12a49c of _0x11de35[_0x23ba('0x34')]())_0x12a49c>=this[_0x23ba('0x5b')]&&_0x11de35[_0x23ba('0xb1')](_0x12a49c);const _0x509099=new Map();for(const _0x587ecf of _0x1d2df5){let _0x3e4b03=_0x1d4993[_0x23ba('0x74')][_0x587ecf];for(const _0x19b0f7 of _0x3e4b03)if(_0x19b0f7[_0x23ba('0xf2')]['is'](_0x23ba('0x28'),_0x23ba('0x16'))){const _0x3ed763=this[_0x23ba('0xa5')](_0x19b0f7),_0x190a1b=_0x19b0f7['item'][_0x23ba('0x62')](_0x3ed763);if(_0x5690ad['has'](_0x190a1b)){const _0x163548=_0x19b0f7[_0x23ba('0xf2')][_0x23ba('0xa9')][_0x23ba('0xa9')]['getAttribute'](_0x23ba('0x79')),_0x2c7c67=_0x509099[_0x23ba('0x26')](_0x163548)||new Set();_0x2c7c67['add'](_0x5690ad['get'](_0x190a1b)[_0x23ba('0x86')]),_0x509099[_0x23ba('0xa1')](_0x163548,_0x2c7c67);}}_0x3e4b03=_0x1d4993[_0x23ba('0xc')][_0x587ecf];for(const _0x2ec54c of _0x3e4b03)if(_0x2ec54c['item']['is'](_0x23ba('0x28'),'tableCell')){const _0x1a1a87=this['_getVidAttributeName'](_0x2ec54c),_0x1b23b5=_0x2ec54c['item'][_0x23ba('0x62')](_0x1a1a87);if(_0x11de35[_0x23ba('0x93')](_0x1b23b5)){const _0x5c52a6=_0x2ec54c[_0x23ba('0xf2')][_0x23ba('0xa9')][_0x23ba('0xa9')]['getAttribute'](_0x23ba('0x79')),_0x30d964=_0x509099[_0x23ba('0x26')](_0x5c52a6)||new Set();_0x30d964['add'](_0x11de35['get'](_0x1b23b5)[_0x23ba('0x86')]),_0x509099[_0x23ba('0xa1')](_0x5c52a6,_0x30d964);}}for(const _0x38be8a of _0x509099[_0x23ba('0x34')]())(_0x5690ad['has'](_0x38be8a)||_0x11de35[_0x23ba('0x93')](_0x38be8a))&&_0x509099[_0x23ba('0xb1')](_0x38be8a);}for(const _0x499283 of _0x1d2df5){const _0x27634a=_0x1d4993['insertions'][_0x499283];let _0x4f26b4=null,_0x5b4888=null;for(const _0x2792f5 of _0x27634a){const _0x718b32=this[_0x23ba('0xa5')](_0x2792f5),_0x3806fa=_0x2792f5['item'][_0x23ba('0x62')](_0x718b32),_0x36c28e=_0x509099[_0x23ba('0x26')](_0x3806fa);_0x36c28e&&_0x23ba('0x12')==_0x2792f5[_0x23ba('0x43')]&&(_0x4f26b4=Array['from'](_0x36c28e)[0x0],_0x5b4888=_0x2792f5['item']['getAttribute']('vid_end')),_0x4f26b4&&(_0x11de35['set'](_0x3806fa,{'userId':_0x4f26b4}),_0x5690ad[_0x23ba('0xa1')](_0x3806fa,{'userId':_0x4f26b4})),_0x3806fa==_0x5b4888&&(_0x4f26b4=null,_0x5b4888=null);}}const _0x1c4049={},_0x4e98c5=new Set();for(const _0x21ee4b of _0x1d2df5){const _0x326d96=_0x15e017[_0x23ba('0xc')][_0x21ee4b],_0x1b47fc=_0x15e017[_0x23ba('0x74')][_0x21ee4b];for(const {userId:_0x162976}of this['_touchedMarkers']['values']())null!==_0x162976&&_0x4e98c5['add'](_0x162976);this[_0x23ba('0x6f')](_0x1b47fc,_0x1d4993[_0x23ba('0x74')][_0x21ee4b],_0x5690ad,_0x23ba('0x4e'),_0x4e98c5),this[_0x23ba('0x6f')](_0x326d96,_0x1d4993[_0x23ba('0xc')][_0x21ee4b],_0x11de35,_0x23ba('0x8b'),_0x4e98c5),_0x1c4049[_0x21ee4b]={'insertions':this[_0x23ba('0xc4')](_0x1b47fc),'deletions':this[_0x23ba('0xc4')](_0x326d96)};}return{'diffData':_0x1c4049,'authorsIds':Array[_0x23ba('0x84')](_0x4e98c5)};}[_0x23ba('0x96')](_0x4db96f){for(const [,_0xa65efd]of _0x4db96f[_0x23ba('0x24')]){const _0x148393=_0xa65efd[_0x23ba('0x1d')][_0x23ba('0xa6')]()[_0x23ba('0xe2')](_0x3c7999=>_0x23ba('0x16')==_0x3c7999[_0x23ba('0xc5')]);for(const _0x314538 of _0x148393)0x1==_0x314538[_0x23ba('0x71')]&&_0x314538['getChild'](0x0)['is'](_0x23ba('0x28'),_0x23ba('0xe8'))&&_0x314538['getChild'](0x0)[_0x23ba('0x8f')](_0x23ba('0x1c'),!0x0);}}[_0x23ba('0xc4')](_0x3a148f){this[_0x23ba('0x96')](_0x3a148f);const _0x384472=this[_0x23ba('0xb9')][_0x23ba('0xb8')][_0x23ba('0x2d')](_0x3a148f,{}),_0xa96fb9=Array[_0x23ba('0x84')](_0x384472[_0x23ba('0xd2')]())['map'](_0x2874fe=>this[_0x23ba('0x4')](_0x2874fe));return JSON[_0x23ba('0xca')](_0xa96fb9);}['_getViewJson'](_0x276420){if(_0x276420['is'](_0x23ba('0xe')))return _0x276420['data'];{const _0x19200c=_0x276420;return{'type':Object['keys'](V)[_0x23ba('0x69')](_0x2b93c0=>_0x276420 instanceof V[_0x2b93c0]),'name':_0x19200c[_0x23ba('0xc5')],'attributes':Array[_0x23ba('0x84')](_0x19200c['getAttributes']()),'children':Array['from'](_0x19200c[_0x23ba('0xd2')]())[_0x23ba('0x3a')](_0x517c06=>this[_0x23ba('0x4')](_0x517c06))};}}[_0x23ba('0x6f')](_0x1cf1e7,_0x4eb90c,_0x1a440a,_0x41ae0a,_0x128374){let _0x74f26f=null,_0x4a8d9a=null,_0x147d92=0x0;const _0x4fb659=this[_0x23ba('0xb9')][_0x23ba('0x9b')];for(let _0x2d8c88=0x0;_0x2d8c88<_0x4eb90c[_0x23ba('0x9a')];_0x2d8c88++){const _0x3eb3af=this['_getVidAttributeName'](_0x4eb90c[_0x2d8c88]),_0x2443a5=_0x4eb90c[_0x2d8c88][_0x23ba('0xf2')][_0x23ba('0x62')](_0x3eb3af),_0x59c074=_0x1a440a[_0x23ba('0x26')](_0x2443a5),_0x29e2d2=_0x2d8c88==_0x4eb90c['length']-0x1;(!_0x74f26f&&_0x59c074&&(_0x74f26f=_0x59c074,_0x4a8d9a=_0x4eb90c[_0x2d8c88]),_0x74f26f&&(!_0x59c074||_0x59c074['userId']!=_0x74f26f['userId']))&&(_0x3cd3b9(_0x59c074,j(_0x4a8d9a,_0x1cf1e7,_0x4fb659),j(_0x4eb90c[_0x2d8c88],_0x1cf1e7,_0x4fb659)),_0x74f26f=_0x59c074||null,_0x4a8d9a=_0x59c074?_0x4eb90c[_0x2d8c88]:null),_0x74f26f&&_0x29e2d2&&_0x3cd3b9(_0x59c074,j(_0x4a8d9a,_0x1cf1e7,_0x4fb659),B(_0x4eb90c[_0x2d8c88],_0x1cf1e7,_0x4fb659));}function _0x3cd3b9(_0x3c87b5,_0x4bbf0e,_0x359978){const _0x24315c=_0x74f26f[_0x23ba('0x86')],_0x5711f1=_0x23ba('0x7d')+_0x41ae0a+':'+_0x24315c+':'+_0x147d92++,_0x3540ad=_0x4fb659[_0x23ba('0x6')](_0x4bbf0e,_0x359978);_0x1cf1e7[_0x23ba('0x24')][_0x23ba('0xa1')](_0x5711f1,_0x3540ad),null!==_0x24315c&&_0x128374[_0x23ba('0xe6')](_0x24315c);}}[_0x23ba('0xa5')](_0x507f44){switch(_0x507f44[_0x23ba('0x43')]){case'elementStart':return _0x23ba('0x79');case _0x23ba('0x5f'):return _0x23ba('0x1e');default:return _0x23ba('0xde');}}[_0x23ba('0x92')](_0x28eba7,_0x6a683a){_0x28eba7[_0x23ba('0xba')]=null;for(const _0x2ccb4a in _0x28eba7){const _0x55c39b=_0x28eba7[_0x2ccb4a];if(_0x55c39b instanceof _0x1394e0){const _0xb52fb1=_0x6a683a[_0x23ba('0x26')](_0x55c39b[_0x23ba('0xd4')][_0x23ba('0xd3')]);_0x28eba7[_0x2ccb4a]=this[_0x23ba('0x64')](_0x55c39b,_0xb52fb1);}if(_0x55c39b instanceof _0x1e150f){const _0xa98c52=_0x6a683a[_0x23ba('0x26')](_0x55c39b[_0x23ba('0xd4')][_0x23ba('0xd3')]);_0x28eba7[_0x2ccb4a]=this[_0x23ba('0x13')](_0x55c39b,_0xa98c52);}}_0x28eba7[_0x23ba('0xd4')]&&(_0x28eba7[_0x23ba('0xd4')]=_0x6a683a['get'](_0x28eba7['root'][_0x23ba('0xd3')]));}[_0x23ba('0x13')](_0x3f334f,_0x2fc755){return this['editor'][_0x23ba('0x9b')][_0x23ba('0x6')](this[_0x23ba('0x64')](_0x3f334f[_0x23ba('0x1d')],_0x2fc755),this[_0x23ba('0x64')](_0x3f334f[_0x23ba('0x99')],_0x2fc755));}[_0x23ba('0x64')](_0x2a2309,_0x1c5a0){return this[_0x23ba('0xb9')][_0x23ba('0x9b')]['createPositionFromPath'](_0x1c5a0,_0x2a2309[_0x23ba('0xe9')],_0x2a2309['stickiness']);}[_0x23ba('0x76')](_0x36e1c6){const _0x21e676=this[_0x23ba('0x65')][_0x23ba('0x26')](_0x36e1c6['position']['root']['rootName']),_0x36ac4b=this[_0x23ba('0x64')](_0x36e1c6['position'],_0x21e676),_0x564645=null===_0x36e1c6[_0x23ba('0xae')]?null:_0x36e1c6[_0x23ba('0xae')]||this[_0x23ba('0xb9')][_0x23ba('0x2')]['get'](_0x23ba('0xd9'))['me']['id'],_0x8b4c2b=_0x36ac4b[_0x23ba('0xa9')],_0x670b8a=this[_0x23ba('0xec')],_0x58df2b=[];for(const _0x15bfe0 of _0x36e1c6[_0x23ba('0x3b')])if(_0x15bfe0['is']('element'))_0x58df2b['push'](this['_makeIdsRoot'](_0x15bfe0));else for(let _0x5dd612=0x0;_0x5dd612<_0x15bfe0[_0x23ba('0xdc')];_0x5dd612++)_0x58df2b['push'](new _0x463cd8(_0x23ba('0xe'),{'vid':this[_0x23ba('0xec')]++}));const _0x35965e=this[_0x23ba('0xec')];for(let _0x18159d=_0x670b8a;_0x18159d<_0x35965e;_0x18159d++)this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x18159d,{'userId':_0x564645});_0x8b4c2b[_0x23ba('0xd1')](_0x36ac4b[_0x23ba('0xc1')],_0x58df2b);}[_0x23ba('0x4c')](_0x376dff){(_0x376dff=this[_0x23ba('0x80')](_0x376dff,this['_idsRoots']))['_execute']();const _0x3caef3=null===_0x376dff[_0x23ba('0xae')]?null:_0x376dff[_0x23ba('0xae')]||this['editor'][_0x23ba('0x2')][_0x23ba('0x26')](_0x23ba('0xd9'))['me']['id'],_0x583cb9=_0x376dff['getMovedRangeStart'](),_0x2ec0ad=_0x583cb9[_0x23ba('0xa9')],_0x5532fc=_0x583cb9[_0x23ba('0xc1')];!function _0x3cc5b0(_0x2a3b43,_0x38c928,_0x5b8651,_0x13695b){for(let _0xab4d6d=_0x5b8651;_0xab4d6d<_0x13695b;_0xab4d6d++){const _0x3fc760=_0x38c928['getChild'](_0xab4d6d);_0x3fc760['is'](_0x23ba('0x28'),_0x23ba('0xe'))?_0x2a3b43[_0x23ba('0xa1')](_0x3fc760[_0x23ba('0x62')](_0x23ba('0xde')),{'userId':_0x3caef3}):(_0x2a3b43[_0x23ba('0xa1')](_0x3fc760[_0x23ba('0x62')](_0x23ba('0x79')),{'userId':_0x3caef3}),_0x3cc5b0(_0x2a3b43,_0x3fc760,0x0,_0x3fc760[_0x23ba('0x71')]),_0x2a3b43[_0x23ba('0xa1')](_0x3fc760[_0x23ba('0x62')]('vid_end'),{'userId':_0x3caef3}));}}(this[_0x23ba('0x87')],_0x2ec0ad,_0x5532fc,_0x5532fc+_0x376dff[_0x23ba('0x66')]);}[_0x23ba('0xf')](_0x1e7e3c){const _0x591112=null===(_0x1e7e3c=this[_0x23ba('0x80')](_0x1e7e3c,this[_0x23ba('0x65')]))[_0x23ba('0xae')]?null:_0x1e7e3c[_0x23ba('0xae')]||this[_0x23ba('0xb9')]['plugins'][_0x23ba('0x26')](_0x23ba('0xd9'))['me']['id'],_0x46123a=_0x1e7e3c[_0x23ba('0xf3')][_0x23ba('0xa9')],_0x63fc03=_0x1e7e3c[_0x23ba('0xc2')]['parent'],_0x2b6b63=_0x46123a[_0x23ba('0x62')]('vid_end'),_0x1730cb=_0x63fc03[_0x23ba('0x62')]('vid_start');_0x46123a[_0x23ba('0x8f')](_0x23ba('0x1e'),_0x63fc03[_0x23ba('0x62')](_0x23ba('0x1e'))),_0x63fc03[_0x23ba('0x8f')](_0x23ba('0x1e'),_0x2b6b63),this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x1730cb,{'userId':_0x591112}),this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x2b6b63,{'userId':_0x591112}),_0x1e7e3c['_execute']();}[_0x23ba('0xf1')](_0x39c623){const _0x12ab6e=null===(_0x39c623=this[_0x23ba('0x80')](_0x39c623,this['_idsRoots']))[_0x23ba('0xae')]?null:_0x39c623[_0x23ba('0xae')]||this[_0x23ba('0xb9')]['plugins']['get'](_0x23ba('0xd9'))['me']['id'],_0x18d70d=_0x39c623[_0x23ba('0x9e')],_0xf6abd7=_0x39c623['splitPosition']['parent'];_0x39c623[_0x23ba('0x1a')]();const _0x5310db=_0xf6abd7[_0x23ba('0x62')](_0x23ba('0x1e')),_0x2ad409=_0x39c623[_0x23ba('0x67')][_0x23ba('0x4b')];if(_0x18d70d){const _0x12b6d2=_0x2ad409[_0x23ba('0x62')](_0x23ba('0x1e')),_0x484232=_0xf6abd7[_0x23ba('0x62')](_0x23ba('0x1e'));_0xf6abd7['_setAttribute']('vid_end',_0x12b6d2),_0x2ad409[_0x23ba('0x8f')]('vid_end',_0x484232),this[_0x23ba('0x87')]['set'](_0xf6abd7[_0x23ba('0x62')](_0x23ba('0x1e')),{'userId':_0x12ab6e}),this['_touched'][_0x23ba('0xa1')](_0x2ad409[_0x23ba('0x62')](_0x23ba('0x79')),{'userId':_0x12ab6e});}else{const _0x20fc95=this[_0x23ba('0xec')]++,_0x1cec5b=this[_0x23ba('0xec')]++;_0xf6abd7['_setAttribute'](_0x23ba('0x1e'),_0x20fc95),_0x2ad409[_0x23ba('0x8f')](_0x23ba('0x79'),_0x1cec5b),_0x2ad409[_0x23ba('0x8f')]('vid_end',_0x5310db),this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x20fc95,{'userId':_0x12ab6e}),this[_0x23ba('0x87')][_0x23ba('0xa1')](_0x1cec5b,{'userId':_0x12ab6e});}}['_handleMarkerOperation'](_0x38c7dc){if(!_0x38c7dc[_0x23ba('0x8')])return;const _0x378559=(_0x38c7dc=this[_0x23ba('0x80')](_0x38c7dc,this[_0x23ba('0x4a')]))[_0x23ba('0x85')]?_0x38c7dc[_0x23ba('0x85')][_0x23ba('0xd4')]:null,_0x2f924a=_0x38c7dc['newRange']?_0x38c7dc[_0x23ba('0x57')]['root']:null;_0x378559&&this[_0x23ba('0x11')]['delete'](_0x38c7dc[_0x23ba('0xc5')]),_0x2f924a&&this[_0x23ba('0x11')][_0x23ba('0xa1')](_0x38c7dc['name'],_0x38c7dc['newRange'][_0x23ba('0xb')]());const _0x746683=null===_0x38c7dc[_0x23ba('0xae')]?null:_0x38c7dc[_0x23ba('0xae')]||this[_0x23ba('0xb9')][_0x23ba('0x2')][_0x23ba('0x26')](_0x23ba('0xd9'))['me']['id'],_0xa90eb1=_0x38c7dc[_0x23ba('0xc5')];if(!this[_0x23ba('0x68')][_0x23ba('0x93')](_0xa90eb1))return void this[_0x23ba('0x68')]['set'](_0xa90eb1,{'range':_0x38c7dc[_0x23ba('0x85')],'userId':_0x746683});const _0x57f57c=this[_0x23ba('0x68')][_0x23ba('0x26')](_0xa90eb1),_0x206dba=_0x57f57c[_0x23ba('0xf0')],_0x2bbd24=_0x38c7dc[_0x23ba('0x57')];null==_0x206dba&&null==_0x2bbd24||_0x206dba&&_0x2bbd24&&_0x206dba[_0x23ba('0xa4')](_0x2bbd24)?this[_0x23ba('0x68')][_0x23ba('0xb1')](_0x38c7dc['name']):_0x57f57c['userId']=_0x746683;}}function J(_0x2221ae){const _0x4aef90=new _0x19b136();_0x4aef90[_0x23ba('0xd3')]=_0x2221ae[_0x23ba('0xd3')];for(const _0x2b7524 of _0x2221ae[_0x23ba('0xd2')]()){const _0x4bfe9f=_0x2b7524[_0x23ba('0x3e')](!0x0);_0x4aef90[_0x23ba('0x3d')](_0x4bfe9f);}return _0x4aef90;}function j(_0xba588f,_0x4dd4e0,_0x19d342){const _0x1efeaa='elementEnd'==_0xba588f['type']?_0x19d342[_0x23ba('0xb4')](_0xba588f[_0x23ba('0xf2')],_0x23ba('0x99')):_0x19d342['createPositionBefore'](_0xba588f['item']);return _0x19d342['createPositionFromPath'](_0x4dd4e0,_0x1efeaa['path'],_0x1efeaa['stickiness']);}function B(_0x1184d6,_0x17835f,_0x43db5b){const _0x20dfd8=_0x23ba('0x12')==_0x1184d6[_0x23ba('0x43')]?_0x43db5b[_0x23ba('0xb4')](_0x1184d6[_0x23ba('0xf2')],0x0):_0x43db5b[_0x23ba('0xbe')](_0x1184d6[_0x23ba('0xf2')]);return _0x43db5b[_0x23ba('0xdf')](_0x17835f,_0x20dfd8['path'],_0x20dfd8[_0x23ba('0x1f')]);}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import '../theme/revisionviewer.css';
|
|
2
|
+
/**
|
|
3
|
+
function printTape( tape ) {
|
|
4
|
+
const elements = tape.map(
|
|
5
|
+
item => item.item.data ? item.item.data : item.type == 'elementStart' ? '<' + item.item.name + '>' : '</' + item.item.name + '>'
|
|
6
|
+
).join( '' );
|
|
7
|
+
|
|
8
|
+
const signs = tape.map( v => {
|
|
9
|
+
const item = v.item;
|
|
10
|
+
const sign = ( v.isAdded || v.isAddSuggestion ) ? v.isRemoved ? '=' : '+' : v.isRemoved ? '-' : ' ';
|
|
11
|
+
const len = item.data ? item.data.length : v.type == 'elementStart' ? item.name.length + 2 : item.name.length + 3;
|
|
12
|
+
|
|
13
|
+
return sign.repeat( len );
|
|
14
|
+
} ).join( '' );
|
|
15
|
+
|
|
16
|
+
console.log( elements );
|
|
17
|
+
console.log( signs );
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
window.printTape = printTape;
|
|
21
|
+
/**/
|