ketcher-react 3.1.0-rc.6 → 3.2.0-rc.1
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/dist/cjs/index.js +34 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{index.modern-1cbc2dff.js → index.modern-dc72bcd6.js} +337 -88
- package/dist/cjs/index.modern-dc72bcd6.js.map +1 -0
- package/dist/cjs/script/editor/Editor.d.ts +4 -3
- package/dist/index.js +34 -8
- package/dist/index.js.map +1 -1
- package/dist/{index.modern-1eba1f75.js → index.modern-17b0bd64.js} +338 -89
- package/dist/index.modern-17b0bd64.js.map +1 -0
- package/dist/script/editor/Editor.d.ts +4 -3
- package/package.json +2 -4
- package/dist/cjs/index.modern-1cbc2dff.js.map +0 -1
- package/dist/index.modern-1eba1f75.js.map +0 -1
|
@@ -23,7 +23,7 @@ import { merge, debounce, flatten, get as get$2 } from 'lodash';
|
|
|
23
23
|
import { combineReducers, applyMiddleware, createStore, compose as compose$1 } from 'redux';
|
|
24
24
|
import { createSelector } from 'reselect';
|
|
25
25
|
import thunkMiddleware from 'redux-thunk';
|
|
26
|
-
import { KetcherLogger, MonomerGroups as MonomerGroups$1, KetMonomerClass, ChemicalMimeType as ChemicalMimeType$1, KetSerializer, CoreEditor, generateMenuShortcuts, hotkeysConfiguration, modesMap, isAmbiguousMonomerLibraryItem, MONOMER_CONST, macromoleculesFilesInputFormats, EditorHistory, SequenceMode, SnakeMode, FlexMode, ModeTypes, ketcherProvider, KetcherAsyncEvents, UsageInMacromolecule, ZoomTool, SequenceType, HydrogenBond, BackBoneSequenceNode, AmbiguousMonomer, Nucleotide, Nucleoside,
|
|
26
|
+
import { KetcherLogger, MonomerGroups as MonomerGroups$1, KetMonomerClass, ChemicalMimeType as ChemicalMimeType$1, KetSerializer, CoreEditor, generateMenuShortcuts, hotkeysConfiguration, ToolName, modesMap, isAmbiguousMonomerLibraryItem, MONOMER_CONST, macromoleculesFilesInputFormats, EditorHistory, SequenceMode, SnakeMode, FlexMode, ModeTypes, ketcherProvider, KetcherAsyncEvents, isTwoStrandedNodeRestrictedForHydrogenBondCreation, UsageInMacromolecule, ZoomTool, SequenceType, HydrogenBond, BackBoneSequenceNode, AmbiguousMonomer, Nucleotide, Nucleoside, RNABase, getSugarFromRnaBase, Sugar, getRnaBaseFromSugar, setAmbiguousMonomerTemplatePrefix, setMonomerTemplatePrefix, monomerFactory, Entities, isRnaBaseOrAmbiguousRnaBase, MonomerToAtomBond, DEFAULT_LAYOUT_MODE, HAS_CONTENT_LAYOUT_MODE, Vec2, Coordinates, AmbiguousMonomerRenderer, Phosphate, KetAmbiguousMonomerTemplateSubType, getSvgFromDrawnStructures, isClipboardAPIAvailable, legacyCopy } from 'ketcher-core';
|
|
27
27
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
28
28
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
29
29
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -3266,8 +3266,12 @@ var selectEditorLayoutMode = function selectEditorLayoutMode(state) {
|
|
|
3266
3266
|
return state.editor.editorLayoutMode;
|
|
3267
3267
|
};
|
|
3268
3268
|
var selectIsHandToolSelected = function selectIsHandToolSelected(state) {
|
|
3269
|
-
var _state$editor$
|
|
3270
|
-
return (_state$editor$
|
|
3269
|
+
var _state$editor$editor4;
|
|
3270
|
+
return (_state$editor$editor4 = state.editor.editor) === null || _state$editor$editor4 === void 0 ? void 0 : _state$editor$editor4.isHandToolSelected;
|
|
3271
|
+
};
|
|
3272
|
+
var hasAntisenseChains = function hasAntisenseChains(state) {
|
|
3273
|
+
var _state$editor$editor5;
|
|
3274
|
+
return (_state$editor$editor5 = state.editor.editor) === null || _state$editor$editor5 === void 0 || (_state$editor$editor5 = _state$editor$editor5.drawingEntitiesManager) === null || _state$editor$editor5 === void 0 ? void 0 : _state$editor$editor5.hasAntisenseChains;
|
|
3271
3275
|
};
|
|
3272
3276
|
var editorReducer = editorSlice.reducer;
|
|
3273
3277
|
|
|
@@ -4611,7 +4615,9 @@ var muiOverrides = {
|
|
|
4611
4615
|
|
|
4612
4616
|
var getGlobalStyles = function getGlobalStyles(theme) {
|
|
4613
4617
|
return css({
|
|
4614
|
-
|
|
4618
|
+
all: 'unset',
|
|
4619
|
+
'.Ketcher-polymer-editor-root': {
|
|
4620
|
+
all: 'unset',
|
|
4615
4621
|
fontSize: theme.ketcher.font.size.medium,
|
|
4616
4622
|
fontFamily: theme.ketcher.font.family.inter,
|
|
4617
4623
|
fontWeight: theme.ketcher.font.weight.regular,
|
|
@@ -4619,42 +4625,42 @@ var getGlobalStyles = function getGlobalStyles(theme) {
|
|
|
4619
4625
|
color: theme.ketcher.color.text.primary,
|
|
4620
4626
|
boxSizing: 'border-box'
|
|
4621
4627
|
},
|
|
4622
|
-
div: {
|
|
4628
|
+
':where(.Ketcher-polymer-editor-root) div': {
|
|
4623
4629
|
boxSizing: 'border-box'
|
|
4624
4630
|
},
|
|
4625
|
-
input: {
|
|
4631
|
+
':where(.Ketcher-polymer-editor-root) input': {
|
|
4626
4632
|
fontFamily: theme.ketcher.font.family.inter,
|
|
4627
4633
|
fontWeight: theme.ketcher.font.weight.regular,
|
|
4628
4634
|
fontSize: theme.ketcher.font.size.regular,
|
|
4629
4635
|
boxSizing: 'border-box'
|
|
4630
4636
|
},
|
|
4631
|
-
h1: {
|
|
4637
|
+
':where(.Ketcher-polymer-editor-root) h1': {
|
|
4632
4638
|
fontSize: 96
|
|
4633
4639
|
},
|
|
4634
|
-
h2: {
|
|
4640
|
+
':where(.Ketcher-polymer-editor-root) h2': {
|
|
4635
4641
|
fontSize: 60
|
|
4636
4642
|
},
|
|
4637
|
-
h3: {
|
|
4643
|
+
':where(.Ketcher-polymer-editor-root) h3': {
|
|
4638
4644
|
fontSize: 48
|
|
4639
4645
|
},
|
|
4640
|
-
h4: {
|
|
4646
|
+
':where(.Ketcher-polymer-editor-root) h4': {
|
|
4641
4647
|
fontSize: 34
|
|
4642
4648
|
},
|
|
4643
|
-
h5: {
|
|
4649
|
+
':where(.Ketcher-polymer-editor-root) h5': {
|
|
4644
4650
|
fontSize: 24
|
|
4645
4651
|
},
|
|
4646
|
-
h6: {
|
|
4652
|
+
':where(.Ketcher-polymer-editor-root) h6': {
|
|
4647
4653
|
fontSize: 20,
|
|
4648
4654
|
fontWeight: theme.ketcher.font.weight.bold
|
|
4649
4655
|
},
|
|
4650
|
-
p: {
|
|
4656
|
+
':where(.Ketcher-polymer-editor-root) p': {
|
|
4651
4657
|
fontSize: theme.ketcher.font.size.regular
|
|
4652
4658
|
},
|
|
4653
|
-
button: {
|
|
4659
|
+
':where(.Ketcher-polymer-editor-root) button': {
|
|
4654
4660
|
textTransform: 'uppercase',
|
|
4655
4661
|
fontWeight: theme.ketcher.font.weight.bold
|
|
4656
4662
|
}
|
|
4657
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:getGlobalStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdldEdsb2JhbFN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQjBDIiwiZmlsZSI6ImdldEdsb2JhbFN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCAyMDIxIEVQQU0gU3lzdGVtc1xyXG4gKlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmV4cG9ydCBjb25zdCBnZXRHbG9iYWxTdHlsZXMgPSAodGhlbWUpID0+
|
|
4663
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:getGlobalStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdldEdsb2JhbFN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQjBDIiwiZmlsZSI6ImdldEdsb2JhbFN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCAyMDIxIEVQQU0gU3lzdGVtc1xyXG4gKlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmV4cG9ydCBjb25zdCBnZXRHbG9iYWxTdHlsZXMgPSAodGhlbWUpID0+IGNzcyh7XHJcbiAgICBhbGw6ICd1bnNldCcsXHJcbiAgICAnLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCc6IHtcclxuICAgICAgICBhbGw6ICd1bnNldCcsXHJcbiAgICAgICAgZm9udFNpemU6IHRoZW1lLmtldGNoZXIuZm9udC5zaXplLm1lZGl1bSxcclxuICAgICAgICBmb250RmFtaWx5OiB0aGVtZS5rZXRjaGVyLmZvbnQuZmFtaWx5LmludGVyLFxyXG4gICAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLmtldGNoZXIuZm9udC53ZWlnaHQucmVndWxhcixcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmtldGNoZXIuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LFxyXG4gICAgICAgIGNvbG9yOiB0aGVtZS5rZXRjaGVyLmNvbG9yLnRleHQucHJpbWFyeSxcclxuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcclxuICAgIH0sXHJcbiAgICAnOndoZXJlKC5LZXRjaGVyLXBvbHltZXItZWRpdG9yLXJvb3QpIGRpdic6IHtcclxuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcclxuICAgIH0sXHJcbiAgICAnOndoZXJlKC5LZXRjaGVyLXBvbHltZXItZWRpdG9yLXJvb3QpIGlucHV0Jzoge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLmtldGNoZXIuZm9udC5mYW1pbHkuaW50ZXIsXHJcbiAgICAgICAgZm9udFdlaWdodDogdGhlbWUua2V0Y2hlci5mb250LndlaWdodC5yZWd1bGFyLFxyXG4gICAgICAgIGZvbnRTaXplOiB0aGVtZS5rZXRjaGVyLmZvbnQuc2l6ZS5yZWd1bGFyLFxyXG4gICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDEnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDk2LFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDInOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDYwLFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDMnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDQ4LFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDQnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDM0LFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDUnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDI0LFxyXG4gICAgfSxcclxuICAgICc6d2hlcmUoLktldGNoZXItcG9seW1lci1lZGl0b3Itcm9vdCkgaDYnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IDIwLFxyXG4gICAgICAgIGZvbnRXZWlnaHQ6IHRoZW1lLmtldGNoZXIuZm9udC53ZWlnaHQuYm9sZCxcclxuICAgIH0sXHJcbiAgICAnOndoZXJlKC5LZXRjaGVyLXBvbHltZXItZWRpdG9yLXJvb3QpIHAnOiB7XHJcbiAgICAgICAgZm9udFNpemU6IHRoZW1lLmtldGNoZXIuZm9udC5zaXplLnJlZ3VsYXIsXHJcbiAgICB9LFxyXG4gICAgJzp3aGVyZSguS2V0Y2hlci1wb2x5bWVyLWVkaXRvci1yb290KSBidXR0b24nOiB7XHJcbiAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXHJcbiAgICAgICAgZm9udFdlaWdodDogdGhlbWUua2V0Y2hlci5mb250LndlaWdodC5ib2xkLFxyXG4gICAgfSxcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEdsb2JhbFN0eWxlcy5qcy5tYXAiXX0= */");
|
|
4658
4664
|
};
|
|
4659
4665
|
|
|
4660
4666
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$D() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
@@ -6009,7 +6015,7 @@ var DetailsContainer = _styled("div", process.env.NODE_ENV === "production" ? {
|
|
|
6009
6015
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQmdDIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCAyMDIxIEVQQU0gU3lzdGVtc1xyXG4gKlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IEFjY29yZGlvbiwgQnV0dG9uIH0gZnJvbSAna2V0Y2hlci1yZWFjdCc7XHJcbmV4cG9ydCBjb25zdCBSbmFBY2NvcmRpb25Db250YWluZXIgPSBzdHlsZWQuZGl2KHtcclxuICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxyXG4gICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcclxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcclxuICAgIGhlaWdodDogJzEwMCUnLFxyXG59KTtcclxuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGlvbiA9IHN0eWxlZChBY2NvcmRpb24pKHtcclxuICAgIG1pbkhlaWdodDogJzMycHgnLFxyXG59KTtcclxuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2KHtcclxuICAgIGZsZXhHcm93OiAyLFxyXG4gICAgbWluSGVpZ2h0OiAnMzJweCcsXHJcbn0pO1xyXG5leHBvcnQgY29uc3QgRGV0YWlsc0NvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xyXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXHJcbiAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXHJcbiAgICBnYXA6ICcyNHB4JyxcclxuICAgIGp1c3RpZnlDb250ZW50OiAnc3RhcnQnLFxyXG4gICAgcGFkZGluZzogJzE2cHggMTJweCcsXHJcbn0pO1xyXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkKEJ1dHRvbikoKHByb3BzKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvcHMudGhlbWUua2V0Y2hlci5jb2xvci5idXR0b24udHJhbnNwYXJlbnQuYWN0aXZlLFxyXG4gICAgICAgIGNvbG9yOiBwcm9wcy50aGVtZS5rZXRjaGVyLmNvbG9yLnRleHQubGlnaHQsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IHByb3BzLnRoZW1lLmtldGNoZXIuY29sb3IudGV4dC5saWdodCxcclxuICAgIH07XHJcbn0pO1xyXG5leHBvcnQgY29uc3QgRGlzYWJsZWRBcmVhID0gc3R5bGVkLmRpdih7XHJcbiAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZWZmMmY1OTQnLFxyXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICB0b3A6IDAsXHJcbiAgICBsZWZ0OiAwLFxyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdfQ== */",
|
|
6010
6016
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$x
|
|
6011
6017
|
});
|
|
6012
|
-
var StyledButton$
|
|
6018
|
+
var StyledButton$2 = _styled(Button, process.env.NODE_ENV === "production" ? {
|
|
6013
6019
|
target: "e1hdfnag1"
|
|
6014
6020
|
} : {
|
|
6015
6021
|
target: "e1hdfnag1",
|
|
@@ -6176,7 +6182,7 @@ var RnaAccordion = function RnaAccordion(_ref) {
|
|
|
6176
6182
|
expanded: expanded
|
|
6177
6183
|
});
|
|
6178
6184
|
var details = groupData.groupName === RnaBuilderPresetsItem.Presets ? jsxs(DetailsContainer, {
|
|
6179
|
-
children: [jsx(StyledButton$
|
|
6185
|
+
children: [jsx(StyledButton$2, {
|
|
6180
6186
|
onClick: function onClick() {
|
|
6181
6187
|
return onClickNewPreset();
|
|
6182
6188
|
},
|
|
@@ -6479,7 +6485,7 @@ var ButtonsContainer = _styled("div", process.env.NODE_ENV === "production" ? {
|
|
|
6479
6485
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQ2dDIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCAyMDIxIEVQQU0gU3lzdGVtc1xyXG4gKlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xyXG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKlxyXG4gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxyXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXHJcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxyXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXHJcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IEJ1dHRvbiwgSW5wdXQgfSBmcm9tICdrZXRjaGVyLXJlYWN0JztcclxuZXhwb3J0IGNvbnN0IFJuYUVkaXRvckV4cGFuZGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigocHJvcHMpID0+ICh7XHJcbiAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcclxuICAgIHBhZGRpbmc6ICcxMHB4JyxcclxuICAgICcmLnJuYS1lZGl0b3ItZXhwYW5kZWQtLXNlcXVlbmNlLWVkaXQtbW9kZSc6IHtcclxuICAgICAgICBwYWRkaW5nOiAnOHB4JyxcclxuICAgICAgICBwYWRkaW5nVG9wOiAnMTBweCcsXHJcbiAgICAgICAgYm9yZGVyOiBgMnB4ICR7cHJvcHMudGhlbWUua2V0Y2hlci5jb2xvci5lZGl0TW9kZS5zZXF1ZW5jZUluUk5BQnVpbGRlcn0gc29saWRgLFxyXG4gICAgICAgIGJvcmRlclRvcDogJ25vbmUnLFxyXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAnNHB4JyxcclxuICAgICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiAnNHB4JyxcclxuICAgIH0sXHJcbn0pKTtcclxuZXhwb3J0IGNvbnN0IEdyb3Vwc0NvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xyXG4gICAgbWFyZ2luVG9wOiAnMTZweCcsXHJcbiAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXHJcbiAgICBnYXA6ICc4cHgnLFxyXG59KTtcclxuZXhwb3J0IGNvbnN0IEJ1dHRvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2KHtcclxuICAgIG1hcmdpblRvcDogJzE2cHgnLFxyXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1ldmVubHknLFxyXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXHJcbiAgICBnYXA6ICc4cHgnLFxyXG59KTtcclxuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKChwcm9wcykgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxyXG4gICAgICAgIGZvbnRTaXplOiBwcm9wcy50aGVtZS5rZXRjaGVyLmZvbnQuc2l6ZS5yZWd1bGFyLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvcHMucHJpbWFyeVxyXG4gICAgICAgICAgICA/IHByb3BzLnRoZW1lLmtldGNoZXIuY29sb3IuYnV0dG9uLnByaW1hcnkuYWN0aXZlXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIGNvbG9yOiBwcm9wcy5wcmltYXJ5ICYmICFwcm9wcy5kaXNhYmxlZFxyXG4gICAgICAgICAgICA/IHByb3BzLnRoZW1lLmtldGNoZXIuY29sb3IuYnV0dG9uLnRleHQucHJpbWFyeVxyXG4gICAgICAgICAgICA6IHByb3BzLnRoZW1lLmtldGNoZXIuY29sb3IudGV4dC5saWdodCxcclxuICAgICAgICBvdXRsaW5lOiBwcm9wcy5wcmltYXJ5ICYmICFwcm9wcy5kaXNhYmxlZFxyXG4gICAgICAgICAgICA/IHByb3BzLnRoZW1lLmtldGNoZXIub3V0bGluZS5zZWxlY3RlZC5zbWFsbFxyXG4gICAgICAgICAgICA6IHByb3BzLnRoZW1lLmtldGNoZXIub3V0bGluZS5ncmV5LnNtYWxsLFxyXG4gICAgfTtcclxufSk7XHJcbmV4cG9ydCBjb25zdCBOYW1lQ29udGFpbmVyID0gc3R5bGVkLmRpdigocHJvcHMpID0+ICh7XHJcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcclxuICAgIGJvcmRlclJhZGl1czogcHJvcHMudGhlbWUua2V0Y2hlci5ib3JkZXIucmFkaXVzLnJlZ3VsYXIsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHByb3BzLnRoZW1lLmtldGNoZXIuY29sb3IuYmFja2dyb3VuZC5wcmltYXJ5LFxyXG4gICAgYm94U2hhZG93OiBwcm9wcy50aGVtZS5rZXRjaGVyLnNoYWRvdy5yZWd1bGFyLFxyXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXHJcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXHJcbiAgICBwYWRkaW5nOiAnMCA2cHggNnB4IDZweCcsXHJcbiAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1lbmQnLFxyXG4gICAgaGVpZ2h0OiAnNDhweCcsXHJcbiAgICBvdXRsaW5lOiBwcm9wcy5zZWxlY3RlZFxyXG4gICAgICAgID8gcHJvcHMudGhlbWUua2V0Y2hlci5vdXRsaW5lLnNlbGVjdGVkLm1lZGl1bVxyXG4gICAgICAgIDogJ25vbmUnLFxyXG4gICAgJzpob3Zlcic6IHtcclxuICAgICAgICBvdXRsaW5lOiBwcm9wcy5zZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHByb3BzLnRoZW1lLmtldGNoZXIub3V0bGluZS5zbWFsbCxcclxuICAgIH0sXHJcbn0pKTtcclxuZXhwb3J0IGNvbnN0IE5hbWVMaW5lID0gc3R5bGVkLnNwYW4oKHByb3BzKSA9PiAoe1xyXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICB0b3A6ICcwJyxcclxuICAgIGxlZnQ6ICcwJyxcclxuICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICBoZWlnaHQ6ICc4cHgnLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiBwcm9wcy5zZWxlY3RlZFxyXG4gICAgICAgID8gcHJvcHMudGhlbWUua2V0Y2hlci5vdXRsaW5lLnNlbGVjdGVkLmNvbG9yXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5rZXRjaGVyLm91dGxpbmUuY29sb3IsXHJcbn0pKTtcclxuZXhwb3J0IGNvbnN0IE5hbWVJbnB1dCA9IHN0eWxlZChJbnB1dCkoe1xyXG4gICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICcmOmRpc2FibGVkJzoge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcclxuICAgICAgICBvdXRsaW5lOiAnbm9uZScsXHJcbiAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcclxuICAgIH0sXHJcbn0pO1xyXG5leHBvcnQgY29uc3QgUHJlc2V0TmFtZSA9IHN0eWxlZC5kaXYoe1xyXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxyXG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdfQ== */",
|
|
6480
6486
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$u
|
|
6481
6487
|
});
|
|
6482
|
-
var StyledButton = _styled(Button, process.env.NODE_ENV === "production" ? {
|
|
6488
|
+
var StyledButton$1 = _styled(Button, process.env.NODE_ENV === "production" ? {
|
|
6483
6489
|
target: "e18wzlbg4"
|
|
6484
6490
|
} : {
|
|
6485
6491
|
target: "e18wzlbg4",
|
|
@@ -6805,7 +6811,7 @@ var RnaEditorExpanded = function RnaEditorExpanded(_ref) {
|
|
|
6805
6811
|
}, [editor, sequenceSelection]);
|
|
6806
6812
|
var mainButton;
|
|
6807
6813
|
if (isActivePresetEmpty && !isSequenceEditInRNABuilderMode) {
|
|
6808
|
-
mainButton = jsx(StyledButton, {
|
|
6814
|
+
mainButton = jsx(StyledButton$1, {
|
|
6809
6815
|
disabled: !selectIsPresetReadyToSave(newPreset),
|
|
6810
6816
|
primary: true,
|
|
6811
6817
|
"data-testid": "add-to-presets-btn",
|
|
@@ -6813,7 +6819,7 @@ var RnaEditorExpanded = function RnaEditorExpanded(_ref) {
|
|
|
6813
6819
|
children: "Add to Presets"
|
|
6814
6820
|
});
|
|
6815
6821
|
} else if (isEditMode) {
|
|
6816
|
-
mainButton = jsx(StyledButton, {
|
|
6822
|
+
mainButton = jsx(StyledButton$1, {
|
|
6817
6823
|
primary: true,
|
|
6818
6824
|
disabled: isSequenceEditInRNABuilderMode ? !isSequenceSelectionUpdated : false,
|
|
6819
6825
|
"data-testid": "save-btn",
|
|
@@ -6821,7 +6827,7 @@ var RnaEditorExpanded = function RnaEditorExpanded(_ref) {
|
|
|
6821
6827
|
children: isSequenceEditInRNABuilderMode ? 'Update' : 'Save'
|
|
6822
6828
|
});
|
|
6823
6829
|
} else {
|
|
6824
|
-
mainButton = jsx(StyledButton, {
|
|
6830
|
+
mainButton = jsx(StyledButton$1, {
|
|
6825
6831
|
"data-testid": "edit-btn",
|
|
6826
6832
|
onClick: turnOnEditMode,
|
|
6827
6833
|
disabled: activePreset["default"],
|
|
@@ -6861,11 +6867,11 @@ var RnaEditorExpanded = function RnaEditorExpanded(_ref) {
|
|
|
6861
6867
|
}, groupName);
|
|
6862
6868
|
})
|
|
6863
6869
|
}), jsxs(ButtonsContainer, {
|
|
6864
|
-
children: [isEditMode ? jsx(StyledButton, {
|
|
6870
|
+
children: [isEditMode ? jsx(StyledButton$1, {
|
|
6865
6871
|
"data-testid": "cancel-btn",
|
|
6866
6872
|
onClick: onCancel,
|
|
6867
6873
|
children: "Cancel"
|
|
6868
|
-
}) : jsx(StyledButton, {
|
|
6874
|
+
}) : jsx(StyledButton$1, {
|
|
6869
6875
|
"data-testid": "duplicate-btn",
|
|
6870
6876
|
disabled: !selectIsPresetReadyToSave(newPreset),
|
|
6871
6877
|
onClick: function onClick() {
|
|
@@ -7238,7 +7244,7 @@ var RnaBuilder = function RnaBuilder(_ref) {
|
|
|
7238
7244
|
children: [uniqueNameError && "Preset with name \"".concat(uniqueNameError, "\" already exists. Please choose another name."), invalidPresetError && "Preset with name \"".concat(invalidPresetError, "\" can't be used. Because it is impossible to establish bonds between monomers. Edit it's structure or choose another one.")]
|
|
7239
7245
|
})
|
|
7240
7246
|
}), jsx(Modal.Footer, {
|
|
7241
|
-
children: jsx(StyledButton$
|
|
7247
|
+
children: jsx(StyledButton$2, {
|
|
7242
7248
|
onClick: closeErrorModal,
|
|
7243
7249
|
children: "Close"
|
|
7244
7250
|
})
|
|
@@ -12806,6 +12812,20 @@ var ArrowMarker = function ArrowMarker() {
|
|
|
12806
12812
|
fill: "black",
|
|
12807
12813
|
stroke: "none"
|
|
12808
12814
|
})
|
|
12815
|
+
}), jsx("marker", {
|
|
12816
|
+
id: "arrow-marker-arc",
|
|
12817
|
+
markerWidth: "5",
|
|
12818
|
+
markerHeight: "5",
|
|
12819
|
+
viewBox: "0 0 5 5",
|
|
12820
|
+
refX: "5",
|
|
12821
|
+
refY: "2.5",
|
|
12822
|
+
orient: "auto",
|
|
12823
|
+
children: jsx("use", {
|
|
12824
|
+
href: "#arrow-marker-content",
|
|
12825
|
+
transform: "rotate(180, 2.5, 2.5)",
|
|
12826
|
+
fill: "#365CFF",
|
|
12827
|
+
stroke: "none"
|
|
12828
|
+
})
|
|
12809
12829
|
})]
|
|
12810
12830
|
});
|
|
12811
12831
|
};
|
|
@@ -13556,55 +13576,171 @@ var generateSequenceContextMenuProps = function generateSequenceContextMenuProps
|
|
|
13556
13576
|
hasAntisense: hasAntisense
|
|
13557
13577
|
};
|
|
13558
13578
|
};
|
|
13579
|
+
function isEstablishHydrogenBondDisabled() {
|
|
13580
|
+
var selections = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
13581
|
+
return selections.every(function (selectionRange) {
|
|
13582
|
+
return selectionRange.every(function (selection) {
|
|
13583
|
+
return isTwoStrandedNodeRestrictedForHydrogenBondCreation(selection.twoStrandedNode);
|
|
13584
|
+
});
|
|
13585
|
+
});
|
|
13586
|
+
}
|
|
13587
|
+
function isNodeContainHydrogenBonds(node) {
|
|
13588
|
+
return node === null || node === void 0 ? void 0 : node.monomers.some(function (monomer) {
|
|
13589
|
+
return monomer.hydrogenBonds.length !== 0;
|
|
13590
|
+
});
|
|
13591
|
+
}
|
|
13592
|
+
|
|
13593
|
+
var getMonomersCode = function getMonomersCode(monomers) {
|
|
13594
|
+
return monomers.map(function (monomer) {
|
|
13595
|
+
return monomer.monomerItem.props.MonomerNaturalAnalogCode;
|
|
13596
|
+
}).sort().join('');
|
|
13597
|
+
};
|
|
13598
|
+
var isSenseBase = function isSenseBase(monomer) {
|
|
13599
|
+
var monomerItem = monomer.monomerItem;
|
|
13600
|
+
var isNaturalAnalogue = monomerItem.props.MonomerNaturalAnalogCode === 'A' || monomerItem.props.MonomerNaturalAnalogCode === 'C' || monomerItem.props.MonomerNaturalAnalogCode === 'G' || monomerItem.props.MonomerNaturalAnalogCode === 'T' || monomerItem.props.MonomerNaturalAnalogCode === 'U';
|
|
13601
|
+
if (isNaturalAnalogue) {
|
|
13602
|
+
return true;
|
|
13603
|
+
}
|
|
13604
|
+
if (!monomer.monomerItem.isAmbiguous) {
|
|
13605
|
+
return false;
|
|
13606
|
+
}
|
|
13607
|
+
if (monomer.subtype === KetAmbiguousMonomerTemplateSubType.MIXTURE) {
|
|
13608
|
+
return false;
|
|
13609
|
+
}
|
|
13610
|
+
var N1 = 'ACGT';
|
|
13611
|
+
var N2 = 'ACGU';
|
|
13612
|
+
var B1 = 'CGT';
|
|
13613
|
+
var B2 = 'CGU';
|
|
13614
|
+
var D1 = 'AGT';
|
|
13615
|
+
var D2 = 'AGU';
|
|
13616
|
+
var H1 = 'ACT';
|
|
13617
|
+
var H2 = 'ACU';
|
|
13618
|
+
var K1 = 'GT';
|
|
13619
|
+
var K2 = 'GU';
|
|
13620
|
+
var W1 = 'AT';
|
|
13621
|
+
var W2 = 'AU';
|
|
13622
|
+
var Y1 = 'CT';
|
|
13623
|
+
var Y2 = 'CU';
|
|
13624
|
+
var M = 'AC';
|
|
13625
|
+
var R = 'AG';
|
|
13626
|
+
var S = 'CG';
|
|
13627
|
+
var V = 'ACG';
|
|
13628
|
+
var ambigues = [N1, N2, B1, B2, D1, D2, H1, H2, K1, K2, W1, W2, Y1, Y2, M, R, S, V];
|
|
13629
|
+
var code = getMonomersCode(monomer.monomers);
|
|
13630
|
+
return ambigues.some(function (v) {
|
|
13631
|
+
return v === code;
|
|
13632
|
+
});
|
|
13633
|
+
};
|
|
13634
|
+
var isAntisenseCreationDisabled = function isAntisenseCreationDisabled(selectedMonomers) {
|
|
13635
|
+
return selectedMonomers === null || selectedMonomers === void 0 ? void 0 : selectedMonomers.some(function (selectedMonomer) {
|
|
13636
|
+
var rnaBaseForSugar = selectedMonomer instanceof Sugar && getRnaBaseFromSugar(selectedMonomer);
|
|
13637
|
+
return selectedMonomer instanceof RNABase && (selectedMonomer.hydrogenBonds.length > 0 || selectedMonomer.covalentBonds.length > 1) || isRnaBaseOrAmbiguousRnaBase(selectedMonomer) && !isSenseBase(selectedMonomer) || rnaBaseForSugar && (rnaBaseForSugar.hydrogenBonds.length > 0 || !isSenseBase(rnaBaseForSugar));
|
|
13638
|
+
});
|
|
13639
|
+
};
|
|
13559
13640
|
|
|
13560
13641
|
var SequenceItemContextMenuNames;
|
|
13561
13642
|
(function (SequenceItemContextMenuNames) {
|
|
13562
13643
|
SequenceItemContextMenuNames["title"] = "sequence_menu_title";
|
|
13644
|
+
SequenceItemContextMenuNames["createRnaAntisenseStrand"] = "create_rna_antisense_strand";
|
|
13645
|
+
SequenceItemContextMenuNames["createDnaAntisenseStrand"] = "create_dna_antisense_strand";
|
|
13563
13646
|
SequenceItemContextMenuNames["modifyInRnaBuilder"] = "modify_in_rna_builder";
|
|
13647
|
+
SequenceItemContextMenuNames["establishHydrogenBond"] = "establish_hydrogen_bond";
|
|
13648
|
+
SequenceItemContextMenuNames["deleteHydrogenBond"] = "delete_hydrogen_bond";
|
|
13564
13649
|
SequenceItemContextMenuNames["editSequence"] = "edit_sequence";
|
|
13565
13650
|
SequenceItemContextMenuNames["startNewSequence"] = "start_new_sequence";
|
|
13566
13651
|
})(SequenceItemContextMenuNames || (SequenceItemContextMenuNames = {}));
|
|
13567
13652
|
var SequenceItemContextMenu = function SequenceItemContextMenu(_ref) {
|
|
13653
|
+
var _selections$;
|
|
13568
13654
|
var selections = _ref.selections;
|
|
13569
13655
|
var editor = useAppSelector(selectEditor);
|
|
13570
13656
|
var dispatch = useAppDispatch();
|
|
13571
13657
|
var menuProps = generateSequenceContextMenuProps(selections);
|
|
13658
|
+
var extractedBaseMonomers = (selections === null || selections === void 0 || (_selections$ = selections[0]) === null || _selections$ === void 0 ? void 0 : _selections$.flatMap(function (item) {
|
|
13659
|
+
var node = item.node;
|
|
13660
|
+
return node ? [node.sugar, node.rnaBase, node.phosphate, node.monomer] : [];
|
|
13661
|
+
}).filter(function (baseMonomer) {
|
|
13662
|
+
return baseMonomer !== undefined;
|
|
13663
|
+
})) || [];
|
|
13572
13664
|
var isSequenceEditInRNABuilderMode = useAppSelector(selectIsSequenceEditInRNABuilderMode);
|
|
13573
13665
|
var isSequenceMode = useLayoutMode() === ModeTypes.sequence;
|
|
13666
|
+
var isAntisenseOptionHidden = function isAntisenseOptionHidden(_ref2) {
|
|
13667
|
+
var props = _ref2.props;
|
|
13668
|
+
return !(props !== null && props !== void 0 && props.sequenceItemRenderer) || !(extractedBaseMonomers !== null && extractedBaseMonomers !== void 0 && extractedBaseMonomers.some(function (selectedMonomer) {
|
|
13669
|
+
return selectedMonomer instanceof RNABase && getSugarFromRnaBase(selectedMonomer) || selectedMonomer instanceof Sugar && getRnaBaseFromSugar(selectedMonomer);
|
|
13670
|
+
}));
|
|
13671
|
+
};
|
|
13574
13672
|
var menuItems = [{
|
|
13575
13673
|
name: SequenceItemContextMenuNames.title,
|
|
13576
13674
|
title: menuProps === null || menuProps === void 0 ? void 0 : menuProps.title,
|
|
13577
13675
|
isMenuTitle: true,
|
|
13578
13676
|
disabled: true,
|
|
13579
|
-
hidden: function hidden(
|
|
13580
|
-
var props =
|
|
13677
|
+
hidden: function hidden(_ref3) {
|
|
13678
|
+
var props = _ref3.props;
|
|
13581
13679
|
return !(props !== null && props !== void 0 && props.sequenceItemRenderer) || !(menuProps !== null && menuProps !== void 0 && menuProps.isSelectedAtLeastOneNucleoelement);
|
|
13582
13680
|
}
|
|
13681
|
+
}, {
|
|
13682
|
+
name: SequenceItemContextMenuNames.createRnaAntisenseStrand,
|
|
13683
|
+
title: 'Create RNA antisense strand',
|
|
13684
|
+
disabled: isAntisenseCreationDisabled(extractedBaseMonomers),
|
|
13685
|
+
hidden: isAntisenseOptionHidden
|
|
13686
|
+
}, {
|
|
13687
|
+
name: SequenceItemContextMenuNames.createDnaAntisenseStrand,
|
|
13688
|
+
title: 'Create DNA antisense strand',
|
|
13689
|
+
disabled: isAntisenseCreationDisabled(extractedBaseMonomers),
|
|
13690
|
+
hidden: isAntisenseOptionHidden
|
|
13583
13691
|
}, {
|
|
13584
13692
|
name: SequenceItemContextMenuNames.modifyInRnaBuilder,
|
|
13585
13693
|
title: 'Modify in RNA Builder...',
|
|
13586
13694
|
disabled: !(menuProps !== null && menuProps !== void 0 && menuProps.isSelectedOnlyNucleoelements) || menuProps.hasAntisense,
|
|
13587
|
-
hidden: function hidden(
|
|
13588
|
-
var props =
|
|
13695
|
+
hidden: function hidden(_ref4) {
|
|
13696
|
+
var props = _ref4.props;
|
|
13589
13697
|
return !(props !== null && props !== void 0 && props.sequenceItemRenderer) || !(menuProps !== null && menuProps !== void 0 && menuProps.isSelectedAtLeastOneNucleoelement);
|
|
13590
13698
|
}
|
|
13591
13699
|
}, {
|
|
13592
13700
|
name: SequenceItemContextMenuNames.editSequence,
|
|
13593
13701
|
title: 'Edit sequence',
|
|
13594
13702
|
disabled: false,
|
|
13595
|
-
hidden: function hidden(
|
|
13596
|
-
var props =
|
|
13703
|
+
hidden: function hidden(_ref5) {
|
|
13704
|
+
var props = _ref5.props;
|
|
13597
13705
|
return !(props !== null && props !== void 0 && props.sequenceItemRenderer);
|
|
13598
13706
|
}
|
|
13599
13707
|
}, {
|
|
13600
13708
|
name: SequenceItemContextMenuNames.startNewSequence,
|
|
13601
13709
|
title: 'Start new sequence',
|
|
13602
13710
|
disabled: false
|
|
13711
|
+
}, {
|
|
13712
|
+
name: SequenceItemContextMenuNames.establishHydrogenBond,
|
|
13713
|
+
title: 'Establish Hydrogen Bonds',
|
|
13714
|
+
disabled: function disabled(_ref6) {
|
|
13715
|
+
var _props$sequenceItemRe;
|
|
13716
|
+
var props = _ref6.props;
|
|
13717
|
+
return (selections === null || selections === void 0 ? void 0 : selections.length) === 0 ? isTwoStrandedNodeRestrictedForHydrogenBondCreation(props === null || props === void 0 || (_props$sequenceItemRe = props.sequenceItemRenderer) === null || _props$sequenceItemRe === void 0 ? void 0 : _props$sequenceItemRe.twoStrandedNode) : isEstablishHydrogenBondDisabled(selections);
|
|
13718
|
+
},
|
|
13719
|
+
hidden: function hidden(_ref7) {
|
|
13720
|
+
var props = _ref7.props;
|
|
13721
|
+
return !(props !== null && props !== void 0 && props.sequenceItemRenderer);
|
|
13722
|
+
}
|
|
13723
|
+
}, {
|
|
13724
|
+
name: SequenceItemContextMenuNames.deleteHydrogenBond,
|
|
13725
|
+
title: 'Delete Hydrogen Bonds',
|
|
13726
|
+
disabled: function disabled(_ref8) {
|
|
13727
|
+
var _props$sequenceItemRe2;
|
|
13728
|
+
var props = _ref8.props;
|
|
13729
|
+
return (selections === null || selections === void 0 ? void 0 : selections.length) === 0 ? !isNodeContainHydrogenBonds(props === null || props === void 0 || (_props$sequenceItemRe2 = props.sequenceItemRenderer) === null || _props$sequenceItemRe2 === void 0 ? void 0 : _props$sequenceItemRe2.node) : !(selections !== null && selections !== void 0 && selections.some(function (selectionRange) {
|
|
13730
|
+
return selectionRange.some(function (selection) {
|
|
13731
|
+
return isNodeContainHydrogenBonds(selection.node);
|
|
13732
|
+
});
|
|
13733
|
+
}));
|
|
13734
|
+
},
|
|
13735
|
+
hidden: function hidden(_ref9) {
|
|
13736
|
+
var props = _ref9.props;
|
|
13737
|
+
return !(props !== null && props !== void 0 && props.sequenceItemRenderer);
|
|
13738
|
+
}
|
|
13603
13739
|
}];
|
|
13604
|
-
var handleMenuChange = function handleMenuChange(
|
|
13740
|
+
var handleMenuChange = function handleMenuChange(_ref10) {
|
|
13605
13741
|
var _menuProps$selectedSe;
|
|
13606
|
-
var id =
|
|
13607
|
-
props =
|
|
13742
|
+
var id = _ref10.id,
|
|
13743
|
+
props = _ref10.props;
|
|
13608
13744
|
switch (id) {
|
|
13609
13745
|
case SequenceItemContextMenuNames.modifyInRnaBuilder:
|
|
13610
13746
|
editor.events.turnOnSequenceEditInRNABuilderMode.dispatch();
|
|
@@ -13624,6 +13760,18 @@ var SequenceItemContextMenu = function SequenceItemContextMenu(_ref) {
|
|
|
13624
13760
|
case SequenceItemContextMenuNames.editSequence:
|
|
13625
13761
|
editor.events.editSequence.dispatch(props.sequenceItemRenderer);
|
|
13626
13762
|
break;
|
|
13763
|
+
case SequenceItemContextMenuNames.createRnaAntisenseStrand:
|
|
13764
|
+
editor.events.createAntisenseChain.dispatch(false);
|
|
13765
|
+
break;
|
|
13766
|
+
case SequenceItemContextMenuNames.createDnaAntisenseStrand:
|
|
13767
|
+
editor.events.createAntisenseChain.dispatch(true);
|
|
13768
|
+
break;
|
|
13769
|
+
case SequenceItemContextMenuNames.establishHydrogenBond:
|
|
13770
|
+
editor.events.establishHydrogenBond.dispatch(props.sequenceItemRenderer);
|
|
13771
|
+
break;
|
|
13772
|
+
case SequenceItemContextMenuNames.deleteHydrogenBond:
|
|
13773
|
+
editor.events.deleteHydrogenBond.dispatch(props.sequenceItemRenderer);
|
|
13774
|
+
break;
|
|
13627
13775
|
}
|
|
13628
13776
|
};
|
|
13629
13777
|
var ketcherEditorRootElement = document.querySelector(KETCHER_MACROMOLECULES_ROOT_NODE_SELECTOR);
|
|
@@ -14920,7 +15068,7 @@ var PolymerBondContextMenu = function PolymerBondContextMenu() {
|
|
|
14920
15068
|
|
|
14921
15069
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14922
15070
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14923
|
-
var noPreviewTools = [
|
|
15071
|
+
var noPreviewTools = [ToolName.bondSingle, ToolName.selectRectangle];
|
|
14924
15072
|
var EditorEvents = function EditorEvents() {
|
|
14925
15073
|
var editor = useAppSelector(selectEditor);
|
|
14926
15074
|
var activeTool = useAppSelector(selectEditorActiveTool);
|
|
@@ -15126,62 +15274,17 @@ var EditorEvents = function EditorEvents() {
|
|
|
15126
15274
|
return jsx(Fragment, {});
|
|
15127
15275
|
};
|
|
15128
15276
|
|
|
15129
|
-
var getMonomersCode = function getMonomersCode(monomers) {
|
|
15130
|
-
return monomers.map(function (monomer) {
|
|
15131
|
-
return monomer.monomerItem.props.MonomerNaturalAnalogCode;
|
|
15132
|
-
}).sort().join('');
|
|
15133
|
-
};
|
|
15134
|
-
var isSenseBase = function isSenseBase(monomer) {
|
|
15135
|
-
var monomerItem = monomer.monomerItem;
|
|
15136
|
-
var isNaturalAnalogue = monomerItem.props.MonomerNaturalAnalogCode === 'A' || monomerItem.props.MonomerNaturalAnalogCode === 'C' || monomerItem.props.MonomerNaturalAnalogCode === 'G' || monomerItem.props.MonomerNaturalAnalogCode === 'T' || monomerItem.props.MonomerNaturalAnalogCode === 'U';
|
|
15137
|
-
if (isNaturalAnalogue) {
|
|
15138
|
-
return true;
|
|
15139
|
-
}
|
|
15140
|
-
if (!monomer.monomerItem.isAmbiguous) {
|
|
15141
|
-
return false;
|
|
15142
|
-
}
|
|
15143
|
-
if (monomer.subtype === KetAmbiguousMonomerTemplateSubType.MIXTURE) {
|
|
15144
|
-
return false;
|
|
15145
|
-
}
|
|
15146
|
-
var N1 = 'ACGT';
|
|
15147
|
-
var N2 = 'ACGU';
|
|
15148
|
-
var B1 = 'CGT';
|
|
15149
|
-
var B2 = 'CGU';
|
|
15150
|
-
var D1 = 'AGT';
|
|
15151
|
-
var D2 = 'AGU';
|
|
15152
|
-
var H1 = 'ACT';
|
|
15153
|
-
var H2 = 'ACU';
|
|
15154
|
-
var K1 = 'GT';
|
|
15155
|
-
var K2 = 'GU';
|
|
15156
|
-
var W1 = 'AT';
|
|
15157
|
-
var W2 = 'AU';
|
|
15158
|
-
var Y1 = 'CT';
|
|
15159
|
-
var Y2 = 'CU';
|
|
15160
|
-
var M = 'AC';
|
|
15161
|
-
var R = 'AG';
|
|
15162
|
-
var S = 'CG';
|
|
15163
|
-
var V = 'ACG';
|
|
15164
|
-
var ambigues = [N1, N2, B1, B2, D1, D2, H1, H2, K1, K2, W1, W2, Y1, Y2, M, R, S, V];
|
|
15165
|
-
var code = getMonomersCode(monomer.monomers);
|
|
15166
|
-
return ambigues.some(function (v) {
|
|
15167
|
-
return v === code;
|
|
15168
|
-
});
|
|
15169
|
-
};
|
|
15170
15277
|
var SelectedMonomersContextMenu = function SelectedMonomersContextMenu(_ref) {
|
|
15171
15278
|
var selectedMonomers = _ref.selectedMonomers;
|
|
15172
15279
|
var editor = useAppSelector(selectEditor);
|
|
15173
|
-
var isAntisenseCreationDisabled = selectedMonomers === null || selectedMonomers === void 0 ? void 0 : selectedMonomers.some(function (selectedMonomer) {
|
|
15174
|
-
var rnaBaseForSugar = selectedMonomer instanceof Sugar && getRnaBaseFromSugar(selectedMonomer);
|
|
15175
|
-
return selectedMonomer instanceof RNABase && (selectedMonomer.hydrogenBonds.length > 0 || selectedMonomer.covalentBonds.length > 1) || isRnaBaseOrAmbiguousRnaBase(selectedMonomer) && !isSenseBase(selectedMonomer) || rnaBaseForSugar && (rnaBaseForSugar.hydrogenBonds.length > 0 || !isSenseBase(rnaBaseForSugar));
|
|
15176
|
-
});
|
|
15177
15280
|
var menuItems = [{
|
|
15178
15281
|
name: 'copy',
|
|
15179
15282
|
title: 'Copy'
|
|
15180
15283
|
}, {
|
|
15181
|
-
name: '
|
|
15182
|
-
title: 'Create Antisense Strand',
|
|
15183
|
-
separator:
|
|
15184
|
-
disabled: isAntisenseCreationDisabled,
|
|
15284
|
+
name: 'create_antisense_rna_chain',
|
|
15285
|
+
title: 'Create Antisense RNA Strand',
|
|
15286
|
+
separator: false,
|
|
15287
|
+
disabled: isAntisenseCreationDisabled(selectedMonomers),
|
|
15185
15288
|
hidden: function hidden(_ref2) {
|
|
15186
15289
|
var _props$selectedMonome;
|
|
15187
15290
|
var props = _ref2.props;
|
|
@@ -15189,18 +15292,33 @@ var SelectedMonomersContextMenu = function SelectedMonomersContextMenu(_ref) {
|
|
|
15189
15292
|
return selectedMonomer instanceof RNABase && getSugarFromRnaBase(selectedMonomer) || selectedMonomer instanceof Sugar && getRnaBaseFromSugar(selectedMonomer);
|
|
15190
15293
|
}));
|
|
15191
15294
|
}
|
|
15295
|
+
}, {
|
|
15296
|
+
name: 'create_antisense_dna_chain',
|
|
15297
|
+
title: 'Create Antisense DNA Strand',
|
|
15298
|
+
separator: true,
|
|
15299
|
+
disabled: isAntisenseCreationDisabled(selectedMonomers),
|
|
15300
|
+
hidden: function hidden(_ref3) {
|
|
15301
|
+
var _props$selectedMonome2;
|
|
15302
|
+
var props = _ref3.props;
|
|
15303
|
+
return !(props !== null && props !== void 0 && (_props$selectedMonome2 = props.selectedMonomers) !== null && _props$selectedMonome2 !== void 0 && _props$selectedMonome2.some(function (selectedMonomer) {
|
|
15304
|
+
return selectedMonomer instanceof RNABase && getSugarFromRnaBase(selectedMonomer) || selectedMonomer instanceof Sugar && getRnaBaseFromSugar(selectedMonomer);
|
|
15305
|
+
}));
|
|
15306
|
+
}
|
|
15192
15307
|
}, {
|
|
15193
15308
|
name: 'delete',
|
|
15194
15309
|
title: 'Delete'
|
|
15195
15310
|
}];
|
|
15196
|
-
var handleMenuChange = function handleMenuChange(
|
|
15197
|
-
var id =
|
|
15311
|
+
var handleMenuChange = function handleMenuChange(_ref4) {
|
|
15312
|
+
var id = _ref4.id;
|
|
15198
15313
|
switch (id) {
|
|
15199
15314
|
case 'copy':
|
|
15200
15315
|
editor.events.copySelectedStructure.dispatch();
|
|
15201
15316
|
break;
|
|
15202
|
-
case '
|
|
15203
|
-
editor.events.createAntisenseChain.dispatch();
|
|
15317
|
+
case 'create_antisense_rna_chain':
|
|
15318
|
+
editor.events.createAntisenseChain.dispatch(false);
|
|
15319
|
+
break;
|
|
15320
|
+
case 'create_antisense_dna_chain':
|
|
15321
|
+
editor.events.createAntisenseChain.dispatch(true);
|
|
15204
15322
|
break;
|
|
15205
15323
|
case 'delete':
|
|
15206
15324
|
editor.events.deleteSelectedStructure.dispatch();
|
|
@@ -15215,6 +15333,137 @@ var SelectedMonomersContextMenu = function SelectedMonomersContextMenu(_ref) {
|
|
|
15215
15333
|
}), ketcherEditorRootElement);
|
|
15216
15334
|
};
|
|
15217
15335
|
|
|
15336
|
+
var StyledButton = _styled(Button, process.env.NODE_ENV === "production" ? {
|
|
15337
|
+
target: "e1846tr80"
|
|
15338
|
+
} : {
|
|
15339
|
+
target: "e1846tr80",
|
|
15340
|
+
label: "StyledButton"
|
|
15341
|
+
})(function (_ref) {
|
|
15342
|
+
var theme = _ref.theme,
|
|
15343
|
+
isActive = _ref.isActive;
|
|
15344
|
+
return {
|
|
15345
|
+
width: '40px',
|
|
15346
|
+
height: '31px',
|
|
15347
|
+
backgroundColor: isActive ? theme.ketcher.color.button.group.active : 'white',
|
|
15348
|
+
marginRight: '8px',
|
|
15349
|
+
border: isActive ? theme.ketcher.outline.selected.color : theme.ketcher.outline.small,
|
|
15350
|
+
borderRadius: '4px',
|
|
15351
|
+
outline: 'none',
|
|
15352
|
+
':hover': {
|
|
15353
|
+
backgroundColor: isActive ? theme.ketcher.color.button.group.hover : 'white'
|
|
15354
|
+
},
|
|
15355
|
+
':hover svg': {
|
|
15356
|
+
fill: isActive ? 'white' : theme.ketcher.color.button.group.active
|
|
15357
|
+
}
|
|
15358
|
+
};
|
|
15359
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNlcXVlbmNlU3luY0VkaXRNb2RlQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QnFCIiwiZmlsZSI6IlNlcXVlbmNlU3luY0VkaXRNb2RlQnV0dG9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3QvanN4LXJ1bnRpbWVcIjtcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IDIwMjEgRVBBTSBTeXN0ZW1zXHJcbiAqXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XHJcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XHJcbiAqXHJcbiAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKlxyXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXHJcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcclxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXHJcbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcclxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IHVzZUFwcFNlbGVjdG9yLCB1c2VMYXlvdXRNb2RlIH0gZnJvbSBcIi4uLy4uL2hvb2tzXCI7XHJcbmltcG9ydCB7IGhhc0FudGlzZW5zZUNoYWlucywgc2VsZWN0RWRpdG9yIH0gZnJvbSBcIi4uLy4uL3N0YXRlL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBNb2RlVHlwZXMgfSBmcm9tICdrZXRjaGVyLWNvcmUnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ2tldGNoZXItcmVhY3QnO1xyXG5pbXBvcnQgeyBibHVyQWN0aXZlRWxlbWVudCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2NhbnZhc1wiO1xyXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoeyB0aGVtZSwgaXNBY3RpdmUgfSkgPT4gKHtcclxuICAgIHdpZHRoOiAnNDBweCcsXHJcbiAgICBoZWlnaHQ6ICczMXB4JyxcclxuICAgIGJhY2tncm91bmRDb2xvcjogaXNBY3RpdmVcclxuICAgICAgICA/IHRoZW1lLmtldGNoZXIuY29sb3IuYnV0dG9uLmdyb3VwLmFjdGl2ZVxyXG4gICAgICAgIDogJ3doaXRlJyxcclxuICAgIG1hcmdpblJpZ2h0OiAnOHB4JyxcclxuICAgIGJvcmRlcjogaXNBY3RpdmVcclxuICAgICAgICA/IHRoZW1lLmtldGNoZXIub3V0bGluZS5zZWxlY3RlZC5jb2xvclxyXG4gICAgICAgIDogdGhlbWUua2V0Y2hlci5vdXRsaW5lLnNtYWxsLFxyXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcclxuICAgIG91dGxpbmU6ICdub25lJyxcclxuICAgICc6aG92ZXInOiB7XHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0FjdGl2ZVxyXG4gICAgICAgICAgICA/IHRoZW1lLmtldGNoZXIuY29sb3IuYnV0dG9uLmdyb3VwLmhvdmVyXHJcbiAgICAgICAgICAgIDogJ3doaXRlJyxcclxuICAgIH0sXHJcbiAgICAnOmhvdmVyIHN2Zyc6IHtcclxuICAgICAgICBmaWxsOiBpc0FjdGl2ZSA/ICd3aGl0ZScgOiB0aGVtZS5rZXRjaGVyLmNvbG9yLmJ1dHRvbi5ncm91cC5hY3RpdmUsXHJcbiAgICB9LFxyXG59KSk7XHJcbmV4cG9ydCBjb25zdCBTZXF1ZW5jZVN5bmNFZGl0TW9kZUJ1dHRvbiA9ICgpID0+IHtcclxuICAgIGNvbnN0IGVkaXRvciA9IHVzZUFwcFNlbGVjdG9yKHNlbGVjdEVkaXRvcik7XHJcbiAgICBjb25zdCBbaXNTZXF1ZW5jZVN5bmNFZGl0TW9kZSwgc2V0SXNTZXF1ZW5jZVN5bmNFZGl0TW9kZV0gPSB1c2VTdGF0ZSh0cnVlKTtcclxuICAgIGNvbnN0IGxheW91dE1vZGUgPSB1c2VMYXlvdXRNb2RlKCk7XHJcbiAgICBjb25zdCBpc1NlcXVlbmNlTW9kZSA9IGxheW91dE1vZGUgPT09IE1vZGVUeXBlcy5zZXF1ZW5jZTtcclxuICAgIGNvbnN0IGhhc0F0TGVhc3RPbmVBbnRpc2Vuc2UgPSB1c2VBcHBTZWxlY3RvcihoYXNBbnRpc2Vuc2VDaGFpbnMpO1xyXG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNTZXF1ZW5jZVN5bmNFZGl0TW9kZU5ld1N0YXRlID0gIWlzU2VxdWVuY2VTeW5jRWRpdE1vZGU7XHJcbiAgICAgICAgc2V0SXNTZXF1ZW5jZVN5bmNFZGl0TW9kZShpc1NlcXVlbmNlU3luY0VkaXRNb2RlTmV3U3RhdGUpO1xyXG4gICAgICAgIGVkaXRvci5ldmVudHMudG9nZ2xlSXNTZXF1ZW5jZVN5bmNFZGl0TW9kZS5kaXNwYXRjaChpc1NlcXVlbmNlU3luY0VkaXRNb2RlTmV3U3RhdGUpO1xyXG4gICAgICAgIGJsdXJBY3RpdmVFbGVtZW50KCk7XHJcbiAgICB9O1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAoaXNTZXF1ZW5jZU1vZGUgJiYgaGFzQXRMZWFzdE9uZUFudGlzZW5zZSkge1xyXG4gICAgICAgICAgICBlZGl0b3IuZXZlbnRzLnRvZ2dsZUlzU2VxdWVuY2VTeW5jRWRpdE1vZGUuZGlzcGF0Y2goaXNTZXF1ZW5jZVN5bmNFZGl0TW9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2lzU2VxdWVuY2VNb2RlLCBoYXNBdExlYXN0T25lQW50aXNlbnNlXSk7XHJcbiAgICByZXR1cm4gaXNTZXF1ZW5jZU1vZGUgJiYgaGFzQXRMZWFzdE9uZUFudGlzZW5zZSA/IChfanN4KF9GcmFnbWVudCwgeyBjaGlsZHJlbjogX2pzeChTdHlsZWRCdXR0b24sIHsgaXNBY3RpdmU6IGlzU2VxdWVuY2VTeW5jRWRpdE1vZGUsIG9uQ2xpY2s6IGhhbmRsZUNsaWNrLCBjaGlsZHJlbjogX2pzeHMoXCJzdmdcIiwgeyB3aWR0aDogXCIyNFwiLCBoZWlnaHQ6IFwiMjRcIiwgdmlld0JveDogXCIwIDAgMjQgMjRcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiwgZmlsbDogaXNTZXF1ZW5jZVN5bmNFZGl0TW9kZSA/ICd3aGl0ZScgOiAnIzMzMzMzMycsIGNoaWxkcmVuOiBbX2pzeChcInJlY3RcIiwgeyB4OiBcIjFcIiwgeTogXCIxLjVcIiwgd2lkdGg6IFwiMjJcIiwgaGVpZ2h0OiBcIjJcIiwgcng6IFwiMVwiIH0pLCBfanN4KFwicmVjdFwiLCB7IHg6IFwiMi41XCIsIHk6IFwiMS41XCIsIHdpZHRoOiBcIjVcIiwgaGVpZ2h0OiBcIjEuNVwiLCByeDogXCIwLjc1XCIsIHRyYW5zZm9ybTogXCJyb3RhdGUoOTAgMi41IDEuNSlcIiB9KSwgX2pzeChcInJlY3RcIiwgeyB4OiBcIjkuMzMzMzNcIiwgeTogXCIxLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSg5MCA5LjMzMzMzIDEuNSlcIiB9KSwgX2pzeChcInJlY3RcIiwgeyB4OiBcIjE2LjE2NjdcIiwgeTogXCIxLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSg5MCAxNi4xNjY3IDEuNSlcIiB9KSwgX2pzeChcInJlY3RcIiwgeyB4OiBcIjIzXCIsIHk6IFwiMS41XCIsIHdpZHRoOiBcIjVcIiwgaGVpZ2h0OiBcIjEuNVwiLCByeDogXCIwLjc1XCIsIHRyYW5zZm9ybTogXCJyb3RhdGUoOTAgMjMgMS41KVwiIH0pLCBfanN4KFwicGF0aFwiLCB7IGQ6IFwiTTIuMTY4NzMgMTQuMjcxNUMyLjA4OTYzIDE0LjM2NTIgMi4wMjUxOCAxNC40MjUzIDEuOTc1MzcgMTQuNDUxN0MxLjkyODUgMTQuNDc4IDEuODY5OSAxNC40OTEyIDEuNzk5NTkgMTQuNDkxMkMxLjY2MTg5IDE0LjQ5MTIgMS41NTA1NyAxNC40NDU4IDEuNDY1NjEgMTQuMzU1QzEuMzgzNTcgMTQuMjYxMiAxLjM0MjU2IDE0LjEwNzQgMS4zNDI1NiAxMy44OTM2VjEzLjI4NzFDMS4zNDI1NiAxMy4wNzAzIDEuMzgzNTcgMTIuOTE2NSAxLjQ2NTYxIDEyLjgyNTdDMS41NTA1NyAxMi43MzE5IDEuNjYxODkgMTIuNjg1MSAxLjc5OTU5IDEyLjY4NTFDMS45MDUwNiAxMi42ODUxIDEuOTkyOTUgMTIuNzEyOSAyLjA2MzI2IDEyLjc2ODZDMi4xMzY1IDEyLjgyNDIgMi4xOTIxNyAxMi45MTggMi4yMzAyNSAxMy4wNDk4QzIuMjY4MzQgMTMuMTc4NyAyLjMwNzg5IDEzLjI2NjYgMi4zNDg5MSAxMy4zMTM1QzIuNDMzODcgMTMuNDA0MyAyLjU4NDc1IDEzLjQ5NjYgMi44MDE1NCAxMy41OTAzQzMuMDE4MzQgMTMuNjg0MSAzLjI1NTY0IDEzLjczMSAzLjUxMzQ2IDEzLjczMUMzLjkxNDgyIDEzLjczMSA0LjI0NDQxIDEzLjYzNzIgNC41MDIyMyAxMy40NDk3QzQuNjY2MjkgMTMuMzM1NCA0Ljc0ODMyIDEzLjE5NDggNC43NDgzMiAxMy4wMjc4QzQuNzQ4MzIgMTIuOTE2NSA0LjcwODc3IDEyLjgxMjUgNC42Mjk2NyAxMi43MTU4QzQuNTUwNTcgMTIuNjE2MiA0LjQyMTY2IDEyLjUzNDIgNC4yNDI5NSAxMi40Njk3QzQuMTI1NzYgMTIuNDI1OCAzLjg2MzU1IDEyLjM2NTcgMy40NTYzMyAxMi4yODk2QzIuOTY0MTQgMTIuMTk4NyAyLjU5MjA3IDEyLjA4ODkgMi4zNDAxMiAxMS45NkMyLjA4ODE2IDExLjgzMTEgMS44ODg5NSAxMS42NDk0IDEuNzQyNDYgMTEuNDE1QzEuNTk1OTggMTEuMTgwNyAxLjUyMjczIDEwLjkyNzIgMS41MjI3MyAxMC42NTQ4QzEuNTIyNzMgMTAuMjI0MSAxLjcwMjkxIDkuODQ3NjYgMi4wNjMyNiA5LjUyNTM5QzIuNDIzNjEgOS4yMDAyIDIuODkyMzYgOS4wMzc2IDMuNDY5NTEgOS4wMzc2QzMuNzAwOTYgOS4wMzc2IDMuOTE0ODIgOS4wNjM5NiA0LjExMTExIDkuMTE2N0M0LjMxMDMzIDkuMTY2NSA0LjQ5MDUxIDkuMjQ0MTQgNC42NTE2NCA5LjM0OTYxQzQuNzY4ODMgOS4yMzUzNSA0Ljg4NjAyIDkuMTc4MjIgNS4wMDMyIDkuMTc4MjJDNS4xMzUwNCA5LjE3ODIyIDUuMjQxOTcgOS4yMjUxIDUuMzI0IDkuMzE4ODVDNS40MDg5NyA5LjQwOTY3IDUuNDUxNDUgOS41NjIwMSA1LjQ1MTQ1IDkuNzc1ODhWMTAuNDUyNkM1LjQ1MTQ1IDEwLjY2OTQgNS40MDg5NyAxMC44MjQ3IDUuMzI0IDEwLjkxODVDNS4yNDE5NyAxMS4wMDkzIDUuMTM1MDQgMTEuMDU0NyA1LjAwMzIgMTEuMDU0N0M0Ljg5MTg4IDExLjA1NDcgNC43OTUyIDExLjAyMSA0LjcxMzE2IDEwLjk1MzZDNC42NDg3MSAxMC45MDM4IDQuNjAwMzcgMTAuODA0MiA0LjU2ODE0IDEwLjY1NDhDNC41MzU5MiAxMC41MDU0IDQuNDk0OSAxMC4zOTg0IDQuNDQ1MSAxMC4zMzRDNC4zNjAxNCAxMC4yMjI3IDQuMjMyNyAxMC4xMjg5IDQuMDYyNzcgMTAuMDUyN0MzLjg5Mjg1IDkuOTc2NTYgMy42OTY1NiA5LjkzODQ4IDMuNDczOTEgOS45Mzg0OEMzLjE0ODcxIDkuOTM4NDggMi44OTA5IDEwLjAxNDYgMi43MDA0NyAxMC4xNjdDMi41MTI5NyAxMC4zMTY0IDIuNDE5MjIgMTAuNDczMSAyLjQxOTIyIDEwLjYzNzJDMi40MTkyMiAxMC43NDg1IDIuNDU3MyAxMC44NTY5IDIuNTMzNDggMTAuOTYyNEMyLjYxMjU4IDExLjA2NDkgMi43MjY4NCAxMS4xNDU1IDIuODc2MjUgMTEuMjA0MUMyLjk3NTg2IDExLjI0NTEgMy4yNTU2NCAxMS4zMTEgMy43MTU2MSAxMS40MDE5QzQuMTc4NSAxMS40OTI3IDQuNTMyOTkgMTEuNTkyMyA0Ljc3OTA4IDExLjcwMDdDNS4wMjgxMSAxMS44MDkxIDUuMjM0NjUgMTEuOTc5IDUuMzk4NzEgMTIuMjEwNEM1LjU2Mjc3IDEyLjQ0MTkgNS42NDQ4IDEyLjcxNzMgNS42NDQ4IDEzLjAzNjZDNS42NDQ4IDEzLjQ4MTkgNS40ODgwNyAxMy44Mzc5IDUuMTc0NTkgMTQuMTA0NUM0Ljc1ODU3IDE0LjQ1NjEgNC4yMjgzIDE0LjYzMTggMy41ODM3NyAxNC42MzE4QzMuMzM0NzUgMTQuNjMxOCAzLjA5MTU4IDE0LjYwMTEgMi44NTQyOCAxNC41Mzk2QzIuNjE5OSAxNC40ODEgMi4zOTEzOSAxNC4zOTE2IDIuMTY4NzMgMTQuMjcxNVpNOS42MTUgMTIuMjYzMlYxMy41OTkxSDEwLjIyMTRDMTAuNDM4MiAxMy41OTkxIDEwLjU5MjEgMTMuNjQxNiAxMC42ODI5IDEzLjcyNjZDMTAuNzc2NiAxMy44MDg2IDEwLjgyMzUgMTMuOTE3IDEwLjgyMzUgMTQuMDUxOEMxMC44MjM1IDE0LjE4MzYgMTAuNzc2NiAxNC4yOTIgMTAuNjgyOSAxNC4zNzdDMTAuNTkyMSAxNC40NTkgMTAuNDM4MiAxNC41IDEwLjIyMTQgMTQuNUg4LjEwNzY4QzcuODkzODEgMTQuNSA3Ljc0IDE0LjQ1OSA3LjY0NjI1IDE0LjM3N0M3LjU1NTQzIDE0LjI5MiA3LjUxMDAyIDE0LjE4MjEgNy41MTAwMiAxNC4wNDc0QzcuNTEwMDIgMTMuOTE1NSA3LjU1NTQzIDEzLjgwODYgNy42NDYyNSAxMy43MjY2QzcuNzQgMTMuNjQxNiA3Ljg5MzgxIDEzLjU5OTEgOC4xMDc2OCAxMy41OTkxSDguNzE0MTJWMTIuMjYzMkw3LjIyNDM4IDEwLjA3NDdDNy4wMjUxNiAxMC4wNzQ3IDYuODc4NjcgMTAuMDMyMiA2Ljc4NDkyIDkuOTQ3MjdDNi42OTQxIDkuODYyMyA2LjY0ODY5IDkuNzUzOTEgNi42NDg2OSA5LjYyMjA3QzYuNjQ4NjkgOS40ODczIDYuNjk0MSA5LjM3ODkxIDYuNzg0OTIgOS4yOTY4OEM2Ljg3ODY3IDkuMjExOTEgNy4wMzM5NSA5LjE2OTQzIDcuMjUwNzQgOS4xNjk0M0w4LjA2ODEzIDkuMTczODNDOC4yODQ5MiA5LjE3MzgzIDguNDM4NzMgOS4yMTQ4NCA4LjUyOTU1IDkuMjk2ODhDOC42MjMzIDkuMzc4OTEgOC42NzAxOCA5LjQ4NzMgOC42NzAxOCA5LjYyMjA3QzguNjcwMTggOS44MjQyMiA4LjU1MTUyIDkuOTc1MSA4LjMxNDIyIDEwLjA3NDdMOS4xNjY3NiAxMS4zMzE1TDEwLjAwMTcgMTAuMDc0N0M5Ljg2OTg4IDEwLjAyNDkgOS43NzYxMyA5Ljk2MTkxIDkuNzIwNDcgOS44ODU3NEM5LjY2NDggOS44MDk1NyA5LjYzNjk3IDkuNzIxNjggOS42MzY5NyA5LjYyMjA3QzkuNjM2OTcgOS40ODczIDkuNjgyMzggOS4zNzg5MSA5Ljc3MzIgOS4yOTY4OEM5Ljg2Njk1IDkuMjE0ODQgMTAuMDIyMiA5LjE3MjM2IDEwLjIzOSA5LjE2OTQzTDExLjA4NzIgOS4xNzM4M0MxMS4zMDQgOS4xNzM4MyAxMS40NTc4IDkuMjE0ODQgMTEuNTQ4NiA5LjI5Njg4QzExLjY0MjMgOS4zNzg5MSAxMS42ODkyIDkuNDg3MyAxMS42ODkyIDkuNjIyMDdDMTEuNjg5MiA5Ljc1Njg0IDExLjY0MjMgOS44NjY3IDExLjU0ODYgOS45NTE2NkMxMS40NTQ4IDEwLjAzMzcgMTEuMzAyNSAxMC4wNzQ3IDExLjA5MTYgMTAuMDc0N0w5LjYxNSAxMi4yNjMyWk0xMy43MDgyIDEwLjg3NDVWMTMuNTk5MUgxNC4wMzM0QzE0LjI1MDIgMTMuNTk5MSAxNC40MDQgMTMuNjQxNiAxNC40OTQ5IDEzLjcyNjZDMTQuNTg4NiAxMy44MDg2IDE0LjYzNTUgMTMuOTE3IDE0LjYzNTUgMTQuMDUxOEMxNC42MzU1IDE0LjE4MzYgMTQuNTg4NiAxNC4yOTIgMTQuNDk0OSAxNC4zNzdDMTQuNDA0IDE0LjQ1OSAxNC4yNTAyIDE0LjUgMTQuMDMzNCAxNC41SDEyLjg1MTNDMTIuNjM0NSAxNC41IDEyLjQ3OTIgMTQuNDU5IDEyLjM4NTUgMTQuMzc3QzEyLjI5NDcgMTQuMjkyIDEyLjI0OTMgMTQuMTgyMSAxMi4yNDkzIDE0LjA0NzRDMTIuMjQ5MyAxMy45MTg1IDEyLjI5NDcgMTMuODExNSAxMi4zODU1IDEzLjcyNjZDMTIuNDc2MyAxMy42NDE2IDEyLjYxNjkgMTMuNTk5MSAxMi44MDc0IDEzLjU5OTFWMTAuMDc0N0gxMi42NjY3QzEyLjQ0OTkgMTAuMDc0NyAxMi4yOTQ3IDEwLjAzMzcgMTIuMjAwOSA5Ljk1MTY2QzEyLjExMDEgOS44NjY3IDEyLjA2NDcgOS43NTY4NCAxMi4wNjQ3IDkuNjIyMDdDMTIuMDY0NyA5LjQ4NzMgMTIuMTEwMSA5LjM3ODkxIDEyLjIwMDkgOS4yOTY4OEMxMi4yOTQ3IDkuMjExOTEgMTIuNDQ5OSA5LjE2OTQzIDEyLjY2NjcgOS4xNjk0M0wxMy43MDgyIDkuMTczODNMMTYuMDExIDEyLjc4NjFWMTAuMDc0N0gxNS42ODU4QzE1LjQ2OSAxMC4wNzQ3IDE1LjMxMzcgMTAuMDMzNyAxNS4yMiA5Ljk1MTY2QzE1LjEyOTEgOS44NjY3IDE1LjA4MzcgOS43NTY4NCAxNS4wODM3IDkuNjIyMDdDMTUuMDgzNyA5LjQ4NzMgMTUuMTI5MSA5LjM3ODkxIDE1LjIyIDkuMjk2ODhDMTUuMzEzNyA5LjIxMTkxIDE1LjQ2OSA5LjE2OTQzIDE1LjY4NTggOS4xNjk0M0wxNi44Njc5IDkuMTczODNDMTcuMDg0NyA5LjE3MzgzIDE3LjIzODUgOS4yMTQ4NCAxNy4zMjkzIDkuMjk2ODhDMTcuNDIzMSA5LjM3ODkxIDE3LjQ3IDkuNDg3MyAxNy40NyA5LjYyMjA3QzE3LjQ3IDkuNzUzOTEgMTcuNDI0NiA5Ljg2MjMgMTcuMzMzNyA5Ljk0NzI3QzE3LjI0MjkgMTAuMDMyMiAxNy4xMDM4IDEwLjA3NDcgMTYuOTE2MyAxMC4wNzQ3VjE0LjVIMTYuMDI0MkwxMy43MDgyIDEwLjg3NDVaTTIxLjkyMzYgOS40MDIzNEMyMS45NzkyIDkuMzI2MTcgMjIuMDM5MyA5LjI2OTA0IDIyLjEwMzcgOS4yMzA5NkMyMi4xNzExIDkuMTkyODcgMjIuMjQyOSA5LjE3MzgzIDIyLjMxOTEgOS4xNzM4M0MyMi40NTA5IDkuMTczODMgMjIuNTU3OCA5LjIxOTI0IDIyLjYzOTkgOS4zMTAwNkMyMi43MjQ4IDkuNDAwODggMjIuNzY3MyA5LjU1NDY5IDIyLjc2NzMgOS43NzE0OFYxMC41MzYxQzIyLjc2NzMgMTAuNzUyOSAyMi43MjQ4IDEwLjkwODIgMjIuNjM5OSAxMS4wMDJDMjIuNTU3OCAxMS4wOTI4IDIyLjQ1MDkgMTEuMTM4MiAyMi4zMTkxIDExLjEzODJDMjIuMTk4OSAxMS4xMzgyIDIyLjEwMjMgMTEuMTA0NSAyMi4wMjkgMTEuMDM3MUMyMS45NTU4IDEwLjk2OTcgMjEuOTAxNiAxMC44NDM4IDIxLjg2NjQgMTAuNjU5MkMyMS44NDU5IDEwLjUzNjEgMjEuODA0OSAxMC40NDA5IDIxLjc0MzQgMTAuMzczNUMyMS42MjMzIDEwLjI0MTcgMjEuNDU0OCAxMC4xMzYyIDIxLjIzOCAxMC4wNTcxQzIxLjAyNDEgOS45NzgwMyAyMC44MDg4IDkuOTM4NDggMjAuNTkyIDkuOTM4NDhDMjAuMzIyNSA5LjkzODQ4IDIwLjA3NDkgOS45OTcwNyAxOS44NDkzIDEwLjExNDNDMTkuNjIzNyAxMC4yMzE0IDE5LjQyNDUgMTAuNDIxOSAxOS4yNTE3IDEwLjY4NTVDMTkuMDc4OCAxMC45NDkyIDE4Ljk5MjQgMTEuMjYyNyAxOC45OTI0IDExLjYyNlYxMi4yMTA0QzE4Ljk5MjQgMTIuNjQ0IDE5LjE0OTEgMTMuMDA1OSAxOS40NjI2IDEzLjI5NTlDMTkuNzc5IDEzLjU4NTkgMjAuMjE3IDEzLjczMSAyMC43NzY2IDEzLjczMUMyMS4xMTA2IDEzLjczMSAyMS4zOTMzIDEzLjY4NTUgMjEuNjI0NyAxMy41OTQ3QzIxLjc1OTUgMTMuNTQyIDIxLjkwMyAxMy40MzggMjIuMDU1NCAxMy4yODI3QzIyLjE0OTEgMTMuMTg5IDIyLjIyMjQgMTMuMTI4OSAyMi4yNzUxIDEzLjEwMjVDMjIuMzI3OSAxMy4wNzMyIDIyLjM4NzkgMTMuMDU4NiAyMi40NTUzIDEzLjA1ODZDMjIuNTc1NCAxMy4wNTg2IDIyLjY4MDkgMTMuMTA0IDIyLjc3MTcgMTMuMTk0OEMyMi44NjI1IDEzLjI4NTYgMjIuOTA3OSAxMy4zOTI2IDIyLjkwNzkgMTMuNTE1NkMyMi45MDc5IDEzLjYzODcgMjIuODQ2NCAxMy43NzA1IDIyLjcyMzQgMTMuOTExMUMyMi41NDQ2IDE0LjExNjIgMjIuMzE0NyAxNC4yNzczIDIyLjAzMzQgMTQuMzk0NUMyMS42NTU1IDE0LjU1MjcgMjEuMjM4IDE0LjYzMTggMjAuNzgxIDE0LjYzMThDMjAuMjQ3OCAxNC42MzE4IDE5Ljc2NzMgMTQuNTIyIDE5LjMzOTYgMTQuMzAyMkMxOC45OTM5IDE0LjEyNjUgMTguNjk5NCAxMy44NDk2IDE4LjQ1NjMgMTMuNDcxN0MxOC4yMTMxIDEzLjA5MDggMTguMDkxNSAxMi42NzYzIDE4LjA5MTUgMTIuMjI4VjExLjYxNzJDMTguMDkxNSAxMS4xNDg0IDE4LjE5OTkgMTAuNzExOSAxOC40MTY3IDEwLjMwNzZDMTguNjM2NCA5LjkwMDM5IDE4LjkzOTcgOS41ODY5MSAxOS4zMjY0IDkuMzY3MTlDMTkuNzEzMSA5LjE0NzQ2IDIwLjEyMzMgOS4wMzc2IDIwLjU1NjkgOS4wMzc2QzIwLjgxNzYgOS4wMzc2IDIxLjA2MDggOS4wNjgzNiAyMS4yODYzIDkuMTI5ODhDMjEuNTE0OSA5LjE4ODQ4IDIxLjcyNzMgOS4yNzkzIDIxLjkyMzYgOS40MDIzNFpcIiB9KSwgX2pzeChcInJlY3RcIiwgeyB4OiBcIjIzXCIsIHk6IFwiMjIuNVwiLCB3aWR0aDogXCIyMlwiLCBoZWlnaHQ6IFwiMlwiLCByeDogXCIxXCIsIHRyYW5zZm9ybTogXCJyb3RhdGUoLTE4MCAyMyAyMi41KVwiIH0pLCBfanN4KFwicmVjdFwiLCB7IHg6IFwiMjEuNVwiLCB5OiBcIjIyLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSgtOTAgMjEuNSAyMi41KVwiIH0pLCBfanN4KFwicmVjdFwiLCB7IHg6IFwiMTQuNjY2N1wiLCB5OiBcIjIyLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSgtOTAgMTQuNjY2NyAyMi41KVwiIH0pLCBfanN4KFwicmVjdFwiLCB7IHg6IFwiNy44MzMzM1wiLCB5OiBcIjIyLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSgtOTAgNy44MzMzMyAyMi41KVwiIH0pLCBfanN4KFwicmVjdFwiLCB7IHg6IFwiMVwiLCB5OiBcIjIyLjVcIiwgd2lkdGg6IFwiNVwiLCBoZWlnaHQ6IFwiMS41XCIsIHJ4OiBcIjAuNzVcIiwgdHJhbnNmb3JtOiBcInJvdGF0ZSgtOTAgMSAyMi41KVwiIH0pXSB9KSB9KSB9KSkgOiBudWxsO1xyXG59O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1TZXF1ZW5jZVN5bmNFZGl0TW9kZUJ1dHRvbi5qcy5tYXAiXX0= */");
|
|
15360
|
+
var SequenceSyncEditModeButton = function SequenceSyncEditModeButton() {
|
|
15361
|
+
var editor = useAppSelector(selectEditor);
|
|
15362
|
+
var _useState = useState(true),
|
|
15363
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
15364
|
+
isSequenceSyncEditMode = _useState2[0],
|
|
15365
|
+
setIsSequenceSyncEditMode = _useState2[1];
|
|
15366
|
+
var layoutMode = useLayoutMode();
|
|
15367
|
+
var isSequenceMode = layoutMode === ModeTypes.sequence;
|
|
15368
|
+
var hasAtLeastOneAntisense = useAppSelector(hasAntisenseChains);
|
|
15369
|
+
var handleClick = function handleClick() {
|
|
15370
|
+
var isSequenceSyncEditModeNewState = !isSequenceSyncEditMode;
|
|
15371
|
+
setIsSequenceSyncEditMode(isSequenceSyncEditModeNewState);
|
|
15372
|
+
editor.events.toggleIsSequenceSyncEditMode.dispatch(isSequenceSyncEditModeNewState);
|
|
15373
|
+
blurActiveElement();
|
|
15374
|
+
};
|
|
15375
|
+
useEffect(function () {
|
|
15376
|
+
if (isSequenceMode && hasAtLeastOneAntisense) {
|
|
15377
|
+
editor.events.toggleIsSequenceSyncEditMode.dispatch(isSequenceSyncEditMode);
|
|
15378
|
+
}
|
|
15379
|
+
}, [isSequenceMode, hasAtLeastOneAntisense]);
|
|
15380
|
+
return isSequenceMode && hasAtLeastOneAntisense ? jsx(Fragment, {
|
|
15381
|
+
children: jsx(StyledButton, {
|
|
15382
|
+
isActive: isSequenceSyncEditMode,
|
|
15383
|
+
onClick: handleClick,
|
|
15384
|
+
children: jsxs("svg", {
|
|
15385
|
+
width: "24",
|
|
15386
|
+
height: "24",
|
|
15387
|
+
viewBox: "0 0 24 24",
|
|
15388
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15389
|
+
fill: isSequenceSyncEditMode ? 'white' : '#333333',
|
|
15390
|
+
children: [jsx("rect", {
|
|
15391
|
+
x: "1",
|
|
15392
|
+
y: "1.5",
|
|
15393
|
+
width: "22",
|
|
15394
|
+
height: "2",
|
|
15395
|
+
rx: "1"
|
|
15396
|
+
}), jsx("rect", {
|
|
15397
|
+
x: "2.5",
|
|
15398
|
+
y: "1.5",
|
|
15399
|
+
width: "5",
|
|
15400
|
+
height: "1.5",
|
|
15401
|
+
rx: "0.75",
|
|
15402
|
+
transform: "rotate(90 2.5 1.5)"
|
|
15403
|
+
}), jsx("rect", {
|
|
15404
|
+
x: "9.33333",
|
|
15405
|
+
y: "1.5",
|
|
15406
|
+
width: "5",
|
|
15407
|
+
height: "1.5",
|
|
15408
|
+
rx: "0.75",
|
|
15409
|
+
transform: "rotate(90 9.33333 1.5)"
|
|
15410
|
+
}), jsx("rect", {
|
|
15411
|
+
x: "16.1667",
|
|
15412
|
+
y: "1.5",
|
|
15413
|
+
width: "5",
|
|
15414
|
+
height: "1.5",
|
|
15415
|
+
rx: "0.75",
|
|
15416
|
+
transform: "rotate(90 16.1667 1.5)"
|
|
15417
|
+
}), jsx("rect", {
|
|
15418
|
+
x: "23",
|
|
15419
|
+
y: "1.5",
|
|
15420
|
+
width: "5",
|
|
15421
|
+
height: "1.5",
|
|
15422
|
+
rx: "0.75",
|
|
15423
|
+
transform: "rotate(90 23 1.5)"
|
|
15424
|
+
}), jsx("path", {
|
|
15425
|
+
d: "M2.16873 14.2715C2.08963 14.3652 2.02518 14.4253 1.97537 14.4517C1.9285 14.478 1.8699 14.4912 1.79959 14.4912C1.66189 14.4912 1.55057 14.4458 1.46561 14.355C1.38357 14.2612 1.34256 14.1074 1.34256 13.8936V13.2871C1.34256 13.0703 1.38357 12.9165 1.46561 12.8257C1.55057 12.7319 1.66189 12.6851 1.79959 12.6851C1.90506 12.6851 1.99295 12.7129 2.06326 12.7686C2.1365 12.8242 2.19217 12.918 2.23025 13.0498C2.26834 13.1787 2.30789 13.2666 2.34891 13.3135C2.43387 13.4043 2.58475 13.4966 2.80154 13.5903C3.01834 13.6841 3.25564 13.731 3.51346 13.731C3.91482 13.731 4.24441 13.6372 4.50223 13.4497C4.66629 13.3354 4.74832 13.1948 4.74832 13.0278C4.74832 12.9165 4.70877 12.8125 4.62967 12.7158C4.55057 12.6162 4.42166 12.5342 4.24295 12.4697C4.12576 12.4258 3.86355 12.3657 3.45633 12.2896C2.96414 12.1987 2.59207 12.0889 2.34012 11.96C2.08816 11.8311 1.88895 11.6494 1.74246 11.415C1.59598 11.1807 1.52273 10.9272 1.52273 10.6548C1.52273 10.2241 1.70291 9.84766 2.06326 9.52539C2.42361 9.2002 2.89236 9.0376 3.46951 9.0376C3.70096 9.0376 3.91482 9.06396 4.11111 9.1167C4.31033 9.1665 4.49051 9.24414 4.65164 9.34961C4.76883 9.23535 4.88602 9.17822 5.0032 9.17822C5.13504 9.17822 5.24197 9.2251 5.324 9.31885C5.40897 9.40967 5.45145 9.56201 5.45145 9.77588V10.4526C5.45145 10.6694 5.40897 10.8247 5.324 10.9185C5.24197 11.0093 5.13504 11.0547 5.0032 11.0547C4.89188 11.0547 4.7952 11.021 4.71316 10.9536C4.64871 10.9038 4.60037 10.8042 4.56814 10.6548C4.53592 10.5054 4.4949 10.3984 4.4451 10.334C4.36014 10.2227 4.2327 10.1289 4.06277 10.0527C3.89285 9.97656 3.69656 9.93848 3.47391 9.93848C3.14871 9.93848 2.8909 10.0146 2.70047 10.167C2.51297 10.3164 2.41922 10.4731 2.41922 10.6372C2.41922 10.7485 2.4573 10.8569 2.53348 10.9624C2.61258 11.0649 2.72684 11.1455 2.87625 11.2041C2.97586 11.2451 3.25564 11.311 3.71561 11.4019C4.1785 11.4927 4.53299 11.5923 4.77908 11.7007C5.02811 11.8091 5.23465 11.979 5.39871 12.2104C5.56277 12.4419 5.6448 12.7173 5.6448 13.0366C5.6448 13.4819 5.48807 13.8379 5.17459 14.1045C4.75857 14.4561 4.2283 14.6318 3.58377 14.6318C3.33475 14.6318 3.09158 14.6011 2.85428 14.5396C2.6199 14.481 2.39139 14.3916 2.16873 14.2715ZM9.615 12.2632V13.5991H10.2214C10.4382 13.5991 10.5921 13.6416 10.6829 13.7266C10.7766 13.8086 10.8235 13.917 10.8235 14.0518C10.8235 14.1836 10.7766 14.292 10.6829 14.377C10.5921 14.459 10.4382 14.5 10.2214 14.5H8.10768C7.89381 14.5 7.74 14.459 7.64625 14.377C7.55543 14.292 7.51002 14.1821 7.51002 14.0474C7.51002 13.9155 7.55543 13.8086 7.64625 13.7266C7.74 13.6416 7.89381 13.5991 8.10768 13.5991H8.71412V12.2632L7.22438 10.0747C7.02516 10.0747 6.87867 10.0322 6.78492 9.94727C6.6941 9.8623 6.64869 9.75391 6.64869 9.62207C6.64869 9.4873 6.6941 9.37891 6.78492 9.29688C6.87867 9.21191 7.03395 9.16943 7.25074 9.16943L8.06813 9.17383C8.28492 9.17383 8.43873 9.21484 8.52955 9.29688C8.6233 9.37891 8.67018 9.4873 8.67018 9.62207C8.67018 9.82422 8.55152 9.9751 8.31422 10.0747L9.16676 11.3315L10.0017 10.0747C9.86988 10.0249 9.77613 9.96191 9.72047 9.88574C9.6648 9.80957 9.63697 9.72168 9.63697 9.62207C9.63697 9.4873 9.68238 9.37891 9.7732 9.29688C9.86695 9.21484 10.0222 9.17236 10.239 9.16943L11.0872 9.17383C11.304 9.17383 11.4578 9.21484 11.5486 9.29688C11.6423 9.37891 11.6892 9.4873 11.6892 9.62207C11.6892 9.75684 11.6423 9.8667 11.5486 9.95166C11.4548 10.0337 11.3025 10.0747 11.0916 10.0747L9.615 12.2632ZM13.7082 10.8745V13.5991H14.0334C14.2502 13.5991 14.404 13.6416 14.4949 13.7266C14.5886 13.8086 14.6355 13.917 14.6355 14.0518C14.6355 14.1836 14.5886 14.292 14.4949 14.377C14.404 14.459 14.2502 14.5 14.0334 14.5H12.8513C12.6345 14.5 12.4792 14.459 12.3855 14.377C12.2947 14.292 12.2493 14.1821 12.2493 14.0474C12.2493 13.9185 12.2947 13.8115 12.3855 13.7266C12.4763 13.6416 12.6169 13.5991 12.8074 13.5991V10.0747H12.6667C12.4499 10.0747 12.2947 10.0337 12.2009 9.95166C12.1101 9.8667 12.0647 9.75684 12.0647 9.62207C12.0647 9.4873 12.1101 9.37891 12.2009 9.29688C12.2947 9.21191 12.4499 9.16943 12.6667 9.16943L13.7082 9.17383L16.011 12.7861V10.0747H15.6858C15.469 10.0747 15.3137 10.0337 15.22 9.95166C15.1291 9.8667 15.0837 9.75684 15.0837 9.62207C15.0837 9.4873 15.1291 9.37891 15.22 9.29688C15.3137 9.21191 15.469 9.16943 15.6858 9.16943L16.8679 9.17383C17.0847 9.17383 17.2385 9.21484 17.3293 9.29688C17.4231 9.37891 17.47 9.4873 17.47 9.62207C17.47 9.75391 17.4246 9.8623 17.3337 9.94727C17.2429 10.0322 17.1038 10.0747 16.9163 10.0747V14.5H16.0242L13.7082 10.8745ZM21.9236 9.40234C21.9792 9.32617 22.0393 9.26904 22.1037 9.23096C22.1711 9.19287 22.2429 9.17383 22.3191 9.17383C22.4509 9.17383 22.5578 9.21924 22.6399 9.31006C22.7248 9.40088 22.7673 9.55469 22.7673 9.77148V10.5361C22.7673 10.7529 22.7248 10.9082 22.6399 11.002C22.5578 11.0928 22.4509 11.1382 22.3191 11.1382C22.1989 11.1382 22.1023 11.1045 22.029 11.0371C21.9558 10.9697 21.9016 10.8438 21.8664 10.6592C21.8459 10.5361 21.8049 10.4409 21.7434 10.3735C21.6233 10.2417 21.4548 10.1362 21.238 10.0571C21.0241 9.97803 20.8088 9.93848 20.592 9.93848C20.3225 9.93848 20.0749 9.99707 19.8493 10.1143C19.6237 10.2314 19.4245 10.4219 19.2517 10.6855C19.0788 10.9492 18.9924 11.2627 18.9924 11.626V12.2104C18.9924 12.644 19.1491 13.0059 19.4626 13.2959C19.779 13.5859 20.217 13.731 20.7766 13.731C21.1106 13.731 21.3933 13.6855 21.6247 13.5947C21.7595 13.542 21.903 13.438 22.0554 13.2827C22.1491 13.189 22.2224 13.1289 22.2751 13.1025C22.3279 13.0732 22.3879 13.0586 22.4553 13.0586C22.5754 13.0586 22.6809 13.104 22.7717 13.1948C22.8625 13.2856 22.9079 13.3926 22.9079 13.5156C22.9079 13.6387 22.8464 13.7705 22.7234 13.9111C22.5446 14.1162 22.3147 14.2773 22.0334 14.3945C21.6555 14.5527 21.238 14.6318 20.781 14.6318C20.2478 14.6318 19.7673 14.522 19.3396 14.3022C18.9939 14.1265 18.6994 13.8496 18.4563 13.4717C18.2131 13.0908 18.0915 12.6763 18.0915 12.228V11.6172C18.0915 11.1484 18.1999 10.7119 18.4167 10.3076C18.6364 9.90039 18.9397 9.58691 19.3264 9.36719C19.7131 9.14746 20.1233 9.0376 20.5569 9.0376C20.8176 9.0376 21.0608 9.06836 21.2863 9.12988C21.5149 9.18848 21.7273 9.2793 21.9236 9.40234Z"
|
|
15426
|
+
}), jsx("rect", {
|
|
15427
|
+
x: "23",
|
|
15428
|
+
y: "22.5",
|
|
15429
|
+
width: "22",
|
|
15430
|
+
height: "2",
|
|
15431
|
+
rx: "1",
|
|
15432
|
+
transform: "rotate(-180 23 22.5)"
|
|
15433
|
+
}), jsx("rect", {
|
|
15434
|
+
x: "21.5",
|
|
15435
|
+
y: "22.5",
|
|
15436
|
+
width: "5",
|
|
15437
|
+
height: "1.5",
|
|
15438
|
+
rx: "0.75",
|
|
15439
|
+
transform: "rotate(-90 21.5 22.5)"
|
|
15440
|
+
}), jsx("rect", {
|
|
15441
|
+
x: "14.6667",
|
|
15442
|
+
y: "22.5",
|
|
15443
|
+
width: "5",
|
|
15444
|
+
height: "1.5",
|
|
15445
|
+
rx: "0.75",
|
|
15446
|
+
transform: "rotate(-90 14.6667 22.5)"
|
|
15447
|
+
}), jsx("rect", {
|
|
15448
|
+
x: "7.83333",
|
|
15449
|
+
y: "22.5",
|
|
15450
|
+
width: "5",
|
|
15451
|
+
height: "1.5",
|
|
15452
|
+
rx: "0.75",
|
|
15453
|
+
transform: "rotate(-90 7.83333 22.5)"
|
|
15454
|
+
}), jsx("rect", {
|
|
15455
|
+
x: "1",
|
|
15456
|
+
y: "22.5",
|
|
15457
|
+
width: "5",
|
|
15458
|
+
height: "1.5",
|
|
15459
|
+
rx: "0.75",
|
|
15460
|
+
transform: "rotate(-90 1 22.5)"
|
|
15461
|
+
})]
|
|
15462
|
+
})
|
|
15463
|
+
})
|
|
15464
|
+
}) : null;
|
|
15465
|
+
};
|
|
15466
|
+
|
|
15218
15467
|
var muiTheme = createTheme(muiOverrides);
|
|
15219
15468
|
function EditorContainer(_ref) {
|
|
15220
15469
|
var onInit = _ref.onInit,
|
|
@@ -15351,7 +15600,7 @@ function Editor(_ref2) {
|
|
|
15351
15600
|
shortened: isMonomerLibraryHidden,
|
|
15352
15601
|
"data-testid": "top-toolbar",
|
|
15353
15602
|
children: [jsx(TopMenuComponent, {}), jsxs(TopMenuRightWrapper, {
|
|
15354
|
-
children: [jsx(LayoutModeButton, {}), jsx(SequenceTypeGroupButton, {}), jsx(TogglerComponentWrapper, {
|
|
15603
|
+
children: [jsx(SequenceSyncEditModeButton, {}), jsx(LayoutModeButton, {}), jsx(SequenceTypeGroupButton, {}), jsx(TogglerComponentWrapper, {
|
|
15355
15604
|
className: isSequenceEditInRNABuilderMode ? 'toggler-component-wrapper--disabled' : '',
|
|
15356
15605
|
children: togglerComponent
|
|
15357
15606
|
}), jsx(FullscreenButton, {}), jsx(VerticalDivider, {}), jsx(ZoomControls, {})]
|
|
@@ -15423,4 +15672,4 @@ function Editor(_ref2) {
|
|
|
15423
15672
|
}
|
|
15424
15673
|
|
|
15425
15674
|
export { EditorContainer as default };
|
|
15426
|
-
//# sourceMappingURL=index.modern-
|
|
15675
|
+
//# sourceMappingURL=index.modern-17b0bd64.js.map
|