-
-
+
+
-
-
+
);
},
actions: [
- // temp: swap button types until colors are updated
- { id: 'cancel', text: 'Cancel', type: 'primary' },
- { id: 'save', text: 'Save', type: 'secondary' },
+ { id: 'cancel', text: 'Cancel', type: ButtonEnums.type.secondary },
+ { id: 'save', text: 'Save', type: ButtonEnums.type.primary },
],
onSubmit: onSubmitHandler,
},
diff --git a/extensions/tmtv/src/commandsModule.js b/extensions/tmtv/src/commandsModule.js
index b633d231cc9..73409ee411a 100644
--- a/extensions/tmtv/src/commandsModule.js
+++ b/extensions/tmtv/src/commandsModule.js
@@ -14,11 +14,7 @@ const metadataProvider = classes.MetadataProvider;
const RECTANGLE_ROI_THRESHOLD_MANUAL = 'RectangleROIStartEndThreshold';
const LABELMAP = csTools.Enums.SegmentationRepresentations.Labelmap;
-const commandsModule = ({
- servicesManager,
- commandsManager,
- extensionManager,
-}) => {
+const commandsModule = ({ servicesManager, commandsManager, extensionManager }) => {
const {
viewportGridService,
uiNotificationService,
@@ -36,8 +32,8 @@ const commandsModule = ({
const { getEnabledElement } = utilityModule.exports;
function _getActiveViewportsEnabledElement() {
- const { activeViewportIndex } = viewportGridService.getState();
- const { element } = getEnabledElement(activeViewportIndex) || {};
+ const { activeViewportId } = viewportGridService.getState();
+ const { element } = getEnabledElement(activeViewportId) || {};
const enabledElement = cs.getEnabledElement(element);
return enabledElement;
}
@@ -45,8 +41,8 @@ const commandsModule = ({
function _getMatchedViewportsToolGroupIds() {
const { viewportMatchDetails } = hangingProtocolService.getMatchDetails();
const toolGroupIds = [];
- viewportMatchDetails.forEach((value, key) => {
- const { viewportOptions } = value;
+ viewportMatchDetails.forEach(viewport => {
+ const { viewportOptions } = viewport;
const { toolGroupId } = viewportOptions;
if (toolGroupIds.indexOf(toolGroupId) === -1) {
toolGroupIds.push(toolGroupId);
@@ -64,7 +60,7 @@ const commandsModule = ({
// corrected PT vs the non-attenuation correct PT)
let ptDisplaySet = null;
- for (const [viewportIndex, viewportDetails] of viewportMatchDetails) {
+ for (const [viewportId, viewportDetails] of viewportMatchDetails) {
const { displaySetsInfo } = viewportDetails;
const displaySets = displaySetsInfo.map(({ displaySetInstanceUID }) =>
displaySetService.getDisplaySetByUID(displaySetInstanceUID)
@@ -74,9 +70,7 @@ const commandsModule = ({
continue;
}
- ptDisplaySet = displaySets.find(
- displaySet => displaySet.Modality === 'PT'
- );
+ ptDisplaySet = displaySets.find(displaySet => displaySet.Modality === 'PT');
if (ptDisplaySet) {
break;
@@ -102,17 +96,13 @@ const commandsModule = ({
PatientWeight: instance.PatientWeight,
RadiopharmaceuticalInformationSequence: {
RadionuclideTotalDose:
- instance.RadiopharmaceuticalInformationSequence[0]
- .RadionuclideTotalDose,
+ instance.RadiopharmaceuticalInformationSequence[0].RadionuclideTotalDose,
RadionuclideHalfLife:
- instance.RadiopharmaceuticalInformationSequence[0]
- .RadionuclideHalfLife,
+ instance.RadiopharmaceuticalInformationSequence[0].RadionuclideHalfLife,
RadiopharmaceuticalStartTime:
- instance.RadiopharmaceuticalInformationSequence[0]
- .RadiopharmaceuticalStartTime,
+ instance.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartTime,
RadiopharmaceuticalStartDateTime:
- instance.RadiopharmaceuticalInformationSequence[0]
- .RadiopharmaceuticalStartDateTime,
+ instance.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartDateTime,
},
};
@@ -137,7 +127,6 @@ const commandsModule = ({
// Add Segmentation to all toolGroupIds in the viewer
const toolGroupIds = _getMatchedViewportsToolGroupIds();
-
const representationType = LABELMAP;
for (const toolGroupId of toolGroupIds) {
@@ -149,10 +138,7 @@ const commandsModule = ({
representationType
);
- segmentationService.setActiveSegmentationForToolGroup(
- segmentationId,
- toolGroupId
- );
+ segmentationService.setActiveSegmentationForToolGroup(segmentationId, toolGroupId);
}
return segmentationId;
@@ -161,21 +147,14 @@ const commandsModule = ({
const toolGroupIds = _getMatchedViewportsToolGroupIds();
toolGroupIds.forEach(toolGroupId => {
- segmentationService.setActiveSegmentationForToolGroup(
- segmentationId,
- toolGroupId
- );
+ segmentationService.setActiveSegmentationForToolGroup(segmentationId, toolGroupId);
});
},
thresholdSegmentationByRectangleROITool: ({ segmentationId, config }) => {
- const segmentation = csTools.segmentation.state.getSegmentation(
- segmentationId
- );
+ const segmentation = csTools.segmentation.state.getSegmentation(segmentationId);
const { representationData } = segmentation;
- const {
- displaySetMatchDetails: matchDetails,
- } = hangingProtocolService.getMatchDetails();
+ const { displaySetMatchDetails: matchDetails } = hangingProtocolService.getMatchDetails();
const volumeLoaderScheme = 'cornerstoneStreamingImageVolume'; // Loader id which defines which volume loader to use
const ctDisplaySet = matchDetails.get('ctDisplaySet');
@@ -249,9 +228,7 @@ const commandsModule = ({
getLesionStats: ({ labelmap, segmentIndex = 1 }) => {
const { scalarData, spacing } = labelmap;
- const { scalarData: referencedScalarData } = cs.cache.getVolume(
- labelmap.referencedVolumeId
- );
+ const { scalarData: referencedScalarData } = cs.cache.getVolume(labelmap.referencedVolumeId);
let segmentationMax = -Infinity;
let segmentationMin = Infinity;
@@ -293,9 +270,7 @@ const commandsModule = ({
};
},
calculateTMTV: ({ segmentations }) => {
- const labelmaps = segmentations.map(s =>
- segmentationService.getLabelmapVolume(s.id)
- );
+ const labelmaps = segmentations.map(s => segmentationService.getLabelmapVolume(s.id));
if (!labelmaps.length) {
return;
@@ -318,17 +293,14 @@ const commandsModule = ({
createAndDownloadTMTVReport(segReport, additionalReportRows);
},
getTotalLesionGlycolysis: ({ segmentations }) => {
- const labelmapVolumes = segmentations.map(s =>
- segmentationService.getLabelmapVolume(s.id)
- );
+ const labelmapVolumes = segmentations.map(s => segmentationService.getLabelmapVolume(s.id));
let mergedLabelmap;
// merge labelmap will through an error if labels maps are not the same size
// or same direction or ....
try {
- mergedLabelmap = csTools.utilities.segmentation.createMergedLabelmapForIndex(
- labelmapVolumes
- );
+ mergedLabelmap =
+ csTools.utilities.segmentation.createMergedLabelmapForIndex(labelmapVolumes);
} catch (e) {
console.error('commandsModule::getTotalLesionGlycolysis', e);
return;
@@ -338,9 +310,7 @@ const commandsModule = ({
const { referencedVolumeId, spacing } = labelmapVolumes[0];
if (!referencedVolumeId) {
- console.error(
- 'commandsModule::getTotalLesionGlycolysis:No referencedVolumeId found'
- );
+ console.error('commandsModule::getTotalLesionGlycolysis:No referencedVolumeId found');
}
const ptVolume = cs.cache.getVolume(referencedVolumeId);
@@ -366,14 +336,7 @@ const commandsModule = ({
const averageSuv = suv / totalLesionVoxelCount;
// total Lesion Glycolysis [suv * ml]
- return (
- averageSuv *
- totalLesionVoxelCount *
- spacing[0] *
- spacing[1] *
- spacing[2] *
- 1e-3
- );
+ return averageSuv * totalLesionVoxelCount * spacing[0] * spacing[1] * spacing[2] * 1e-3;
},
setStartSliceForROIThresholdTool: () => {
const { viewport } = _getActiveViewportsEnabledElement();
@@ -489,9 +452,7 @@ const commandsModule = ({
const referencedVolumeId = labelmapVolume.referencedVolumeId;
segReport.referencedVolumeId = referencedVolumeId;
- const referencedVolume = segmentationService.getLabelmapVolume(
- referencedVolumeId
- );
+ const referencedVolume = segmentationService.getLabelmapVolume(referencedVolumeId);
if (!referencedVolume) {
report[id] = segReport;
@@ -504,10 +465,7 @@ const commandsModule = ({
}
const firstImageId = referencedVolume.imageIds[0];
- const instance = OHIF.classes.MetadataProvider.get(
- 'instance',
- firstImageId
- );
+ const instance = OHIF.classes.MetadataProvider.get('instance', firstImageId);
if (!instance) {
report[id] = segReport;
@@ -545,20 +503,22 @@ const commandsModule = ({
let viewports = [];
fusionViewportIds.forEach(viewportId => {
- const viewportInfo = cornerstoneViewportService.getViewportInfo(
- viewportId
- );
-
- const viewportIndex = viewportInfo.getViewportIndex();
commandsManager.runCommand('setViewportColormap', {
- viewportIndex,
+ viewportId,
displaySetInstanceUID: ptDisplaySet.displaySetInstanceUID,
- colormap,
+ colormap: {
+ name: colormap,
+ // TODO: This opacity mapping matches that in hpViewports, but
+ // ideally making this editable in a side panel would be useful
+ opacity: [
+ { value: 0, opacity: 0 },
+ { value: 0.1, opacity: 0.9 },
+ { value: 1, opacity: 0.95 },
+ ],
+ },
});
- viewports.push(
- cornerstoneViewportService.getCornerstoneViewport(viewportId)
- );
+ viewports.push(cornerstoneViewportService.getCornerstoneViewport(viewportId));
});
viewports.forEach(viewport => {
diff --git a/extensions/tmtv/src/getHangingProtocolModule.js b/extensions/tmtv/src/getHangingProtocolModule.js
index 45720c10d52..e123a791766 100644
--- a/extensions/tmtv/src/getHangingProtocolModule.js
+++ b/extensions/tmtv/src/getHangingProtocolModule.js
@@ -217,7 +217,6 @@ const stage4 = {
const ptCT = {
id: '@ohif/extension-tmtv.hangingProtocolModule.ptCT',
locked: true,
- hasUpdatedPriorsInformation: false,
name: 'Default',
createdDate: '2021-02-23T19:22:08.894Z',
modifiedDate: '2022-10-04T19:22:08.894Z',
diff --git a/extensions/tmtv/src/getPanelModule.tsx b/extensions/tmtv/src/getPanelModule.tsx
index 94e221fc93e..0449ebe48bf 100644
--- a/extensions/tmtv/src/getPanelModule.tsx
+++ b/extensions/tmtv/src/getPanelModule.tsx
@@ -6,11 +6,7 @@ import { PanelPetSUV, PanelROIThresholdSegmentation } from './Panels';
// - cancel promises when component is destroyed
// - show errors in UI for thumbnails if promise fails
-function getPanelModule({
- commandsManager,
- extensionManager,
- servicesManager,
-}) {
+function getPanelModule({ commandsManager, extensionManager, servicesManager }) {
const wrappedPanelPetSuv = () => {
return (
true,
- callback,
- boundsIJK
- );
+ utilities.pointInShapeCallback(labelmapImageData, () => true, callback, boundsIJK);
- const direction = labelmapImageData
- .getDirection()
- .slice(0, 3) as Types.Point3;
+ const direction = labelmapImageData.getDirection().slice(0, 3) as Types.Point3;
/**
* 2. Find the bottom and top of the great circle for the second sphere (1cc sphere)
@@ -117,13 +98,10 @@ function calculateSuvPeak(
const secondaryCircleWorld = vec3.create();
const bottomWorld = vec3.create();
const topWorld = vec3.create();
- referenceVolumeImageData.indexToWorld(maxIJK, secondaryCircleWorld);
+ referenceVolumeImageData.indexToWorld(maxIJK as vec3, secondaryCircleWorld);
vec3.scaleAndAdd(bottomWorld, secondaryCircleWorld, direction, -diameter / 2);
vec3.scaleAndAdd(topWorld, secondaryCircleWorld, direction, diameter / 2);
- const suvPeakCirclePoints = [bottomWorld, topWorld] as [
- Types.Point3,
- Types.Point3
- ];
+ const suvPeakCirclePoints = [bottomWorld, topWorld] as [Types.Point3, Types.Point3];
/**
* 3. Find the Mean and Max of the 1cc sphere centered on the suv Max of the previous
diff --git a/extensions/tmtv/src/utils/calculateTMTV.ts b/extensions/tmtv/src/utils/calculateTMTV.ts
index f09375c346e..8d9f5f3e5d9 100644
--- a/extensions/tmtv/src/utils/calculateTMTV.ts
+++ b/extensions/tmtv/src/utils/calculateTMTV.ts
@@ -11,10 +11,7 @@ import { utilities } from '@cornerstonejs/tools';
* @param {number} segmentIndex
* @returns {number} TMTV in ml
*/
-function calculateTMTV(
- labelmaps: Array,
- segmentIndex = 1
-): number {
+function calculateTMTV(labelmaps: Array, segmentIndex = 1): number {
const volumeId = 'mergedLabelmap';
const mergedLabelmap = utilities.segmentation.createMergedLabelmapForIndex(
@@ -24,10 +21,7 @@ function calculateTMTV(
);
const { imageData, spacing } = mergedLabelmap;
- const values = imageData
- .getPointData()
- .getScalars()
- .getData();
+ const values = imageData.getPointData().getScalars().getData();
// count non-zero values inside the outputData, this would
// consider the overlapping regions to be only counted once
diff --git a/extensions/tmtv/src/utils/colormaps/index.js b/extensions/tmtv/src/utils/colormaps/index.js
index 34761d25963..b5afdd984a2 100644
--- a/extensions/tmtv/src/utils/colormaps/index.js
+++ b/extensions/tmtv/src/utils/colormaps/index.js
@@ -3,9270 +3,1552 @@ export default [
ColorSpace: 'RGB',
Name: 'hot_iron',
RGBPoints: [
- 0.0,
- 0.0039215686,
- 0.0039215686,
- 0.0156862745,
- 0.00392156862745098,
- 0.0039215686,
- 0.0039215686,
- 0.0156862745,
- 0.00784313725490196,
- 0.0039215686,
- 0.0039215686,
- 0.031372549,
- 0.011764705882352941,
- 0.0039215686,
- 0.0039215686,
- 0.0470588235,
- 0.01568627450980392,
- 0.0039215686,
- 0.0039215686,
- 0.062745098,
- 0.0196078431372549,
- 0.0039215686,
- 0.0039215686,
- 0.0784313725,
- 0.023529411764705882,
- 0.0039215686,
- 0.0039215686,
- 0.0941176471,
- 0.027450980392156862,
- 0.0039215686,
- 0.0039215686,
- 0.1098039216,
- 0.03137254901960784,
- 0.0039215686,
- 0.0039215686,
- 0.1254901961,
- 0.03529411764705882,
- 0.0039215686,
- 0.0039215686,
- 0.1411764706,
- 0.0392156862745098,
- 0.0039215686,
- 0.0039215686,
- 0.1568627451,
- 0.043137254901960784,
- 0.0039215686,
- 0.0039215686,
- 0.1725490196,
- 0.047058823529411764,
- 0.0039215686,
- 0.0039215686,
- 0.1882352941,
- 0.050980392156862744,
- 0.0039215686,
- 0.0039215686,
- 0.2039215686,
- 0.054901960784313725,
- 0.0039215686,
- 0.0039215686,
- 0.2196078431,
- 0.05882352941176471,
- 0.0039215686,
- 0.0039215686,
- 0.2352941176,
- 0.06274509803921569,
- 0.0039215686,
- 0.0039215686,
- 0.2509803922,
- 0.06666666666666667,
- 0.0039215686,
- 0.0039215686,
- 0.262745098,
- 0.07058823529411765,
- 0.0039215686,
- 0.0039215686,
- 0.2784313725,
- 0.07450980392156863,
- 0.0039215686,
- 0.0039215686,
- 0.2941176471,
- 0.0784313725490196,
- 0.0039215686,
- 0.0039215686,
- 0.3098039216,
- 0.08235294117647059,
- 0.0039215686,
- 0.0039215686,
- 0.3254901961,
- 0.08627450980392157,
- 0.0039215686,
- 0.0039215686,
- 0.3411764706,
- 0.09019607843137255,
- 0.0039215686,
- 0.0039215686,
- 0.3568627451,
- 0.09411764705882353,
- 0.0039215686,
- 0.0039215686,
- 0.3725490196,
- 0.09803921568627451,
- 0.0039215686,
- 0.0039215686,
- 0.3882352941,
- 0.10196078431372549,
- 0.0039215686,
- 0.0039215686,
- 0.4039215686,
- 0.10588235294117647,
- 0.0039215686,
- 0.0039215686,
- 0.4196078431,
- 0.10980392156862745,
- 0.0039215686,
- 0.0039215686,
- 0.4352941176,
- 0.11372549019607843,
- 0.0039215686,
- 0.0039215686,
- 0.4509803922,
- 0.11764705882352942,
- 0.0039215686,
- 0.0039215686,
- 0.4666666667,
- 0.12156862745098039,
- 0.0039215686,
- 0.0039215686,
- 0.4823529412,
- 0.12549019607843137,
- 0.0039215686,
- 0.0039215686,
- 0.4980392157,
- 0.12941176470588237,
- 0.0039215686,
- 0.0039215686,
- 0.5137254902,
- 0.13333333333333333,
- 0.0039215686,
- 0.0039215686,
- 0.5294117647,
- 0.13725490196078433,
- 0.0039215686,
- 0.0039215686,
- 0.5450980392,
- 0.1411764705882353,
- 0.0039215686,
- 0.0039215686,
- 0.5607843137,
- 0.1450980392156863,
- 0.0039215686,
- 0.0039215686,
- 0.5764705882,
- 0.14901960784313725,
- 0.0039215686,
- 0.0039215686,
- 0.5921568627,
- 0.15294117647058825,
- 0.0039215686,
- 0.0039215686,
- 0.6078431373,
- 0.1568627450980392,
- 0.0039215686,
- 0.0039215686,
- 0.6235294118,
- 0.1607843137254902,
- 0.0039215686,
- 0.0039215686,
- 0.6392156863,
- 0.16470588235294117,
- 0.0039215686,
- 0.0039215686,
- 0.6549019608,
- 0.16862745098039217,
- 0.0039215686,
- 0.0039215686,
- 0.6705882353,
- 0.17254901960784313,
- 0.0039215686,
- 0.0039215686,
- 0.6862745098,
- 0.17647058823529413,
- 0.0039215686,
- 0.0039215686,
- 0.7019607843,
- 0.1803921568627451,
- 0.0039215686,
- 0.0039215686,
- 0.7176470588,
- 0.1843137254901961,
- 0.0039215686,
- 0.0039215686,
- 0.7333333333,
- 0.18823529411764706,
- 0.0039215686,
- 0.0039215686,
- 0.7490196078,
- 0.19215686274509805,
- 0.0039215686,
- 0.0039215686,
- 0.7607843137,
- 0.19607843137254902,
- 0.0039215686,
- 0.0039215686,
- 0.7764705882,
- 0.2,
- 0.0039215686,
- 0.0039215686,
- 0.7921568627,
- 0.20392156862745098,
- 0.0039215686,
- 0.0039215686,
- 0.8078431373,
- 0.20784313725490197,
- 0.0039215686,
- 0.0039215686,
- 0.8235294118,
- 0.21176470588235294,
- 0.0039215686,
- 0.0039215686,
- 0.8392156863,
- 0.21568627450980393,
- 0.0039215686,
- 0.0039215686,
- 0.8549019608,
- 0.2196078431372549,
- 0.0039215686,
- 0.0039215686,
- 0.8705882353,
- 0.2235294117647059,
- 0.0039215686,
- 0.0039215686,
- 0.8862745098,
- 0.22745098039215686,
- 0.0039215686,
- 0.0039215686,
- 0.9019607843,
- 0.23137254901960785,
- 0.0039215686,
- 0.0039215686,
- 0.9176470588,
- 0.23529411764705885,
- 0.0039215686,
- 0.0039215686,
- 0.9333333333,
- 0.23921568627450984,
- 0.0039215686,
- 0.0039215686,
- 0.9490196078,
- 0.24313725490196078,
- 0.0039215686,
- 0.0039215686,
- 0.9647058824,
- 0.24705882352941178,
- 0.0039215686,
- 0.0039215686,
- 0.9803921569,
- 0.25098039215686274,
- 0.0039215686,
- 0.0039215686,
- 0.9960784314,
- 0.2549019607843137,
- 0.0039215686,
- 0.0039215686,
- 0.9960784314,
- 0.25882352941176473,
- 0.0156862745,
- 0.0039215686,
- 0.9803921569,
- 0.2627450980392157,
- 0.031372549,
- 0.0039215686,
- 0.9647058824,
- 0.26666666666666666,
- 0.0470588235,
- 0.0039215686,
- 0.9490196078,
- 0.27058823529411763,
- 0.062745098,
- 0.0039215686,
- 0.9333333333,
- 0.27450980392156865,
- 0.0784313725,
- 0.0039215686,
- 0.9176470588,
- 0.2784313725490196,
- 0.0941176471,
- 0.0039215686,
- 0.9019607843,
- 0.2823529411764706,
- 0.1098039216,
- 0.0039215686,
- 0.8862745098,
- 0.28627450980392155,
- 0.1254901961,
- 0.0039215686,
- 0.8705882353,
- 0.2901960784313726,
- 0.1411764706,
- 0.0039215686,
- 0.8549019608,
- 0.29411764705882354,
- 0.1568627451,
- 0.0039215686,
- 0.8392156863,
- 0.2980392156862745,
- 0.1725490196,
- 0.0039215686,
- 0.8235294118,
- 0.30196078431372547,
- 0.1882352941,
- 0.0039215686,
- 0.8078431373,
- 0.3058823529411765,
- 0.2039215686,
- 0.0039215686,
- 0.7921568627,
- 0.30980392156862746,
- 0.2196078431,
- 0.0039215686,
- 0.7764705882,
- 0.3137254901960784,
- 0.2352941176,
- 0.0039215686,
- 0.7607843137,
- 0.3176470588235294,
- 0.2509803922,
- 0.0039215686,
- 0.7490196078,
- 0.3215686274509804,
- 0.262745098,
- 0.0039215686,
- 0.7333333333,
- 0.3254901960784314,
- 0.2784313725,
- 0.0039215686,
- 0.7176470588,
- 0.32941176470588235,
- 0.2941176471,
- 0.0039215686,
- 0.7019607843,
- 0.3333333333333333,
- 0.3098039216,
- 0.0039215686,
- 0.6862745098,
- 0.33725490196078434,
- 0.3254901961,
- 0.0039215686,
- 0.6705882353,
- 0.3411764705882353,
- 0.3411764706,
- 0.0039215686,
- 0.6549019608,
- 0.34509803921568627,
- 0.3568627451,
- 0.0039215686,
- 0.6392156863,
- 0.34901960784313724,
- 0.3725490196,
- 0.0039215686,
- 0.6235294118,
- 0.35294117647058826,
- 0.3882352941,
- 0.0039215686,
- 0.6078431373,
- 0.3568627450980392,
- 0.4039215686,
- 0.0039215686,
- 0.5921568627,
- 0.3607843137254902,
- 0.4196078431,
- 0.0039215686,
- 0.5764705882,
- 0.36470588235294116,
- 0.4352941176,
- 0.0039215686,
- 0.5607843137,
- 0.3686274509803922,
- 0.4509803922,
- 0.0039215686,
- 0.5450980392,
- 0.37254901960784315,
- 0.4666666667,
- 0.0039215686,
- 0.5294117647,
- 0.3764705882352941,
- 0.4823529412,
- 0.0039215686,
- 0.5137254902,
- 0.3803921568627451,
- 0.4980392157,
- 0.0039215686,
- 0.4980392157,
- 0.3843137254901961,
- 0.5137254902,
- 0.0039215686,
- 0.4823529412,
- 0.38823529411764707,
- 0.5294117647,
- 0.0039215686,
- 0.4666666667,
- 0.39215686274509803,
- 0.5450980392,
- 0.0039215686,
- 0.4509803922,
- 0.396078431372549,
- 0.5607843137,
- 0.0039215686,
- 0.4352941176,
- 0.4,
- 0.5764705882,
- 0.0039215686,
- 0.4196078431,
- 0.403921568627451,
- 0.5921568627,
- 0.0039215686,
- 0.4039215686,
- 0.40784313725490196,
- 0.6078431373,
- 0.0039215686,
- 0.3882352941,
- 0.4117647058823529,
- 0.6235294118,
- 0.0039215686,
- 0.3725490196,
- 0.41568627450980394,
- 0.6392156863,
- 0.0039215686,
- 0.3568627451,
- 0.4196078431372549,
- 0.6549019608,
- 0.0039215686,
- 0.3411764706,
- 0.4235294117647059,
- 0.6705882353,
- 0.0039215686,
- 0.3254901961,
- 0.42745098039215684,
- 0.6862745098,
- 0.0039215686,
- 0.3098039216,
- 0.43137254901960786,
- 0.7019607843,
- 0.0039215686,
- 0.2941176471,
- 0.43529411764705883,
- 0.7176470588,
- 0.0039215686,
- 0.2784313725,
- 0.4392156862745098,
- 0.7333333333,
- 0.0039215686,
- 0.262745098,
- 0.44313725490196076,
- 0.7490196078,
- 0.0039215686,
- 0.2509803922,
- 0.4470588235294118,
- 0.7607843137,
- 0.0039215686,
- 0.2352941176,
- 0.45098039215686275,
- 0.7764705882,
- 0.0039215686,
- 0.2196078431,
- 0.4549019607843137,
- 0.7921568627,
- 0.0039215686,
- 0.2039215686,
- 0.4588235294117647,
- 0.8078431373,
- 0.0039215686,
- 0.1882352941,
- 0.4627450980392157,
- 0.8235294118,
- 0.0039215686,
- 0.1725490196,
- 0.4666666666666667,
- 0.8392156863,
- 0.0039215686,
- 0.1568627451,
- 0.4705882352941177,
- 0.8549019608,
- 0.0039215686,
- 0.1411764706,
- 0.4745098039215686,
- 0.8705882353,
- 0.0039215686,
- 0.1254901961,
- 0.4784313725490197,
- 0.8862745098,
- 0.0039215686,
- 0.1098039216,
- 0.48235294117647065,
- 0.9019607843,
- 0.0039215686,
- 0.0941176471,
- 0.48627450980392156,
- 0.9176470588,
- 0.0039215686,
- 0.0784313725,
- 0.49019607843137253,
- 0.9333333333,
- 0.0039215686,
- 0.062745098,
- 0.49411764705882355,
- 0.9490196078,
- 0.0039215686,
- 0.0470588235,
- 0.4980392156862745,
- 0.9647058824,
- 0.0039215686,
- 0.031372549,
- 0.5019607843137255,
- 0.9803921569,
- 0.0039215686,
- 0.0156862745,
- 0.5058823529411764,
- 0.9960784314,
- 0.0039215686,
- 0.0039215686,
- 0.5098039215686274,
- 0.9960784314,
- 0.0156862745,
- 0.0039215686,
- 0.5137254901960784,
- 0.9960784314,
- 0.031372549,
- 0.0039215686,
- 0.5176470588235295,
- 0.9960784314,
- 0.0470588235,
- 0.0039215686,
- 0.5215686274509804,
- 0.9960784314,
- 0.062745098,
- 0.0039215686,
- 0.5254901960784314,
- 0.9960784314,
- 0.0784313725,
- 0.0039215686,
- 0.5294117647058824,
- 0.9960784314,
- 0.0941176471,
- 0.0039215686,
- 0.5333333333333333,
- 0.9960784314,
- 0.1098039216,
- 0.0039215686,
- 0.5372549019607843,
- 0.9960784314,
- 0.1254901961,
- 0.0039215686,
- 0.5411764705882353,
- 0.9960784314,
- 0.1411764706,
- 0.0039215686,
- 0.5450980392156862,
- 0.9960784314,
- 0.1568627451,
- 0.0039215686,
- 0.5490196078431373,
- 0.9960784314,
- 0.1725490196,
- 0.0039215686,
- 0.5529411764705883,
- 0.9960784314,
- 0.1882352941,
- 0.0039215686,
- 0.5568627450980392,
- 0.9960784314,
- 0.2039215686,
- 0.0039215686,
- 0.5607843137254902,
- 0.9960784314,
- 0.2196078431,
- 0.0039215686,
- 0.5647058823529412,
- 0.9960784314,
- 0.2352941176,
- 0.0039215686,
- 0.5686274509803921,
- 0.9960784314,
- 0.2509803922,
- 0.0039215686,
- 0.5725490196078431,
- 0.9960784314,
- 0.262745098,
- 0.0039215686,
- 0.5764705882352941,
- 0.9960784314,
- 0.2784313725,
- 0.0039215686,
- 0.5803921568627451,
- 0.9960784314,
- 0.2941176471,
- 0.0039215686,
- 0.5843137254901961,
- 0.9960784314,
- 0.3098039216,
- 0.0039215686,
- 0.5882352941176471,
- 0.9960784314,
- 0.3254901961,
- 0.0039215686,
- 0.592156862745098,
- 0.9960784314,
- 0.3411764706,
- 0.0039215686,
- 0.596078431372549,
- 0.9960784314,
- 0.3568627451,
- 0.0039215686,
- 0.6,
- 0.9960784314,
- 0.3725490196,
- 0.0039215686,
- 0.6039215686274509,
- 0.9960784314,
- 0.3882352941,
- 0.0039215686,
- 0.6078431372549019,
- 0.9960784314,
- 0.4039215686,
- 0.0039215686,
- 0.611764705882353,
- 0.9960784314,
- 0.4196078431,
- 0.0039215686,
- 0.615686274509804,
- 0.9960784314,
- 0.4352941176,
- 0.0039215686,
- 0.6196078431372549,
- 0.9960784314,
- 0.4509803922,
- 0.0039215686,
- 0.6235294117647059,
- 0.9960784314,
- 0.4666666667,
- 0.0039215686,
- 0.6274509803921569,
- 0.9960784314,
- 0.4823529412,
- 0.0039215686,
- 0.6313725490196078,
- 0.9960784314,
- 0.4980392157,
- 0.0039215686,
- 0.6352941176470588,
- 0.9960784314,
- 0.5137254902,
- 0.0039215686,
- 0.6392156862745098,
- 0.9960784314,
- 0.5294117647,
- 0.0039215686,
- 0.6431372549019608,
- 0.9960784314,
- 0.5450980392,
- 0.0039215686,
- 0.6470588235294118,
- 0.9960784314,
- 0.5607843137,
- 0.0039215686,
- 0.6509803921568628,
- 0.9960784314,
- 0.5764705882,
- 0.0039215686,
- 0.6549019607843137,
- 0.9960784314,
- 0.5921568627,
- 0.0039215686,
- 0.6588235294117647,
- 0.9960784314,
- 0.6078431373,
- 0.0039215686,
- 0.6627450980392157,
- 0.9960784314,
- 0.6235294118,
- 0.0039215686,
- 0.6666666666666666,
- 0.9960784314,
- 0.6392156863,
- 0.0039215686,
- 0.6705882352941176,
- 0.9960784314,
- 0.6549019608,
- 0.0039215686,
- 0.6745098039215687,
- 0.9960784314,
- 0.6705882353,
- 0.0039215686,
- 0.6784313725490196,
- 0.9960784314,
- 0.6862745098,
- 0.0039215686,
- 0.6823529411764706,
- 0.9960784314,
- 0.7019607843,
- 0.0039215686,
- 0.6862745098039216,
- 0.9960784314,
- 0.7176470588,
- 0.0039215686,
- 0.6901960784313725,
- 0.9960784314,
- 0.7333333333,
- 0.0039215686,
- 0.6941176470588235,
- 0.9960784314,
- 0.7490196078,
- 0.0039215686,
- 0.6980392156862745,
- 0.9960784314,
- 0.7607843137,
- 0.0039215686,
- 0.7019607843137254,
- 0.9960784314,
- 0.7764705882,
- 0.0039215686,
- 0.7058823529411765,
- 0.9960784314,
- 0.7921568627,
- 0.0039215686,
- 0.7098039215686275,
- 0.9960784314,
- 0.8078431373,
- 0.0039215686,
- 0.7137254901960784,
- 0.9960784314,
- 0.8235294118,
- 0.0039215686,
- 0.7176470588235294,
- 0.9960784314,
- 0.8392156863,
- 0.0039215686,
- 0.7215686274509804,
- 0.9960784314,
- 0.8549019608,
- 0.0039215686,
- 0.7254901960784313,
- 0.9960784314,
- 0.8705882353,
- 0.0039215686,
- 0.7294117647058823,
- 0.9960784314,
- 0.8862745098,
- 0.0039215686,
- 0.7333333333333333,
- 0.9960784314,
- 0.9019607843,
- 0.0039215686,
- 0.7372549019607844,
- 0.9960784314,
- 0.9176470588,
- 0.0039215686,
- 0.7411764705882353,
- 0.9960784314,
- 0.9333333333,
- 0.0039215686,
- 0.7450980392156863,
- 0.9960784314,
- 0.9490196078,
- 0.0039215686,
- 0.7490196078431373,
- 0.9960784314,
- 0.9647058824,
- 0.0039215686,
- 0.7529411764705882,
- 0.9960784314,
- 0.9803921569,
- 0.0039215686,
- 0.7568627450980392,
- 0.9960784314,
- 0.9960784314,
- 0.0039215686,
- 0.7607843137254902,
- 0.9960784314,
- 0.9960784314,
- 0.0196078431,
- 0.7647058823529411,
- 0.9960784314,
- 0.9960784314,
- 0.0352941176,
- 0.7686274509803922,
- 0.9960784314,
- 0.9960784314,
- 0.0509803922,
- 0.7725490196078432,
- 0.9960784314,
- 0.9960784314,
- 0.0666666667,
- 0.7764705882352941,
- 0.9960784314,
- 0.9960784314,
- 0.0823529412,
- 0.7803921568627451,
- 0.9960784314,
- 0.9960784314,
- 0.0980392157,
- 0.7843137254901961,
- 0.9960784314,
- 0.9960784314,
- 0.1137254902,
- 0.788235294117647,
- 0.9960784314,
- 0.9960784314,
- 0.1294117647,
- 0.792156862745098,
- 0.9960784314,
- 0.9960784314,
- 0.1450980392,
- 0.796078431372549,
- 0.9960784314,
- 0.9960784314,
- 0.1607843137,
- 0.8,
- 0.9960784314,
- 0.9960784314,
- 0.1764705882,
- 0.803921568627451,
- 0.9960784314,
- 0.9960784314,
- 0.1921568627,
- 0.807843137254902,
- 0.9960784314,
- 0.9960784314,
- 0.2078431373,
- 0.8117647058823529,
- 0.9960784314,
- 0.9960784314,
- 0.2235294118,
- 0.8156862745098039,
- 0.9960784314,
- 0.9960784314,
- 0.2392156863,
- 0.8196078431372549,
- 0.9960784314,
- 0.9960784314,
- 0.2509803922,
- 0.8235294117647058,
- 0.9960784314,
- 0.9960784314,
- 0.2666666667,
- 0.8274509803921568,
- 0.9960784314,
- 0.9960784314,
- 0.2823529412,
- 0.8313725490196079,
- 0.9960784314,
- 0.9960784314,
- 0.2980392157,
- 0.8352941176470589,
- 0.9960784314,
- 0.9960784314,
- 0.3137254902,
- 0.8392156862745098,
- 0.9960784314,
- 0.9960784314,
- 0.3333333333,
- 0.8431372549019608,
- 0.9960784314,
- 0.9960784314,
- 0.3490196078,
- 0.8470588235294118,
- 0.9960784314,
- 0.9960784314,
- 0.3647058824,
- 0.8509803921568627,
- 0.9960784314,
- 0.9960784314,
- 0.3803921569,
- 0.8549019607843137,
- 0.9960784314,
- 0.9960784314,
- 0.3960784314,
- 0.8588235294117647,
- 0.9960784314,
- 0.9960784314,
- 0.4117647059,
- 0.8627450980392157,
- 0.9960784314,
- 0.9960784314,
- 0.4274509804,
- 0.8666666666666667,
- 0.9960784314,
- 0.9960784314,
- 0.4431372549,
- 0.8705882352941177,
- 0.9960784314,
- 0.9960784314,
- 0.4588235294,
- 0.8745098039215686,
- 0.9960784314,
- 0.9960784314,
- 0.4745098039,
- 0.8784313725490196,
- 0.9960784314,
- 0.9960784314,
- 0.4901960784,
- 0.8823529411764706,
- 0.9960784314,
- 0.9960784314,
- 0.5058823529,
- 0.8862745098039215,
- 0.9960784314,
- 0.9960784314,
- 0.5215686275,
- 0.8901960784313725,
- 0.9960784314,
- 0.9960784314,
- 0.537254902,
- 0.8941176470588236,
- 0.9960784314,
- 0.9960784314,
- 0.5529411765,
- 0.8980392156862745,
- 0.9960784314,
- 0.9960784314,
- 0.568627451,
- 0.9019607843137255,
- 0.9960784314,
- 0.9960784314,
- 0.5843137255,
- 0.9058823529411765,
- 0.9960784314,
- 0.9960784314,
- 0.6,
- 0.9098039215686274,
- 0.9960784314,
- 0.9960784314,
- 0.6156862745,
- 0.9137254901960784,
- 0.9960784314,
- 0.9960784314,
- 0.631372549,
- 0.9176470588235294,
- 0.9960784314,
- 0.9960784314,
- 0.6470588235,
- 0.9215686274509803,
- 0.9960784314,
- 0.9960784314,
- 0.6666666667,
- 0.9254901960784314,
- 0.9960784314,
- 0.9960784314,
- 0.6823529412,
- 0.9294117647058824,
- 0.9960784314,
- 0.9960784314,
- 0.6980392157,
- 0.9333333333333333,
- 0.9960784314,
- 0.9960784314,
- 0.7137254902,
- 0.9372549019607843,
- 0.9960784314,
- 0.9960784314,
- 0.7294117647,
- 0.9411764705882354,
- 0.9960784314,
- 0.9960784314,
- 0.7450980392,
- 0.9450980392156864,
- 0.9960784314,
- 0.9960784314,
- 0.7568627451,
- 0.9490196078431372,
- 0.9960784314,
- 0.9960784314,
- 0.7725490196,
- 0.9529411764705882,
- 0.9960784314,
- 0.9960784314,
- 0.7882352941,
- 0.9568627450980394,
- 0.9960784314,
- 0.9960784314,
- 0.8039215686,
- 0.9607843137254903,
- 0.9960784314,
- 0.9960784314,
- 0.8196078431,
- 0.9647058823529413,
- 0.9960784314,
- 0.9960784314,
- 0.8352941176,
- 0.9686274509803922,
- 0.9960784314,
- 0.9960784314,
- 0.8509803922,
- 0.9725490196078431,
- 0.9960784314,
- 0.9960784314,
- 0.8666666667,
- 0.9764705882352941,
- 0.9960784314,
- 0.9960784314,
- 0.8823529412,
- 0.9803921568627451,
- 0.9960784314,
- 0.9960784314,
- 0.8980392157,
- 0.984313725490196,
- 0.9960784314,
- 0.9960784314,
- 0.9137254902,
- 0.9882352941176471,
- 0.9960784314,
- 0.9960784314,
- 0.9294117647,
- 0.9921568627450981,
- 0.9960784314,
- 0.9960784314,
- 0.9450980392,
- 0.996078431372549,
- 0.9960784314,
- 0.9960784314,
- 0.9607843137,
- 1.0,
- 0.9960784314,
- 0.9960784314,
- 0.9607843137,
+ 0.0, 0.0039215686, 0.0039215686, 0.0156862745, 0.00392156862745098, 0.0039215686,
+ 0.0039215686, 0.0156862745, 0.00784313725490196, 0.0039215686, 0.0039215686, 0.031372549,
+ 0.011764705882352941, 0.0039215686, 0.0039215686, 0.0470588235, 0.01568627450980392,
+ 0.0039215686, 0.0039215686, 0.062745098, 0.0196078431372549, 0.0039215686, 0.0039215686,
+ 0.0784313725, 0.023529411764705882, 0.0039215686, 0.0039215686, 0.0941176471,
+ 0.027450980392156862, 0.0039215686, 0.0039215686, 0.1098039216, 0.03137254901960784,
+ 0.0039215686, 0.0039215686, 0.1254901961, 0.03529411764705882, 0.0039215686, 0.0039215686,
+ 0.1411764706, 0.0392156862745098, 0.0039215686, 0.0039215686, 0.1568627451,
+ 0.043137254901960784, 0.0039215686, 0.0039215686, 0.1725490196, 0.047058823529411764,
+ 0.0039215686, 0.0039215686, 0.1882352941, 0.050980392156862744, 0.0039215686, 0.0039215686,
+ 0.2039215686, 0.054901960784313725, 0.0039215686, 0.0039215686, 0.2196078431,
+ 0.05882352941176471, 0.0039215686, 0.0039215686, 0.2352941176, 0.06274509803921569,
+ 0.0039215686, 0.0039215686, 0.2509803922, 0.06666666666666667, 0.0039215686, 0.0039215686,
+ 0.262745098, 0.07058823529411765, 0.0039215686, 0.0039215686, 0.2784313725,
+ 0.07450980392156863, 0.0039215686, 0.0039215686, 0.2941176471, 0.0784313725490196,
+ 0.0039215686, 0.0039215686, 0.3098039216, 0.08235294117647059, 0.0039215686, 0.0039215686,
+ 0.3254901961, 0.08627450980392157, 0.0039215686, 0.0039215686, 0.3411764706,
+ 0.09019607843137255, 0.0039215686, 0.0039215686, 0.3568627451, 0.09411764705882353,
+ 0.0039215686, 0.0039215686, 0.3725490196, 0.09803921568627451, 0.0039215686, 0.0039215686,
+ 0.3882352941, 0.10196078431372549, 0.0039215686, 0.0039215686, 0.4039215686,
+ 0.10588235294117647, 0.0039215686, 0.0039215686, 0.4196078431, 0.10980392156862745,
+ 0.0039215686, 0.0039215686, 0.4352941176, 0.11372549019607843, 0.0039215686, 0.0039215686,
+ 0.4509803922, 0.11764705882352942, 0.0039215686, 0.0039215686, 0.4666666667,
+ 0.12156862745098039, 0.0039215686, 0.0039215686, 0.4823529412, 0.12549019607843137,
+ 0.0039215686, 0.0039215686, 0.4980392157, 0.12941176470588237, 0.0039215686, 0.0039215686,
+ 0.5137254902, 0.13333333333333333, 0.0039215686, 0.0039215686, 0.5294117647,
+ 0.13725490196078433, 0.0039215686, 0.0039215686, 0.5450980392, 0.1411764705882353,
+ 0.0039215686, 0.0039215686, 0.5607843137, 0.1450980392156863, 0.0039215686, 0.0039215686,
+ 0.5764705882, 0.14901960784313725, 0.0039215686, 0.0039215686, 0.5921568627,
+ 0.15294117647058825, 0.0039215686, 0.0039215686, 0.6078431373, 0.1568627450980392,
+ 0.0039215686, 0.0039215686, 0.6235294118, 0.1607843137254902, 0.0039215686, 0.0039215686,
+ 0.6392156863, 0.16470588235294117, 0.0039215686, 0.0039215686, 0.6549019608,
+ 0.16862745098039217, 0.0039215686, 0.0039215686, 0.6705882353, 0.17254901960784313,
+ 0.0039215686, 0.0039215686, 0.6862745098, 0.17647058823529413, 0.0039215686, 0.0039215686,
+ 0.7019607843, 0.1803921568627451, 0.0039215686, 0.0039215686, 0.7176470588,
+ 0.1843137254901961, 0.0039215686, 0.0039215686, 0.7333333333, 0.18823529411764706,
+ 0.0039215686, 0.0039215686, 0.7490196078, 0.19215686274509805, 0.0039215686, 0.0039215686,
+ 0.7607843137, 0.19607843137254902, 0.0039215686, 0.0039215686, 0.7764705882, 0.2,
+ 0.0039215686, 0.0039215686, 0.7921568627, 0.20392156862745098, 0.0039215686, 0.0039215686,
+ 0.8078431373, 0.20784313725490197, 0.0039215686, 0.0039215686, 0.8235294118,
+ 0.21176470588235294, 0.0039215686, 0.0039215686, 0.8392156863, 0.21568627450980393,
+ 0.0039215686, 0.0039215686, 0.8549019608, 0.2196078431372549, 0.0039215686, 0.0039215686,
+ 0.8705882353, 0.2235294117647059, 0.0039215686, 0.0039215686, 0.8862745098,
+ 0.22745098039215686, 0.0039215686, 0.0039215686, 0.9019607843, 0.23137254901960785,
+ 0.0039215686, 0.0039215686, 0.9176470588, 0.23529411764705885, 0.0039215686, 0.0039215686,
+ 0.9333333333, 0.23921568627450984, 0.0039215686, 0.0039215686, 0.9490196078,
+ 0.24313725490196078, 0.0039215686, 0.0039215686, 0.9647058824, 0.24705882352941178,
+ 0.0039215686, 0.0039215686, 0.9803921569, 0.25098039215686274, 0.0039215686, 0.0039215686,
+ 0.9960784314, 0.2549019607843137, 0.0039215686, 0.0039215686, 0.9960784314,
+ 0.25882352941176473, 0.0156862745, 0.0039215686, 0.9803921569, 0.2627450980392157,
+ 0.031372549, 0.0039215686, 0.9647058824, 0.26666666666666666, 0.0470588235, 0.0039215686,
+ 0.9490196078, 0.27058823529411763, 0.062745098, 0.0039215686, 0.9333333333,
+ 0.27450980392156865, 0.0784313725, 0.0039215686, 0.9176470588, 0.2784313725490196,
+ 0.0941176471, 0.0039215686, 0.9019607843, 0.2823529411764706, 0.1098039216, 0.0039215686,
+ 0.8862745098, 0.28627450980392155, 0.1254901961, 0.0039215686, 0.8705882353,
+ 0.2901960784313726, 0.1411764706, 0.0039215686, 0.8549019608, 0.29411764705882354,
+ 0.1568627451, 0.0039215686, 0.8392156863, 0.2980392156862745, 0.1725490196, 0.0039215686,
+ 0.8235294118, 0.30196078431372547, 0.1882352941, 0.0039215686, 0.8078431373,
+ 0.3058823529411765, 0.2039215686, 0.0039215686, 0.7921568627, 0.30980392156862746,
+ 0.2196078431, 0.0039215686, 0.7764705882, 0.3137254901960784, 0.2352941176, 0.0039215686,
+ 0.7607843137, 0.3176470588235294, 0.2509803922, 0.0039215686, 0.7490196078,
+ 0.3215686274509804, 0.262745098, 0.0039215686, 0.7333333333, 0.3254901960784314, 0.2784313725,
+ 0.0039215686, 0.7176470588, 0.32941176470588235, 0.2941176471, 0.0039215686, 0.7019607843,
+ 0.3333333333333333, 0.3098039216, 0.0039215686, 0.6862745098, 0.33725490196078434,
+ 0.3254901961, 0.0039215686, 0.6705882353, 0.3411764705882353, 0.3411764706, 0.0039215686,
+ 0.6549019608, 0.34509803921568627, 0.3568627451, 0.0039215686, 0.6392156863,
+ 0.34901960784313724, 0.3725490196, 0.0039215686, 0.6235294118, 0.35294117647058826,
+ 0.3882352941, 0.0039215686, 0.6078431373, 0.3568627450980392, 0.4039215686, 0.0039215686,
+ 0.5921568627, 0.3607843137254902, 0.4196078431, 0.0039215686, 0.5764705882,
+ 0.36470588235294116, 0.4352941176, 0.0039215686, 0.5607843137, 0.3686274509803922,
+ 0.4509803922, 0.0039215686, 0.5450980392, 0.37254901960784315, 0.4666666667, 0.0039215686,
+ 0.5294117647, 0.3764705882352941, 0.4823529412, 0.0039215686, 0.5137254902,
+ 0.3803921568627451, 0.4980392157, 0.0039215686, 0.4980392157, 0.3843137254901961,
+ 0.5137254902, 0.0039215686, 0.4823529412, 0.38823529411764707, 0.5294117647, 0.0039215686,
+ 0.4666666667, 0.39215686274509803, 0.5450980392, 0.0039215686, 0.4509803922,
+ 0.396078431372549, 0.5607843137, 0.0039215686, 0.4352941176, 0.4, 0.5764705882, 0.0039215686,
+ 0.4196078431, 0.403921568627451, 0.5921568627, 0.0039215686, 0.4039215686,
+ 0.40784313725490196, 0.6078431373, 0.0039215686, 0.3882352941, 0.4117647058823529,
+ 0.6235294118, 0.0039215686, 0.3725490196, 0.41568627450980394, 0.6392156863, 0.0039215686,
+ 0.3568627451, 0.4196078431372549, 0.6549019608, 0.0039215686, 0.3411764706,
+ 0.4235294117647059, 0.6705882353, 0.0039215686, 0.3254901961, 0.42745098039215684,
+ 0.6862745098, 0.0039215686, 0.3098039216, 0.43137254901960786, 0.7019607843, 0.0039215686,
+ 0.2941176471, 0.43529411764705883, 0.7176470588, 0.0039215686, 0.2784313725,
+ 0.4392156862745098, 0.7333333333, 0.0039215686, 0.262745098, 0.44313725490196076,
+ 0.7490196078, 0.0039215686, 0.2509803922, 0.4470588235294118, 0.7607843137, 0.0039215686,
+ 0.2352941176, 0.45098039215686275, 0.7764705882, 0.0039215686, 0.2196078431,
+ 0.4549019607843137, 0.7921568627, 0.0039215686, 0.2039215686, 0.4588235294117647,
+ 0.8078431373, 0.0039215686, 0.1882352941, 0.4627450980392157, 0.8235294118, 0.0039215686,
+ 0.1725490196, 0.4666666666666667, 0.8392156863, 0.0039215686, 0.1568627451,
+ 0.4705882352941177, 0.8549019608, 0.0039215686, 0.1411764706, 0.4745098039215686,
+ 0.8705882353, 0.0039215686, 0.1254901961, 0.4784313725490197, 0.8862745098, 0.0039215686,
+ 0.1098039216, 0.48235294117647065, 0.9019607843, 0.0039215686, 0.0941176471,
+ 0.48627450980392156, 0.9176470588, 0.0039215686, 0.0784313725, 0.49019607843137253,
+ 0.9333333333, 0.0039215686, 0.062745098, 0.49411764705882355, 0.9490196078, 0.0039215686,
+ 0.0470588235, 0.4980392156862745, 0.9647058824, 0.0039215686, 0.031372549, 0.5019607843137255,
+ 0.9803921569, 0.0039215686, 0.0156862745, 0.5058823529411764, 0.9960784314, 0.0039215686,
+ 0.0039215686, 0.5098039215686274, 0.9960784314, 0.0156862745, 0.0039215686,
+ 0.5137254901960784, 0.9960784314, 0.031372549, 0.0039215686, 0.5176470588235295, 0.9960784314,
+ 0.0470588235, 0.0039215686, 0.5215686274509804, 0.9960784314, 0.062745098, 0.0039215686,
+ 0.5254901960784314, 0.9960784314, 0.0784313725, 0.0039215686, 0.5294117647058824,
+ 0.9960784314, 0.0941176471, 0.0039215686, 0.5333333333333333, 0.9960784314, 0.1098039216,
+ 0.0039215686, 0.5372549019607843, 0.9960784314, 0.1254901961, 0.0039215686,
+ 0.5411764705882353, 0.9960784314, 0.1411764706, 0.0039215686, 0.5450980392156862,
+ 0.9960784314, 0.1568627451, 0.0039215686, 0.5490196078431373, 0.9960784314, 0.1725490196,
+ 0.0039215686, 0.5529411764705883, 0.9960784314, 0.1882352941, 0.0039215686,
+ 0.5568627450980392, 0.9960784314, 0.2039215686, 0.0039215686, 0.5607843137254902,
+ 0.9960784314, 0.2196078431, 0.0039215686, 0.5647058823529412, 0.9960784314, 0.2352941176,
+ 0.0039215686, 0.5686274509803921, 0.9960784314, 0.2509803922, 0.0039215686,
+ 0.5725490196078431, 0.9960784314, 0.262745098, 0.0039215686, 0.5764705882352941, 0.9960784314,
+ 0.2784313725, 0.0039215686, 0.5803921568627451, 0.9960784314, 0.2941176471, 0.0039215686,
+ 0.5843137254901961, 0.9960784314, 0.3098039216, 0.0039215686, 0.5882352941176471,
+ 0.9960784314, 0.3254901961, 0.0039215686, 0.592156862745098, 0.9960784314, 0.3411764706,
+ 0.0039215686, 0.596078431372549, 0.9960784314, 0.3568627451, 0.0039215686, 0.6, 0.9960784314,
+ 0.3725490196, 0.0039215686, 0.6039215686274509, 0.9960784314, 0.3882352941, 0.0039215686,
+ 0.6078431372549019, 0.9960784314, 0.4039215686, 0.0039215686, 0.611764705882353, 0.9960784314,
+ 0.4196078431, 0.0039215686, 0.615686274509804, 0.9960784314, 0.4352941176, 0.0039215686,
+ 0.6196078431372549, 0.9960784314, 0.4509803922, 0.0039215686, 0.6235294117647059,
+ 0.9960784314, 0.4666666667, 0.0039215686, 0.6274509803921569, 0.9960784314, 0.4823529412,
+ 0.0039215686, 0.6313725490196078, 0.9960784314, 0.4980392157, 0.0039215686,
+ 0.6352941176470588, 0.9960784314, 0.5137254902, 0.0039215686, 0.6392156862745098,
+ 0.9960784314, 0.5294117647, 0.0039215686, 0.6431372549019608, 0.9960784314, 0.5450980392,
+ 0.0039215686, 0.6470588235294118, 0.9960784314, 0.5607843137, 0.0039215686,
+ 0.6509803921568628, 0.9960784314, 0.5764705882, 0.0039215686, 0.6549019607843137,
+ 0.9960784314, 0.5921568627, 0.0039215686, 0.6588235294117647, 0.9960784314, 0.6078431373,
+ 0.0039215686, 0.6627450980392157, 0.9960784314, 0.6235294118, 0.0039215686,
+ 0.6666666666666666, 0.9960784314, 0.6392156863, 0.0039215686, 0.6705882352941176,
+ 0.9960784314, 0.6549019608, 0.0039215686, 0.6745098039215687, 0.9960784314, 0.6705882353,
+ 0.0039215686, 0.6784313725490196, 0.9960784314, 0.6862745098, 0.0039215686,
+ 0.6823529411764706, 0.9960784314, 0.7019607843, 0.0039215686, 0.6862745098039216,
+ 0.9960784314, 0.7176470588, 0.0039215686, 0.6901960784313725, 0.9960784314, 0.7333333333,
+ 0.0039215686, 0.6941176470588235, 0.9960784314, 0.7490196078, 0.0039215686,
+ 0.6980392156862745, 0.9960784314, 0.7607843137, 0.0039215686, 0.7019607843137254,
+ 0.9960784314, 0.7764705882, 0.0039215686, 0.7058823529411765, 0.9960784314, 0.7921568627,
+ 0.0039215686, 0.7098039215686275, 0.9960784314, 0.8078431373, 0.0039215686,
+ 0.7137254901960784, 0.9960784314, 0.8235294118, 0.0039215686, 0.7176470588235294,
+ 0.9960784314, 0.8392156863, 0.0039215686, 0.7215686274509804, 0.9960784314, 0.8549019608,
+ 0.0039215686, 0.7254901960784313, 0.9960784314, 0.8705882353, 0.0039215686,
+ 0.7294117647058823, 0.9960784314, 0.8862745098, 0.0039215686, 0.7333333333333333,
+ 0.9960784314, 0.9019607843, 0.0039215686, 0.7372549019607844, 0.9960784314, 0.9176470588,
+ 0.0039215686, 0.7411764705882353, 0.9960784314, 0.9333333333, 0.0039215686,
+ 0.7450980392156863, 0.9960784314, 0.9490196078, 0.0039215686, 0.7490196078431373,
+ 0.9960784314, 0.9647058824, 0.0039215686, 0.7529411764705882, 0.9960784314, 0.9803921569,
+ 0.0039215686, 0.7568627450980392, 0.9960784314, 0.9960784314, 0.0039215686,
+ 0.7607843137254902, 0.9960784314, 0.9960784314, 0.0196078431, 0.7647058823529411,
+ 0.9960784314, 0.9960784314, 0.0352941176, 0.7686274509803922, 0.9960784314, 0.9960784314,
+ 0.0509803922, 0.7725490196078432, 0.9960784314, 0.9960784314, 0.0666666667,
+ 0.7764705882352941, 0.9960784314, 0.9960784314, 0.0823529412, 0.7803921568627451,
+ 0.9960784314, 0.9960784314, 0.0980392157, 0.7843137254901961, 0.9960784314, 0.9960784314,
+ 0.1137254902, 0.788235294117647, 0.9960784314, 0.9960784314, 0.1294117647, 0.792156862745098,
+ 0.9960784314, 0.9960784314, 0.1450980392, 0.796078431372549, 0.9960784314, 0.9960784314,
+ 0.1607843137, 0.8, 0.9960784314, 0.9960784314, 0.1764705882, 0.803921568627451, 0.9960784314,
+ 0.9960784314, 0.1921568627, 0.807843137254902, 0.9960784314, 0.9960784314, 0.2078431373,
+ 0.8117647058823529, 0.9960784314, 0.9960784314, 0.2235294118, 0.8156862745098039,
+ 0.9960784314, 0.9960784314, 0.2392156863, 0.8196078431372549, 0.9960784314, 0.9960784314,
+ 0.2509803922, 0.8235294117647058, 0.9960784314, 0.9960784314, 0.2666666667,
+ 0.8274509803921568, 0.9960784314, 0.9960784314, 0.2823529412, 0.8313725490196079,
+ 0.9960784314, 0.9960784314, 0.2980392157, 0.8352941176470589, 0.9960784314, 0.9960784314,
+ 0.3137254902, 0.8392156862745098, 0.9960784314, 0.9960784314, 0.3333333333,
+ 0.8431372549019608, 0.9960784314, 0.9960784314, 0.3490196078, 0.8470588235294118,
+ 0.9960784314, 0.9960784314, 0.3647058824, 0.8509803921568627, 0.9960784314, 0.9960784314,
+ 0.3803921569, 0.8549019607843137, 0.9960784314, 0.9960784314, 0.3960784314,
+ 0.8588235294117647, 0.9960784314, 0.9960784314, 0.4117647059, 0.8627450980392157,
+ 0.9960784314, 0.9960784314, 0.4274509804, 0.8666666666666667, 0.9960784314, 0.9960784314,
+ 0.4431372549, 0.8705882352941177, 0.9960784314, 0.9960784314, 0.4588235294,
+ 0.8745098039215686, 0.9960784314, 0.9960784314, 0.4745098039, 0.8784313725490196,
+ 0.9960784314, 0.9960784314, 0.4901960784, 0.8823529411764706, 0.9960784314, 0.9960784314,
+ 0.5058823529, 0.8862745098039215, 0.9960784314, 0.9960784314, 0.5215686275,
+ 0.8901960784313725, 0.9960784314, 0.9960784314, 0.537254902, 0.8941176470588236, 0.9960784314,
+ 0.9960784314, 0.5529411765, 0.8980392156862745, 0.9960784314, 0.9960784314, 0.568627451,
+ 0.9019607843137255, 0.9960784314, 0.9960784314, 0.5843137255, 0.9058823529411765,
+ 0.9960784314, 0.9960784314, 0.6, 0.9098039215686274, 0.9960784314, 0.9960784314, 0.6156862745,
+ 0.9137254901960784, 0.9960784314, 0.9960784314, 0.631372549, 0.9176470588235294, 0.9960784314,
+ 0.9960784314, 0.6470588235, 0.9215686274509803, 0.9960784314, 0.9960784314, 0.6666666667,
+ 0.9254901960784314, 0.9960784314, 0.9960784314, 0.6823529412, 0.9294117647058824,
+ 0.9960784314, 0.9960784314, 0.6980392157, 0.9333333333333333, 0.9960784314, 0.9960784314,
+ 0.7137254902, 0.9372549019607843, 0.9960784314, 0.9960784314, 0.7294117647,
+ 0.9411764705882354, 0.9960784314, 0.9960784314, 0.7450980392, 0.9450980392156864,
+ 0.9960784314, 0.9960784314, 0.7568627451, 0.9490196078431372, 0.9960784314, 0.9960784314,
+ 0.7725490196, 0.9529411764705882, 0.9960784314, 0.9960784314, 0.7882352941,
+ 0.9568627450980394, 0.9960784314, 0.9960784314, 0.8039215686, 0.9607843137254903,
+ 0.9960784314, 0.9960784314, 0.8196078431, 0.9647058823529413, 0.9960784314, 0.9960784314,
+ 0.8352941176, 0.9686274509803922, 0.9960784314, 0.9960784314, 0.8509803922,
+ 0.9725490196078431, 0.9960784314, 0.9960784314, 0.8666666667, 0.9764705882352941,
+ 0.9960784314, 0.9960784314, 0.8823529412, 0.9803921568627451, 0.9960784314, 0.9960784314,
+ 0.8980392157, 0.984313725490196, 0.9960784314, 0.9960784314, 0.9137254902, 0.9882352941176471,
+ 0.9960784314, 0.9960784314, 0.9294117647, 0.9921568627450981, 0.9960784314, 0.9960784314,
+ 0.9450980392, 0.996078431372549, 0.9960784314, 0.9960784314, 0.9607843137, 1.0, 0.9960784314,
+ 0.9960784314, 0.9607843137,
],
},
{
ColorSpace: 'RGB',
Name: 'red_hot',
RGBPoints: [
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.00392156862745098,
- 0.0,
- 0.0,
- 0.0,
- 0.00784313725490196,
- 0.0,
- 0.0,
- 0.0,
- 0.011764705882352941,
- 0.0,
- 0.0,
- 0.0,
- 0.01568627450980392,
- 0.0039215686,
- 0.0039215686,
- 0.0039215686,
- 0.0196078431372549,
- 0.0039215686,
- 0.0039215686,
- 0.0039215686,
- 0.023529411764705882,
- 0.0039215686,
- 0.0039215686,
- 0.0039215686,
- 0.027450980392156862,
- 0.0039215686,
- 0.0039215686,
- 0.0039215686,
- 0.03137254901960784,
- 0.0039215686,
- 0.0039215686,
- 0.0039215686,
- 0.03529411764705882,
- 0.0156862745,
- 0.0,
- 0.0,
- 0.0392156862745098,
- 0.0274509804,
- 0.0,
- 0.0,
- 0.043137254901960784,
- 0.0392156863,
- 0.0,
- 0.0,
- 0.047058823529411764,
- 0.0509803922,
- 0.0,
- 0.0,
- 0.050980392156862744,
- 0.062745098,
- 0.0,
- 0.0,
- 0.054901960784313725,
- 0.0784313725,
- 0.0,
- 0.0,
- 0.05882352941176471,
- 0.0901960784,
- 0.0,
- 0.0,
- 0.06274509803921569,
- 0.1058823529,
- 0.0,
- 0.0,
- 0.06666666666666667,
- 0.1176470588,
- 0.0,
- 0.0,
- 0.07058823529411765,
- 0.1294117647,
- 0.0,
- 0.0,
- 0.07450980392156863,
- 0.1411764706,
- 0.0,
- 0.0,
- 0.0784313725490196,
- 0.1529411765,
- 0.0,
- 0.0,
- 0.08235294117647059,
- 0.1647058824,
- 0.0,
- 0.0,
- 0.08627450980392157,
- 0.1764705882,
- 0.0,
- 0.0,
- 0.09019607843137255,
- 0.1882352941,
- 0.0,
- 0.0,
- 0.09411764705882353,
- 0.2039215686,
- 0.0,
- 0.0,
- 0.09803921568627451,
- 0.2156862745,
- 0.0,
- 0.0,
- 0.10196078431372549,
- 0.2274509804,
- 0.0,
- 0.0,
- 0.10588235294117647,
- 0.2392156863,
- 0.0,
- 0.0,
- 0.10980392156862745,
- 0.2549019608,
- 0.0,
- 0.0,
- 0.11372549019607843,
- 0.2666666667,
- 0.0,
- 0.0,
- 0.11764705882352942,
- 0.2784313725,
- 0.0,
- 0.0,
- 0.12156862745098039,
- 0.2901960784,
- 0.0,
- 0.0,
- 0.12549019607843137,
- 0.3058823529,
- 0.0,
- 0.0,
- 0.12941176470588237,
- 0.3176470588,
- 0.0,
- 0.0,
- 0.13333333333333333,
- 0.3294117647,
- 0.0,
- 0.0,
- 0.13725490196078433,
- 0.3411764706,
- 0.0,
- 0.0,
- 0.1411764705882353,
- 0.3529411765,
- 0.0,
- 0.0,
- 0.1450980392156863,
- 0.3647058824,
- 0.0,
- 0.0,
- 0.14901960784313725,
- 0.3764705882,
- 0.0,
- 0.0,
- 0.15294117647058825,
- 0.3882352941,
- 0.0,
- 0.0,
- 0.1568627450980392,
- 0.4039215686,
- 0.0,
- 0.0,
- 0.1607843137254902,
- 0.4156862745,
- 0.0,
- 0.0,
- 0.16470588235294117,
- 0.431372549,
- 0.0,
- 0.0,
- 0.16862745098039217,
- 0.4431372549,
- 0.0,
- 0.0,
- 0.17254901960784313,
- 0.4588235294,
- 0.0,
- 0.0,
- 0.17647058823529413,
- 0.4705882353,
- 0.0,
- 0.0,
- 0.1803921568627451,
- 0.4823529412,
- 0.0,
- 0.0,
- 0.1843137254901961,
- 0.4941176471,
- 0.0,
- 0.0,
- 0.18823529411764706,
- 0.5098039216,
- 0.0,
- 0.0,
- 0.19215686274509805,
- 0.5215686275,
- 0.0,
- 0.0,
- 0.19607843137254902,
- 0.5333333333,
- 0.0,
- 0.0,
- 0.2,
- 0.5450980392,
- 0.0,
- 0.0,
- 0.20392156862745098,
- 0.5568627451,
- 0.0,
- 0.0,
- 0.20784313725490197,
- 0.568627451,
- 0.0,
- 0.0,
- 0.21176470588235294,
- 0.5803921569,
- 0.0,
- 0.0,
- 0.21568627450980393,
- 0.5921568627,
- 0.0,
- 0.0,
- 0.2196078431372549,
- 0.6078431373,
- 0.0,
- 0.0,
- 0.2235294117647059,
- 0.6196078431,
- 0.0,
- 0.0,
- 0.22745098039215686,
- 0.631372549,
- 0.0,
- 0.0,
- 0.23137254901960785,
- 0.6431372549,
- 0.0,
- 0.0,
- 0.23529411764705885,
- 0.6588235294,
- 0.0,
- 0.0,
- 0.23921568627450984,
- 0.6705882353,
- 0.0,
- 0.0,
- 0.24313725490196078,
- 0.6823529412,
- 0.0,
- 0.0,
- 0.24705882352941178,
- 0.6941176471,
- 0.0,
- 0.0,
- 0.25098039215686274,
- 0.7098039216,
- 0.0,
- 0.0,
- 0.2549019607843137,
- 0.7215686275,
- 0.0,
- 0.0,
- 0.25882352941176473,
- 0.7333333333,
- 0.0,
- 0.0,
- 0.2627450980392157,
- 0.7450980392,
- 0.0,
- 0.0,
- 0.26666666666666666,
- 0.7568627451,
- 0.0,
- 0.0,
- 0.27058823529411763,
- 0.768627451,
- 0.0,
- 0.0,
- 0.27450980392156865,
- 0.7843137255,
- 0.0,
- 0.0,
- 0.2784313725490196,
- 0.7960784314,
- 0.0,
- 0.0,
- 0.2823529411764706,
- 0.8117647059,
- 0.0,
- 0.0,
- 0.28627450980392155,
- 0.8235294118,
- 0.0,
- 0.0,
- 0.2901960784313726,
- 0.8352941176,
- 0.0,
- 0.0,
- 0.29411764705882354,
- 0.8470588235,
- 0.0,
- 0.0,
- 0.2980392156862745,
- 0.862745098,
- 0.0,
- 0.0,
- 0.30196078431372547,
- 0.8745098039,
- 0.0,
- 0.0,
- 0.3058823529411765,
- 0.8862745098,
- 0.0,
- 0.0,
- 0.30980392156862746,
- 0.8980392157,
- 0.0,
- 0.0,
- 0.3137254901960784,
- 0.9137254902,
- 0.0,
- 0.0,
- 0.3176470588235294,
- 0.9254901961,
- 0.0,
- 0.0,
- 0.3215686274509804,
- 0.937254902,
- 0.0,
- 0.0,
- 0.3254901960784314,
- 0.9490196078,
- 0.0,
- 0.0,
- 0.32941176470588235,
- 0.9607843137,
- 0.0,
- 0.0,
- 0.3333333333333333,
- 0.968627451,
- 0.0,
- 0.0,
- 0.33725490196078434,
- 0.9803921569,
- 0.0039215686,
- 0.0,
- 0.3411764705882353,
- 0.9882352941,
- 0.0078431373,
- 0.0,
- 0.34509803921568627,
- 1.0,
- 0.0117647059,
- 0.0,
- 0.34901960784313724,
- 1.0,
- 0.0235294118,
- 0.0,
- 0.35294117647058826,
- 1.0,
- 0.0352941176,
- 0.0,
- 0.3568627450980392,
- 1.0,
- 0.0470588235,
- 0.0,
- 0.3607843137254902,
- 1.0,
- 0.062745098,
- 0.0,
- 0.36470588235294116,
- 1.0,
- 0.0745098039,
- 0.0,
- 0.3686274509803922,
- 1.0,
- 0.0862745098,
- 0.0,
- 0.37254901960784315,
- 1.0,
- 0.0980392157,
- 0.0,
- 0.3764705882352941,
- 1.0,
- 0.1137254902,
- 0.0,
- 0.3803921568627451,
- 1.0,
- 0.1254901961,
- 0.0,
- 0.3843137254901961,
- 1.0,
- 0.137254902,
- 0.0,
- 0.38823529411764707,
- 1.0,
- 0.1490196078,
- 0.0,
- 0.39215686274509803,
- 1.0,
- 0.1647058824,
- 0.0,
- 0.396078431372549,
- 1.0,
- 0.1764705882,
- 0.0,
- 0.4,
- 1.0,
- 0.1882352941,
- 0.0,
- 0.403921568627451,
- 1.0,
- 0.2,
- 0.0,
- 0.40784313725490196,
- 1.0,
- 0.2156862745,
- 0.0,
- 0.4117647058823529,
- 1.0,
- 0.2274509804,
- 0.0,
- 0.41568627450980394,
- 1.0,
- 0.2392156863,
- 0.0,
- 0.4196078431372549,
- 1.0,
- 0.2509803922,
- 0.0,
- 0.4235294117647059,
- 1.0,
- 0.2666666667,
- 0.0,
- 0.42745098039215684,
- 1.0,
- 0.2784313725,
- 0.0,
- 0.43137254901960786,
- 1.0,
- 0.2901960784,
- 0.0,
- 0.43529411764705883,
- 1.0,
- 0.3019607843,
- 0.0,
- 0.4392156862745098,
- 1.0,
- 0.3176470588,
- 0.0,
- 0.44313725490196076,
- 1.0,
- 0.3294117647,
- 0.0,
- 0.4470588235294118,
- 1.0,
- 0.3411764706,
- 0.0,
- 0.45098039215686275,
- 1.0,
- 0.3529411765,
- 0.0,
- 0.4549019607843137,
- 1.0,
- 0.368627451,
- 0.0,
- 0.4588235294117647,
- 1.0,
- 0.3803921569,
- 0.0,
- 0.4627450980392157,
- 1.0,
- 0.3921568627,
- 0.0,
- 0.4666666666666667,
- 1.0,
- 0.4039215686,
- 0.0,
- 0.4705882352941177,
- 1.0,
- 0.4156862745,
- 0.0,
- 0.4745098039215686,
- 1.0,
- 0.4274509804,
- 0.0,
- 0.4784313725490197,
- 1.0,
- 0.4392156863,
- 0.0,
- 0.48235294117647065,
- 1.0,
- 0.4509803922,
- 0.0,
- 0.48627450980392156,
- 1.0,
- 0.4666666667,
- 0.0,
- 0.49019607843137253,
- 1.0,
- 0.4784313725,
- 0.0,
- 0.49411764705882355,
- 1.0,
- 0.4941176471,
- 0.0,
- 0.4980392156862745,
- 1.0,
- 0.5058823529,
- 0.0,
- 0.5019607843137255,
- 1.0,
- 0.5215686275,
- 0.0,
- 0.5058823529411764,
- 1.0,
- 0.5333333333,
- 0.0,
- 0.5098039215686274,
- 1.0,
- 0.5450980392,
- 0.0,
- 0.5137254901960784,
- 1.0,
- 0.5568627451,
- 0.0,
- 0.5176470588235295,
- 1.0,
- 0.568627451,
- 0.0,
- 0.5215686274509804,
- 1.0,
- 0.5803921569,
- 0.0,
- 0.5254901960784314,
- 1.0,
- 0.5921568627,
- 0.0,
- 0.5294117647058824,
- 1.0,
- 0.6039215686,
- 0.0,
- 0.5333333333333333,
- 1.0,
- 0.6196078431,
- 0.0,
- 0.5372549019607843,
- 1.0,
- 0.631372549,
- 0.0,
- 0.5411764705882353,
- 1.0,
- 0.6431372549,
- 0.0,
- 0.5450980392156862,
- 1.0,
- 0.6549019608,
- 0.0,
- 0.5490196078431373,
- 1.0,
- 0.6705882353,
- 0.0,
- 0.5529411764705883,
- 1.0,
- 0.6823529412,
- 0.0,
- 0.5568627450980392,
- 1.0,
- 0.6941176471,
- 0.0,
- 0.5607843137254902,
- 1.0,
- 0.7058823529,
- 0.0,
- 0.5647058823529412,
- 1.0,
- 0.7215686275,
- 0.0,
- 0.5686274509803921,
- 1.0,
- 0.7333333333,
- 0.0,
- 0.5725490196078431,
- 1.0,
- 0.7450980392,
- 0.0,
- 0.5764705882352941,
- 1.0,
- 0.7568627451,
- 0.0,
- 0.5803921568627451,
- 1.0,
- 0.7725490196,
- 0.0,
- 0.5843137254901961,
- 1.0,
- 0.7843137255,
- 0.0,
- 0.5882352941176471,
- 1.0,
- 0.7960784314,
- 0.0,
- 0.592156862745098,
- 1.0,
- 0.8078431373,
- 0.0,
- 0.596078431372549,
- 1.0,
- 0.8196078431,
- 0.0,
- 0.6,
- 1.0,
- 0.831372549,
- 0.0,
- 0.6039215686274509,
- 1.0,
- 0.8470588235,
- 0.0,
- 0.6078431372549019,
- 1.0,
- 0.8588235294,
- 0.0,
- 0.611764705882353,
- 1.0,
- 0.8745098039,
- 0.0,
- 0.615686274509804,
- 1.0,
- 0.8862745098,
- 0.0,
- 0.6196078431372549,
- 1.0,
- 0.8980392157,
- 0.0,
- 0.6235294117647059,
- 1.0,
- 0.9098039216,
- 0.0,
- 0.6274509803921569,
- 1.0,
- 0.9254901961,
- 0.0,
- 0.6313725490196078,
- 1.0,
- 0.937254902,
- 0.0,
- 0.6352941176470588,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.6392156862745098,
- 1.0,
- 0.9607843137,
- 0.0,
- 0.6431372549019608,
- 1.0,
- 0.9764705882,
- 0.0,
- 0.6470588235294118,
- 1.0,
- 0.9803921569,
- 0.0039215686,
- 0.6509803921568628,
- 1.0,
- 0.9882352941,
- 0.0117647059,
- 0.6549019607843137,
- 1.0,
- 0.9921568627,
- 0.0156862745,
- 0.6588235294117647,
- 1.0,
- 1.0,
- 0.0235294118,
- 0.6627450980392157,
- 1.0,
- 1.0,
- 0.0352941176,
- 0.6666666666666666,
- 1.0,
- 1.0,
- 0.0470588235,
- 0.6705882352941176,
- 1.0,
- 1.0,
- 0.0588235294,
- 0.6745098039215687,
- 1.0,
- 1.0,
- 0.0745098039,
- 0.6784313725490196,
- 1.0,
- 1.0,
- 0.0862745098,
- 0.6823529411764706,
- 1.0,
- 1.0,
- 0.0980392157,
- 0.6862745098039216,
- 1.0,
- 1.0,
- 0.1098039216,
- 0.6901960784313725,
- 1.0,
- 1.0,
- 0.1254901961,
- 0.6941176470588235,
- 1.0,
- 1.0,
- 0.137254902,
- 0.6980392156862745,
- 1.0,
- 1.0,
- 0.1490196078,
- 0.7019607843137254,
- 1.0,
- 1.0,
- 0.1607843137,
- 0.7058823529411765,
- 1.0,
- 1.0,
- 0.1764705882,
- 0.7098039215686275,
- 1.0,
- 1.0,
- 0.1882352941,
- 0.7137254901960784,
- 1.0,
- 1.0,
- 0.2,
- 0.7176470588235294,
- 1.0,
- 1.0,
- 0.2117647059,
- 0.7215686274509804,
- 1.0,
- 1.0,
- 0.2274509804,
- 0.7254901960784313,
- 1.0,
- 1.0,
- 0.2392156863,
- 0.7294117647058823,
- 1.0,
- 1.0,
- 0.2509803922,
- 0.7333333333333333,
- 1.0,
- 1.0,
- 0.262745098,
- 0.7372549019607844,
- 1.0,
- 1.0,
- 0.2784313725,
- 0.7411764705882353,
- 1.0,
- 1.0,
- 0.2901960784,
- 0.7450980392156863,
- 1.0,
- 1.0,
- 0.3019607843,
- 0.7490196078431373,
- 1.0,
- 1.0,
- 0.3137254902,
- 0.7529411764705882,
- 1.0,
- 1.0,
- 0.3294117647,
- 0.7568627450980392,
- 1.0,
- 1.0,
- 0.3411764706,
- 0.7607843137254902,
- 1.0,
- 1.0,
- 0.3529411765,
- 0.7647058823529411,
- 1.0,
- 1.0,
- 0.3647058824,
- 0.7686274509803922,
- 1.0,
- 1.0,
- 0.3803921569,
- 0.7725490196078432,
- 1.0,
- 1.0,
- 0.3921568627,
- 0.7764705882352941,
- 1.0,
- 1.0,
- 0.4039215686,
- 0.7803921568627451,
- 1.0,
- 1.0,
- 0.4156862745,
- 0.7843137254901961,
- 1.0,
- 1.0,
- 0.431372549,
- 0.788235294117647,
- 1.0,
- 1.0,
- 0.4431372549,
- 0.792156862745098,
- 1.0,
- 1.0,
- 0.4549019608,
- 0.796078431372549,
- 1.0,
- 1.0,
- 0.4666666667,
- 0.8,
- 1.0,
- 1.0,
- 0.4784313725,
- 0.803921568627451,
- 1.0,
- 1.0,
- 0.4901960784,
- 0.807843137254902,
- 1.0,
- 1.0,
- 0.5019607843,
- 0.8117647058823529,
- 1.0,
- 1.0,
- 0.5137254902,
- 0.8156862745098039,
- 1.0,
- 1.0,
- 0.5294117647,
- 0.8196078431372549,
- 1.0,
- 1.0,
- 0.5411764706,
- 0.8235294117647058,
- 1.0,
- 1.0,
- 0.5568627451,
- 0.8274509803921568,
- 1.0,
- 1.0,
- 0.568627451,
- 0.8313725490196079,
- 1.0,
- 1.0,
- 0.5843137255,
- 0.8352941176470589,
- 1.0,
- 1.0,
- 0.5960784314,
- 0.8392156862745098,
- 1.0,
- 1.0,
- 0.6078431373,
- 0.8431372549019608,
- 1.0,
- 1.0,
- 0.6196078431,
- 0.8470588235294118,
- 1.0,
- 1.0,
- 0.631372549,
- 0.8509803921568627,
- 1.0,
- 1.0,
- 0.6431372549,
- 0.8549019607843137,
- 1.0,
- 1.0,
- 0.6549019608,
- 0.8588235294117647,
- 1.0,
- 1.0,
- 0.6666666667,
- 0.8627450980392157,
- 1.0,
- 1.0,
- 0.6823529412,
- 0.8666666666666667,
- 1.0,
- 1.0,
- 0.6941176471,
- 0.8705882352941177,
- 1.0,
- 1.0,
- 0.7058823529,
- 0.8745098039215686,
- 1.0,
- 1.0,
- 0.7176470588,
- 0.8784313725490196,
- 1.0,
- 1.0,
- 0.7333333333,
- 0.8823529411764706,
- 1.0,
- 1.0,
- 0.7450980392,
- 0.8862745098039215,
- 1.0,
- 1.0,
- 0.7568627451,
- 0.8901960784313725,
- 1.0,
- 1.0,
- 0.768627451,
- 0.8941176470588236,
- 1.0,
- 1.0,
- 0.7843137255,
- 0.8980392156862745,
- 1.0,
- 1.0,
- 0.7960784314,
- 0.9019607843137255,
- 1.0,
- 1.0,
- 0.8078431373,
- 0.9058823529411765,
- 1.0,
- 1.0,
- 0.8196078431,
- 0.9098039215686274,
- 1.0,
- 1.0,
- 0.8352941176,
- 0.9137254901960784,
- 1.0,
- 1.0,
- 0.8470588235,
- 0.9176470588235294,
- 1.0,
- 1.0,
- 0.8588235294,
- 0.9215686274509803,
- 1.0,
- 1.0,
- 0.8705882353,
- 0.9254901960784314,
- 1.0,
- 1.0,
- 0.8823529412,
- 0.9294117647058824,
- 1.0,
- 1.0,
- 0.8941176471,
- 0.9333333333333333,
- 1.0,
- 1.0,
- 0.9098039216,
- 0.9372549019607843,
- 1.0,
- 1.0,
- 0.9215686275,
- 0.9411764705882354,
- 1.0,
- 1.0,
- 0.937254902,
- 0.9450980392156864,
- 1.0,
- 1.0,
- 0.9490196078,
- 0.9490196078431372,
- 1.0,
- 1.0,
- 0.9607843137,
- 0.9529411764705882,
- 1.0,
- 1.0,
- 0.9725490196,
- 0.9568627450980394,
- 1.0,
- 1.0,
- 0.9882352941,
- 0.9607843137254903,
- 1.0,
- 1.0,
- 0.9882352941,
- 0.9647058823529413,
- 1.0,
- 1.0,
- 0.9921568627,
- 0.9686274509803922,
- 1.0,
- 1.0,
- 0.9960784314,
- 0.9725490196078431,
- 1.0,
- 1.0,
- 1.0,
- 0.9764705882352941,
- 1.0,
- 1.0,
- 1.0,
- 0.9803921568627451,
- 1.0,
- 1.0,
- 1.0,
- 0.984313725490196,
- 1.0,
- 1.0,
- 1.0,
- 0.9882352941176471,
- 1.0,
- 1.0,
- 1.0,
- 0.9921568627450981,
- 1.0,
- 1.0,
- 1.0,
- 0.996078431372549,
- 1.0,
- 1.0,
- 1.0,
- 1.0,
- 1.0,
- 1.0,
- 1.0,
+ 0.0, 0.0, 0.0, 0.0, 0.00392156862745098, 0.0, 0.0, 0.0, 0.00784313725490196, 0.0, 0.0, 0.0,
+ 0.011764705882352941, 0.0, 0.0, 0.0, 0.01568627450980392, 0.0039215686, 0.0039215686,
+ 0.0039215686, 0.0196078431372549, 0.0039215686, 0.0039215686, 0.0039215686,
+ 0.023529411764705882, 0.0039215686, 0.0039215686, 0.0039215686, 0.027450980392156862,
+ 0.0039215686, 0.0039215686, 0.0039215686, 0.03137254901960784, 0.0039215686, 0.0039215686,
+ 0.0039215686, 0.03529411764705882, 0.0156862745, 0.0, 0.0, 0.0392156862745098, 0.0274509804,
+ 0.0, 0.0, 0.043137254901960784, 0.0392156863, 0.0, 0.0, 0.047058823529411764, 0.0509803922,
+ 0.0, 0.0, 0.050980392156862744, 0.062745098, 0.0, 0.0, 0.054901960784313725, 0.0784313725,
+ 0.0, 0.0, 0.05882352941176471, 0.0901960784, 0.0, 0.0, 0.06274509803921569, 0.1058823529, 0.0,
+ 0.0, 0.06666666666666667, 0.1176470588, 0.0, 0.0, 0.07058823529411765, 0.1294117647, 0.0, 0.0,
+ 0.07450980392156863, 0.1411764706, 0.0, 0.0, 0.0784313725490196, 0.1529411765, 0.0, 0.0,
+ 0.08235294117647059, 0.1647058824, 0.0, 0.0, 0.08627450980392157, 0.1764705882, 0.0, 0.0,
+ 0.09019607843137255, 0.1882352941, 0.0, 0.0, 0.09411764705882353, 0.2039215686, 0.0, 0.0,
+ 0.09803921568627451, 0.2156862745, 0.0, 0.0, 0.10196078431372549, 0.2274509804, 0.0, 0.0,
+ 0.10588235294117647, 0.2392156863, 0.0, 0.0, 0.10980392156862745, 0.2549019608, 0.0, 0.0,
+ 0.11372549019607843, 0.2666666667, 0.0, 0.0, 0.11764705882352942, 0.2784313725, 0.0, 0.0,
+ 0.12156862745098039, 0.2901960784, 0.0, 0.0, 0.12549019607843137, 0.3058823529, 0.0, 0.0,
+ 0.12941176470588237, 0.3176470588, 0.0, 0.0, 0.13333333333333333, 0.3294117647, 0.0, 0.0,
+ 0.13725490196078433, 0.3411764706, 0.0, 0.0, 0.1411764705882353, 0.3529411765, 0.0, 0.0,
+ 0.1450980392156863, 0.3647058824, 0.0, 0.0, 0.14901960784313725, 0.3764705882, 0.0, 0.0,
+ 0.15294117647058825, 0.3882352941, 0.0, 0.0, 0.1568627450980392, 0.4039215686, 0.0, 0.0,
+ 0.1607843137254902, 0.4156862745, 0.0, 0.0, 0.16470588235294117, 0.431372549, 0.0, 0.0,
+ 0.16862745098039217, 0.4431372549, 0.0, 0.0, 0.17254901960784313, 0.4588235294, 0.0, 0.0,
+ 0.17647058823529413, 0.4705882353, 0.0, 0.0, 0.1803921568627451, 0.4823529412, 0.0, 0.0,
+ 0.1843137254901961, 0.4941176471, 0.0, 0.0, 0.18823529411764706, 0.5098039216, 0.0, 0.0,
+ 0.19215686274509805, 0.5215686275, 0.0, 0.0, 0.19607843137254902, 0.5333333333, 0.0, 0.0, 0.2,
+ 0.5450980392, 0.0, 0.0, 0.20392156862745098, 0.5568627451, 0.0, 0.0, 0.20784313725490197,
+ 0.568627451, 0.0, 0.0, 0.21176470588235294, 0.5803921569, 0.0, 0.0, 0.21568627450980393,
+ 0.5921568627, 0.0, 0.0, 0.2196078431372549, 0.6078431373, 0.0, 0.0, 0.2235294117647059,
+ 0.6196078431, 0.0, 0.0, 0.22745098039215686, 0.631372549, 0.0, 0.0, 0.23137254901960785,
+ 0.6431372549, 0.0, 0.0, 0.23529411764705885, 0.6588235294, 0.0, 0.0, 0.23921568627450984,
+ 0.6705882353, 0.0, 0.0, 0.24313725490196078, 0.6823529412, 0.0, 0.0, 0.24705882352941178,
+ 0.6941176471, 0.0, 0.0, 0.25098039215686274, 0.7098039216, 0.0, 0.0, 0.2549019607843137,
+ 0.7215686275, 0.0, 0.0, 0.25882352941176473, 0.7333333333, 0.0, 0.0, 0.2627450980392157,
+ 0.7450980392, 0.0, 0.0, 0.26666666666666666, 0.7568627451, 0.0, 0.0, 0.27058823529411763,
+ 0.768627451, 0.0, 0.0, 0.27450980392156865, 0.7843137255, 0.0, 0.0, 0.2784313725490196,
+ 0.7960784314, 0.0, 0.0, 0.2823529411764706, 0.8117647059, 0.0, 0.0, 0.28627450980392155,
+ 0.8235294118, 0.0, 0.0, 0.2901960784313726, 0.8352941176, 0.0, 0.0, 0.29411764705882354,
+ 0.8470588235, 0.0, 0.0, 0.2980392156862745, 0.862745098, 0.0, 0.0, 0.30196078431372547,
+ 0.8745098039, 0.0, 0.0, 0.3058823529411765, 0.8862745098, 0.0, 0.0, 0.30980392156862746,
+ 0.8980392157, 0.0, 0.0, 0.3137254901960784, 0.9137254902, 0.0, 0.0, 0.3176470588235294,
+ 0.9254901961, 0.0, 0.0, 0.3215686274509804, 0.937254902, 0.0, 0.0, 0.3254901960784314,
+ 0.9490196078, 0.0, 0.0, 0.32941176470588235, 0.9607843137, 0.0, 0.0, 0.3333333333333333,
+ 0.968627451, 0.0, 0.0, 0.33725490196078434, 0.9803921569, 0.0039215686, 0.0,
+ 0.3411764705882353, 0.9882352941, 0.0078431373, 0.0, 0.34509803921568627, 1.0, 0.0117647059,
+ 0.0, 0.34901960784313724, 1.0, 0.0235294118, 0.0, 0.35294117647058826, 1.0, 0.0352941176, 0.0,
+ 0.3568627450980392, 1.0, 0.0470588235, 0.0, 0.3607843137254902, 1.0, 0.062745098, 0.0,
+ 0.36470588235294116, 1.0, 0.0745098039, 0.0, 0.3686274509803922, 1.0, 0.0862745098, 0.0,
+ 0.37254901960784315, 1.0, 0.0980392157, 0.0, 0.3764705882352941, 1.0, 0.1137254902, 0.0,
+ 0.3803921568627451, 1.0, 0.1254901961, 0.0, 0.3843137254901961, 1.0, 0.137254902, 0.0,
+ 0.38823529411764707, 1.0, 0.1490196078, 0.0, 0.39215686274509803, 1.0, 0.1647058824, 0.0,
+ 0.396078431372549, 1.0, 0.1764705882, 0.0, 0.4, 1.0, 0.1882352941, 0.0, 0.403921568627451,
+ 1.0, 0.2, 0.0, 0.40784313725490196, 1.0, 0.2156862745, 0.0, 0.4117647058823529, 1.0,
+ 0.2274509804, 0.0, 0.41568627450980394, 1.0, 0.2392156863, 0.0, 0.4196078431372549, 1.0,
+ 0.2509803922, 0.0, 0.4235294117647059, 1.0, 0.2666666667, 0.0, 0.42745098039215684, 1.0,
+ 0.2784313725, 0.0, 0.43137254901960786, 1.0, 0.2901960784, 0.0, 0.43529411764705883, 1.0,
+ 0.3019607843, 0.0, 0.4392156862745098, 1.0, 0.3176470588, 0.0, 0.44313725490196076, 1.0,
+ 0.3294117647, 0.0, 0.4470588235294118, 1.0, 0.3411764706, 0.0, 0.45098039215686275, 1.0,
+ 0.3529411765, 0.0, 0.4549019607843137, 1.0, 0.368627451, 0.0, 0.4588235294117647, 1.0,
+ 0.3803921569, 0.0, 0.4627450980392157, 1.0, 0.3921568627, 0.0, 0.4666666666666667, 1.0,
+ 0.4039215686, 0.0, 0.4705882352941177, 1.0, 0.4156862745, 0.0, 0.4745098039215686, 1.0,
+ 0.4274509804, 0.0, 0.4784313725490197, 1.0, 0.4392156863, 0.0, 0.48235294117647065, 1.0,
+ 0.4509803922, 0.0, 0.48627450980392156, 1.0, 0.4666666667, 0.0, 0.49019607843137253, 1.0,
+ 0.4784313725, 0.0, 0.49411764705882355, 1.0, 0.4941176471, 0.0, 0.4980392156862745, 1.0,
+ 0.5058823529, 0.0, 0.5019607843137255, 1.0, 0.5215686275, 0.0, 0.5058823529411764, 1.0,
+ 0.5333333333, 0.0, 0.5098039215686274, 1.0, 0.5450980392, 0.0, 0.5137254901960784, 1.0,
+ 0.5568627451, 0.0, 0.5176470588235295, 1.0, 0.568627451, 0.0, 0.5215686274509804, 1.0,
+ 0.5803921569, 0.0, 0.5254901960784314, 1.0, 0.5921568627, 0.0, 0.5294117647058824, 1.0,
+ 0.6039215686, 0.0, 0.5333333333333333, 1.0, 0.6196078431, 0.0, 0.5372549019607843, 1.0,
+ 0.631372549, 0.0, 0.5411764705882353, 1.0, 0.6431372549, 0.0, 0.5450980392156862, 1.0,
+ 0.6549019608, 0.0, 0.5490196078431373, 1.0, 0.6705882353, 0.0, 0.5529411764705883, 1.0,
+ 0.6823529412, 0.0, 0.5568627450980392, 1.0, 0.6941176471, 0.0, 0.5607843137254902, 1.0,
+ 0.7058823529, 0.0, 0.5647058823529412, 1.0, 0.7215686275, 0.0, 0.5686274509803921, 1.0,
+ 0.7333333333, 0.0, 0.5725490196078431, 1.0, 0.7450980392, 0.0, 0.5764705882352941, 1.0,
+ 0.7568627451, 0.0, 0.5803921568627451, 1.0, 0.7725490196, 0.0, 0.5843137254901961, 1.0,
+ 0.7843137255, 0.0, 0.5882352941176471, 1.0, 0.7960784314, 0.0, 0.592156862745098, 1.0,
+ 0.8078431373, 0.0, 0.596078431372549, 1.0, 0.8196078431, 0.0, 0.6, 1.0, 0.831372549, 0.0,
+ 0.6039215686274509, 1.0, 0.8470588235, 0.0, 0.6078431372549019, 1.0, 0.8588235294, 0.0,
+ 0.611764705882353, 1.0, 0.8745098039, 0.0, 0.615686274509804, 1.0, 0.8862745098, 0.0,
+ 0.6196078431372549, 1.0, 0.8980392157, 0.0, 0.6235294117647059, 1.0, 0.9098039216, 0.0,
+ 0.6274509803921569, 1.0, 0.9254901961, 0.0, 0.6313725490196078, 1.0, 0.937254902, 0.0,
+ 0.6352941176470588, 1.0, 0.9490196078, 0.0, 0.6392156862745098, 1.0, 0.9607843137, 0.0,
+ 0.6431372549019608, 1.0, 0.9764705882, 0.0, 0.6470588235294118, 1.0, 0.9803921569,
+ 0.0039215686, 0.6509803921568628, 1.0, 0.9882352941, 0.0117647059, 0.6549019607843137, 1.0,
+ 0.9921568627, 0.0156862745, 0.6588235294117647, 1.0, 1.0, 0.0235294118, 0.6627450980392157,
+ 1.0, 1.0, 0.0352941176, 0.6666666666666666, 1.0, 1.0, 0.0470588235, 0.6705882352941176, 1.0,
+ 1.0, 0.0588235294, 0.6745098039215687, 1.0, 1.0, 0.0745098039, 0.6784313725490196, 1.0, 1.0,
+ 0.0862745098, 0.6823529411764706, 1.0, 1.0, 0.0980392157, 0.6862745098039216, 1.0, 1.0,
+ 0.1098039216, 0.6901960784313725, 1.0, 1.0, 0.1254901961, 0.6941176470588235, 1.0, 1.0,
+ 0.137254902, 0.6980392156862745, 1.0, 1.0, 0.1490196078, 0.7019607843137254, 1.0, 1.0,
+ 0.1607843137, 0.7058823529411765, 1.0, 1.0, 0.1764705882, 0.7098039215686275, 1.0, 1.0,
+ 0.1882352941, 0.7137254901960784, 1.0, 1.0, 0.2, 0.7176470588235294, 1.0, 1.0, 0.2117647059,
+ 0.7215686274509804, 1.0, 1.0, 0.2274509804, 0.7254901960784313, 1.0, 1.0, 0.2392156863,
+ 0.7294117647058823, 1.0, 1.0, 0.2509803922, 0.7333333333333333, 1.0, 1.0, 0.262745098,
+ 0.7372549019607844, 1.0, 1.0, 0.2784313725, 0.7411764705882353, 1.0, 1.0, 0.2901960784,
+ 0.7450980392156863, 1.0, 1.0, 0.3019607843, 0.7490196078431373, 1.0, 1.0, 0.3137254902,
+ 0.7529411764705882, 1.0, 1.0, 0.3294117647, 0.7568627450980392, 1.0, 1.0, 0.3411764706,
+ 0.7607843137254902, 1.0, 1.0, 0.3529411765, 0.7647058823529411, 1.0, 1.0, 0.3647058824,
+ 0.7686274509803922, 1.0, 1.0, 0.3803921569, 0.7725490196078432, 1.0, 1.0, 0.3921568627,
+ 0.7764705882352941, 1.0, 1.0, 0.4039215686, 0.7803921568627451, 1.0, 1.0, 0.4156862745,
+ 0.7843137254901961, 1.0, 1.0, 0.431372549, 0.788235294117647, 1.0, 1.0, 0.4431372549,
+ 0.792156862745098, 1.0, 1.0, 0.4549019608, 0.796078431372549, 1.0, 1.0, 0.4666666667, 0.8,
+ 1.0, 1.0, 0.4784313725, 0.803921568627451, 1.0, 1.0, 0.4901960784, 0.807843137254902, 1.0,
+ 1.0, 0.5019607843, 0.8117647058823529, 1.0, 1.0, 0.5137254902, 0.8156862745098039, 1.0, 1.0,
+ 0.5294117647, 0.8196078431372549, 1.0, 1.0, 0.5411764706, 0.8235294117647058, 1.0, 1.0,
+ 0.5568627451, 0.8274509803921568, 1.0, 1.0, 0.568627451, 0.8313725490196079, 1.0, 1.0,
+ 0.5843137255, 0.8352941176470589, 1.0, 1.0, 0.5960784314, 0.8392156862745098, 1.0, 1.0,
+ 0.6078431373, 0.8431372549019608, 1.0, 1.0, 0.6196078431, 0.8470588235294118, 1.0, 1.0,
+ 0.631372549, 0.8509803921568627, 1.0, 1.0, 0.6431372549, 0.8549019607843137, 1.0, 1.0,
+ 0.6549019608, 0.8588235294117647, 1.0, 1.0, 0.6666666667, 0.8627450980392157, 1.0, 1.0,
+ 0.6823529412, 0.8666666666666667, 1.0, 1.0, 0.6941176471, 0.8705882352941177, 1.0, 1.0,
+ 0.7058823529, 0.8745098039215686, 1.0, 1.0, 0.7176470588, 0.8784313725490196, 1.0, 1.0,
+ 0.7333333333, 0.8823529411764706, 1.0, 1.0, 0.7450980392, 0.8862745098039215, 1.0, 1.0,
+ 0.7568627451, 0.8901960784313725, 1.0, 1.0, 0.768627451, 0.8941176470588236, 1.0, 1.0,
+ 0.7843137255, 0.8980392156862745, 1.0, 1.0, 0.7960784314, 0.9019607843137255, 1.0, 1.0,
+ 0.8078431373, 0.9058823529411765, 1.0, 1.0, 0.8196078431, 0.9098039215686274, 1.0, 1.0,
+ 0.8352941176, 0.9137254901960784, 1.0, 1.0, 0.8470588235, 0.9176470588235294, 1.0, 1.0,
+ 0.8588235294, 0.9215686274509803, 1.0, 1.0, 0.8705882353, 0.9254901960784314, 1.0, 1.0,
+ 0.8823529412, 0.9294117647058824, 1.0, 1.0, 0.8941176471, 0.9333333333333333, 1.0, 1.0,
+ 0.9098039216, 0.9372549019607843, 1.0, 1.0, 0.9215686275, 0.9411764705882354, 1.0, 1.0,
+ 0.937254902, 0.9450980392156864, 1.0, 1.0, 0.9490196078, 0.9490196078431372, 1.0, 1.0,
+ 0.9607843137, 0.9529411764705882, 1.0, 1.0, 0.9725490196, 0.9568627450980394, 1.0, 1.0,
+ 0.9882352941, 0.9607843137254903, 1.0, 1.0, 0.9882352941, 0.9647058823529413, 1.0, 1.0,
+ 0.9921568627, 0.9686274509803922, 1.0, 1.0, 0.9960784314, 0.9725490196078431, 1.0, 1.0, 1.0,
+ 0.9764705882352941, 1.0, 1.0, 1.0, 0.9803921568627451, 1.0, 1.0, 1.0, 0.984313725490196, 1.0,
+ 1.0, 1.0, 0.9882352941176471, 1.0, 1.0, 1.0, 0.9921568627450981, 1.0, 1.0, 1.0,
+ 0.996078431372549, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
],
},
{
ColorSpace: 'RGB',
Name: 's_pet',
RGBPoints: [
- 0.0,
- 0.0156862745,
- 0.0039215686,
- 0.0156862745,
- 0.00392156862745098,
- 0.0156862745,
- 0.0039215686,
- 0.0156862745,
- 0.00784313725490196,
- 0.0274509804,
- 0.0039215686,
- 0.031372549,
- 0.011764705882352941,
- 0.0352941176,
- 0.0039215686,
- 0.0509803922,
- 0.01568627450980392,
- 0.0392156863,
- 0.0039215686,
- 0.0666666667,
- 0.0196078431372549,
- 0.0509803922,
- 0.0039215686,
- 0.0823529412,
- 0.023529411764705882,
- 0.062745098,
- 0.0039215686,
- 0.0980392157,
- 0.027450980392156862,
- 0.0705882353,
- 0.0039215686,
- 0.1176470588,
- 0.03137254901960784,
- 0.0745098039,
- 0.0039215686,
- 0.1333333333,
- 0.03529411764705882,
- 0.0862745098,
- 0.0039215686,
- 0.1490196078,
- 0.0392156862745098,
- 0.0980392157,
- 0.0039215686,
- 0.1647058824,
- 0.043137254901960784,
- 0.1058823529,
- 0.0039215686,
- 0.1843137255,
- 0.047058823529411764,
- 0.1098039216,
- 0.0039215686,
- 0.2,
- 0.050980392156862744,
- 0.1215686275,
- 0.0039215686,
- 0.2156862745,
- 0.054901960784313725,
- 0.1333333333,
- 0.0039215686,
- 0.231372549,
- 0.05882352941176471,
- 0.137254902,
- 0.0039215686,
- 0.2509803922,
- 0.06274509803921569,
- 0.1490196078,
- 0.0039215686,
- 0.262745098,
- 0.06666666666666667,
- 0.1607843137,
- 0.0039215686,
- 0.2784313725,
- 0.07058823529411765,
- 0.168627451,
- 0.0039215686,
- 0.2941176471,
- 0.07450980392156863,
- 0.1725490196,
- 0.0039215686,
- 0.3137254902,
- 0.0784313725490196,
- 0.1843137255,
- 0.0039215686,
- 0.3294117647,
- 0.08235294117647059,
- 0.1960784314,
- 0.0039215686,
- 0.3450980392,
- 0.08627450980392157,
- 0.2039215686,
- 0.0039215686,
- 0.3607843137,
- 0.09019607843137255,
- 0.2078431373,
- 0.0039215686,
- 0.3803921569,
- 0.09411764705882353,
- 0.2196078431,
- 0.0039215686,
- 0.3960784314,
- 0.09803921568627451,
- 0.231372549,
- 0.0039215686,
- 0.4117647059,
- 0.10196078431372549,
- 0.2392156863,
- 0.0039215686,
- 0.4274509804,
- 0.10588235294117647,
- 0.2431372549,
- 0.0039215686,
- 0.4470588235,
- 0.10980392156862745,
- 0.2509803922,
- 0.0039215686,
- 0.462745098,
- 0.11372549019607843,
- 0.262745098,
- 0.0039215686,
- 0.4784313725,
- 0.11764705882352942,
- 0.2666666667,
- 0.0039215686,
- 0.4980392157,
- 0.12156862745098039,
- 0.2666666667,
- 0.0039215686,
- 0.4980392157,
- 0.12549019607843137,
- 0.262745098,
- 0.0039215686,
- 0.5137254902,
- 0.12941176470588237,
- 0.2509803922,
- 0.0039215686,
- 0.5294117647,
- 0.13333333333333333,
- 0.2431372549,
- 0.0039215686,
- 0.5450980392,
- 0.13725490196078433,
- 0.2392156863,
- 0.0039215686,
- 0.5607843137,
- 0.1411764705882353,
- 0.231372549,
- 0.0039215686,
- 0.5764705882,
- 0.1450980392156863,
- 0.2196078431,
- 0.0039215686,
- 0.5921568627,
- 0.14901960784313725,
- 0.2078431373,
- 0.0039215686,
- 0.6078431373,
- 0.15294117647058825,
- 0.2039215686,
- 0.0039215686,
- 0.6235294118,
- 0.1568627450980392,
- 0.1960784314,
- 0.0039215686,
- 0.6392156863,
- 0.1607843137254902,
- 0.1843137255,
- 0.0039215686,
- 0.6549019608,
- 0.16470588235294117,
- 0.1725490196,
- 0.0039215686,
- 0.6705882353,
- 0.16862745098039217,
- 0.168627451,
- 0.0039215686,
- 0.6862745098,
- 0.17254901960784313,
- 0.1607843137,
- 0.0039215686,
- 0.7019607843,
- 0.17647058823529413,
- 0.1490196078,
- 0.0039215686,
- 0.7176470588,
- 0.1803921568627451,
- 0.137254902,
- 0.0039215686,
- 0.7333333333,
- 0.1843137254901961,
- 0.1333333333,
- 0.0039215686,
- 0.7490196078,
- 0.18823529411764706,
- 0.1215686275,
- 0.0039215686,
- 0.7607843137,
- 0.19215686274509805,
- 0.1098039216,
- 0.0039215686,
- 0.7764705882,
- 0.19607843137254902,
- 0.1058823529,
- 0.0039215686,
- 0.7921568627,
- 0.2,
- 0.0980392157,
- 0.0039215686,
- 0.8078431373,
- 0.20392156862745098,
- 0.0862745098,
- 0.0039215686,
- 0.8235294118,
- 0.20784313725490197,
- 0.0745098039,
- 0.0039215686,
- 0.8392156863,
- 0.21176470588235294,
- 0.0705882353,
- 0.0039215686,
- 0.8549019608,
- 0.21568627450980393,
- 0.062745098,
- 0.0039215686,
- 0.8705882353,
- 0.2196078431372549,
- 0.0509803922,
- 0.0039215686,
- 0.8862745098,
- 0.2235294117647059,
- 0.0392156863,
- 0.0039215686,
- 0.9019607843,
- 0.22745098039215686,
- 0.0352941176,
- 0.0039215686,
- 0.9176470588,
- 0.23137254901960785,
- 0.0274509804,
- 0.0039215686,
- 0.9333333333,
- 0.23529411764705885,
- 0.0156862745,
- 0.0039215686,
- 0.9490196078,
- 0.23921568627450984,
- 0.0078431373,
- 0.0039215686,
- 0.9647058824,
- 0.24313725490196078,
- 0.0039215686,
- 0.0039215686,
- 0.9960784314,
- 0.24705882352941178,
- 0.0039215686,
- 0.0039215686,
- 0.9960784314,
- 0.25098039215686274,
- 0.0039215686,
- 0.0196078431,
- 0.9647058824,
- 0.2549019607843137,
- 0.0039215686,
- 0.0392156863,
- 0.9490196078,
- 0.25882352941176473,
- 0.0039215686,
- 0.0549019608,
- 0.9333333333,
- 0.2627450980392157,
- 0.0039215686,
- 0.0745098039,
- 0.9176470588,
- 0.26666666666666666,
- 0.0039215686,
- 0.0901960784,
- 0.9019607843,
- 0.27058823529411763,
- 0.0039215686,
- 0.1098039216,
- 0.8862745098,
- 0.27450980392156865,
- 0.0039215686,
- 0.1254901961,
- 0.8705882353,
- 0.2784313725490196,
- 0.0039215686,
- 0.1450980392,
- 0.8549019608,
- 0.2823529411764706,
- 0.0039215686,
- 0.1607843137,
- 0.8392156863,
- 0.28627450980392155,
- 0.0039215686,
- 0.1803921569,
- 0.8235294118,
- 0.2901960784313726,
- 0.0039215686,
- 0.1960784314,
- 0.8078431373,
- 0.29411764705882354,
- 0.0039215686,
- 0.2156862745,
- 0.7921568627,
- 0.2980392156862745,
- 0.0039215686,
- 0.231372549,
- 0.7764705882,
- 0.30196078431372547,
- 0.0039215686,
- 0.2509803922,
- 0.7607843137,
- 0.3058823529411765,
- 0.0039215686,
- 0.262745098,
- 0.7490196078,
- 0.30980392156862746,
- 0.0039215686,
- 0.2823529412,
- 0.7333333333,
- 0.3137254901960784,
- 0.0039215686,
- 0.2980392157,
- 0.7176470588,
- 0.3176470588235294,
- 0.0039215686,
- 0.3176470588,
- 0.7019607843,
- 0.3215686274509804,
- 0.0039215686,
- 0.3333333333,
- 0.6862745098,
- 0.3254901960784314,
- 0.0039215686,
- 0.3529411765,
- 0.6705882353,
- 0.32941176470588235,
- 0.0039215686,
- 0.368627451,
- 0.6549019608,
- 0.3333333333333333,
- 0.0039215686,
- 0.3882352941,
- 0.6392156863,
- 0.33725490196078434,
- 0.0039215686,
- 0.4039215686,
- 0.6235294118,
- 0.3411764705882353,
- 0.0039215686,
- 0.4235294118,
- 0.6078431373,
- 0.34509803921568627,
- 0.0039215686,
- 0.4392156863,
- 0.5921568627,
- 0.34901960784313724,
- 0.0039215686,
- 0.4588235294,
- 0.5764705882,
- 0.35294117647058826,
- 0.0039215686,
- 0.4745098039,
- 0.5607843137,
- 0.3568627450980392,
- 0.0039215686,
- 0.4941176471,
- 0.5450980392,
- 0.3607843137254902,
- 0.0039215686,
- 0.5098039216,
- 0.5294117647,
- 0.36470588235294116,
- 0.0039215686,
- 0.5294117647,
- 0.5137254902,
- 0.3686274509803922,
- 0.0039215686,
- 0.5450980392,
- 0.4980392157,
- 0.37254901960784315,
- 0.0039215686,
- 0.5647058824,
- 0.4784313725,
- 0.3764705882352941,
- 0.0039215686,
- 0.5803921569,
- 0.462745098,
- 0.3803921568627451,
- 0.0039215686,
- 0.6,
- 0.4470588235,
- 0.3843137254901961,
- 0.0039215686,
- 0.6156862745,
- 0.4274509804,
- 0.38823529411764707,
- 0.0039215686,
- 0.6352941176,
- 0.4117647059,
- 0.39215686274509803,
- 0.0039215686,
- 0.6509803922,
- 0.3960784314,
- 0.396078431372549,
- 0.0039215686,
- 0.6705882353,
- 0.3803921569,
- 0.4,
- 0.0039215686,
- 0.6862745098,
- 0.3607843137,
- 0.403921568627451,
- 0.0039215686,
- 0.7058823529,
- 0.3450980392,
- 0.40784313725490196,
- 0.0039215686,
- 0.7215686275,
- 0.3294117647,
- 0.4117647058823529,
- 0.0039215686,
- 0.7411764706,
- 0.3137254902,
- 0.41568627450980394,
- 0.0039215686,
- 0.7529411765,
- 0.2941176471,
- 0.4196078431372549,
- 0.0039215686,
- 0.7960784314,
- 0.2784313725,
- 0.4235294117647059,
- 0.0039215686,
- 0.7960784314,
- 0.262745098,
- 0.42745098039215684,
- 0.0392156863,
- 0.8039215686,
- 0.2509803922,
- 0.43137254901960786,
- 0.0745098039,
- 0.8117647059,
- 0.231372549,
- 0.43529411764705883,
- 0.1098039216,
- 0.8196078431,
- 0.2156862745,
- 0.4392156862745098,
- 0.1450980392,
- 0.8274509804,
- 0.2,
- 0.44313725490196076,
- 0.1803921569,
- 0.8352941176,
- 0.1843137255,
- 0.4470588235294118,
- 0.2156862745,
- 0.8431372549,
- 0.1647058824,
- 0.45098039215686275,
- 0.2509803922,
- 0.8509803922,
- 0.1490196078,
- 0.4549019607843137,
- 0.2823529412,
- 0.8588235294,
- 0.1333333333,
- 0.4588235294117647,
- 0.3176470588,
- 0.8666666667,
- 0.1176470588,
- 0.4627450980392157,
- 0.3529411765,
- 0.8745098039,
- 0.0980392157,
- 0.4666666666666667,
- 0.3882352941,
- 0.8823529412,
- 0.0823529412,
- 0.4705882352941177,
- 0.4235294118,
- 0.8901960784,
- 0.0666666667,
- 0.4745098039215686,
- 0.4588235294,
- 0.8980392157,
- 0.0509803922,
- 0.4784313725490197,
- 0.4941176471,
- 0.9058823529,
- 0.0431372549,
- 0.48235294117647065,
- 0.5294117647,
- 0.9137254902,
- 0.031372549,
- 0.48627450980392156,
- 0.5647058824,
- 0.9215686275,
- 0.0196078431,
- 0.49019607843137253,
- 0.6,
- 0.9294117647,
- 0.0078431373,
- 0.49411764705882355,
- 0.6352941176,
- 0.937254902,
- 0.0039215686,
- 0.4980392156862745,
- 0.6705882353,
- 0.9450980392,
- 0.0039215686,
- 0.5019607843137255,
- 0.7058823529,
- 0.9490196078,
- 0.0039215686,
- 0.5058823529411764,
- 0.7411764706,
- 0.9568627451,
- 0.0039215686,
- 0.5098039215686274,
- 0.7725490196,
- 0.9607843137,
- 0.0039215686,
- 0.5137254901960784,
- 0.8078431373,
- 0.968627451,
- 0.0039215686,
- 0.5176470588235295,
- 0.8431372549,
- 0.9725490196,
- 0.0039215686,
- 0.5215686274509804,
- 0.8784313725,
- 0.9803921569,
- 0.0039215686,
- 0.5254901960784314,
- 0.9137254902,
- 0.9843137255,
- 0.0039215686,
- 0.5294117647058824,
- 0.9490196078,
- 0.9921568627,
- 0.0039215686,
- 0.5333333333333333,
- 0.9960784314,
- 0.9960784314,
- 0.0039215686,
- 0.5372549019607843,
- 0.9960784314,
- 0.9960784314,
- 0.0039215686,
- 0.5411764705882353,
- 0.9960784314,
- 0.9921568627,
- 0.0039215686,
- 0.5450980392156862,
- 0.9960784314,
- 0.9843137255,
- 0.0039215686,
- 0.5490196078431373,
- 0.9960784314,
- 0.9764705882,
- 0.0039215686,
- 0.5529411764705883,
- 0.9960784314,
- 0.968627451,
- 0.0039215686,
- 0.5568627450980392,
- 0.9960784314,
- 0.9607843137,
- 0.0039215686,
- 0.5607843137254902,
- 0.9960784314,
- 0.9529411765,
- 0.0039215686,
- 0.5647058823529412,
- 0.9960784314,
- 0.9450980392,
- 0.0039215686,
- 0.5686274509803921,
- 0.9960784314,
- 0.937254902,
- 0.0039215686,
- 0.5725490196078431,
- 0.9960784314,
- 0.9294117647,
- 0.0039215686,
- 0.5764705882352941,
- 0.9960784314,
- 0.9215686275,
- 0.0039215686,
- 0.5803921568627451,
- 0.9960784314,
- 0.9137254902,
- 0.0039215686,
- 0.5843137254901961,
- 0.9960784314,
- 0.9058823529,
- 0.0039215686,
- 0.5882352941176471,
- 0.9960784314,
- 0.8980392157,
- 0.0039215686,
- 0.592156862745098,
- 0.9960784314,
- 0.8901960784,
- 0.0039215686,
- 0.596078431372549,
- 0.9960784314,
- 0.8823529412,
- 0.0039215686,
- 0.6,
- 0.9960784314,
- 0.8745098039,
- 0.0039215686,
- 0.6039215686274509,
- 0.9960784314,
- 0.8666666667,
- 0.0039215686,
- 0.6078431372549019,
- 0.9960784314,
- 0.8588235294,
- 0.0039215686,
- 0.611764705882353,
- 0.9960784314,
- 0.8509803922,
- 0.0039215686,
- 0.615686274509804,
- 0.9960784314,
- 0.8431372549,
- 0.0039215686,
- 0.6196078431372549,
- 0.9960784314,
- 0.8352941176,
- 0.0039215686,
- 0.6235294117647059,
- 0.9960784314,
- 0.8274509804,
- 0.0039215686,
- 0.6274509803921569,
- 0.9960784314,
- 0.8196078431,
- 0.0039215686,
- 0.6313725490196078,
- 0.9960784314,
- 0.8117647059,
- 0.0039215686,
- 0.6352941176470588,
- 0.9960784314,
- 0.8039215686,
- 0.0039215686,
- 0.6392156862745098,
- 0.9960784314,
- 0.7960784314,
- 0.0039215686,
- 0.6431372549019608,
- 0.9960784314,
- 0.7882352941,
- 0.0039215686,
- 0.6470588235294118,
- 0.9960784314,
- 0.7803921569,
- 0.0039215686,
- 0.6509803921568628,
- 0.9960784314,
- 0.7725490196,
- 0.0039215686,
- 0.6549019607843137,
- 0.9960784314,
- 0.7647058824,
- 0.0039215686,
- 0.6588235294117647,
- 0.9960784314,
- 0.7568627451,
- 0.0039215686,
- 0.6627450980392157,
- 0.9960784314,
- 0.7490196078,
- 0.0039215686,
- 0.6666666666666666,
- 0.9960784314,
- 0.7450980392,
- 0.0039215686,
- 0.6705882352941176,
- 0.9960784314,
- 0.737254902,
- 0.0039215686,
- 0.6745098039215687,
- 0.9960784314,
- 0.7294117647,
- 0.0039215686,
- 0.6784313725490196,
- 0.9960784314,
- 0.7215686275,
- 0.0039215686,
- 0.6823529411764706,
- 0.9960784314,
- 0.7137254902,
- 0.0039215686,
- 0.6862745098039216,
- 0.9960784314,
- 0.7058823529,
- 0.0039215686,
- 0.6901960784313725,
- 0.9960784314,
- 0.6980392157,
- 0.0039215686,
- 0.6941176470588235,
- 0.9960784314,
- 0.6901960784,
- 0.0039215686,
- 0.6980392156862745,
- 0.9960784314,
- 0.6823529412,
- 0.0039215686,
- 0.7019607843137254,
- 0.9960784314,
- 0.6745098039,
- 0.0039215686,
- 0.7058823529411765,
- 0.9960784314,
- 0.6666666667,
- 0.0039215686,
- 0.7098039215686275,
- 0.9960784314,
- 0.6588235294,
- 0.0039215686,
- 0.7137254901960784,
- 0.9960784314,
- 0.6509803922,
- 0.0039215686,
- 0.7176470588235294,
- 0.9960784314,
- 0.6431372549,
- 0.0039215686,
- 0.7215686274509804,
- 0.9960784314,
- 0.6352941176,
- 0.0039215686,
- 0.7254901960784313,
- 0.9960784314,
- 0.6274509804,
- 0.0039215686,
- 0.7294117647058823,
- 0.9960784314,
- 0.6196078431,
- 0.0039215686,
- 0.7333333333333333,
- 0.9960784314,
- 0.6117647059,
- 0.0039215686,
- 0.7372549019607844,
- 0.9960784314,
- 0.6039215686,
- 0.0039215686,
- 0.7411764705882353,
- 0.9960784314,
- 0.5960784314,
- 0.0039215686,
- 0.7450980392156863,
- 0.9960784314,
- 0.5882352941,
- 0.0039215686,
- 0.7490196078431373,
- 0.9960784314,
- 0.5803921569,
- 0.0039215686,
- 0.7529411764705882,
- 0.9960784314,
- 0.5725490196,
- 0.0039215686,
- 0.7568627450980392,
- 0.9960784314,
- 0.5647058824,
- 0.0039215686,
- 0.7607843137254902,
- 0.9960784314,
- 0.5568627451,
- 0.0039215686,
- 0.7647058823529411,
- 0.9960784314,
- 0.5490196078,
- 0.0039215686,
- 0.7686274509803922,
- 0.9960784314,
- 0.5411764706,
- 0.0039215686,
- 0.7725490196078432,
- 0.9960784314,
- 0.5333333333,
- 0.0039215686,
- 0.7764705882352941,
- 0.9960784314,
- 0.5254901961,
- 0.0039215686,
- 0.7803921568627451,
- 0.9960784314,
- 0.5176470588,
- 0.0039215686,
- 0.7843137254901961,
- 0.9960784314,
- 0.5098039216,
- 0.0039215686,
- 0.788235294117647,
- 0.9960784314,
- 0.5019607843,
- 0.0039215686,
- 0.792156862745098,
- 0.9960784314,
- 0.4941176471,
- 0.0039215686,
- 0.796078431372549,
- 0.9960784314,
- 0.4862745098,
- 0.0039215686,
- 0.8,
- 0.9960784314,
- 0.4784313725,
- 0.0039215686,
- 0.803921568627451,
- 0.9960784314,
- 0.4705882353,
- 0.0039215686,
- 0.807843137254902,
- 0.9960784314,
- 0.462745098,
- 0.0039215686,
- 0.8117647058823529,
- 0.9960784314,
- 0.4549019608,
- 0.0039215686,
- 0.8156862745098039,
- 0.9960784314,
- 0.4470588235,
- 0.0039215686,
- 0.8196078431372549,
- 0.9960784314,
- 0.4392156863,
- 0.0039215686,
- 0.8235294117647058,
- 0.9960784314,
- 0.431372549,
- 0.0039215686,
- 0.8274509803921568,
- 0.9960784314,
- 0.4235294118,
- 0.0039215686,
- 0.8313725490196079,
- 0.9960784314,
- 0.4156862745,
- 0.0039215686,
- 0.8352941176470589,
- 0.9960784314,
- 0.4078431373,
- 0.0039215686,
- 0.8392156862745098,
- 0.9960784314,
- 0.4,
- 0.0039215686,
- 0.8431372549019608,
- 0.9960784314,
- 0.3921568627,
- 0.0039215686,
- 0.8470588235294118,
- 0.9960784314,
- 0.3843137255,
- 0.0039215686,
- 0.8509803921568627,
- 0.9960784314,
- 0.3764705882,
- 0.0039215686,
- 0.8549019607843137,
- 0.9960784314,
- 0.368627451,
- 0.0039215686,
- 0.8588235294117647,
- 0.9960784314,
- 0.3607843137,
- 0.0039215686,
- 0.8627450980392157,
- 0.9960784314,
- 0.3529411765,
- 0.0039215686,
- 0.8666666666666667,
- 0.9960784314,
- 0.3450980392,
- 0.0039215686,
- 0.8705882352941177,
- 0.9960784314,
- 0.337254902,
- 0.0039215686,
- 0.8745098039215686,
- 0.9960784314,
- 0.3294117647,
- 0.0039215686,
- 0.8784313725490196,
- 0.9960784314,
- 0.3215686275,
- 0.0039215686,
- 0.8823529411764706,
- 0.9960784314,
- 0.3137254902,
- 0.0039215686,
- 0.8862745098039215,
- 0.9960784314,
- 0.3058823529,
- 0.0039215686,
- 0.8901960784313725,
- 0.9960784314,
- 0.2980392157,
- 0.0039215686,
- 0.8941176470588236,
- 0.9960784314,
- 0.2901960784,
- 0.0039215686,
- 0.8980392156862745,
- 0.9960784314,
- 0.2823529412,
- 0.0039215686,
- 0.9019607843137255,
- 0.9960784314,
- 0.2705882353,
- 0.0039215686,
- 0.9058823529411765,
- 0.9960784314,
- 0.2588235294,
- 0.0039215686,
- 0.9098039215686274,
- 0.9960784314,
- 0.2509803922,
- 0.0039215686,
- 0.9137254901960784,
- 0.9960784314,
- 0.2431372549,
- 0.0039215686,
- 0.9176470588235294,
- 0.9960784314,
- 0.231372549,
- 0.0039215686,
- 0.9215686274509803,
- 0.9960784314,
- 0.2196078431,
- 0.0039215686,
- 0.9254901960784314,
- 0.9960784314,
- 0.2117647059,
- 0.0039215686,
- 0.9294117647058824,
- 0.9960784314,
- 0.2,
- 0.0039215686,
- 0.9333333333333333,
- 0.9960784314,
- 0.1882352941,
- 0.0039215686,
- 0.9372549019607843,
- 0.9960784314,
- 0.1764705882,
- 0.0039215686,
- 0.9411764705882354,
- 0.9960784314,
- 0.168627451,
- 0.0039215686,
- 0.9450980392156864,
- 0.9960784314,
- 0.1568627451,
- 0.0039215686,
- 0.9490196078431372,
- 0.9960784314,
- 0.1450980392,
- 0.0039215686,
- 0.9529411764705882,
- 0.9960784314,
- 0.1333333333,
- 0.0039215686,
- 0.9568627450980394,
- 0.9960784314,
- 0.1254901961,
- 0.0039215686,
- 0.9607843137254903,
- 0.9960784314,
- 0.1137254902,
- 0.0039215686,
- 0.9647058823529413,
- 0.9960784314,
- 0.1019607843,
- 0.0039215686,
- 0.9686274509803922,
- 0.9960784314,
- 0.0901960784,
- 0.0039215686,
- 0.9725490196078431,
- 0.9960784314,
- 0.0823529412,
- 0.0039215686,
- 0.9764705882352941,
- 0.9960784314,
- 0.0705882353,
- 0.0039215686,
- 0.9803921568627451,
- 0.9960784314,
- 0.0588235294,
- 0.0039215686,
- 0.984313725490196,
- 0.9960784314,
- 0.0470588235,
- 0.0039215686,
- 0.9882352941176471,
- 0.9960784314,
- 0.0392156863,
- 0.0039215686,
- 0.9921568627450981,
- 0.9960784314,
- 0.0274509804,
- 0.0039215686,
- 0.996078431372549,
- 0.9960784314,
- 0.0156862745,
- 0.0039215686,
- 1.0,
- 0.9960784314,
- 0.0156862745,
- 0.0039215686,
+ 0.0, 0.0156862745, 0.0039215686, 0.0156862745, 0.00392156862745098, 0.0156862745,
+ 0.0039215686, 0.0156862745, 0.00784313725490196, 0.0274509804, 0.0039215686, 0.031372549,
+ 0.011764705882352941, 0.0352941176, 0.0039215686, 0.0509803922, 0.01568627450980392,
+ 0.0392156863, 0.0039215686, 0.0666666667, 0.0196078431372549, 0.0509803922, 0.0039215686,
+ 0.0823529412, 0.023529411764705882, 0.062745098, 0.0039215686, 0.0980392157,
+ 0.027450980392156862, 0.0705882353, 0.0039215686, 0.1176470588, 0.03137254901960784,
+ 0.0745098039, 0.0039215686, 0.1333333333, 0.03529411764705882, 0.0862745098, 0.0039215686,
+ 0.1490196078, 0.0392156862745098, 0.0980392157, 0.0039215686, 0.1647058824,
+ 0.043137254901960784, 0.1058823529, 0.0039215686, 0.1843137255, 0.047058823529411764,
+ 0.1098039216, 0.0039215686, 0.2, 0.050980392156862744, 0.1215686275, 0.0039215686,
+ 0.2156862745, 0.054901960784313725, 0.1333333333, 0.0039215686, 0.231372549,
+ 0.05882352941176471, 0.137254902, 0.0039215686, 0.2509803922, 0.06274509803921569,
+ 0.1490196078, 0.0039215686, 0.262745098, 0.06666666666666667, 0.1607843137, 0.0039215686,
+ 0.2784313725, 0.07058823529411765, 0.168627451, 0.0039215686, 0.2941176471,
+ 0.07450980392156863, 0.1725490196, 0.0039215686, 0.3137254902, 0.0784313725490196,
+ 0.1843137255, 0.0039215686, 0.3294117647, 0.08235294117647059, 0.1960784314, 0.0039215686,
+ 0.3450980392, 0.08627450980392157, 0.2039215686, 0.0039215686, 0.3607843137,
+ 0.09019607843137255, 0.2078431373, 0.0039215686, 0.3803921569, 0.09411764705882353,
+ 0.2196078431, 0.0039215686, 0.3960784314, 0.09803921568627451, 0.231372549, 0.0039215686,
+ 0.4117647059, 0.10196078431372549, 0.2392156863, 0.0039215686, 0.4274509804,
+ 0.10588235294117647, 0.2431372549, 0.0039215686, 0.4470588235, 0.10980392156862745,
+ 0.2509803922, 0.0039215686, 0.462745098, 0.11372549019607843, 0.262745098, 0.0039215686,
+ 0.4784313725, 0.11764705882352942, 0.2666666667, 0.0039215686, 0.4980392157,
+ 0.12156862745098039, 0.2666666667, 0.0039215686, 0.4980392157, 0.12549019607843137,
+ 0.262745098, 0.0039215686, 0.5137254902, 0.12941176470588237, 0.2509803922, 0.0039215686,
+ 0.5294117647, 0.13333333333333333, 0.2431372549, 0.0039215686, 0.5450980392,
+ 0.13725490196078433, 0.2392156863, 0.0039215686, 0.5607843137, 0.1411764705882353,
+ 0.231372549, 0.0039215686, 0.5764705882, 0.1450980392156863, 0.2196078431, 0.0039215686,
+ 0.5921568627, 0.14901960784313725, 0.2078431373, 0.0039215686, 0.6078431373,
+ 0.15294117647058825, 0.2039215686, 0.0039215686, 0.6235294118, 0.1568627450980392,
+ 0.1960784314, 0.0039215686, 0.6392156863, 0.1607843137254902, 0.1843137255, 0.0039215686,
+ 0.6549019608, 0.16470588235294117, 0.1725490196, 0.0039215686, 0.6705882353,
+ 0.16862745098039217, 0.168627451, 0.0039215686, 0.6862745098, 0.17254901960784313,
+ 0.1607843137, 0.0039215686, 0.7019607843, 0.17647058823529413, 0.1490196078, 0.0039215686,
+ 0.7176470588, 0.1803921568627451, 0.137254902, 0.0039215686, 0.7333333333, 0.1843137254901961,
+ 0.1333333333, 0.0039215686, 0.7490196078, 0.18823529411764706, 0.1215686275, 0.0039215686,
+ 0.7607843137, 0.19215686274509805, 0.1098039216, 0.0039215686, 0.7764705882,
+ 0.19607843137254902, 0.1058823529, 0.0039215686, 0.7921568627, 0.2, 0.0980392157,
+ 0.0039215686, 0.8078431373, 0.20392156862745098, 0.0862745098, 0.0039215686, 0.8235294118,
+ 0.20784313725490197, 0.0745098039, 0.0039215686, 0.8392156863, 0.21176470588235294,
+ 0.0705882353, 0.0039215686, 0.8549019608, 0.21568627450980393, 0.062745098, 0.0039215686,
+ 0.8705882353, 0.2196078431372549, 0.0509803922, 0.0039215686, 0.8862745098,
+ 0.2235294117647059, 0.0392156863, 0.0039215686, 0.9019607843, 0.22745098039215686,
+ 0.0352941176, 0.0039215686, 0.9176470588, 0.23137254901960785, 0.0274509804, 0.0039215686,
+ 0.9333333333, 0.23529411764705885, 0.0156862745, 0.0039215686, 0.9490196078,
+ 0.23921568627450984, 0.0078431373, 0.0039215686, 0.9647058824, 0.24313725490196078,
+ 0.0039215686, 0.0039215686, 0.9960784314, 0.24705882352941178, 0.0039215686, 0.0039215686,
+ 0.9960784314, 0.25098039215686274, 0.0039215686, 0.0196078431, 0.9647058824,
+ 0.2549019607843137, 0.0039215686, 0.0392156863, 0.9490196078, 0.25882352941176473,
+ 0.0039215686, 0.0549019608, 0.9333333333, 0.2627450980392157, 0.0039215686, 0.0745098039,
+ 0.9176470588, 0.26666666666666666, 0.0039215686, 0.0901960784, 0.9019607843,
+ 0.27058823529411763, 0.0039215686, 0.1098039216, 0.8862745098, 0.27450980392156865,
+ 0.0039215686, 0.1254901961, 0.8705882353, 0.2784313725490196, 0.0039215686, 0.1450980392,
+ 0.8549019608, 0.2823529411764706, 0.0039215686, 0.1607843137, 0.8392156863,
+ 0.28627450980392155, 0.0039215686, 0.1803921569, 0.8235294118, 0.2901960784313726,
+ 0.0039215686, 0.1960784314, 0.8078431373, 0.29411764705882354, 0.0039215686, 0.2156862745,
+ 0.7921568627, 0.2980392156862745, 0.0039215686, 0.231372549, 0.7764705882,
+ 0.30196078431372547, 0.0039215686, 0.2509803922, 0.7607843137, 0.3058823529411765,
+ 0.0039215686, 0.262745098, 0.7490196078, 0.30980392156862746, 0.0039215686, 0.2823529412,
+ 0.7333333333, 0.3137254901960784, 0.0039215686, 0.2980392157, 0.7176470588,
+ 0.3176470588235294, 0.0039215686, 0.3176470588, 0.7019607843, 0.3215686274509804,
+ 0.0039215686, 0.3333333333, 0.6862745098, 0.3254901960784314, 0.0039215686, 0.3529411765,
+ 0.6705882353, 0.32941176470588235, 0.0039215686, 0.368627451, 0.6549019608,
+ 0.3333333333333333, 0.0039215686, 0.3882352941, 0.6392156863, 0.33725490196078434,
+ 0.0039215686, 0.4039215686, 0.6235294118, 0.3411764705882353, 0.0039215686, 0.4235294118,
+ 0.6078431373, 0.34509803921568627, 0.0039215686, 0.4392156863, 0.5921568627,
+ 0.34901960784313724, 0.0039215686, 0.4588235294, 0.5764705882, 0.35294117647058826,
+ 0.0039215686, 0.4745098039, 0.5607843137, 0.3568627450980392, 0.0039215686, 0.4941176471,
+ 0.5450980392, 0.3607843137254902, 0.0039215686, 0.5098039216, 0.5294117647,
+ 0.36470588235294116, 0.0039215686, 0.5294117647, 0.5137254902, 0.3686274509803922,
+ 0.0039215686, 0.5450980392, 0.4980392157, 0.37254901960784315, 0.0039215686, 0.5647058824,
+ 0.4784313725, 0.3764705882352941, 0.0039215686, 0.5803921569, 0.462745098, 0.3803921568627451,
+ 0.0039215686, 0.6, 0.4470588235, 0.3843137254901961, 0.0039215686, 0.6156862745, 0.4274509804,
+ 0.38823529411764707, 0.0039215686, 0.6352941176, 0.4117647059, 0.39215686274509803,
+ 0.0039215686, 0.6509803922, 0.3960784314, 0.396078431372549, 0.0039215686, 0.6705882353,
+ 0.3803921569, 0.4, 0.0039215686, 0.6862745098, 0.3607843137, 0.403921568627451, 0.0039215686,
+ 0.7058823529, 0.3450980392, 0.40784313725490196, 0.0039215686, 0.7215686275, 0.3294117647,
+ 0.4117647058823529, 0.0039215686, 0.7411764706, 0.3137254902, 0.41568627450980394,
+ 0.0039215686, 0.7529411765, 0.2941176471, 0.4196078431372549, 0.0039215686, 0.7960784314,
+ 0.2784313725, 0.4235294117647059, 0.0039215686, 0.7960784314, 0.262745098,
+ 0.42745098039215684, 0.0392156863, 0.8039215686, 0.2509803922, 0.43137254901960786,
+ 0.0745098039, 0.8117647059, 0.231372549, 0.43529411764705883, 0.1098039216, 0.8196078431,
+ 0.2156862745, 0.4392156862745098, 0.1450980392, 0.8274509804, 0.2, 0.44313725490196076,
+ 0.1803921569, 0.8352941176, 0.1843137255, 0.4470588235294118, 0.2156862745, 0.8431372549,
+ 0.1647058824, 0.45098039215686275, 0.2509803922, 0.8509803922, 0.1490196078,
+ 0.4549019607843137, 0.2823529412, 0.8588235294, 0.1333333333, 0.4588235294117647,
+ 0.3176470588, 0.8666666667, 0.1176470588, 0.4627450980392157, 0.3529411765, 0.8745098039,
+ 0.0980392157, 0.4666666666666667, 0.3882352941, 0.8823529412, 0.0823529412,
+ 0.4705882352941177, 0.4235294118, 0.8901960784, 0.0666666667, 0.4745098039215686,
+ 0.4588235294, 0.8980392157, 0.0509803922, 0.4784313725490197, 0.4941176471, 0.9058823529,
+ 0.0431372549, 0.48235294117647065, 0.5294117647, 0.9137254902, 0.031372549,
+ 0.48627450980392156, 0.5647058824, 0.9215686275, 0.0196078431, 0.49019607843137253, 0.6,
+ 0.9294117647, 0.0078431373, 0.49411764705882355, 0.6352941176, 0.937254902, 0.0039215686,
+ 0.4980392156862745, 0.6705882353, 0.9450980392, 0.0039215686, 0.5019607843137255,
+ 0.7058823529, 0.9490196078, 0.0039215686, 0.5058823529411764, 0.7411764706, 0.9568627451,
+ 0.0039215686, 0.5098039215686274, 0.7725490196, 0.9607843137, 0.0039215686,
+ 0.5137254901960784, 0.8078431373, 0.968627451, 0.0039215686, 0.5176470588235295, 0.8431372549,
+ 0.9725490196, 0.0039215686, 0.5215686274509804, 0.8784313725, 0.9803921569, 0.0039215686,
+ 0.5254901960784314, 0.9137254902, 0.9843137255, 0.0039215686, 0.5294117647058824,
+ 0.9490196078, 0.9921568627, 0.0039215686, 0.5333333333333333, 0.9960784314, 0.9960784314,
+ 0.0039215686, 0.5372549019607843, 0.9960784314, 0.9960784314, 0.0039215686,
+ 0.5411764705882353, 0.9960784314, 0.9921568627, 0.0039215686, 0.5450980392156862,
+ 0.9960784314, 0.9843137255, 0.0039215686, 0.5490196078431373, 0.9960784314, 0.9764705882,
+ 0.0039215686, 0.5529411764705883, 0.9960784314, 0.968627451, 0.0039215686, 0.5568627450980392,
+ 0.9960784314, 0.9607843137, 0.0039215686, 0.5607843137254902, 0.9960784314, 0.9529411765,
+ 0.0039215686, 0.5647058823529412, 0.9960784314, 0.9450980392, 0.0039215686,
+ 0.5686274509803921, 0.9960784314, 0.937254902, 0.0039215686, 0.5725490196078431, 0.9960784314,
+ 0.9294117647, 0.0039215686, 0.5764705882352941, 0.9960784314, 0.9215686275, 0.0039215686,
+ 0.5803921568627451, 0.9960784314, 0.9137254902, 0.0039215686, 0.5843137254901961,
+ 0.9960784314, 0.9058823529, 0.0039215686, 0.5882352941176471, 0.9960784314, 0.8980392157,
+ 0.0039215686, 0.592156862745098, 0.9960784314, 0.8901960784, 0.0039215686, 0.596078431372549,
+ 0.9960784314, 0.8823529412, 0.0039215686, 0.6, 0.9960784314, 0.8745098039, 0.0039215686,
+ 0.6039215686274509, 0.9960784314, 0.8666666667, 0.0039215686, 0.6078431372549019,
+ 0.9960784314, 0.8588235294, 0.0039215686, 0.611764705882353, 0.9960784314, 0.8509803922,
+ 0.0039215686, 0.615686274509804, 0.9960784314, 0.8431372549, 0.0039215686, 0.6196078431372549,
+ 0.9960784314, 0.8352941176, 0.0039215686, 0.6235294117647059, 0.9960784314, 0.8274509804,
+ 0.0039215686, 0.6274509803921569, 0.9960784314, 0.8196078431, 0.0039215686,
+ 0.6313725490196078, 0.9960784314, 0.8117647059, 0.0039215686, 0.6352941176470588,
+ 0.9960784314, 0.8039215686, 0.0039215686, 0.6392156862745098, 0.9960784314, 0.7960784314,
+ 0.0039215686, 0.6431372549019608, 0.9960784314, 0.7882352941, 0.0039215686,
+ 0.6470588235294118, 0.9960784314, 0.7803921569, 0.0039215686, 0.6509803921568628,
+ 0.9960784314, 0.7725490196, 0.0039215686, 0.6549019607843137, 0.9960784314, 0.7647058824,
+ 0.0039215686, 0.6588235294117647, 0.9960784314, 0.7568627451, 0.0039215686,
+ 0.6627450980392157, 0.9960784314, 0.7490196078, 0.0039215686, 0.6666666666666666,
+ 0.9960784314, 0.7450980392, 0.0039215686, 0.6705882352941176, 0.9960784314, 0.737254902,
+ 0.0039215686, 0.6745098039215687, 0.9960784314, 0.7294117647, 0.0039215686,
+ 0.6784313725490196, 0.9960784314, 0.7215686275, 0.0039215686, 0.6823529411764706,
+ 0.9960784314, 0.7137254902, 0.0039215686, 0.6862745098039216, 0.9960784314, 0.7058823529,
+ 0.0039215686, 0.6901960784313725, 0.9960784314, 0.6980392157, 0.0039215686,
+ 0.6941176470588235, 0.9960784314, 0.6901960784, 0.0039215686, 0.6980392156862745,
+ 0.9960784314, 0.6823529412, 0.0039215686, 0.7019607843137254, 0.9960784314, 0.6745098039,
+ 0.0039215686, 0.7058823529411765, 0.9960784314, 0.6666666667, 0.0039215686,
+ 0.7098039215686275, 0.9960784314, 0.6588235294, 0.0039215686, 0.7137254901960784,
+ 0.9960784314, 0.6509803922, 0.0039215686, 0.7176470588235294, 0.9960784314, 0.6431372549,
+ 0.0039215686, 0.7215686274509804, 0.9960784314, 0.6352941176, 0.0039215686,
+ 0.7254901960784313, 0.9960784314, 0.6274509804, 0.0039215686, 0.7294117647058823,
+ 0.9960784314, 0.6196078431, 0.0039215686, 0.7333333333333333, 0.9960784314, 0.6117647059,
+ 0.0039215686, 0.7372549019607844, 0.9960784314, 0.6039215686, 0.0039215686,
+ 0.7411764705882353, 0.9960784314, 0.5960784314, 0.0039215686, 0.7450980392156863,
+ 0.9960784314, 0.5882352941, 0.0039215686, 0.7490196078431373, 0.9960784314, 0.5803921569,
+ 0.0039215686, 0.7529411764705882, 0.9960784314, 0.5725490196, 0.0039215686,
+ 0.7568627450980392, 0.9960784314, 0.5647058824, 0.0039215686, 0.7607843137254902,
+ 0.9960784314, 0.5568627451, 0.0039215686, 0.7647058823529411, 0.9960784314, 0.5490196078,
+ 0.0039215686, 0.7686274509803922, 0.9960784314, 0.5411764706, 0.0039215686,
+ 0.7725490196078432, 0.9960784314, 0.5333333333, 0.0039215686, 0.7764705882352941,
+ 0.9960784314, 0.5254901961, 0.0039215686, 0.7803921568627451, 0.9960784314, 0.5176470588,
+ 0.0039215686, 0.7843137254901961, 0.9960784314, 0.5098039216, 0.0039215686, 0.788235294117647,
+ 0.9960784314, 0.5019607843, 0.0039215686, 0.792156862745098, 0.9960784314, 0.4941176471,
+ 0.0039215686, 0.796078431372549, 0.9960784314, 0.4862745098, 0.0039215686, 0.8, 0.9960784314,
+ 0.4784313725, 0.0039215686, 0.803921568627451, 0.9960784314, 0.4705882353, 0.0039215686,
+ 0.807843137254902, 0.9960784314, 0.462745098, 0.0039215686, 0.8117647058823529, 0.9960784314,
+ 0.4549019608, 0.0039215686, 0.8156862745098039, 0.9960784314, 0.4470588235, 0.0039215686,
+ 0.8196078431372549, 0.9960784314, 0.4392156863, 0.0039215686, 0.8235294117647058,
+ 0.9960784314, 0.431372549, 0.0039215686, 0.8274509803921568, 0.9960784314, 0.4235294118,
+ 0.0039215686, 0.8313725490196079, 0.9960784314, 0.4156862745, 0.0039215686,
+ 0.8352941176470589, 0.9960784314, 0.4078431373, 0.0039215686, 0.8392156862745098,
+ 0.9960784314, 0.4, 0.0039215686, 0.8431372549019608, 0.9960784314, 0.3921568627, 0.0039215686,
+ 0.8470588235294118, 0.9960784314, 0.3843137255, 0.0039215686, 0.8509803921568627,
+ 0.9960784314, 0.3764705882, 0.0039215686, 0.8549019607843137, 0.9960784314, 0.368627451,
+ 0.0039215686, 0.8588235294117647, 0.9960784314, 0.3607843137, 0.0039215686,
+ 0.8627450980392157, 0.9960784314, 0.3529411765, 0.0039215686, 0.8666666666666667,
+ 0.9960784314, 0.3450980392, 0.0039215686, 0.8705882352941177, 0.9960784314, 0.337254902,
+ 0.0039215686, 0.8745098039215686, 0.9960784314, 0.3294117647, 0.0039215686,
+ 0.8784313725490196, 0.9960784314, 0.3215686275, 0.0039215686, 0.8823529411764706,
+ 0.9960784314, 0.3137254902, 0.0039215686, 0.8862745098039215, 0.9960784314, 0.3058823529,
+ 0.0039215686, 0.8901960784313725, 0.9960784314, 0.2980392157, 0.0039215686,
+ 0.8941176470588236, 0.9960784314, 0.2901960784, 0.0039215686, 0.8980392156862745,
+ 0.9960784314, 0.2823529412, 0.0039215686, 0.9019607843137255, 0.9960784314, 0.2705882353,
+ 0.0039215686, 0.9058823529411765, 0.9960784314, 0.2588235294, 0.0039215686,
+ 0.9098039215686274, 0.9960784314, 0.2509803922, 0.0039215686, 0.9137254901960784,
+ 0.9960784314, 0.2431372549, 0.0039215686, 0.9176470588235294, 0.9960784314, 0.231372549,
+ 0.0039215686, 0.9215686274509803, 0.9960784314, 0.2196078431, 0.0039215686,
+ 0.9254901960784314, 0.9960784314, 0.2117647059, 0.0039215686, 0.9294117647058824,
+ 0.9960784314, 0.2, 0.0039215686, 0.9333333333333333, 0.9960784314, 0.1882352941, 0.0039215686,
+ 0.9372549019607843, 0.9960784314, 0.1764705882, 0.0039215686, 0.9411764705882354,
+ 0.9960784314, 0.168627451, 0.0039215686, 0.9450980392156864, 0.9960784314, 0.1568627451,
+ 0.0039215686, 0.9490196078431372, 0.9960784314, 0.1450980392, 0.0039215686,
+ 0.9529411764705882, 0.9960784314, 0.1333333333, 0.0039215686, 0.9568627450980394,
+ 0.9960784314, 0.1254901961, 0.0039215686, 0.9607843137254903, 0.9960784314, 0.1137254902,
+ 0.0039215686, 0.9647058823529413, 0.9960784314, 0.1019607843, 0.0039215686,
+ 0.9686274509803922, 0.9960784314, 0.0901960784, 0.0039215686, 0.9725490196078431,
+ 0.9960784314, 0.0823529412, 0.0039215686, 0.9764705882352941, 0.9960784314, 0.0705882353,
+ 0.0039215686, 0.9803921568627451, 0.9960784314, 0.0588235294, 0.0039215686, 0.984313725490196,
+ 0.9960784314, 0.0470588235, 0.0039215686, 0.9882352941176471, 0.9960784314, 0.0392156863,
+ 0.0039215686, 0.9921568627450981, 0.9960784314, 0.0274509804, 0.0039215686, 0.996078431372549,
+ 0.9960784314, 0.0156862745, 0.0039215686, 1.0, 0.9960784314, 0.0156862745, 0.0039215686,
],
},
{
ColorSpace: 'RGB',
Name: 'perfusion',
RGBPoints: [
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.00392156862745098,
- 0.0078431373,
- 0.0235294118,
- 0.0235294118,
- 0.00784313725490196,
- 0.0078431373,
- 0.031372549,
- 0.0470588235,
- 0.011764705882352941,
- 0.0078431373,
- 0.0392156863,
- 0.062745098,
- 0.01568627450980392,
- 0.0078431373,
- 0.0470588235,
- 0.0862745098,
- 0.0196078431372549,
- 0.0078431373,
- 0.0549019608,
- 0.1019607843,
- 0.023529411764705882,
- 0.0078431373,
- 0.0549019608,
- 0.1254901961,
- 0.027450980392156862,
- 0.0078431373,
- 0.062745098,
- 0.1411764706,
- 0.03137254901960784,
- 0.0078431373,
- 0.0705882353,
- 0.1647058824,
- 0.03529411764705882,
- 0.0078431373,
- 0.0784313725,
- 0.1803921569,
- 0.0392156862745098,
- 0.0078431373,
- 0.0862745098,
- 0.2039215686,
- 0.043137254901960784,
- 0.0078431373,
- 0.0862745098,
- 0.2196078431,
- 0.047058823529411764,
- 0.0078431373,
- 0.0941176471,
- 0.2431372549,
- 0.050980392156862744,
- 0.0078431373,
- 0.1019607843,
- 0.2666666667,
- 0.054901960784313725,
- 0.0078431373,
- 0.1098039216,
- 0.2823529412,
- 0.05882352941176471,
- 0.0078431373,
- 0.1176470588,
- 0.3058823529,
- 0.06274509803921569,
- 0.0078431373,
- 0.1176470588,
- 0.3215686275,
- 0.06666666666666667,
- 0.0078431373,
- 0.1254901961,
- 0.3450980392,
- 0.07058823529411765,
- 0.0078431373,
- 0.1333333333,
- 0.3607843137,
- 0.07450980392156863,
- 0.0078431373,
- 0.1411764706,
- 0.3843137255,
- 0.0784313725490196,
- 0.0078431373,
- 0.1490196078,
- 0.4,
- 0.08235294117647059,
- 0.0078431373,
- 0.1490196078,
- 0.4235294118,
- 0.08627450980392157,
- 0.0078431373,
- 0.1568627451,
- 0.4392156863,
- 0.09019607843137255,
- 0.0078431373,
- 0.1647058824,
- 0.462745098,
- 0.09411764705882353,
- 0.0078431373,
- 0.1725490196,
- 0.4784313725,
- 0.09803921568627451,
- 0.0078431373,
- 0.1803921569,
- 0.5019607843,
- 0.10196078431372549,
- 0.0078431373,
- 0.1803921569,
- 0.5254901961,
- 0.10588235294117647,
- 0.0078431373,
- 0.1882352941,
- 0.5411764706,
- 0.10980392156862745,
- 0.0078431373,
- 0.1960784314,
- 0.5647058824,
- 0.11372549019607843,
- 0.0078431373,
- 0.2039215686,
- 0.5803921569,
- 0.11764705882352942,
- 0.0078431373,
- 0.2117647059,
- 0.6039215686,
- 0.12156862745098039,
- 0.0078431373,
- 0.2117647059,
- 0.6196078431,
- 0.12549019607843137,
- 0.0078431373,
- 0.2196078431,
- 0.6431372549,
- 0.12941176470588237,
- 0.0078431373,
- 0.2274509804,
- 0.6588235294,
- 0.13333333333333333,
- 0.0078431373,
- 0.2352941176,
- 0.6823529412,
- 0.13725490196078433,
- 0.0078431373,
- 0.2431372549,
- 0.6980392157,
- 0.1411764705882353,
- 0.0078431373,
- 0.2431372549,
- 0.7215686275,
- 0.1450980392156863,
- 0.0078431373,
- 0.2509803922,
- 0.737254902,
- 0.14901960784313725,
- 0.0078431373,
- 0.2588235294,
- 0.7607843137,
- 0.15294117647058825,
- 0.0078431373,
- 0.2666666667,
- 0.7843137255,
- 0.1568627450980392,
- 0.0078431373,
- 0.2745098039,
- 0.8,
- 0.1607843137254902,
- 0.0078431373,
- 0.2745098039,
- 0.8235294118,
- 0.16470588235294117,
- 0.0078431373,
- 0.2823529412,
- 0.8392156863,
- 0.16862745098039217,
- 0.0078431373,
- 0.2901960784,
- 0.862745098,
- 0.17254901960784313,
- 0.0078431373,
- 0.2980392157,
- 0.8784313725,
- 0.17647058823529413,
- 0.0078431373,
- 0.3058823529,
- 0.9019607843,
- 0.1803921568627451,
- 0.0078431373,
- 0.3058823529,
- 0.9176470588,
- 0.1843137254901961,
- 0.0078431373,
- 0.2980392157,
- 0.9411764706,
- 0.18823529411764706,
- 0.0078431373,
- 0.3058823529,
- 0.9568627451,
- 0.19215686274509805,
- 0.0078431373,
- 0.2980392157,
- 0.9803921569,
- 0.19607843137254902,
- 0.0078431373,
- 0.2980392157,
- 0.9882352941,
- 0.2,
- 0.0078431373,
- 0.2901960784,
- 0.9803921569,
- 0.20392156862745098,
- 0.0078431373,
- 0.2901960784,
- 0.9647058824,
- 0.20784313725490197,
- 0.0078431373,
- 0.2823529412,
- 0.9568627451,
- 0.21176470588235294,
- 0.0078431373,
- 0.2823529412,
- 0.9411764706,
- 0.21568627450980393,
- 0.0078431373,
- 0.2745098039,
- 0.9333333333,
- 0.2196078431372549,
- 0.0078431373,
- 0.2666666667,
- 0.9176470588,
- 0.2235294117647059,
- 0.0078431373,
- 0.2666666667,
- 0.9098039216,
- 0.22745098039215686,
- 0.0078431373,
- 0.2588235294,
- 0.9019607843,
- 0.23137254901960785,
- 0.0078431373,
- 0.2588235294,
- 0.8862745098,
- 0.23529411764705885,
- 0.0078431373,
- 0.2509803922,
- 0.8784313725,
- 0.23921568627450984,
- 0.0078431373,
- 0.2509803922,
- 0.862745098,
- 0.24313725490196078,
- 0.0078431373,
- 0.2431372549,
- 0.8549019608,
- 0.24705882352941178,
- 0.0078431373,
- 0.2352941176,
- 0.8392156863,
- 0.25098039215686274,
- 0.0078431373,
- 0.2352941176,
- 0.831372549,
- 0.2549019607843137,
- 0.0078431373,
- 0.2274509804,
- 0.8235294118,
- 0.25882352941176473,
- 0.0078431373,
- 0.2274509804,
- 0.8078431373,
- 0.2627450980392157,
- 0.0078431373,
- 0.2196078431,
- 0.8,
- 0.26666666666666666,
- 0.0078431373,
- 0.2196078431,
- 0.7843137255,
- 0.27058823529411763,
- 0.0078431373,
- 0.2117647059,
- 0.7764705882,
- 0.27450980392156865,
- 0.0078431373,
- 0.2039215686,
- 0.7607843137,
- 0.2784313725490196,
- 0.0078431373,
- 0.2039215686,
- 0.7529411765,
- 0.2823529411764706,
- 0.0078431373,
- 0.1960784314,
- 0.7450980392,
- 0.28627450980392155,
- 0.0078431373,
- 0.1960784314,
- 0.7294117647,
- 0.2901960784313726,
- 0.0078431373,
- 0.1882352941,
- 0.7215686275,
- 0.29411764705882354,
- 0.0078431373,
- 0.1882352941,
- 0.7058823529,
- 0.2980392156862745,
- 0.0078431373,
- 0.1803921569,
- 0.6980392157,
- 0.30196078431372547,
- 0.0078431373,
- 0.1803921569,
- 0.6823529412,
- 0.3058823529411765,
- 0.0078431373,
- 0.1725490196,
- 0.6745098039,
- 0.30980392156862746,
- 0.0078431373,
- 0.1647058824,
- 0.6666666667,
- 0.3137254901960784,
- 0.0078431373,
- 0.1647058824,
- 0.6509803922,
- 0.3176470588235294,
- 0.0078431373,
- 0.1568627451,
- 0.6431372549,
- 0.3215686274509804,
- 0.0078431373,
- 0.1568627451,
- 0.6274509804,
- 0.3254901960784314,
- 0.0078431373,
- 0.1490196078,
- 0.6196078431,
- 0.32941176470588235,
- 0.0078431373,
- 0.1490196078,
- 0.6039215686,
- 0.3333333333333333,
- 0.0078431373,
- 0.1411764706,
- 0.5960784314,
- 0.33725490196078434,
- 0.0078431373,
- 0.1333333333,
- 0.5882352941,
- 0.3411764705882353,
- 0.0078431373,
- 0.1333333333,
- 0.5725490196,
- 0.34509803921568627,
- 0.0078431373,
- 0.1254901961,
- 0.5647058824,
- 0.34901960784313724,
- 0.0078431373,
- 0.1254901961,
- 0.5490196078,
- 0.35294117647058826,
- 0.0078431373,
- 0.1176470588,
- 0.5411764706,
- 0.3568627450980392,
- 0.0078431373,
- 0.1176470588,
- 0.5254901961,
- 0.3607843137254902,
- 0.0078431373,
- 0.1098039216,
- 0.5176470588,
- 0.36470588235294116,
- 0.0078431373,
- 0.1019607843,
- 0.5098039216,
- 0.3686274509803922,
- 0.0078431373,
- 0.1019607843,
- 0.4941176471,
- 0.37254901960784315,
- 0.0078431373,
- 0.0941176471,
- 0.4862745098,
- 0.3764705882352941,
- 0.0078431373,
- 0.0941176471,
- 0.4705882353,
- 0.3803921568627451,
- 0.0078431373,
- 0.0862745098,
- 0.462745098,
- 0.3843137254901961,
- 0.0078431373,
- 0.0862745098,
- 0.4470588235,
- 0.38823529411764707,
- 0.0078431373,
- 0.0784313725,
- 0.4392156863,
- 0.39215686274509803,
- 0.0078431373,
- 0.0705882353,
- 0.431372549,
- 0.396078431372549,
- 0.0078431373,
- 0.0705882353,
- 0.4156862745,
- 0.4,
- 0.0078431373,
- 0.062745098,
- 0.4078431373,
- 0.403921568627451,
- 0.0078431373,
- 0.062745098,
- 0.3921568627,
- 0.40784313725490196,
- 0.0078431373,
- 0.0549019608,
- 0.3843137255,
- 0.4117647058823529,
- 0.0078431373,
- 0.0549019608,
- 0.368627451,
- 0.41568627450980394,
- 0.0078431373,
- 0.0470588235,
- 0.3607843137,
- 0.4196078431372549,
- 0.0078431373,
- 0.0470588235,
- 0.3529411765,
- 0.4235294117647059,
- 0.0078431373,
- 0.0392156863,
- 0.337254902,
- 0.42745098039215684,
- 0.0078431373,
- 0.031372549,
- 0.3294117647,
- 0.43137254901960786,
- 0.0078431373,
- 0.031372549,
- 0.3137254902,
- 0.43529411764705883,
- 0.0078431373,
- 0.0235294118,
- 0.3058823529,
- 0.4392156862745098,
- 0.0078431373,
- 0.0235294118,
- 0.2901960784,
- 0.44313725490196076,
- 0.0078431373,
- 0.0156862745,
- 0.2823529412,
- 0.4470588235294118,
- 0.0078431373,
- 0.0156862745,
- 0.2745098039,
- 0.45098039215686275,
- 0.0078431373,
- 0.0078431373,
- 0.2588235294,
- 0.4549019607843137,
- 0.0235294118,
- 0.0078431373,
- 0.2509803922,
- 0.4588235294117647,
- 0.0078431373,
- 0.0078431373,
- 0.2352941176,
- 0.4627450980392157,
- 0.0078431373,
- 0.0078431373,
- 0.2274509804,
- 0.4666666666666667,
- 0.0078431373,
- 0.0078431373,
- 0.2117647059,
- 0.4705882352941177,
- 0.0078431373,
- 0.0078431373,
- 0.2039215686,
- 0.4745098039215686,
- 0.0078431373,
- 0.0078431373,
- 0.1960784314,
- 0.4784313725490197,
- 0.0078431373,
- 0.0078431373,
- 0.1803921569,
- 0.48235294117647065,
- 0.0078431373,
- 0.0078431373,
- 0.1725490196,
- 0.48627450980392156,
- 0.0078431373,
- 0.0078431373,
- 0.1568627451,
- 0.49019607843137253,
- 0.0078431373,
- 0.0078431373,
- 0.1490196078,
- 0.49411764705882355,
- 0.0078431373,
- 0.0078431373,
- 0.1333333333,
- 0.4980392156862745,
- 0.0078431373,
- 0.0078431373,
- 0.1254901961,
- 0.5019607843137255,
- 0.0078431373,
- 0.0078431373,
- 0.1176470588,
- 0.5058823529411764,
- 0.0078431373,
- 0.0078431373,
- 0.1019607843,
- 0.5098039215686274,
- 0.0078431373,
- 0.0078431373,
- 0.0941176471,
- 0.5137254901960784,
- 0.0078431373,
- 0.0078431373,
- 0.0784313725,
- 0.5176470588235295,
- 0.0078431373,
- 0.0078431373,
- 0.0705882353,
- 0.5215686274509804,
- 0.0078431373,
- 0.0078431373,
- 0.0549019608,
- 0.5254901960784314,
- 0.0078431373,
- 0.0078431373,
- 0.0470588235,
- 0.5294117647058824,
- 0.0235294118,
- 0.0078431373,
- 0.0392156863,
- 0.5333333333333333,
- 0.031372549,
- 0.0078431373,
- 0.0235294118,
- 0.5372549019607843,
- 0.0392156863,
- 0.0078431373,
- 0.0156862745,
- 0.5411764705882353,
- 0.0549019608,
- 0.0078431373,
- 0.0,
- 0.5450980392156862,
- 0.062745098,
- 0.0078431373,
- 0.0,
- 0.5490196078431373,
- 0.0705882353,
- 0.0078431373,
- 0.0,
- 0.5529411764705883,
- 0.0862745098,
- 0.0078431373,
- 0.0,
- 0.5568627450980392,
- 0.0941176471,
- 0.0078431373,
- 0.0,
- 0.5607843137254902,
- 0.1019607843,
- 0.0078431373,
- 0.0,
- 0.5647058823529412,
- 0.1098039216,
- 0.0078431373,
- 0.0,
- 0.5686274509803921,
- 0.1254901961,
- 0.0078431373,
- 0.0,
- 0.5725490196078431,
- 0.1333333333,
- 0.0078431373,
- 0.0,
- 0.5764705882352941,
- 0.1411764706,
- 0.0078431373,
- 0.0,
- 0.5803921568627451,
- 0.1568627451,
- 0.0078431373,
- 0.0,
- 0.5843137254901961,
- 0.1647058824,
- 0.0078431373,
- 0.0,
- 0.5882352941176471,
- 0.1725490196,
- 0.0078431373,
- 0.0,
- 0.592156862745098,
- 0.1882352941,
- 0.0078431373,
- 0.0,
- 0.596078431372549,
- 0.1960784314,
- 0.0078431373,
- 0.0,
- 0.6,
- 0.2039215686,
- 0.0078431373,
- 0.0,
- 0.6039215686274509,
- 0.2117647059,
- 0.0078431373,
- 0.0,
- 0.6078431372549019,
- 0.2274509804,
- 0.0078431373,
- 0.0,
- 0.611764705882353,
- 0.2352941176,
- 0.0078431373,
- 0.0,
- 0.615686274509804,
- 0.2431372549,
- 0.0078431373,
- 0.0,
- 0.6196078431372549,
- 0.2588235294,
- 0.0078431373,
- 0.0,
- 0.6235294117647059,
- 0.2666666667,
- 0.0078431373,
- 0.0,
- 0.6274509803921569,
- 0.2745098039,
- 0.0,
- 0.0,
- 0.6313725490196078,
- 0.2901960784,
- 0.0156862745,
- 0.0,
- 0.6352941176470588,
- 0.2980392157,
- 0.0235294118,
- 0.0,
- 0.6392156862745098,
- 0.3058823529,
- 0.0392156863,
- 0.0,
- 0.6431372549019608,
- 0.3137254902,
- 0.0470588235,
- 0.0,
- 0.6470588235294118,
- 0.3294117647,
- 0.0549019608,
- 0.0,
- 0.6509803921568628,
- 0.337254902,
- 0.0705882353,
- 0.0,
- 0.6549019607843137,
- 0.3450980392,
- 0.0784313725,
- 0.0,
- 0.6588235294117647,
- 0.3607843137,
- 0.0862745098,
- 0.0,
- 0.6627450980392157,
- 0.368627451,
- 0.1019607843,
- 0.0,
- 0.6666666666666666,
- 0.3764705882,
- 0.1098039216,
- 0.0,
- 0.6705882352941176,
- 0.3843137255,
- 0.1176470588,
- 0.0,
- 0.6745098039215687,
- 0.4,
- 0.1333333333,
- 0.0,
- 0.6784313725490196,
- 0.4078431373,
- 0.1411764706,
- 0.0,
- 0.6823529411764706,
- 0.4156862745,
- 0.1490196078,
- 0.0,
- 0.6862745098039216,
- 0.431372549,
- 0.1647058824,
- 0.0,
- 0.6901960784313725,
- 0.4392156863,
- 0.1725490196,
- 0.0,
- 0.6941176470588235,
- 0.4470588235,
- 0.1803921569,
- 0.0,
- 0.6980392156862745,
- 0.462745098,
- 0.1960784314,
- 0.0,
- 0.7019607843137254,
- 0.4705882353,
- 0.2039215686,
- 0.0,
- 0.7058823529411765,
- 0.4784313725,
- 0.2117647059,
- 0.0,
- 0.7098039215686275,
- 0.4862745098,
- 0.2274509804,
- 0.0,
- 0.7137254901960784,
- 0.5019607843,
- 0.2352941176,
- 0.0,
- 0.7176470588235294,
- 0.5098039216,
- 0.2431372549,
- 0.0,
- 0.7215686274509804,
- 0.5176470588,
- 0.2588235294,
- 0.0,
- 0.7254901960784313,
- 0.5333333333,
- 0.2666666667,
- 0.0,
- 0.7294117647058823,
- 0.5411764706,
- 0.2745098039,
- 0.0,
- 0.7333333333333333,
- 0.5490196078,
- 0.2901960784,
- 0.0,
- 0.7372549019607844,
- 0.5647058824,
- 0.2980392157,
- 0.0,
- 0.7411764705882353,
- 0.5725490196,
- 0.3058823529,
- 0.0,
- 0.7450980392156863,
- 0.5803921569,
- 0.3215686275,
- 0.0,
- 0.7490196078431373,
- 0.5882352941,
- 0.3294117647,
- 0.0,
- 0.7529411764705882,
- 0.6039215686,
- 0.337254902,
- 0.0,
- 0.7568627450980392,
- 0.6117647059,
- 0.3529411765,
- 0.0,
- 0.7607843137254902,
- 0.6196078431,
- 0.3607843137,
- 0.0,
- 0.7647058823529411,
- 0.6352941176,
- 0.368627451,
- 0.0,
- 0.7686274509803922,
- 0.6431372549,
- 0.3843137255,
- 0.0,
- 0.7725490196078432,
- 0.6509803922,
- 0.3921568627,
- 0.0,
- 0.7764705882352941,
- 0.6588235294,
- 0.4,
- 0.0,
- 0.7803921568627451,
- 0.6745098039,
- 0.4156862745,
- 0.0,
- 0.7843137254901961,
- 0.6823529412,
- 0.4235294118,
- 0.0,
- 0.788235294117647,
- 0.6901960784,
- 0.431372549,
- 0.0,
- 0.792156862745098,
- 0.7058823529,
- 0.4470588235,
- 0.0,
- 0.796078431372549,
- 0.7137254902,
- 0.4549019608,
- 0.0,
- 0.8,
- 0.7215686275,
- 0.462745098,
- 0.0,
- 0.803921568627451,
- 0.737254902,
- 0.4784313725,
- 0.0,
- 0.807843137254902,
- 0.7450980392,
- 0.4862745098,
- 0.0,
- 0.8117647058823529,
- 0.7529411765,
- 0.4941176471,
- 0.0,
- 0.8156862745098039,
- 0.7607843137,
- 0.5098039216,
- 0.0,
- 0.8196078431372549,
- 0.7764705882,
- 0.5176470588,
- 0.0,
- 0.8235294117647058,
- 0.7843137255,
- 0.5254901961,
- 0.0,
- 0.8274509803921568,
- 0.7921568627,
- 0.5411764706,
- 0.0,
- 0.8313725490196079,
- 0.8078431373,
- 0.5490196078,
- 0.0,
- 0.8352941176470589,
- 0.8156862745,
- 0.5568627451,
- 0.0,
- 0.8392156862745098,
- 0.8235294118,
- 0.5725490196,
- 0.0,
- 0.8431372549019608,
- 0.8392156863,
- 0.5803921569,
- 0.0,
- 0.8470588235294118,
- 0.8470588235,
- 0.5882352941,
- 0.0,
- 0.8509803921568627,
- 0.8549019608,
- 0.6039215686,
- 0.0,
- 0.8549019607843137,
- 0.862745098,
- 0.6117647059,
- 0.0,
- 0.8588235294117647,
- 0.8784313725,
- 0.6196078431,
- 0.0,
- 0.8627450980392157,
- 0.8862745098,
- 0.6352941176,
- 0.0,
- 0.8666666666666667,
- 0.8941176471,
- 0.6431372549,
- 0.0,
- 0.8705882352941177,
- 0.9098039216,
- 0.6509803922,
- 0.0,
- 0.8745098039215686,
- 0.9176470588,
- 0.6666666667,
- 0.0,
- 0.8784313725490196,
- 0.9254901961,
- 0.6745098039,
- 0.0,
- 0.8823529411764706,
- 0.9411764706,
- 0.6823529412,
- 0.0,
- 0.8862745098039215,
- 0.9490196078,
- 0.6980392157,
- 0.0,
- 0.8901960784313725,
- 0.9568627451,
- 0.7058823529,
- 0.0,
- 0.8941176470588236,
- 0.9647058824,
- 0.7137254902,
- 0.0,
- 0.8980392156862745,
- 0.9803921569,
- 0.7294117647,
- 0.0,
- 0.9019607843137255,
- 0.9882352941,
- 0.737254902,
- 0.0,
- 0.9058823529411765,
- 0.9960784314,
- 0.7450980392,
- 0.0,
- 0.9098039215686274,
- 0.9960784314,
- 0.7607843137,
- 0.0,
- 0.9137254901960784,
- 0.9960784314,
- 0.768627451,
- 0.0,
- 0.9176470588235294,
- 0.9960784314,
- 0.7764705882,
- 0.0,
- 0.9215686274509803,
- 0.9960784314,
- 0.7921568627,
- 0.0,
- 0.9254901960784314,
- 0.9960784314,
- 0.8,
- 0.0,
- 0.9294117647058824,
- 0.9960784314,
- 0.8078431373,
- 0.0,
- 0.9333333333333333,
- 0.9960784314,
- 0.8235294118,
- 0.0,
- 0.9372549019607843,
- 0.9960784314,
- 0.831372549,
- 0.0,
- 0.9411764705882354,
- 0.9960784314,
- 0.8392156863,
- 0.0,
- 0.9450980392156864,
- 0.9960784314,
- 0.8549019608,
- 0.0,
- 0.9490196078431372,
- 0.9960784314,
- 0.862745098,
- 0.0549019608,
- 0.9529411764705882,
- 0.9960784314,
- 0.8705882353,
- 0.1098039216,
- 0.9568627450980394,
- 0.9960784314,
- 0.8862745098,
- 0.1647058824,
- 0.9607843137254903,
- 0.9960784314,
- 0.8941176471,
- 0.2196078431,
- 0.9647058823529413,
- 0.9960784314,
- 0.9019607843,
- 0.2666666667,
- 0.9686274509803922,
- 0.9960784314,
- 0.9176470588,
- 0.3215686275,
- 0.9725490196078431,
- 0.9960784314,
- 0.9254901961,
- 0.3764705882,
- 0.9764705882352941,
- 0.9960784314,
- 0.9333333333,
- 0.431372549,
- 0.9803921568627451,
- 0.9960784314,
- 0.9490196078,
- 0.4862745098,
- 0.984313725490196,
- 0.9960784314,
- 0.9568627451,
- 0.5333333333,
- 0.9882352941176471,
- 0.9960784314,
- 0.9647058824,
- 0.5882352941,
- 0.9921568627450981,
- 0.9960784314,
- 0.9803921569,
- 0.6431372549,
- 0.996078431372549,
- 0.9960784314,
- 0.9882352941,
- 0.6980392157,
- 1.0,
- 0.9960784314,
- 0.9960784314,
- 0.7450980392,
+ 0.0, 0.0, 0.0, 0.0, 0.00392156862745098, 0.0078431373, 0.0235294118, 0.0235294118,
+ 0.00784313725490196, 0.0078431373, 0.031372549, 0.0470588235, 0.011764705882352941,
+ 0.0078431373, 0.0392156863, 0.062745098, 0.01568627450980392, 0.0078431373, 0.0470588235,
+ 0.0862745098, 0.0196078431372549, 0.0078431373, 0.0549019608, 0.1019607843,
+ 0.023529411764705882, 0.0078431373, 0.0549019608, 0.1254901961, 0.027450980392156862,
+ 0.0078431373, 0.062745098, 0.1411764706, 0.03137254901960784, 0.0078431373, 0.0705882353,
+ 0.1647058824, 0.03529411764705882, 0.0078431373, 0.0784313725, 0.1803921569,
+ 0.0392156862745098, 0.0078431373, 0.0862745098, 0.2039215686, 0.043137254901960784,
+ 0.0078431373, 0.0862745098, 0.2196078431, 0.047058823529411764, 0.0078431373, 0.0941176471,
+ 0.2431372549, 0.050980392156862744, 0.0078431373, 0.1019607843, 0.2666666667,
+ 0.054901960784313725, 0.0078431373, 0.1098039216, 0.2823529412, 0.05882352941176471,
+ 0.0078431373, 0.1176470588, 0.3058823529, 0.06274509803921569, 0.0078431373, 0.1176470588,
+ 0.3215686275, 0.06666666666666667, 0.0078431373, 0.1254901961, 0.3450980392,
+ 0.07058823529411765, 0.0078431373, 0.1333333333, 0.3607843137, 0.07450980392156863,
+ 0.0078431373, 0.1411764706, 0.3843137255, 0.0784313725490196, 0.0078431373, 0.1490196078, 0.4,
+ 0.08235294117647059, 0.0078431373, 0.1490196078, 0.4235294118, 0.08627450980392157,
+ 0.0078431373, 0.1568627451, 0.4392156863, 0.09019607843137255, 0.0078431373, 0.1647058824,
+ 0.462745098, 0.09411764705882353, 0.0078431373, 0.1725490196, 0.4784313725,
+ 0.09803921568627451, 0.0078431373, 0.1803921569, 0.5019607843, 0.10196078431372549,
+ 0.0078431373, 0.1803921569, 0.5254901961, 0.10588235294117647, 0.0078431373, 0.1882352941,
+ 0.5411764706, 0.10980392156862745, 0.0078431373, 0.1960784314, 0.5647058824,
+ 0.11372549019607843, 0.0078431373, 0.2039215686, 0.5803921569, 0.11764705882352942,
+ 0.0078431373, 0.2117647059, 0.6039215686, 0.12156862745098039, 0.0078431373, 0.2117647059,
+ 0.6196078431, 0.12549019607843137, 0.0078431373, 0.2196078431, 0.6431372549,
+ 0.12941176470588237, 0.0078431373, 0.2274509804, 0.6588235294, 0.13333333333333333,
+ 0.0078431373, 0.2352941176, 0.6823529412, 0.13725490196078433, 0.0078431373, 0.2431372549,
+ 0.6980392157, 0.1411764705882353, 0.0078431373, 0.2431372549, 0.7215686275,
+ 0.1450980392156863, 0.0078431373, 0.2509803922, 0.737254902, 0.14901960784313725,
+ 0.0078431373, 0.2588235294, 0.7607843137, 0.15294117647058825, 0.0078431373, 0.2666666667,
+ 0.7843137255, 0.1568627450980392, 0.0078431373, 0.2745098039, 0.8, 0.1607843137254902,
+ 0.0078431373, 0.2745098039, 0.8235294118, 0.16470588235294117, 0.0078431373, 0.2823529412,
+ 0.8392156863, 0.16862745098039217, 0.0078431373, 0.2901960784, 0.862745098,
+ 0.17254901960784313, 0.0078431373, 0.2980392157, 0.8784313725, 0.17647058823529413,
+ 0.0078431373, 0.3058823529, 0.9019607843, 0.1803921568627451, 0.0078431373, 0.3058823529,
+ 0.9176470588, 0.1843137254901961, 0.0078431373, 0.2980392157, 0.9411764706,
+ 0.18823529411764706, 0.0078431373, 0.3058823529, 0.9568627451, 0.19215686274509805,
+ 0.0078431373, 0.2980392157, 0.9803921569, 0.19607843137254902, 0.0078431373, 0.2980392157,
+ 0.9882352941, 0.2, 0.0078431373, 0.2901960784, 0.9803921569, 0.20392156862745098,
+ 0.0078431373, 0.2901960784, 0.9647058824, 0.20784313725490197, 0.0078431373, 0.2823529412,
+ 0.9568627451, 0.21176470588235294, 0.0078431373, 0.2823529412, 0.9411764706,
+ 0.21568627450980393, 0.0078431373, 0.2745098039, 0.9333333333, 0.2196078431372549,
+ 0.0078431373, 0.2666666667, 0.9176470588, 0.2235294117647059, 0.0078431373, 0.2666666667,
+ 0.9098039216, 0.22745098039215686, 0.0078431373, 0.2588235294, 0.9019607843,
+ 0.23137254901960785, 0.0078431373, 0.2588235294, 0.8862745098, 0.23529411764705885,
+ 0.0078431373, 0.2509803922, 0.8784313725, 0.23921568627450984, 0.0078431373, 0.2509803922,
+ 0.862745098, 0.24313725490196078, 0.0078431373, 0.2431372549, 0.8549019608,
+ 0.24705882352941178, 0.0078431373, 0.2352941176, 0.8392156863, 0.25098039215686274,
+ 0.0078431373, 0.2352941176, 0.831372549, 0.2549019607843137, 0.0078431373, 0.2274509804,
+ 0.8235294118, 0.25882352941176473, 0.0078431373, 0.2274509804, 0.8078431373,
+ 0.2627450980392157, 0.0078431373, 0.2196078431, 0.8, 0.26666666666666666, 0.0078431373,
+ 0.2196078431, 0.7843137255, 0.27058823529411763, 0.0078431373, 0.2117647059, 0.7764705882,
+ 0.27450980392156865, 0.0078431373, 0.2039215686, 0.7607843137, 0.2784313725490196,
+ 0.0078431373, 0.2039215686, 0.7529411765, 0.2823529411764706, 0.0078431373, 0.1960784314,
+ 0.7450980392, 0.28627450980392155, 0.0078431373, 0.1960784314, 0.7294117647,
+ 0.2901960784313726, 0.0078431373, 0.1882352941, 0.7215686275, 0.29411764705882354,
+ 0.0078431373, 0.1882352941, 0.7058823529, 0.2980392156862745, 0.0078431373, 0.1803921569,
+ 0.6980392157, 0.30196078431372547, 0.0078431373, 0.1803921569, 0.6823529412,
+ 0.3058823529411765, 0.0078431373, 0.1725490196, 0.6745098039, 0.30980392156862746,
+ 0.0078431373, 0.1647058824, 0.6666666667, 0.3137254901960784, 0.0078431373, 0.1647058824,
+ 0.6509803922, 0.3176470588235294, 0.0078431373, 0.1568627451, 0.6431372549,
+ 0.3215686274509804, 0.0078431373, 0.1568627451, 0.6274509804, 0.3254901960784314,
+ 0.0078431373, 0.1490196078, 0.6196078431, 0.32941176470588235, 0.0078431373, 0.1490196078,
+ 0.6039215686, 0.3333333333333333, 0.0078431373, 0.1411764706, 0.5960784314,
+ 0.33725490196078434, 0.0078431373, 0.1333333333, 0.5882352941, 0.3411764705882353,
+ 0.0078431373, 0.1333333333, 0.5725490196, 0.34509803921568627, 0.0078431373, 0.1254901961,
+ 0.5647058824, 0.34901960784313724, 0.0078431373, 0.1254901961, 0.5490196078,
+ 0.35294117647058826, 0.0078431373, 0.1176470588, 0.5411764706, 0.3568627450980392,
+ 0.0078431373, 0.1176470588, 0.5254901961, 0.3607843137254902, 0.0078431373, 0.1098039216,
+ 0.5176470588, 0.36470588235294116, 0.0078431373, 0.1019607843, 0.5098039216,
+ 0.3686274509803922, 0.0078431373, 0.1019607843, 0.4941176471, 0.37254901960784315,
+ 0.0078431373, 0.0941176471, 0.4862745098, 0.3764705882352941, 0.0078431373, 0.0941176471,
+ 0.4705882353, 0.3803921568627451, 0.0078431373, 0.0862745098, 0.462745098, 0.3843137254901961,
+ 0.0078431373, 0.0862745098, 0.4470588235, 0.38823529411764707, 0.0078431373, 0.0784313725,
+ 0.4392156863, 0.39215686274509803, 0.0078431373, 0.0705882353, 0.431372549, 0.396078431372549,
+ 0.0078431373, 0.0705882353, 0.4156862745, 0.4, 0.0078431373, 0.062745098, 0.4078431373,
+ 0.403921568627451, 0.0078431373, 0.062745098, 0.3921568627, 0.40784313725490196, 0.0078431373,
+ 0.0549019608, 0.3843137255, 0.4117647058823529, 0.0078431373, 0.0549019608, 0.368627451,
+ 0.41568627450980394, 0.0078431373, 0.0470588235, 0.3607843137, 0.4196078431372549,
+ 0.0078431373, 0.0470588235, 0.3529411765, 0.4235294117647059, 0.0078431373, 0.0392156863,
+ 0.337254902, 0.42745098039215684, 0.0078431373, 0.031372549, 0.3294117647,
+ 0.43137254901960786, 0.0078431373, 0.031372549, 0.3137254902, 0.43529411764705883,
+ 0.0078431373, 0.0235294118, 0.3058823529, 0.4392156862745098, 0.0078431373, 0.0235294118,
+ 0.2901960784, 0.44313725490196076, 0.0078431373, 0.0156862745, 0.2823529412,
+ 0.4470588235294118, 0.0078431373, 0.0156862745, 0.2745098039, 0.45098039215686275,
+ 0.0078431373, 0.0078431373, 0.2588235294, 0.4549019607843137, 0.0235294118, 0.0078431373,
+ 0.2509803922, 0.4588235294117647, 0.0078431373, 0.0078431373, 0.2352941176,
+ 0.4627450980392157, 0.0078431373, 0.0078431373, 0.2274509804, 0.4666666666666667,
+ 0.0078431373, 0.0078431373, 0.2117647059, 0.4705882352941177, 0.0078431373, 0.0078431373,
+ 0.2039215686, 0.4745098039215686, 0.0078431373, 0.0078431373, 0.1960784314,
+ 0.4784313725490197, 0.0078431373, 0.0078431373, 0.1803921569, 0.48235294117647065,
+ 0.0078431373, 0.0078431373, 0.1725490196, 0.48627450980392156, 0.0078431373, 0.0078431373,
+ 0.1568627451, 0.49019607843137253, 0.0078431373, 0.0078431373, 0.1490196078,
+ 0.49411764705882355, 0.0078431373, 0.0078431373, 0.1333333333, 0.4980392156862745,
+ 0.0078431373, 0.0078431373, 0.1254901961, 0.5019607843137255, 0.0078431373, 0.0078431373,
+ 0.1176470588, 0.5058823529411764, 0.0078431373, 0.0078431373, 0.1019607843,
+ 0.5098039215686274, 0.0078431373, 0.0078431373, 0.0941176471, 0.5137254901960784,
+ 0.0078431373, 0.0078431373, 0.0784313725, 0.5176470588235295, 0.0078431373, 0.0078431373,
+ 0.0705882353, 0.5215686274509804, 0.0078431373, 0.0078431373, 0.0549019608,
+ 0.5254901960784314, 0.0078431373, 0.0078431373, 0.0470588235, 0.5294117647058824,
+ 0.0235294118, 0.0078431373, 0.0392156863, 0.5333333333333333, 0.031372549, 0.0078431373,
+ 0.0235294118, 0.5372549019607843, 0.0392156863, 0.0078431373, 0.0156862745,
+ 0.5411764705882353, 0.0549019608, 0.0078431373, 0.0, 0.5450980392156862, 0.062745098,
+ 0.0078431373, 0.0, 0.5490196078431373, 0.0705882353, 0.0078431373, 0.0, 0.5529411764705883,
+ 0.0862745098, 0.0078431373, 0.0, 0.5568627450980392, 0.0941176471, 0.0078431373, 0.0,
+ 0.5607843137254902, 0.1019607843, 0.0078431373, 0.0, 0.5647058823529412, 0.1098039216,
+ 0.0078431373, 0.0, 0.5686274509803921, 0.1254901961, 0.0078431373, 0.0, 0.5725490196078431,
+ 0.1333333333, 0.0078431373, 0.0, 0.5764705882352941, 0.1411764706, 0.0078431373, 0.0,
+ 0.5803921568627451, 0.1568627451, 0.0078431373, 0.0, 0.5843137254901961, 0.1647058824,
+ 0.0078431373, 0.0, 0.5882352941176471, 0.1725490196, 0.0078431373, 0.0, 0.592156862745098,
+ 0.1882352941, 0.0078431373, 0.0, 0.596078431372549, 0.1960784314, 0.0078431373, 0.0, 0.6,
+ 0.2039215686, 0.0078431373, 0.0, 0.6039215686274509, 0.2117647059, 0.0078431373, 0.0,
+ 0.6078431372549019, 0.2274509804, 0.0078431373, 0.0, 0.611764705882353, 0.2352941176,
+ 0.0078431373, 0.0, 0.615686274509804, 0.2431372549, 0.0078431373, 0.0, 0.6196078431372549,
+ 0.2588235294, 0.0078431373, 0.0, 0.6235294117647059, 0.2666666667, 0.0078431373, 0.0,
+ 0.6274509803921569, 0.2745098039, 0.0, 0.0, 0.6313725490196078, 0.2901960784, 0.0156862745,
+ 0.0, 0.6352941176470588, 0.2980392157, 0.0235294118, 0.0, 0.6392156862745098, 0.3058823529,
+ 0.0392156863, 0.0, 0.6431372549019608, 0.3137254902, 0.0470588235, 0.0, 0.6470588235294118,
+ 0.3294117647, 0.0549019608, 0.0, 0.6509803921568628, 0.337254902, 0.0705882353, 0.0,
+ 0.6549019607843137, 0.3450980392, 0.0784313725, 0.0, 0.6588235294117647, 0.3607843137,
+ 0.0862745098, 0.0, 0.6627450980392157, 0.368627451, 0.1019607843, 0.0, 0.6666666666666666,
+ 0.3764705882, 0.1098039216, 0.0, 0.6705882352941176, 0.3843137255, 0.1176470588, 0.0,
+ 0.6745098039215687, 0.4, 0.1333333333, 0.0, 0.6784313725490196, 0.4078431373, 0.1411764706,
+ 0.0, 0.6823529411764706, 0.4156862745, 0.1490196078, 0.0, 0.6862745098039216, 0.431372549,
+ 0.1647058824, 0.0, 0.6901960784313725, 0.4392156863, 0.1725490196, 0.0, 0.6941176470588235,
+ 0.4470588235, 0.1803921569, 0.0, 0.6980392156862745, 0.462745098, 0.1960784314, 0.0,
+ 0.7019607843137254, 0.4705882353, 0.2039215686, 0.0, 0.7058823529411765, 0.4784313725,
+ 0.2117647059, 0.0, 0.7098039215686275, 0.4862745098, 0.2274509804, 0.0, 0.7137254901960784,
+ 0.5019607843, 0.2352941176, 0.0, 0.7176470588235294, 0.5098039216, 0.2431372549, 0.0,
+ 0.7215686274509804, 0.5176470588, 0.2588235294, 0.0, 0.7254901960784313, 0.5333333333,
+ 0.2666666667, 0.0, 0.7294117647058823, 0.5411764706, 0.2745098039, 0.0, 0.7333333333333333,
+ 0.5490196078, 0.2901960784, 0.0, 0.7372549019607844, 0.5647058824, 0.2980392157, 0.0,
+ 0.7411764705882353, 0.5725490196, 0.3058823529, 0.0, 0.7450980392156863, 0.5803921569,
+ 0.3215686275, 0.0, 0.7490196078431373, 0.5882352941, 0.3294117647, 0.0, 0.7529411764705882,
+ 0.6039215686, 0.337254902, 0.0, 0.7568627450980392, 0.6117647059, 0.3529411765, 0.0,
+ 0.7607843137254902, 0.6196078431, 0.3607843137, 0.0, 0.7647058823529411, 0.6352941176,
+ 0.368627451, 0.0, 0.7686274509803922, 0.6431372549, 0.3843137255, 0.0, 0.7725490196078432,
+ 0.6509803922, 0.3921568627, 0.0, 0.7764705882352941, 0.6588235294, 0.4, 0.0,
+ 0.7803921568627451, 0.6745098039, 0.4156862745, 0.0, 0.7843137254901961, 0.6823529412,
+ 0.4235294118, 0.0, 0.788235294117647, 0.6901960784, 0.431372549, 0.0, 0.792156862745098,
+ 0.7058823529, 0.4470588235, 0.0, 0.796078431372549, 0.7137254902, 0.4549019608, 0.0, 0.8,
+ 0.7215686275, 0.462745098, 0.0, 0.803921568627451, 0.737254902, 0.4784313725, 0.0,
+ 0.807843137254902, 0.7450980392, 0.4862745098, 0.0, 0.8117647058823529, 0.7529411765,
+ 0.4941176471, 0.0, 0.8156862745098039, 0.7607843137, 0.5098039216, 0.0, 0.8196078431372549,
+ 0.7764705882, 0.5176470588, 0.0, 0.8235294117647058, 0.7843137255, 0.5254901961, 0.0,
+ 0.8274509803921568, 0.7921568627, 0.5411764706, 0.0, 0.8313725490196079, 0.8078431373,
+ 0.5490196078, 0.0, 0.8352941176470589, 0.8156862745, 0.5568627451, 0.0, 0.8392156862745098,
+ 0.8235294118, 0.5725490196, 0.0, 0.8431372549019608, 0.8392156863, 0.5803921569, 0.0,
+ 0.8470588235294118, 0.8470588235, 0.5882352941, 0.0, 0.8509803921568627, 0.8549019608,
+ 0.6039215686, 0.0, 0.8549019607843137, 0.862745098, 0.6117647059, 0.0, 0.8588235294117647,
+ 0.8784313725, 0.6196078431, 0.0, 0.8627450980392157, 0.8862745098, 0.6352941176, 0.0,
+ 0.8666666666666667, 0.8941176471, 0.6431372549, 0.0, 0.8705882352941177, 0.9098039216,
+ 0.6509803922, 0.0, 0.8745098039215686, 0.9176470588, 0.6666666667, 0.0, 0.8784313725490196,
+ 0.9254901961, 0.6745098039, 0.0, 0.8823529411764706, 0.9411764706, 0.6823529412, 0.0,
+ 0.8862745098039215, 0.9490196078, 0.6980392157, 0.0, 0.8901960784313725, 0.9568627451,
+ 0.7058823529, 0.0, 0.8941176470588236, 0.9647058824, 0.7137254902, 0.0, 0.8980392156862745,
+ 0.9803921569, 0.7294117647, 0.0, 0.9019607843137255, 0.9882352941, 0.737254902, 0.0,
+ 0.9058823529411765, 0.9960784314, 0.7450980392, 0.0, 0.9098039215686274, 0.9960784314,
+ 0.7607843137, 0.0, 0.9137254901960784, 0.9960784314, 0.768627451, 0.0, 0.9176470588235294,
+ 0.9960784314, 0.7764705882, 0.0, 0.9215686274509803, 0.9960784314, 0.7921568627, 0.0,
+ 0.9254901960784314, 0.9960784314, 0.8, 0.0, 0.9294117647058824, 0.9960784314, 0.8078431373,
+ 0.0, 0.9333333333333333, 0.9960784314, 0.8235294118, 0.0, 0.9372549019607843, 0.9960784314,
+ 0.831372549, 0.0, 0.9411764705882354, 0.9960784314, 0.8392156863, 0.0, 0.9450980392156864,
+ 0.9960784314, 0.8549019608, 0.0, 0.9490196078431372, 0.9960784314, 0.862745098, 0.0549019608,
+ 0.9529411764705882, 0.9960784314, 0.8705882353, 0.1098039216, 0.9568627450980394,
+ 0.9960784314, 0.8862745098, 0.1647058824, 0.9607843137254903, 0.9960784314, 0.8941176471,
+ 0.2196078431, 0.9647058823529413, 0.9960784314, 0.9019607843, 0.2666666667,
+ 0.9686274509803922, 0.9960784314, 0.9176470588, 0.3215686275, 0.9725490196078431,
+ 0.9960784314, 0.9254901961, 0.3764705882, 0.9764705882352941, 0.9960784314, 0.9333333333,
+ 0.431372549, 0.9803921568627451, 0.9960784314, 0.9490196078, 0.4862745098, 0.984313725490196,
+ 0.9960784314, 0.9568627451, 0.5333333333, 0.9882352941176471, 0.9960784314, 0.9647058824,
+ 0.5882352941, 0.9921568627450981, 0.9960784314, 0.9803921569, 0.6431372549, 0.996078431372549,
+ 0.9960784314, 0.9882352941, 0.6980392157, 1.0, 0.9960784314, 0.9960784314, 0.7450980392,
],
},
{
ColorSpace: 'RGB',
Name: 'rainbow_2',
RGBPoints: [
- 0.0,
- 0.0,
- 0.0,
- 0.0,
- 0.00392156862745098,
- 0.0156862745,
- 0.0,
- 0.0117647059,
- 0.00784313725490196,
- 0.0352941176,
- 0.0,
- 0.0274509804,
- 0.011764705882352941,
- 0.0509803922,
- 0.0,
- 0.0392156863,
- 0.01568627450980392,
- 0.0705882353,
- 0.0,
- 0.0549019608,
- 0.0196078431372549,
- 0.0862745098,
- 0.0,
- 0.0745098039,
- 0.023529411764705882,
- 0.1058823529,
- 0.0,
- 0.0901960784,
- 0.027450980392156862,
- 0.1215686275,
- 0.0,
- 0.1098039216,
- 0.03137254901960784,
- 0.1411764706,
- 0.0,
- 0.1254901961,
- 0.03529411764705882,
- 0.1568627451,
- 0.0,
- 0.1490196078,
- 0.0392156862745098,
- 0.1764705882,
- 0.0,
- 0.168627451,
- 0.043137254901960784,
- 0.1960784314,
- 0.0,
- 0.1882352941,
- 0.047058823529411764,
- 0.2117647059,
- 0.0,
- 0.2078431373,
- 0.050980392156862744,
- 0.2274509804,
- 0.0,
- 0.231372549,
- 0.054901960784313725,
- 0.2392156863,
- 0.0,
- 0.2470588235,
- 0.05882352941176471,
- 0.2509803922,
- 0.0,
- 0.2666666667,
- 0.06274509803921569,
- 0.2666666667,
- 0.0,
- 0.2823529412,
- 0.06666666666666667,
- 0.2705882353,
- 0.0,
- 0.3019607843,
- 0.07058823529411765,
- 0.2823529412,
- 0.0,
- 0.3176470588,
- 0.07450980392156863,
- 0.2901960784,
- 0.0,
- 0.337254902,
- 0.0784313725490196,
- 0.3019607843,
- 0.0,
- 0.3568627451,
- 0.08235294117647059,
- 0.3098039216,
- 0.0,
- 0.3725490196,
- 0.08627450980392157,
- 0.3137254902,
- 0.0,
- 0.3921568627,
- 0.09019607843137255,
- 0.3215686275,
- 0.0,
- 0.4078431373,
- 0.09411764705882353,
- 0.3254901961,
- 0.0,
- 0.4274509804,
- 0.09803921568627451,
- 0.3333333333,
- 0.0,
- 0.4431372549,
- 0.10196078431372549,
- 0.3294117647,
- 0.0,
- 0.462745098,
- 0.10588235294117647,
- 0.337254902,
- 0.0,
- 0.4784313725,
- 0.10980392156862745,
- 0.3411764706,
- 0.0,
- 0.4980392157,
- 0.11372549019607843,
- 0.3450980392,
- 0.0,
- 0.5176470588,
- 0.11764705882352942,
- 0.337254902,
- 0.0,
- 0.5333333333,
- 0.12156862745098039,
- 0.3411764706,
- 0.0,
- 0.5529411765,
- 0.12549019607843137,
- 0.3411764706,
- 0.0,
- 0.568627451,
- 0.12941176470588237,
- 0.3411764706,
- 0.0,
- 0.5882352941,
- 0.13333333333333333,
- 0.3333333333,
- 0.0,
- 0.6039215686,
- 0.13725490196078433,
- 0.3294117647,
- 0.0,
- 0.6235294118,
- 0.1411764705882353,
- 0.3294117647,
- 0.0,
- 0.6392156863,
- 0.1450980392156863,
- 0.3294117647,
- 0.0,
- 0.6588235294,
- 0.14901960784313725,
- 0.3254901961,
- 0.0,
- 0.6784313725,
- 0.15294117647058825,
- 0.3098039216,
- 0.0,
- 0.6941176471,
- 0.1568627450980392,
- 0.3058823529,
- 0.0,
- 0.7137254902,
- 0.1607843137254902,
- 0.3019607843,
- 0.0,
- 0.7294117647,
- 0.16470588235294117,
- 0.2980392157,
- 0.0,
- 0.7490196078,
- 0.16862745098039217,
- 0.2784313725,
- 0.0,
- 0.7647058824,
- 0.17254901960784313,
- 0.2745098039,
- 0.0,
- 0.7843137255,
- 0.17647058823529413,
- 0.2666666667,
- 0.0,
- 0.8,
- 0.1803921568627451,
- 0.2588235294,
- 0.0,
- 0.8196078431,
- 0.1843137254901961,
- 0.2352941176,
- 0.0,
- 0.8392156863,
- 0.18823529411764706,
- 0.2274509804,
- 0.0,
- 0.8549019608,
- 0.19215686274509805,
- 0.2156862745,
- 0.0,
- 0.8745098039,
- 0.19607843137254902,
- 0.2078431373,
- 0.0,
- 0.8901960784,
- 0.2,
- 0.1803921569,
- 0.0,
- 0.9098039216,
- 0.20392156862745098,
- 0.168627451,
- 0.0,
- 0.9254901961,
- 0.20784313725490197,
- 0.1568627451,
- 0.0,
- 0.9450980392,
- 0.21176470588235294,
- 0.1411764706,
- 0.0,
- 0.9607843137,
- 0.21568627450980393,
- 0.1294117647,
- 0.0,
- 0.9803921569,
- 0.2196078431372549,
- 0.0980392157,
- 0.0,
- 1.0,
- 0.2235294117647059,
- 0.0823529412,
- 0.0,
- 1.0,
- 0.22745098039215686,
- 0.062745098,
- 0.0,
- 1.0,
- 0.23137254901960785,
- 0.0470588235,
- 0.0,
- 1.0,
- 0.23529411764705885,
- 0.0156862745,
- 0.0,
- 1.0,
- 0.23921568627450984,
- 0.0,
- 0.0,
- 1.0,
- 0.24313725490196078,
- 0.0,
- 0.0156862745,
- 1.0,
- 0.24705882352941178,
- 0.0,
- 0.031372549,
- 1.0,
- 0.25098039215686274,
- 0.0,
- 0.062745098,
- 1.0,
- 0.2549019607843137,
- 0.0,
- 0.0823529412,
- 1.0,
- 0.25882352941176473,
- 0.0,
- 0.0980392157,
- 1.0,
- 0.2627450980392157,
- 0.0,
- 0.1137254902,
- 1.0,
- 0.26666666666666666,
- 0.0,
- 0.1490196078,
- 1.0,
- 0.27058823529411763,
- 0.0,
- 0.1647058824,
- 1.0,
- 0.27450980392156865,
- 0.0,
- 0.1803921569,
- 1.0,
- 0.2784313725490196,
- 0.0,
- 0.2,
- 1.0,
- 0.2823529411764706,
- 0.0,
- 0.2156862745,
- 1.0,
- 0.28627450980392155,
- 0.0,
- 0.2470588235,
- 1.0,
- 0.2901960784313726,
- 0.0,
- 0.262745098,
- 1.0,
- 0.29411764705882354,
- 0.0,
- 0.2823529412,
- 1.0,
- 0.2980392156862745,
- 0.0,
- 0.2980392157,
- 1.0,
- 0.30196078431372547,
- 0.0,
- 0.3294117647,
- 1.0,
- 0.3058823529411765,
- 0.0,
- 0.3490196078,
- 1.0,
- 0.30980392156862746,
- 0.0,
- 0.3647058824,
- 1.0,
- 0.3137254901960784,
- 0.0,
- 0.3803921569,
- 1.0,
- 0.3176470588235294,
- 0.0,
- 0.4156862745,
- 1.0,
- 0.3215686274509804,
- 0.0,
- 0.431372549,
- 1.0,
- 0.3254901960784314,
- 0.0,
- 0.4470588235,
- 1.0,
- 0.32941176470588235,
- 0.0,
- 0.4666666667,
- 1.0,
- 0.3333333333333333,
- 0.0,
- 0.4980392157,
- 1.0,
- 0.33725490196078434,
- 0.0,
- 0.5137254902,
- 1.0,
- 0.3411764705882353,
- 0.0,
- 0.5294117647,
- 1.0,
- 0.34509803921568627,
- 0.0,
- 0.5490196078,
- 1.0,
- 0.34901960784313724,
- 0.0,
- 0.5647058824,
- 1.0,
- 0.35294117647058826,
- 0.0,
- 0.5960784314,
- 1.0,
- 0.3568627450980392,
- 0.0,
- 0.6156862745,
- 1.0,
- 0.3607843137254902,
- 0.0,
- 0.631372549,
- 1.0,
- 0.36470588235294116,
- 0.0,
- 0.6470588235,
- 1.0,
- 0.3686274509803922,
- 0.0,
- 0.6823529412,
- 1.0,
- 0.37254901960784315,
- 0.0,
- 0.6980392157,
- 1.0,
- 0.3764705882352941,
- 0.0,
- 0.7137254902,
- 1.0,
- 0.3803921568627451,
- 0.0,
- 0.7333333333,
- 1.0,
- 0.3843137254901961,
- 0.0,
- 0.7647058824,
- 1.0,
- 0.38823529411764707,
- 0.0,
- 0.7803921569,
- 1.0,
- 0.39215686274509803,
- 0.0,
- 0.7960784314,
- 1.0,
- 0.396078431372549,
- 0.0,
- 0.8156862745,
- 1.0,
- 0.4,
- 0.0,
- 0.8470588235,
- 1.0,
- 0.403921568627451,
- 0.0,
- 0.862745098,
- 1.0,
- 0.40784313725490196,
- 0.0,
- 0.8823529412,
- 1.0,
- 0.4117647058823529,
- 0.0,
- 0.8980392157,
- 1.0,
- 0.41568627450980394,
- 0.0,
- 0.9137254902,
- 1.0,
- 0.4196078431372549,
- 0.0,
- 0.9490196078,
- 1.0,
- 0.4235294117647059,
- 0.0,
- 0.9647058824,
- 1.0,
- 0.42745098039215684,
- 0.0,
- 0.9803921569,
- 1.0,
- 0.43137254901960786,
- 0.0,
- 1.0,
- 1.0,
- 0.43529411764705883,
- 0.0,
- 1.0,
- 0.9647058824,
- 0.4392156862745098,
- 0.0,
- 1.0,
- 0.9490196078,
- 0.44313725490196076,
- 0.0,
- 1.0,
- 0.9333333333,
- 0.4470588235294118,
- 0.0,
- 1.0,
- 0.9137254902,
- 0.45098039215686275,
- 0.0,
- 1.0,
- 0.8823529412,
- 0.4549019607843137,
- 0.0,
- 1.0,
- 0.862745098,
- 0.4588235294117647,
- 0.0,
- 1.0,
- 0.8470588235,
- 0.4627450980392157,
- 0.0,
- 1.0,
- 0.831372549,
- 0.4666666666666667,
- 0.0,
- 1.0,
- 0.7960784314,
- 0.4705882352941177,
- 0.0,
- 1.0,
- 0.7803921569,
- 0.4745098039215686,
- 0.0,
- 1.0,
- 0.7647058824,
- 0.4784313725490197,
- 0.0,
- 1.0,
- 0.7490196078,
- 0.48235294117647065,
- 0.0,
- 1.0,
- 0.7333333333,
- 0.48627450980392156,
- 0.0,
- 1.0,
- 0.6980392157,
- 0.49019607843137253,
- 0.0,
- 1.0,
- 0.6823529412,
- 0.49411764705882355,
- 0.0,
- 1.0,
- 0.6666666667,
- 0.4980392156862745,
- 0.0,
- 1.0,
- 0.6470588235,
- 0.5019607843137255,
- 0.0,
- 1.0,
- 0.6156862745,
- 0.5058823529411764,
- 0.0,
- 1.0,
- 0.5960784314,
- 0.5098039215686274,
- 0.0,
- 1.0,
- 0.5803921569,
- 0.5137254901960784,
- 0.0,
- 1.0,
- 0.5647058824,
- 0.5176470588235295,
- 0.0,
- 1.0,
- 0.5294117647,
- 0.5215686274509804,
- 0.0,
- 1.0,
- 0.5137254902,
- 0.5254901960784314,
- 0.0,
- 1.0,
- 0.4980392157,
- 0.5294117647058824,
- 0.0,
- 1.0,
- 0.4823529412,
- 0.5333333333333333,
- 0.0,
- 1.0,
- 0.4470588235,
- 0.5372549019607843,
- 0.0,
- 1.0,
- 0.431372549,
- 0.5411764705882353,
- 0.0,
- 1.0,
- 0.4156862745,
- 0.5450980392156862,
- 0.0,
- 1.0,
- 0.4,
- 0.5490196078431373,
- 0.0,
- 1.0,
- 0.3803921569,
- 0.5529411764705883,
- 0.0,
- 1.0,
- 0.3490196078,
- 0.5568627450980392,
- 0.0,
- 1.0,
- 0.3294117647,
- 0.5607843137254902,
- 0.0,
- 1.0,
- 0.3137254902,
- 0.5647058823529412,
- 0.0,
- 1.0,
- 0.2980392157,
- 0.5686274509803921,
- 0.0,
- 1.0,
- 0.262745098,
- 0.5725490196078431,
- 0.0,
- 1.0,
- 0.2470588235,
- 0.5764705882352941,
- 0.0,
- 1.0,
- 0.231372549,
- 0.5803921568627451,
- 0.0,
- 1.0,
- 0.2156862745,
- 0.5843137254901961,
- 0.0,
- 1.0,
- 0.1803921569,
- 0.5882352941176471,
- 0.0,
- 1.0,
- 0.1647058824,
- 0.592156862745098,
- 0.0,
- 1.0,
- 0.1490196078,
- 0.596078431372549,
- 0.0,
- 1.0,
- 0.1333333333,
- 0.6,
- 0.0,
- 1.0,
- 0.0980392157,
- 0.6039215686274509,
- 0.0,
- 1.0,
- 0.0823529412,
- 0.6078431372549019,
- 0.0,
- 1.0,
- 0.062745098,
- 0.611764705882353,
- 0.0,
- 1.0,
- 0.0470588235,
- 0.615686274509804,
- 0.0,
- 1.0,
- 0.031372549,
- 0.6196078431372549,
- 0.0,
- 1.0,
- 0.0,
- 0.6235294117647059,
- 0.0156862745,
- 1.0,
- 0.0,
- 0.6274509803921569,
- 0.031372549,
- 1.0,
- 0.0,
- 0.6313725490196078,
- 0.0470588235,
- 1.0,
- 0.0,
- 0.6352941176470588,
- 0.0823529412,
- 1.0,
- 0.0,
- 0.6392156862745098,
- 0.0980392157,
- 1.0,
- 0.0,
- 0.6431372549019608,
- 0.1137254902,
- 1.0,
- 0.0,
- 0.6470588235294118,
- 0.1294117647,
- 1.0,
- 0.0,
- 0.6509803921568628,
- 0.1647058824,
- 1.0,
- 0.0,
- 0.6549019607843137,
- 0.1803921569,
- 1.0,
- 0.0,
- 0.6588235294117647,
- 0.2,
- 1.0,
- 0.0,
- 0.6627450980392157,
- 0.2156862745,
- 1.0,
- 0.0,
- 0.6666666666666666,
- 0.2470588235,
- 1.0,
- 0.0,
- 0.6705882352941176,
- 0.262745098,
- 1.0,
- 0.0,
- 0.6745098039215687,
- 0.2823529412,
- 1.0,
- 0.0,
- 0.6784313725490196,
- 0.2980392157,
- 1.0,
- 0.0,
- 0.6823529411764706,
- 0.3137254902,
- 1.0,
- 0.0,
- 0.6862745098039216,
- 0.3490196078,
- 1.0,
- 0.0,
- 0.6901960784313725,
- 0.3647058824,
- 1.0,
- 0.0,
- 0.6941176470588235,
- 0.3803921569,
- 1.0,
- 0.0,
- 0.6980392156862745,
- 0.3960784314,
- 1.0,
- 0.0,
- 0.7019607843137254,
- 0.431372549,
- 1.0,
- 0.0,
- 0.7058823529411765,
- 0.4470588235,
- 1.0,
- 0.0,
- 0.7098039215686275,
- 0.4666666667,
- 1.0,
- 0.0,
- 0.7137254901960784,
- 0.4823529412,
- 1.0,
- 0.0,
- 0.7176470588235294,
- 0.5137254902,
- 1.0,
- 0.0,
- 0.7215686274509804,
- 0.5294117647,
- 1.0,
- 0.0,
- 0.7254901960784313,
- 0.5490196078,
- 1.0,
- 0.0,
- 0.7294117647058823,
- 0.5647058824,
- 1.0,
- 0.0,
- 0.7333333333333333,
- 0.6,
- 1.0,
- 0.0,
- 0.7372549019607844,
- 0.6156862745,
- 1.0,
- 0.0,
- 0.7411764705882353,
- 0.631372549,
- 1.0,
- 0.0,
- 0.7450980392156863,
- 0.6470588235,
- 1.0,
- 0.0,
- 0.7490196078431373,
- 0.662745098,
- 1.0,
- 0.0,
- 0.7529411764705882,
- 0.6980392157,
- 1.0,
- 0.0,
- 0.7568627450980392,
- 0.7137254902,
- 1.0,
- 0.0,
- 0.7607843137254902,
- 0.7333333333,
- 1.0,
- 0.0,
- 0.7647058823529411,
- 0.7490196078,
- 1.0,
- 0.0,
- 0.7686274509803922,
- 0.7803921569,
- 1.0,
- 0.0,
- 0.7725490196078432,
- 0.7960784314,
- 1.0,
- 0.0,
- 0.7764705882352941,
- 0.8156862745,
- 1.0,
- 0.0,
- 0.7803921568627451,
- 0.831372549,
- 1.0,
- 0.0,
- 0.7843137254901961,
- 0.8666666667,
- 1.0,
- 0.0,
- 0.788235294117647,
- 0.8823529412,
- 1.0,
- 0.0,
- 0.792156862745098,
- 0.8980392157,
- 1.0,
- 0.0,
- 0.796078431372549,
- 0.9137254902,
- 1.0,
- 0.0,
- 0.8,
- 0.9490196078,
- 1.0,
- 0.0,
- 0.803921568627451,
- 0.9647058824,
- 1.0,
- 0.0,
- 0.807843137254902,
- 0.9803921569,
- 1.0,
- 0.0,
- 0.8117647058823529,
- 1.0,
- 1.0,
- 0.0,
- 0.8156862745098039,
- 1.0,
- 0.9803921569,
- 0.0,
- 0.8196078431372549,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.8235294117647058,
- 1.0,
- 0.9333333333,
- 0.0,
- 0.8274509803921568,
- 1.0,
- 0.9137254902,
- 0.0,
- 0.8313725490196079,
- 1.0,
- 0.8980392157,
- 0.0,
- 0.8352941176470589,
- 1.0,
- 0.8666666667,
- 0.0,
- 0.8392156862745098,
- 1.0,
- 0.8470588235,
- 0.0,
- 0.8431372549019608,
- 1.0,
- 0.831372549,
- 0.0,
- 0.8470588235294118,
- 1.0,
- 0.8156862745,
- 0.0,
- 0.8509803921568627,
- 1.0,
- 0.7803921569,
- 0.0,
- 0.8549019607843137,
- 1.0,
- 0.7647058824,
- 0.0,
- 0.8588235294117647,
- 1.0,
- 0.7490196078,
- 0.0,
- 0.8627450980392157,
- 1.0,
- 0.7333333333,
- 0.0,
- 0.8666666666666667,
- 1.0,
- 0.6980392157,
- 0.0,
- 0.8705882352941177,
- 1.0,
- 0.6823529412,
- 0.0,
- 0.8745098039215686,
- 1.0,
- 0.6666666667,
- 0.0,
- 0.8784313725490196,
- 1.0,
- 0.6470588235,
- 0.0,
- 0.8823529411764706,
- 1.0,
- 0.631372549,
- 0.0,
- 0.8862745098039215,
- 1.0,
- 0.6,
- 0.0,
- 0.8901960784313725,
- 1.0,
- 0.5803921569,
- 0.0,
- 0.8941176470588236,
- 1.0,
- 0.5647058824,
- 0.0,
- 0.8980392156862745,
- 1.0,
- 0.5490196078,
- 0.0,
- 0.9019607843137255,
- 1.0,
- 0.5137254902,
- 0.0,
- 0.9058823529411765,
- 1.0,
- 0.4980392157,
- 0.0,
- 0.9098039215686274,
- 1.0,
- 0.4823529412,
- 0.0,
- 0.9137254901960784,
- 1.0,
- 0.4666666667,
- 0.0,
- 0.9176470588235294,
- 1.0,
- 0.431372549,
- 0.0,
- 0.9215686274509803,
- 1.0,
- 0.4156862745,
- 0.0,
- 0.9254901960784314,
- 1.0,
- 0.4,
- 0.0,
- 0.9294117647058824,
- 1.0,
- 0.3803921569,
- 0.0,
- 0.9333333333333333,
- 1.0,
- 0.3490196078,
- 0.0,
- 0.9372549019607843,
- 1.0,
- 0.3333333333,
- 0.0,
- 0.9411764705882354,
- 1.0,
- 0.3137254902,
- 0.0,
- 0.9450980392156864,
- 1.0,
- 0.2980392157,
- 0.0,
- 0.9490196078431372,
- 1.0,
- 0.2823529412,
- 0.0,
- 0.9529411764705882,
- 1.0,
- 0.2470588235,
- 0.0,
- 0.9568627450980394,
- 1.0,
- 0.231372549,
- 0.0,
- 0.9607843137254903,
- 1.0,
- 0.2156862745,
- 0.0,
- 0.9647058823529413,
- 1.0,
- 0.2,
- 0.0,
- 0.9686274509803922,
- 1.0,
- 0.1647058824,
- 0.0,
- 0.9725490196078431,
- 1.0,
- 0.1490196078,
- 0.0,
- 0.9764705882352941,
- 1.0,
- 0.1333333333,
- 0.0,
- 0.9803921568627451,
- 1.0,
- 0.1137254902,
- 0.0,
- 0.984313725490196,
- 1.0,
- 0.0823529412,
- 0.0,
- 0.9882352941176471,
- 1.0,
- 0.0666666667,
- 0.0,
- 0.9921568627450981,
- 1.0,
- 0.0470588235,
- 0.0,
- 0.996078431372549,
- 1.0,
- 0.031372549,
- 0.0,
- 1.0,
- 1.0,
- 0.0,
- 0.0,
+ 0.0, 0.0, 0.0, 0.0, 0.00392156862745098, 0.0156862745, 0.0, 0.0117647059, 0.00784313725490196,
+ 0.0352941176, 0.0, 0.0274509804, 0.011764705882352941, 0.0509803922, 0.0, 0.0392156863,
+ 0.01568627450980392, 0.0705882353, 0.0, 0.0549019608, 0.0196078431372549, 0.0862745098, 0.0,
+ 0.0745098039, 0.023529411764705882, 0.1058823529, 0.0, 0.0901960784, 0.027450980392156862,
+ 0.1215686275, 0.0, 0.1098039216, 0.03137254901960784, 0.1411764706, 0.0, 0.1254901961,
+ 0.03529411764705882, 0.1568627451, 0.0, 0.1490196078, 0.0392156862745098, 0.1764705882, 0.0,
+ 0.168627451, 0.043137254901960784, 0.1960784314, 0.0, 0.1882352941, 0.047058823529411764,
+ 0.2117647059, 0.0, 0.2078431373, 0.050980392156862744, 0.2274509804, 0.0, 0.231372549,
+ 0.054901960784313725, 0.2392156863, 0.0, 0.2470588235, 0.05882352941176471, 0.2509803922, 0.0,
+ 0.2666666667, 0.06274509803921569, 0.2666666667, 0.0, 0.2823529412, 0.06666666666666667,
+ 0.2705882353, 0.0, 0.3019607843, 0.07058823529411765, 0.2823529412, 0.0, 0.3176470588,
+ 0.07450980392156863, 0.2901960784, 0.0, 0.337254902, 0.0784313725490196, 0.3019607843, 0.0,
+ 0.3568627451, 0.08235294117647059, 0.3098039216, 0.0, 0.3725490196, 0.08627450980392157,
+ 0.3137254902, 0.0, 0.3921568627, 0.09019607843137255, 0.3215686275, 0.0, 0.4078431373,
+ 0.09411764705882353, 0.3254901961, 0.0, 0.4274509804, 0.09803921568627451, 0.3333333333, 0.0,
+ 0.4431372549, 0.10196078431372549, 0.3294117647, 0.0, 0.462745098, 0.10588235294117647,
+ 0.337254902, 0.0, 0.4784313725, 0.10980392156862745, 0.3411764706, 0.0, 0.4980392157,
+ 0.11372549019607843, 0.3450980392, 0.0, 0.5176470588, 0.11764705882352942, 0.337254902, 0.0,
+ 0.5333333333, 0.12156862745098039, 0.3411764706, 0.0, 0.5529411765, 0.12549019607843137,
+ 0.3411764706, 0.0, 0.568627451, 0.12941176470588237, 0.3411764706, 0.0, 0.5882352941,
+ 0.13333333333333333, 0.3333333333, 0.0, 0.6039215686, 0.13725490196078433, 0.3294117647, 0.0,
+ 0.6235294118, 0.1411764705882353, 0.3294117647, 0.0, 0.6392156863, 0.1450980392156863,
+ 0.3294117647, 0.0, 0.6588235294, 0.14901960784313725, 0.3254901961, 0.0, 0.6784313725,
+ 0.15294117647058825, 0.3098039216, 0.0, 0.6941176471, 0.1568627450980392, 0.3058823529, 0.0,
+ 0.7137254902, 0.1607843137254902, 0.3019607843, 0.0, 0.7294117647, 0.16470588235294117,
+ 0.2980392157, 0.0, 0.7490196078, 0.16862745098039217, 0.2784313725, 0.0, 0.7647058824,
+ 0.17254901960784313, 0.2745098039, 0.0, 0.7843137255, 0.17647058823529413, 0.2666666667, 0.0,
+ 0.8, 0.1803921568627451, 0.2588235294, 0.0, 0.8196078431, 0.1843137254901961, 0.2352941176,
+ 0.0, 0.8392156863, 0.18823529411764706, 0.2274509804, 0.0, 0.8549019608, 0.19215686274509805,
+ 0.2156862745, 0.0, 0.8745098039, 0.19607843137254902, 0.2078431373, 0.0, 0.8901960784, 0.2,
+ 0.1803921569, 0.0, 0.9098039216, 0.20392156862745098, 0.168627451, 0.0, 0.9254901961,
+ 0.20784313725490197, 0.1568627451, 0.0, 0.9450980392, 0.21176470588235294, 0.1411764706, 0.0,
+ 0.9607843137, 0.21568627450980393, 0.1294117647, 0.0, 0.9803921569, 0.2196078431372549,
+ 0.0980392157, 0.0, 1.0, 0.2235294117647059, 0.0823529412, 0.0, 1.0, 0.22745098039215686,
+ 0.062745098, 0.0, 1.0, 0.23137254901960785, 0.0470588235, 0.0, 1.0, 0.23529411764705885,
+ 0.0156862745, 0.0, 1.0, 0.23921568627450984, 0.0, 0.0, 1.0, 0.24313725490196078, 0.0,
+ 0.0156862745, 1.0, 0.24705882352941178, 0.0, 0.031372549, 1.0, 0.25098039215686274, 0.0,
+ 0.062745098, 1.0, 0.2549019607843137, 0.0, 0.0823529412, 1.0, 0.25882352941176473, 0.0,
+ 0.0980392157, 1.0, 0.2627450980392157, 0.0, 0.1137254902, 1.0, 0.26666666666666666, 0.0,
+ 0.1490196078, 1.0, 0.27058823529411763, 0.0, 0.1647058824, 1.0, 0.27450980392156865, 0.0,
+ 0.1803921569, 1.0, 0.2784313725490196, 0.0, 0.2, 1.0, 0.2823529411764706, 0.0, 0.2156862745,
+ 1.0, 0.28627450980392155, 0.0, 0.2470588235, 1.0, 0.2901960784313726, 0.0, 0.262745098, 1.0,
+ 0.29411764705882354, 0.0, 0.2823529412, 1.0, 0.2980392156862745, 0.0, 0.2980392157, 1.0,
+ 0.30196078431372547, 0.0, 0.3294117647, 1.0, 0.3058823529411765, 0.0, 0.3490196078, 1.0,
+ 0.30980392156862746, 0.0, 0.3647058824, 1.0, 0.3137254901960784, 0.0, 0.3803921569, 1.0,
+ 0.3176470588235294, 0.0, 0.4156862745, 1.0, 0.3215686274509804, 0.0, 0.431372549, 1.0,
+ 0.3254901960784314, 0.0, 0.4470588235, 1.0, 0.32941176470588235, 0.0, 0.4666666667, 1.0,
+ 0.3333333333333333, 0.0, 0.4980392157, 1.0, 0.33725490196078434, 0.0, 0.5137254902, 1.0,
+ 0.3411764705882353, 0.0, 0.5294117647, 1.0, 0.34509803921568627, 0.0, 0.5490196078, 1.0,
+ 0.34901960784313724, 0.0, 0.5647058824, 1.0, 0.35294117647058826, 0.0, 0.5960784314, 1.0,
+ 0.3568627450980392, 0.0, 0.6156862745, 1.0, 0.3607843137254902, 0.0, 0.631372549, 1.0,
+ 0.36470588235294116, 0.0, 0.6470588235, 1.0, 0.3686274509803922, 0.0, 0.6823529412, 1.0,
+ 0.37254901960784315, 0.0, 0.6980392157, 1.0, 0.3764705882352941, 0.0, 0.7137254902, 1.0,
+ 0.3803921568627451, 0.0, 0.7333333333, 1.0, 0.3843137254901961, 0.0, 0.7647058824, 1.0,
+ 0.38823529411764707, 0.0, 0.7803921569, 1.0, 0.39215686274509803, 0.0, 0.7960784314, 1.0,
+ 0.396078431372549, 0.0, 0.8156862745, 1.0, 0.4, 0.0, 0.8470588235, 1.0, 0.403921568627451,
+ 0.0, 0.862745098, 1.0, 0.40784313725490196, 0.0, 0.8823529412, 1.0, 0.4117647058823529, 0.0,
+ 0.8980392157, 1.0, 0.41568627450980394, 0.0, 0.9137254902, 1.0, 0.4196078431372549, 0.0,
+ 0.9490196078, 1.0, 0.4235294117647059, 0.0, 0.9647058824, 1.0, 0.42745098039215684, 0.0,
+ 0.9803921569, 1.0, 0.43137254901960786, 0.0, 1.0, 1.0, 0.43529411764705883, 0.0, 1.0,
+ 0.9647058824, 0.4392156862745098, 0.0, 1.0, 0.9490196078, 0.44313725490196076, 0.0, 1.0,
+ 0.9333333333, 0.4470588235294118, 0.0, 1.0, 0.9137254902, 0.45098039215686275, 0.0, 1.0,
+ 0.8823529412, 0.4549019607843137, 0.0, 1.0, 0.862745098, 0.4588235294117647, 0.0, 1.0,
+ 0.8470588235, 0.4627450980392157, 0.0, 1.0, 0.831372549, 0.4666666666666667, 0.0, 1.0,
+ 0.7960784314, 0.4705882352941177, 0.0, 1.0, 0.7803921569, 0.4745098039215686, 0.0, 1.0,
+ 0.7647058824, 0.4784313725490197, 0.0, 1.0, 0.7490196078, 0.48235294117647065, 0.0, 1.0,
+ 0.7333333333, 0.48627450980392156, 0.0, 1.0, 0.6980392157, 0.49019607843137253, 0.0, 1.0,
+ 0.6823529412, 0.49411764705882355, 0.0, 1.0, 0.6666666667, 0.4980392156862745, 0.0, 1.0,
+ 0.6470588235, 0.5019607843137255, 0.0, 1.0, 0.6156862745, 0.5058823529411764, 0.0, 1.0,
+ 0.5960784314, 0.5098039215686274, 0.0, 1.0, 0.5803921569, 0.5137254901960784, 0.0, 1.0,
+ 0.5647058824, 0.5176470588235295, 0.0, 1.0, 0.5294117647, 0.5215686274509804, 0.0, 1.0,
+ 0.5137254902, 0.5254901960784314, 0.0, 1.0, 0.4980392157, 0.5294117647058824, 0.0, 1.0,
+ 0.4823529412, 0.5333333333333333, 0.0, 1.0, 0.4470588235, 0.5372549019607843, 0.0, 1.0,
+ 0.431372549, 0.5411764705882353, 0.0, 1.0, 0.4156862745, 0.5450980392156862, 0.0, 1.0, 0.4,
+ 0.5490196078431373, 0.0, 1.0, 0.3803921569, 0.5529411764705883, 0.0, 1.0, 0.3490196078,
+ 0.5568627450980392, 0.0, 1.0, 0.3294117647, 0.5607843137254902, 0.0, 1.0, 0.3137254902,
+ 0.5647058823529412, 0.0, 1.0, 0.2980392157, 0.5686274509803921, 0.0, 1.0, 0.262745098,
+ 0.5725490196078431, 0.0, 1.0, 0.2470588235, 0.5764705882352941, 0.0, 1.0, 0.231372549,
+ 0.5803921568627451, 0.0, 1.0, 0.2156862745, 0.5843137254901961, 0.0, 1.0, 0.1803921569,
+ 0.5882352941176471, 0.0, 1.0, 0.1647058824, 0.592156862745098, 0.0, 1.0, 0.1490196078,
+ 0.596078431372549, 0.0, 1.0, 0.1333333333, 0.6, 0.0, 1.0, 0.0980392157, 0.6039215686274509,
+ 0.0, 1.0, 0.0823529412, 0.6078431372549019, 0.0, 1.0, 0.062745098, 0.611764705882353, 0.0,
+ 1.0, 0.0470588235, 0.615686274509804, 0.0, 1.0, 0.031372549, 0.6196078431372549, 0.0, 1.0,
+ 0.0, 0.6235294117647059, 0.0156862745, 1.0, 0.0, 0.6274509803921569, 0.031372549, 1.0, 0.0,
+ 0.6313725490196078, 0.0470588235, 1.0, 0.0, 0.6352941176470588, 0.0823529412, 1.0, 0.0,
+ 0.6392156862745098, 0.0980392157, 1.0, 0.0, 0.6431372549019608, 0.1137254902, 1.0, 0.0,
+ 0.6470588235294118, 0.1294117647, 1.0, 0.0, 0.6509803921568628, 0.1647058824, 1.0, 0.0,
+ 0.6549019607843137, 0.1803921569, 1.0, 0.0, 0.6588235294117647, 0.2, 1.0, 0.0,
+ 0.6627450980392157, 0.2156862745, 1.0, 0.0, 0.6666666666666666, 0.2470588235, 1.0, 0.0,
+ 0.6705882352941176, 0.262745098, 1.0, 0.0, 0.6745098039215687, 0.2823529412, 1.0, 0.0,
+ 0.6784313725490196, 0.2980392157, 1.0, 0.0, 0.6823529411764706, 0.3137254902, 1.0, 0.0,
+ 0.6862745098039216, 0.3490196078, 1.0, 0.0, 0.6901960784313725, 0.3647058824, 1.0, 0.0,
+ 0.6941176470588235, 0.3803921569, 1.0, 0.0, 0.6980392156862745, 0.3960784314, 1.0, 0.0,
+ 0.7019607843137254, 0.431372549, 1.0, 0.0, 0.7058823529411765, 0.4470588235, 1.0, 0.0,
+ 0.7098039215686275, 0.4666666667, 1.0, 0.0, 0.7137254901960784, 0.4823529412, 1.0, 0.0,
+ 0.7176470588235294, 0.5137254902, 1.0, 0.0, 0.7215686274509804, 0.5294117647, 1.0, 0.0,
+ 0.7254901960784313, 0.5490196078, 1.0, 0.0, 0.7294117647058823, 0.5647058824, 1.0, 0.0,
+ 0.7333333333333333, 0.6, 1.0, 0.0, 0.7372549019607844, 0.6156862745, 1.0, 0.0,
+ 0.7411764705882353, 0.631372549, 1.0, 0.0, 0.7450980392156863, 0.6470588235, 1.0, 0.0,
+ 0.7490196078431373, 0.662745098, 1.0, 0.0, 0.7529411764705882, 0.6980392157, 1.0, 0.0,
+ 0.7568627450980392, 0.7137254902, 1.0, 0.0, 0.7607843137254902, 0.7333333333, 1.0, 0.0,
+ 0.7647058823529411, 0.7490196078, 1.0, 0.0, 0.7686274509803922, 0.7803921569, 1.0, 0.0,
+ 0.7725490196078432, 0.7960784314, 1.0, 0.0, 0.7764705882352941, 0.8156862745, 1.0, 0.0,
+ 0.7803921568627451, 0.831372549, 1.0, 0.0, 0.7843137254901961, 0.8666666667, 1.0, 0.0,
+ 0.788235294117647, 0.8823529412, 1.0, 0.0, 0.792156862745098, 0.8980392157, 1.0, 0.0,
+ 0.796078431372549, 0.9137254902, 1.0, 0.0, 0.8, 0.9490196078, 1.0, 0.0, 0.803921568627451,
+ 0.9647058824, 1.0, 0.0, 0.807843137254902, 0.9803921569, 1.0, 0.0, 0.8117647058823529, 1.0,
+ 1.0, 0.0, 0.8156862745098039, 1.0, 0.9803921569, 0.0, 0.8196078431372549, 1.0, 0.9490196078,
+ 0.0, 0.8235294117647058, 1.0, 0.9333333333, 0.0, 0.8274509803921568, 1.0, 0.9137254902, 0.0,
+ 0.8313725490196079, 1.0, 0.8980392157, 0.0, 0.8352941176470589, 1.0, 0.8666666667, 0.0,
+ 0.8392156862745098, 1.0, 0.8470588235, 0.0, 0.8431372549019608, 1.0, 0.831372549, 0.0,
+ 0.8470588235294118, 1.0, 0.8156862745, 0.0, 0.8509803921568627, 1.0, 0.7803921569, 0.0,
+ 0.8549019607843137, 1.0, 0.7647058824, 0.0, 0.8588235294117647, 1.0, 0.7490196078, 0.0,
+ 0.8627450980392157, 1.0, 0.7333333333, 0.0, 0.8666666666666667, 1.0, 0.6980392157, 0.0,
+ 0.8705882352941177, 1.0, 0.6823529412, 0.0, 0.8745098039215686, 1.0, 0.6666666667, 0.0,
+ 0.8784313725490196, 1.0, 0.6470588235, 0.0, 0.8823529411764706, 1.0, 0.631372549, 0.0,
+ 0.8862745098039215, 1.0, 0.6, 0.0, 0.8901960784313725, 1.0, 0.5803921569, 0.0,
+ 0.8941176470588236, 1.0, 0.5647058824, 0.0, 0.8980392156862745, 1.0, 0.5490196078, 0.0,
+ 0.9019607843137255, 1.0, 0.5137254902, 0.0, 0.9058823529411765, 1.0, 0.4980392157, 0.0,
+ 0.9098039215686274, 1.0, 0.4823529412, 0.0, 0.9137254901960784, 1.0, 0.4666666667, 0.0,
+ 0.9176470588235294, 1.0, 0.431372549, 0.0, 0.9215686274509803, 1.0, 0.4156862745, 0.0,
+ 0.9254901960784314, 1.0, 0.4, 0.0, 0.9294117647058824, 1.0, 0.3803921569, 0.0,
+ 0.9333333333333333, 1.0, 0.3490196078, 0.0, 0.9372549019607843, 1.0, 0.3333333333, 0.0,
+ 0.9411764705882354, 1.0, 0.3137254902, 0.0, 0.9450980392156864, 1.0, 0.2980392157, 0.0,
+ 0.9490196078431372, 1.0, 0.2823529412, 0.0, 0.9529411764705882, 1.0, 0.2470588235, 0.0,
+ 0.9568627450980394, 1.0, 0.231372549, 0.0, 0.9607843137254903, 1.0, 0.2156862745, 0.0,
+ 0.9647058823529413, 1.0, 0.2, 0.0, 0.9686274509803922, 1.0, 0.1647058824, 0.0,
+ 0.9725490196078431, 1.0, 0.1490196078, 0.0, 0.9764705882352941, 1.0, 0.1333333333, 0.0,
+ 0.9803921568627451, 1.0, 0.1137254902, 0.0, 0.984313725490196, 1.0, 0.0823529412, 0.0,
+ 0.9882352941176471, 1.0, 0.0666666667, 0.0, 0.9921568627450981, 1.0, 0.0470588235, 0.0,
+ 0.996078431372549, 1.0, 0.031372549, 0.0, 1.0, 1.0, 0.0, 0.0,
],
},
{
ColorSpace: 'RGB',
Name: 'suv',
RGBPoints: [
- 0.0,
- 1.0,
- 1.0,
- 1.0,
- 0.00392156862745098,
- 1.0,
- 1.0,
- 1.0,
- 0.00784313725490196,
- 1.0,
- 1.0,
- 1.0,
- 0.011764705882352941,
- 1.0,
- 1.0,
- 1.0,
- 0.01568627450980392,
- 1.0,
- 1.0,
- 1.0,
- 0.0196078431372549,
- 1.0,
- 1.0,
- 1.0,
- 0.023529411764705882,
- 1.0,
- 1.0,
- 1.0,
- 0.027450980392156862,
- 1.0,
- 1.0,
- 1.0,
- 0.03137254901960784,
- 1.0,
- 1.0,
- 1.0,
- 0.03529411764705882,
- 1.0,
- 1.0,
- 1.0,
- 0.0392156862745098,
- 1.0,
- 1.0,
- 1.0,
- 0.043137254901960784,
- 1.0,
- 1.0,
- 1.0,
- 0.047058823529411764,
- 1.0,
- 1.0,
- 1.0,
- 0.050980392156862744,
- 1.0,
- 1.0,
- 1.0,
- 0.054901960784313725,
- 1.0,
- 1.0,
- 1.0,
- 0.05882352941176471,
- 1.0,
- 1.0,
- 1.0,
- 0.06274509803921569,
- 1.0,
- 1.0,
- 1.0,
- 0.06666666666666667,
- 1.0,
- 1.0,
- 1.0,
- 0.07058823529411765,
- 1.0,
- 1.0,
- 1.0,
- 0.07450980392156863,
- 1.0,
- 1.0,
- 1.0,
- 0.0784313725490196,
- 1.0,
- 1.0,
- 1.0,
- 0.08235294117647059,
- 1.0,
- 1.0,
- 1.0,
- 0.08627450980392157,
- 1.0,
- 1.0,
- 1.0,
- 0.09019607843137255,
- 1.0,
- 1.0,
- 1.0,
- 0.09411764705882353,
- 1.0,
- 1.0,
- 1.0,
- 0.09803921568627451,
- 1.0,
- 1.0,
- 1.0,
- 0.10196078431372549,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.10588235294117647,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.10980392156862745,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.11372549019607843,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.11764705882352942,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.12156862745098039,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.12549019607843137,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.12941176470588237,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.13333333333333333,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.13725490196078433,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1411764705882353,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1450980392156863,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.14901960784313725,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.15294117647058825,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1568627450980392,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1607843137254902,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.16470588235294117,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.16862745098039217,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.17254901960784313,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.17647058823529413,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1803921568627451,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.1843137254901961,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.18823529411764706,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.19215686274509805,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.19607843137254902,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.2,
- 0.737254902,
- 0.737254902,
- 0.737254902,
- 0.20392156862745098,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.20784313725490197,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.21176470588235294,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.21568627450980393,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2196078431372549,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2235294117647059,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.22745098039215686,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.23137254901960785,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.23529411764705885,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.23921568627450984,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.24313725490196078,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.24705882352941178,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.25098039215686274,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2549019607843137,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.25882352941176473,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2627450980392157,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.26666666666666666,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.27058823529411763,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.27450980392156865,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2784313725490196,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2823529411764706,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.28627450980392155,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2901960784313726,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.29411764705882354,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.2980392156862745,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.30196078431372547,
- 0.431372549,
- 0.0,
- 0.568627451,
- 0.3058823529411765,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.30980392156862746,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3137254901960784,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3176470588235294,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3215686274509804,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3254901960784314,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.32941176470588235,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3333333333333333,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.33725490196078434,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3411764705882353,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.34509803921568627,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.34901960784313724,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.35294117647058826,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3568627450980392,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3607843137254902,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.36470588235294116,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3686274509803922,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.37254901960784315,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3764705882352941,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3803921568627451,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.3843137254901961,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.38823529411764707,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.39215686274509803,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.396078431372549,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.4,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.403921568627451,
- 0.2509803922,
- 0.3333333333,
- 0.6509803922,
- 0.40784313725490196,
- 0.0,
- 0.8,
- 1.0,
- 0.4117647058823529,
- 0.0,
- 0.8,
- 1.0,
- 0.41568627450980394,
- 0.0,
- 0.8,
- 1.0,
- 0.4196078431372549,
- 0.0,
- 0.8,
- 1.0,
- 0.4235294117647059,
- 0.0,
- 0.8,
- 1.0,
- 0.42745098039215684,
- 0.0,
- 0.8,
- 1.0,
- 0.43137254901960786,
- 0.0,
- 0.8,
- 1.0,
- 0.43529411764705883,
- 0.0,
- 0.8,
- 1.0,
- 0.4392156862745098,
- 0.0,
- 0.8,
- 1.0,
- 0.44313725490196076,
- 0.0,
- 0.8,
- 1.0,
- 0.4470588235294118,
- 0.0,
- 0.8,
- 1.0,
- 0.45098039215686275,
- 0.0,
- 0.8,
- 1.0,
- 0.4549019607843137,
- 0.0,
- 0.8,
- 1.0,
- 0.4588235294117647,
- 0.0,
- 0.8,
- 1.0,
- 0.4627450980392157,
- 0.0,
- 0.8,
- 1.0,
- 0.4666666666666667,
- 0.0,
- 0.8,
- 1.0,
- 0.4705882352941177,
- 0.0,
- 0.8,
- 1.0,
- 0.4745098039215686,
- 0.0,
- 0.8,
- 1.0,
- 0.4784313725490197,
- 0.0,
- 0.8,
- 1.0,
- 0.48235294117647065,
- 0.0,
- 0.8,
- 1.0,
- 0.48627450980392156,
- 0.0,
- 0.8,
- 1.0,
- 0.49019607843137253,
- 0.0,
- 0.8,
- 1.0,
- 0.49411764705882355,
- 0.0,
- 0.8,
- 1.0,
- 0.4980392156862745,
- 0.0,
- 0.8,
- 1.0,
- 0.5019607843137255,
- 0.0,
- 0.8,
- 1.0,
- 0.5058823529411764,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5098039215686274,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5137254901960784,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5176470588235295,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5215686274509804,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5254901960784314,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5294117647058824,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5333333333333333,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5372549019607843,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5411764705882353,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5450980392156862,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5490196078431373,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5529411764705883,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5568627450980392,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5607843137254902,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5647058823529412,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5686274509803921,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5725490196078431,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5764705882352941,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5803921568627451,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5843137254901961,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.5882352941176471,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.592156862745098,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.596078431372549,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.6,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.6039215686274509,
- 0.0,
- 0.6666666667,
- 0.5333333333,
- 0.6078431372549019,
- 0.4,
- 1.0,
- 0.4,
- 0.611764705882353,
- 0.4,
- 1.0,
- 0.4,
- 0.615686274509804,
- 0.4,
- 1.0,
- 0.4,
- 0.6196078431372549,
- 0.4,
- 1.0,
- 0.4,
- 0.6235294117647059,
- 0.4,
- 1.0,
- 0.4,
- 0.6274509803921569,
- 0.4,
- 1.0,
- 0.4,
- 0.6313725490196078,
- 0.4,
- 1.0,
- 0.4,
- 0.6352941176470588,
- 0.4,
- 1.0,
- 0.4,
- 0.6392156862745098,
- 0.4,
- 1.0,
- 0.4,
- 0.6431372549019608,
- 0.4,
- 1.0,
- 0.4,
- 0.6470588235294118,
- 0.4,
- 1.0,
- 0.4,
- 0.6509803921568628,
- 0.4,
- 1.0,
- 0.4,
- 0.6549019607843137,
- 0.4,
- 1.0,
- 0.4,
- 0.6588235294117647,
- 0.4,
- 1.0,
- 0.4,
- 0.6627450980392157,
- 0.4,
- 1.0,
- 0.4,
- 0.6666666666666666,
- 0.4,
- 1.0,
- 0.4,
- 0.6705882352941176,
- 0.4,
- 1.0,
- 0.4,
- 0.6745098039215687,
- 0.4,
- 1.0,
- 0.4,
- 0.6784313725490196,
- 0.4,
- 1.0,
- 0.4,
- 0.6823529411764706,
- 0.4,
- 1.0,
- 0.4,
- 0.6862745098039216,
- 0.4,
- 1.0,
- 0.4,
- 0.6901960784313725,
- 0.4,
- 1.0,
- 0.4,
- 0.6941176470588235,
- 0.4,
- 1.0,
- 0.4,
- 0.6980392156862745,
- 0.4,
- 1.0,
- 0.4,
- 0.7019607843137254,
- 0.4,
- 1.0,
- 0.4,
- 0.7058823529411765,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7098039215686275,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7137254901960784,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7176470588235294,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7215686274509804,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7254901960784313,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7294117647058823,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7333333333333333,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7372549019607844,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7411764705882353,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7450980392156863,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7490196078431373,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7529411764705882,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7568627450980392,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7607843137254902,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7647058823529411,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7686274509803922,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7725490196078432,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7764705882352941,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7803921568627451,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.7843137254901961,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.788235294117647,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.792156862745098,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.796078431372549,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.8,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.803921568627451,
- 1.0,
- 0.9490196078,
- 0.0,
- 0.807843137254902,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8117647058823529,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8156862745098039,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8196078431372549,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8235294117647058,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8274509803921568,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8313725490196079,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8352941176470589,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8392156862745098,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8431372549019608,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8470588235294118,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8509803921568627,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8549019607843137,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8588235294117647,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8627450980392157,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8666666666666667,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8705882352941177,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8745098039215686,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8784313725490196,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8823529411764706,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8862745098039215,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8901960784313725,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8941176470588236,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.8980392156862745,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.9019607843137255,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.9058823529411765,
- 0.9490196078,
- 0.6509803922,
- 0.2509803922,
- 0.9098039215686274,
- 1.0,
- 0.0,
- 0.0,
- 0.9137254901960784,
- 1.0,
- 0.0,
- 0.0,
- 0.9176470588235294,
- 1.0,
- 0.0,
- 0.0,
- 0.9215686274509803,
- 1.0,
- 0.0,
- 0.0,
- 0.9254901960784314,
- 1.0,
- 0.0,
- 0.0,
- 0.9294117647058824,
- 1.0,
- 0.0,
- 0.0,
- 0.9333333333333333,
- 1.0,
- 0.0,
- 0.0,
- 0.9372549019607843,
- 1.0,
- 0.0,
- 0.0,
- 0.9411764705882354,
- 1.0,
- 0.0,
- 0.0,
- 0.9450980392156864,
- 1.0,
- 0.0,
- 0.0,
- 0.9490196078431372,
- 1.0,
- 0.0,
- 0.0,
- 0.9529411764705882,
- 1.0,
- 0.0,
- 0.0,
- 0.9568627450980394,
- 1.0,
- 0.0,
- 0.0,
- 0.9607843137254903,
- 1.0,
- 0.0,
- 0.0,
- 0.9647058823529413,
- 1.0,
- 0.0,
- 0.0,
- 0.9686274509803922,
- 1.0,
- 0.0,
- 0.0,
- 0.9725490196078431,
- 1.0,
- 0.0,
- 0.0,
- 0.9764705882352941,
- 1.0,
- 0.0,
- 0.0,
- 0.9803921568627451,
- 1.0,
- 0.0,
- 0.0,
- 0.984313725490196,
- 1.0,
- 0.0,
- 0.0,
- 0.9882352941176471,
- 1.0,
- 0.0,
- 0.0,
- 0.9921568627450981,
- 1.0,
- 0.0,
- 0.0,
- 0.996078431372549,
- 1.0,
- 0.0,
- 0.0,
- 1.0,
- 1.0,
- 0.0,
- 0.0,
+ 0.0, 1.0, 1.0, 1.0, 0.00392156862745098, 1.0, 1.0, 1.0, 0.00784313725490196, 1.0, 1.0, 1.0,
+ 0.011764705882352941, 1.0, 1.0, 1.0, 0.01568627450980392, 1.0, 1.0, 1.0, 0.0196078431372549,
+ 1.0, 1.0, 1.0, 0.023529411764705882, 1.0, 1.0, 1.0, 0.027450980392156862, 1.0, 1.0, 1.0,
+ 0.03137254901960784, 1.0, 1.0, 1.0, 0.03529411764705882, 1.0, 1.0, 1.0, 0.0392156862745098,
+ 1.0, 1.0, 1.0, 0.043137254901960784, 1.0, 1.0, 1.0, 0.047058823529411764, 1.0, 1.0, 1.0,
+ 0.050980392156862744, 1.0, 1.0, 1.0, 0.054901960784313725, 1.0, 1.0, 1.0, 0.05882352941176471,
+ 1.0, 1.0, 1.0, 0.06274509803921569, 1.0, 1.0, 1.0, 0.06666666666666667, 1.0, 1.0, 1.0,
+ 0.07058823529411765, 1.0, 1.0, 1.0, 0.07450980392156863, 1.0, 1.0, 1.0, 0.0784313725490196,
+ 1.0, 1.0, 1.0, 0.08235294117647059, 1.0, 1.0, 1.0, 0.08627450980392157, 1.0, 1.0, 1.0,
+ 0.09019607843137255, 1.0, 1.0, 1.0, 0.09411764705882353, 1.0, 1.0, 1.0, 0.09803921568627451,
+ 1.0, 1.0, 1.0, 0.10196078431372549, 0.737254902, 0.737254902, 0.737254902,
+ 0.10588235294117647, 0.737254902, 0.737254902, 0.737254902, 0.10980392156862745, 0.737254902,
+ 0.737254902, 0.737254902, 0.11372549019607843, 0.737254902, 0.737254902, 0.737254902,
+ 0.11764705882352942, 0.737254902, 0.737254902, 0.737254902, 0.12156862745098039, 0.737254902,
+ 0.737254902, 0.737254902, 0.12549019607843137, 0.737254902, 0.737254902, 0.737254902,
+ 0.12941176470588237, 0.737254902, 0.737254902, 0.737254902, 0.13333333333333333, 0.737254902,
+ 0.737254902, 0.737254902, 0.13725490196078433, 0.737254902, 0.737254902, 0.737254902,
+ 0.1411764705882353, 0.737254902, 0.737254902, 0.737254902, 0.1450980392156863, 0.737254902,
+ 0.737254902, 0.737254902, 0.14901960784313725, 0.737254902, 0.737254902, 0.737254902,
+ 0.15294117647058825, 0.737254902, 0.737254902, 0.737254902, 0.1568627450980392, 0.737254902,
+ 0.737254902, 0.737254902, 0.1607843137254902, 0.737254902, 0.737254902, 0.737254902,
+ 0.16470588235294117, 0.737254902, 0.737254902, 0.737254902, 0.16862745098039217, 0.737254902,
+ 0.737254902, 0.737254902, 0.17254901960784313, 0.737254902, 0.737254902, 0.737254902,
+ 0.17647058823529413, 0.737254902, 0.737254902, 0.737254902, 0.1803921568627451, 0.737254902,
+ 0.737254902, 0.737254902, 0.1843137254901961, 0.737254902, 0.737254902, 0.737254902,
+ 0.18823529411764706, 0.737254902, 0.737254902, 0.737254902, 0.19215686274509805, 0.737254902,
+ 0.737254902, 0.737254902, 0.19607843137254902, 0.737254902, 0.737254902, 0.737254902, 0.2,
+ 0.737254902, 0.737254902, 0.737254902, 0.20392156862745098, 0.431372549, 0.0, 0.568627451,
+ 0.20784313725490197, 0.431372549, 0.0, 0.568627451, 0.21176470588235294, 0.431372549, 0.0,
+ 0.568627451, 0.21568627450980393, 0.431372549, 0.0, 0.568627451, 0.2196078431372549,
+ 0.431372549, 0.0, 0.568627451, 0.2235294117647059, 0.431372549, 0.0, 0.568627451,
+ 0.22745098039215686, 0.431372549, 0.0, 0.568627451, 0.23137254901960785, 0.431372549, 0.0,
+ 0.568627451, 0.23529411764705885, 0.431372549, 0.0, 0.568627451, 0.23921568627450984,
+ 0.431372549, 0.0, 0.568627451, 0.24313725490196078, 0.431372549, 0.0, 0.568627451,
+ 0.24705882352941178, 0.431372549, 0.0, 0.568627451, 0.25098039215686274, 0.431372549, 0.0,
+ 0.568627451, 0.2549019607843137, 0.431372549, 0.0, 0.568627451, 0.25882352941176473,
+ 0.431372549, 0.0, 0.568627451, 0.2627450980392157, 0.431372549, 0.0, 0.568627451,
+ 0.26666666666666666, 0.431372549, 0.0, 0.568627451, 0.27058823529411763, 0.431372549, 0.0,
+ 0.568627451, 0.27450980392156865, 0.431372549, 0.0, 0.568627451, 0.2784313725490196,
+ 0.431372549, 0.0, 0.568627451, 0.2823529411764706, 0.431372549, 0.0, 0.568627451,
+ 0.28627450980392155, 0.431372549, 0.0, 0.568627451, 0.2901960784313726, 0.431372549, 0.0,
+ 0.568627451, 0.29411764705882354, 0.431372549, 0.0, 0.568627451, 0.2980392156862745,
+ 0.431372549, 0.0, 0.568627451, 0.30196078431372547, 0.431372549, 0.0, 0.568627451,
+ 0.3058823529411765, 0.2509803922, 0.3333333333, 0.6509803922, 0.30980392156862746,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.3137254901960784, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.3176470588235294, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.3215686274509804, 0.2509803922, 0.3333333333, 0.6509803922, 0.3254901960784314,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.32941176470588235, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.3333333333333333, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.33725490196078434, 0.2509803922, 0.3333333333, 0.6509803922, 0.3411764705882353,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.34509803921568627, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.34901960784313724, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.35294117647058826, 0.2509803922, 0.3333333333, 0.6509803922, 0.3568627450980392,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.3607843137254902, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.36470588235294116, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.3686274509803922, 0.2509803922, 0.3333333333, 0.6509803922, 0.37254901960784315,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.3764705882352941, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.3803921568627451, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.3843137254901961, 0.2509803922, 0.3333333333, 0.6509803922, 0.38823529411764707,
+ 0.2509803922, 0.3333333333, 0.6509803922, 0.39215686274509803, 0.2509803922, 0.3333333333,
+ 0.6509803922, 0.396078431372549, 0.2509803922, 0.3333333333, 0.6509803922, 0.4, 0.2509803922,
+ 0.3333333333, 0.6509803922, 0.403921568627451, 0.2509803922, 0.3333333333, 0.6509803922,
+ 0.40784313725490196, 0.0, 0.8, 1.0, 0.4117647058823529, 0.0, 0.8, 1.0, 0.41568627450980394,
+ 0.0, 0.8, 1.0, 0.4196078431372549, 0.0, 0.8, 1.0, 0.4235294117647059, 0.0, 0.8, 1.0,
+ 0.42745098039215684, 0.0, 0.8, 1.0, 0.43137254901960786, 0.0, 0.8, 1.0, 0.43529411764705883,
+ 0.0, 0.8, 1.0, 0.4392156862745098, 0.0, 0.8, 1.0, 0.44313725490196076, 0.0, 0.8, 1.0,
+ 0.4470588235294118, 0.0, 0.8, 1.0, 0.45098039215686275, 0.0, 0.8, 1.0, 0.4549019607843137,
+ 0.0, 0.8, 1.0, 0.4588235294117647, 0.0, 0.8, 1.0, 0.4627450980392157, 0.0, 0.8, 1.0,
+ 0.4666666666666667, 0.0, 0.8, 1.0, 0.4705882352941177, 0.0, 0.8, 1.0, 0.4745098039215686, 0.0,
+ 0.8, 1.0, 0.4784313725490197, 0.0, 0.8, 1.0, 0.48235294117647065, 0.0, 0.8, 1.0,
+ 0.48627450980392156, 0.0, 0.8, 1.0, 0.49019607843137253, 0.0, 0.8, 1.0, 0.49411764705882355,
+ 0.0, 0.8, 1.0, 0.4980392156862745, 0.0, 0.8, 1.0, 0.5019607843137255, 0.0, 0.8, 1.0,
+ 0.5058823529411764, 0.0, 0.6666666667, 0.5333333333, 0.5098039215686274, 0.0, 0.6666666667,
+ 0.5333333333, 0.5137254901960784, 0.0, 0.6666666667, 0.5333333333, 0.5176470588235295, 0.0,
+ 0.6666666667, 0.5333333333, 0.5215686274509804, 0.0, 0.6666666667, 0.5333333333,
+ 0.5254901960784314, 0.0, 0.6666666667, 0.5333333333, 0.5294117647058824, 0.0, 0.6666666667,
+ 0.5333333333, 0.5333333333333333, 0.0, 0.6666666667, 0.5333333333, 0.5372549019607843, 0.0,
+ 0.6666666667, 0.5333333333, 0.5411764705882353, 0.0, 0.6666666667, 0.5333333333,
+ 0.5450980392156862, 0.0, 0.6666666667, 0.5333333333, 0.5490196078431373, 0.0, 0.6666666667,
+ 0.5333333333, 0.5529411764705883, 0.0, 0.6666666667, 0.5333333333, 0.5568627450980392, 0.0,
+ 0.6666666667, 0.5333333333, 0.5607843137254902, 0.0, 0.6666666667, 0.5333333333,
+ 0.5647058823529412, 0.0, 0.6666666667, 0.5333333333, 0.5686274509803921, 0.0, 0.6666666667,
+ 0.5333333333, 0.5725490196078431, 0.0, 0.6666666667, 0.5333333333, 0.5764705882352941, 0.0,
+ 0.6666666667, 0.5333333333, 0.5803921568627451, 0.0, 0.6666666667, 0.5333333333,
+ 0.5843137254901961, 0.0, 0.6666666667, 0.5333333333, 0.5882352941176471, 0.0, 0.6666666667,
+ 0.5333333333, 0.592156862745098, 0.0, 0.6666666667, 0.5333333333, 0.596078431372549, 0.0,
+ 0.6666666667, 0.5333333333, 0.6, 0.0, 0.6666666667, 0.5333333333, 0.6039215686274509, 0.0,
+ 0.6666666667, 0.5333333333, 0.6078431372549019, 0.4, 1.0, 0.4, 0.611764705882353, 0.4, 1.0,
+ 0.4, 0.615686274509804, 0.4, 1.0, 0.4, 0.6196078431372549, 0.4, 1.0, 0.4, 0.6235294117647059,
+ 0.4, 1.0, 0.4, 0.6274509803921569, 0.4, 1.0, 0.4, 0.6313725490196078, 0.4, 1.0, 0.4,
+ 0.6352941176470588, 0.4, 1.0, 0.4, 0.6392156862745098, 0.4, 1.0, 0.4, 0.6431372549019608, 0.4,
+ 1.0, 0.4, 0.6470588235294118, 0.4, 1.0, 0.4, 0.6509803921568628, 0.4, 1.0, 0.4,
+ 0.6549019607843137, 0.4, 1.0, 0.4, 0.6588235294117647, 0.4, 1.0, 0.4, 0.6627450980392157, 0.4,
+ 1.0, 0.4, 0.6666666666666666, 0.4, 1.0, 0.4, 0.6705882352941176, 0.4, 1.0, 0.4,
+ 0.6745098039215687, 0.4, 1.0, 0.4, 0.6784313725490196, 0.4, 1.0, 0.4, 0.6823529411764706, 0.4,
+ 1.0, 0.4, 0.6862745098039216, 0.4, 1.0, 0.4, 0.6901960784313725, 0.4, 1.0, 0.4,
+ 0.6941176470588235, 0.4, 1.0, 0.4, 0.6980392156862745, 0.4, 1.0, 0.4, 0.7019607843137254, 0.4,
+ 1.0, 0.4, 0.7058823529411765, 1.0, 0.9490196078, 0.0, 0.7098039215686275, 1.0, 0.9490196078,
+ 0.0, 0.7137254901960784, 1.0, 0.9490196078, 0.0, 0.7176470588235294, 1.0, 0.9490196078, 0.0,
+ 0.7215686274509804, 1.0, 0.9490196078, 0.0, 0.7254901960784313, 1.0, 0.9490196078, 0.0,
+ 0.7294117647058823, 1.0, 0.9490196078, 0.0, 0.7333333333333333, 1.0, 0.9490196078, 0.0,
+ 0.7372549019607844, 1.0, 0.9490196078, 0.0, 0.7411764705882353, 1.0, 0.9490196078, 0.0,
+ 0.7450980392156863, 1.0, 0.9490196078, 0.0, 0.7490196078431373, 1.0, 0.9490196078, 0.0,
+ 0.7529411764705882, 1.0, 0.9490196078, 0.0, 0.7568627450980392, 1.0, 0.9490196078, 0.0,
+ 0.7607843137254902, 1.0, 0.9490196078, 0.0, 0.7647058823529411, 1.0, 0.9490196078, 0.0,
+ 0.7686274509803922, 1.0, 0.9490196078, 0.0, 0.7725490196078432, 1.0, 0.9490196078, 0.0,
+ 0.7764705882352941, 1.0, 0.9490196078, 0.0, 0.7803921568627451, 1.0, 0.9490196078, 0.0,
+ 0.7843137254901961, 1.0, 0.9490196078, 0.0, 0.788235294117647, 1.0, 0.9490196078, 0.0,
+ 0.792156862745098, 1.0, 0.9490196078, 0.0, 0.796078431372549, 1.0, 0.9490196078, 0.0, 0.8,
+ 1.0, 0.9490196078, 0.0, 0.803921568627451, 1.0, 0.9490196078, 0.0, 0.807843137254902,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8117647058823529, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8156862745098039, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8196078431372549, 0.9490196078, 0.6509803922, 0.2509803922, 0.8235294117647058,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8274509803921568, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8313725490196079, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8352941176470589, 0.9490196078, 0.6509803922, 0.2509803922, 0.8392156862745098,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8431372549019608, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8470588235294118, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8509803921568627, 0.9490196078, 0.6509803922, 0.2509803922, 0.8549019607843137,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8588235294117647, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8627450980392157, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8666666666666667, 0.9490196078, 0.6509803922, 0.2509803922, 0.8705882352941177,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8745098039215686, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8784313725490196, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8823529411764706, 0.9490196078, 0.6509803922, 0.2509803922, 0.8862745098039215,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.8901960784313725, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.8941176470588236, 0.9490196078, 0.6509803922, 0.2509803922,
+ 0.8980392156862745, 0.9490196078, 0.6509803922, 0.2509803922, 0.9019607843137255,
+ 0.9490196078, 0.6509803922, 0.2509803922, 0.9058823529411765, 0.9490196078, 0.6509803922,
+ 0.2509803922, 0.9098039215686274, 1.0, 0.0, 0.0, 0.9137254901960784, 1.0, 0.0, 0.0,
+ 0.9176470588235294, 1.0, 0.0, 0.0, 0.9215686274509803, 1.0, 0.0, 0.0, 0.9254901960784314, 1.0,
+ 0.0, 0.0, 0.9294117647058824, 1.0, 0.0, 0.0, 0.9333333333333333, 1.0, 0.0, 0.0,
+ 0.9372549019607843, 1.0, 0.0, 0.0, 0.9411764705882354, 1.0, 0.0, 0.0, 0.9450980392156864, 1.0,
+ 0.0, 0.0, 0.9490196078431372, 1.0, 0.0, 0.0, 0.9529411764705882, 1.0, 0.0, 0.0,
+ 0.9568627450980394, 1.0, 0.0, 0.0, 0.9607843137254903, 1.0, 0.0, 0.0, 0.9647058823529413, 1.0,
+ 0.0, 0.0, 0.9686274509803922, 1.0, 0.0, 0.0, 0.9725490196078431, 1.0, 0.0, 0.0,
+ 0.9764705882352941, 1.0, 0.0, 0.0, 0.9803921568627451, 1.0, 0.0, 0.0, 0.984313725490196, 1.0,
+ 0.0, 0.0, 0.9882352941176471, 1.0, 0.0, 0.0, 0.9921568627450981, 1.0, 0.0, 0.0,
+ 0.996078431372549, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0,
],
},
{
ColorSpace: 'RGB',
Name: 'ge_256',
RGBPoints: [
- 0.0,
- 0.0039215686,
- 0.0078431373,
- 0.0078431373,
- 0.00392156862745098,
- 0.0039215686,
- 0.0078431373,
- 0.0078431373,
- 0.00784313725490196,
- 0.0039215686,
- 0.0078431373,
- 0.0117647059,
- 0.011764705882352941,
- 0.0039215686,
- 0.0117647059,
- 0.0156862745,
- 0.01568627450980392,
- 0.0039215686,
- 0.0117647059,
- 0.0196078431,
- 0.0196078431372549,
- 0.0039215686,
- 0.0156862745,
- 0.0235294118,
- 0.023529411764705882,
- 0.0039215686,
- 0.0156862745,
- 0.0274509804,
- 0.027450980392156862,
- 0.0039215686,
- 0.0196078431,
- 0.031372549,
- 0.03137254901960784,
- 0.0039215686,
- 0.0196078431,
- 0.0352941176,
- 0.03529411764705882,
- 0.0039215686,
- 0.0235294118,
- 0.0392156863,
- 0.0392156862745098,
- 0.0039215686,
- 0.0235294118,
- 0.0431372549,
- 0.043137254901960784,
- 0.0039215686,
- 0.0274509804,
- 0.0470588235,
- 0.047058823529411764,
- 0.0039215686,
- 0.0274509804,
- 0.0509803922,
- 0.050980392156862744,
- 0.0039215686,
- 0.031372549,
- 0.0549019608,
- 0.054901960784313725,
- 0.0039215686,
- 0.031372549,
- 0.0588235294,
- 0.05882352941176471,
- 0.0039215686,
- 0.0352941176,
- 0.062745098,
- 0.06274509803921569,
- 0.0039215686,
- 0.0352941176,
- 0.0666666667,
- 0.06666666666666667,
- 0.0039215686,
- 0.0392156863,
- 0.0705882353,
- 0.07058823529411765,
- 0.0039215686,
- 0.0392156863,
- 0.0745098039,
- 0.07450980392156863,
- 0.0039215686,
- 0.0431372549,
- 0.0784313725,
- 0.0784313725490196,
- 0.0039215686,
- 0.0431372549,
- 0.0823529412,
- 0.08235294117647059,
- 0.0039215686,
- 0.0470588235,
- 0.0862745098,
- 0.08627450980392157,
- 0.0039215686,
- 0.0470588235,
- 0.0901960784,
- 0.09019607843137255,
- 0.0039215686,
- 0.0509803922,
- 0.0941176471,
- 0.09411764705882353,
- 0.0039215686,
- 0.0509803922,
- 0.0980392157,
- 0.09803921568627451,
- 0.0039215686,
- 0.0549019608,
- 0.1019607843,
- 0.10196078431372549,
- 0.0039215686,
- 0.0549019608,
- 0.1058823529,
- 0.10588235294117647,
- 0.0039215686,
- 0.0588235294,
- 0.1098039216,
- 0.10980392156862745,
- 0.0039215686,
- 0.0588235294,
- 0.1137254902,
- 0.11372549019607843,
- 0.0039215686,
- 0.062745098,
- 0.1176470588,
- 0.11764705882352942,
- 0.0039215686,
- 0.062745098,
- 0.1215686275,
- 0.12156862745098039,
- 0.0039215686,
- 0.0666666667,
- 0.1254901961,
- 0.12549019607843137,
- 0.0039215686,
- 0.0666666667,
- 0.1294117647,
- 0.12941176470588237,
- 0.0039215686,
- 0.0705882353,
- 0.1333333333,
- 0.13333333333333333,
- 0.0039215686,
- 0.0705882353,
- 0.137254902,
- 0.13725490196078433,
- 0.0039215686,
- 0.0745098039,
- 0.1411764706,
- 0.1411764705882353,
- 0.0039215686,
- 0.0745098039,
- 0.1450980392,
- 0.1450980392156863,
- 0.0039215686,
- 0.0784313725,
- 0.1490196078,
- 0.14901960784313725,
- 0.0039215686,
- 0.0784313725,
- 0.1529411765,
- 0.15294117647058825,
- 0.0039215686,
- 0.0823529412,
- 0.1568627451,
- 0.1568627450980392,
- 0.0039215686,
- 0.0823529412,
- 0.1607843137,
- 0.1607843137254902,
- 0.0039215686,
- 0.0862745098,
- 0.1647058824,
- 0.16470588235294117,
- 0.0039215686,
- 0.0862745098,
- 0.168627451,
- 0.16862745098039217,
- 0.0039215686,
- 0.0901960784,
- 0.1725490196,
- 0.17254901960784313,
- 0.0039215686,
- 0.0901960784,
- 0.1764705882,
- 0.17647058823529413,
- 0.0039215686,
- 0.0941176471,
- 0.1803921569,
- 0.1803921568627451,
- 0.0039215686,
- 0.0941176471,
- 0.1843137255,
- 0.1843137254901961,
- 0.0039215686,
- 0.0980392157,
- 0.1882352941,
- 0.18823529411764706,
- 0.0039215686,
- 0.0980392157,
- 0.1921568627,
- 0.19215686274509805,
- 0.0039215686,
- 0.1019607843,
- 0.1960784314,
- 0.19607843137254902,
- 0.0039215686,
- 0.1019607843,
- 0.2,
- 0.2,
- 0.0039215686,
- 0.1058823529,
- 0.2039215686,
- 0.20392156862745098,
- 0.0039215686,
- 0.1058823529,
- 0.2078431373,
- 0.20784313725490197,
- 0.0039215686,
- 0.1098039216,
- 0.2117647059,
- 0.21176470588235294,
- 0.0039215686,
- 0.1098039216,
- 0.2156862745,
- 0.21568627450980393,
- 0.0039215686,
- 0.1137254902,
- 0.2196078431,
- 0.2196078431372549,
- 0.0039215686,
- 0.1137254902,
- 0.2235294118,
- 0.2235294117647059,
- 0.0039215686,
- 0.1176470588,
- 0.2274509804,
- 0.22745098039215686,
- 0.0039215686,
- 0.1176470588,
- 0.231372549,
- 0.23137254901960785,
- 0.0039215686,
- 0.1215686275,
- 0.2352941176,
- 0.23529411764705885,
- 0.0039215686,
- 0.1215686275,
- 0.2392156863,
- 0.23921568627450984,
- 0.0039215686,
- 0.1254901961,
- 0.2431372549,
- 0.24313725490196078,
- 0.0039215686,
- 0.1254901961,
- 0.2470588235,
- 0.24705882352941178,
- 0.0039215686,
- 0.1294117647,
- 0.2509803922,
- 0.25098039215686274,
- 0.0039215686,
- 0.1294117647,
- 0.2509803922,
- 0.2549019607843137,
- 0.0078431373,
- 0.1254901961,
- 0.2549019608,
- 0.25882352941176473,
- 0.0156862745,
- 0.1254901961,
- 0.2588235294,
- 0.2627450980392157,
- 0.0235294118,
- 0.1215686275,
- 0.262745098,
- 0.26666666666666666,
- 0.031372549,
- 0.1215686275,
- 0.2666666667,
- 0.27058823529411763,
- 0.0392156863,
- 0.1176470588,
- 0.2705882353,
- 0.27450980392156865,
- 0.0470588235,
- 0.1176470588,
- 0.2745098039,
- 0.2784313725490196,
- 0.0549019608,
- 0.1137254902,
- 0.2784313725,
- 0.2823529411764706,
- 0.062745098,
- 0.1137254902,
- 0.2823529412,
- 0.28627450980392155,
- 0.0705882353,
- 0.1098039216,
- 0.2862745098,
- 0.2901960784313726,
- 0.0784313725,
- 0.1098039216,
- 0.2901960784,
- 0.29411764705882354,
- 0.0862745098,
- 0.1058823529,
- 0.2941176471,
- 0.2980392156862745,
- 0.0941176471,
- 0.1058823529,
- 0.2980392157,
- 0.30196078431372547,
- 0.1019607843,
- 0.1019607843,
- 0.3019607843,
- 0.3058823529411765,
- 0.1098039216,
- 0.1019607843,
- 0.3058823529,
- 0.30980392156862746,
- 0.1176470588,
- 0.0980392157,
- 0.3098039216,
- 0.3137254901960784,
- 0.1254901961,
- 0.0980392157,
- 0.3137254902,
- 0.3176470588235294,
- 0.1333333333,
- 0.0941176471,
- 0.3176470588,
- 0.3215686274509804,
- 0.1411764706,
- 0.0941176471,
- 0.3215686275,
- 0.3254901960784314,
- 0.1490196078,
- 0.0901960784,
- 0.3254901961,
- 0.32941176470588235,
- 0.1568627451,
- 0.0901960784,
- 0.3294117647,
- 0.3333333333333333,
- 0.1647058824,
- 0.0862745098,
- 0.3333333333,
- 0.33725490196078434,
- 0.1725490196,
- 0.0862745098,
- 0.337254902,
- 0.3411764705882353,
- 0.1803921569,
- 0.0823529412,
- 0.3411764706,
- 0.34509803921568627,
- 0.1882352941,
- 0.0823529412,
- 0.3450980392,
- 0.34901960784313724,
- 0.1960784314,
- 0.0784313725,
- 0.3490196078,
- 0.35294117647058826,
- 0.2039215686,
- 0.0784313725,
- 0.3529411765,
- 0.3568627450980392,
- 0.2117647059,
- 0.0745098039,
- 0.3568627451,
- 0.3607843137254902,
- 0.2196078431,
- 0.0745098039,
- 0.3607843137,
- 0.36470588235294116,
- 0.2274509804,
- 0.0705882353,
- 0.3647058824,
- 0.3686274509803922,
- 0.2352941176,
- 0.0705882353,
- 0.368627451,
- 0.37254901960784315,
- 0.2431372549,
- 0.0666666667,
- 0.3725490196,
- 0.3764705882352941,
- 0.2509803922,
- 0.0666666667,
- 0.3764705882,
- 0.3803921568627451,
- 0.2549019608,
- 0.062745098,
- 0.3803921569,
- 0.3843137254901961,
- 0.262745098,
- 0.062745098,
- 0.3843137255,
- 0.38823529411764707,
- 0.2705882353,
- 0.0588235294,
- 0.3882352941,
- 0.39215686274509803,
- 0.2784313725,
- 0.0588235294,
- 0.3921568627,
- 0.396078431372549,
- 0.2862745098,
- 0.0549019608,
- 0.3960784314,
- 0.4,
- 0.2941176471,
- 0.0549019608,
- 0.4,
- 0.403921568627451,
- 0.3019607843,
- 0.0509803922,
- 0.4039215686,
- 0.40784313725490196,
- 0.3098039216,
- 0.0509803922,
- 0.4078431373,
- 0.4117647058823529,
- 0.3176470588,
- 0.0470588235,
- 0.4117647059,
- 0.41568627450980394,
- 0.3254901961,
- 0.0470588235,
- 0.4156862745,
- 0.4196078431372549,
- 0.3333333333,
- 0.0431372549,
- 0.4196078431,
- 0.4235294117647059,
- 0.3411764706,
- 0.0431372549,
- 0.4235294118,
- 0.42745098039215684,
- 0.3490196078,
- 0.0392156863,
- 0.4274509804,
- 0.43137254901960786,
- 0.3568627451,
- 0.0392156863,
- 0.431372549,
- 0.43529411764705883,
- 0.3647058824,
- 0.0352941176,
- 0.4352941176,
- 0.4392156862745098,
- 0.3725490196,
- 0.0352941176,
- 0.4392156863,
- 0.44313725490196076,
- 0.3803921569,
- 0.031372549,
- 0.4431372549,
- 0.4470588235294118,
- 0.3882352941,
- 0.031372549,
- 0.4470588235,
- 0.45098039215686275,
- 0.3960784314,
- 0.0274509804,
- 0.4509803922,
- 0.4549019607843137,
- 0.4039215686,
- 0.0274509804,
- 0.4549019608,
- 0.4588235294117647,
- 0.4117647059,
- 0.0235294118,
- 0.4588235294,
- 0.4627450980392157,
- 0.4196078431,
- 0.0235294118,
- 0.462745098,
- 0.4666666666666667,
- 0.4274509804,
- 0.0196078431,
- 0.4666666667,
- 0.4705882352941177,
- 0.4352941176,
- 0.0196078431,
- 0.4705882353,
- 0.4745098039215686,
- 0.4431372549,
- 0.0156862745,
- 0.4745098039,
- 0.4784313725490197,
- 0.4509803922,
- 0.0156862745,
- 0.4784313725,
- 0.48235294117647065,
- 0.4588235294,
- 0.0117647059,
- 0.4823529412,
- 0.48627450980392156,
- 0.4666666667,
- 0.0117647059,
- 0.4862745098,
- 0.49019607843137253,
- 0.4745098039,
- 0.0078431373,
- 0.4901960784,
- 0.49411764705882355,
- 0.4823529412,
- 0.0078431373,
- 0.4941176471,
- 0.4980392156862745,
- 0.4901960784,
- 0.0039215686,
- 0.4980392157,
- 0.5019607843137255,
- 0.4980392157,
- 0.0117647059,
- 0.4980392157,
- 0.5058823529411764,
- 0.5058823529,
- 0.0156862745,
- 0.4901960784,
- 0.5098039215686274,
- 0.5137254902,
- 0.0235294118,
- 0.4823529412,
- 0.5137254901960784,
- 0.5215686275,
- 0.0274509804,
- 0.4745098039,
- 0.5176470588235295,
- 0.5294117647,
- 0.0352941176,
- 0.4666666667,
- 0.5215686274509804,
- 0.537254902,
- 0.0392156863,
- 0.4588235294,
- 0.5254901960784314,
- 0.5450980392,
- 0.0470588235,
- 0.4509803922,
- 0.5294117647058824,
- 0.5529411765,
- 0.0509803922,
- 0.4431372549,
- 0.5333333333333333,
- 0.5607843137,
- 0.0588235294,
- 0.4352941176,
- 0.5372549019607843,
- 0.568627451,
- 0.062745098,
- 0.4274509804,
- 0.5411764705882353,
- 0.5764705882,
- 0.0705882353,
- 0.4196078431,
- 0.5450980392156862,
- 0.5843137255,
- 0.0745098039,
- 0.4117647059,
- 0.5490196078431373,
- 0.5921568627,
- 0.0823529412,
- 0.4039215686,
- 0.5529411764705883,
- 0.6,
- 0.0862745098,
- 0.3960784314,
- 0.5568627450980392,
- 0.6078431373,
- 0.0941176471,
- 0.3882352941,
- 0.5607843137254902,
- 0.6156862745,
- 0.0980392157,
- 0.3803921569,
- 0.5647058823529412,
- 0.6235294118,
- 0.1058823529,
- 0.3725490196,
- 0.5686274509803921,
- 0.631372549,
- 0.1098039216,
- 0.3647058824,
- 0.5725490196078431,
- 0.6392156863,
- 0.1176470588,
- 0.3568627451,
- 0.5764705882352941,
- 0.6470588235,
- 0.1215686275,
- 0.3490196078,
- 0.5803921568627451,
- 0.6549019608,
- 0.1294117647,
- 0.3411764706,
- 0.5843137254901961,
- 0.662745098,
- 0.1333333333,
- 0.3333333333,
- 0.5882352941176471,
- 0.6705882353,
- 0.1411764706,
- 0.3254901961,
- 0.592156862745098,
- 0.6784313725,
- 0.1450980392,
- 0.3176470588,
- 0.596078431372549,
- 0.6862745098,
- 0.1529411765,
- 0.3098039216,
- 0.6,
- 0.6941176471,
- 0.1568627451,
- 0.3019607843,
- 0.6039215686274509,
- 0.7019607843,
- 0.1647058824,
- 0.2941176471,
- 0.6078431372549019,
- 0.7098039216,
- 0.168627451,
- 0.2862745098,
- 0.611764705882353,
- 0.7176470588,
- 0.1764705882,
- 0.2784313725,
- 0.615686274509804,
- 0.7254901961,
- 0.1803921569,
- 0.2705882353,
- 0.6196078431372549,
- 0.7333333333,
- 0.1882352941,
- 0.262745098,
- 0.6235294117647059,
- 0.7411764706,
- 0.1921568627,
- 0.2549019608,
- 0.6274509803921569,
- 0.7490196078,
- 0.2,
- 0.2509803922,
- 0.6313725490196078,
- 0.7529411765,
- 0.2039215686,
- 0.2431372549,
- 0.6352941176470588,
- 0.7607843137,
- 0.2117647059,
- 0.2352941176,
- 0.6392156862745098,
- 0.768627451,
- 0.2156862745,
- 0.2274509804,
- 0.6431372549019608,
- 0.7764705882,
- 0.2235294118,
- 0.2196078431,
- 0.6470588235294118,
- 0.7843137255,
- 0.2274509804,
- 0.2117647059,
- 0.6509803921568628,
- 0.7921568627,
- 0.2352941176,
- 0.2039215686,
- 0.6549019607843137,
- 0.8,
- 0.2392156863,
- 0.1960784314,
- 0.6588235294117647,
- 0.8078431373,
- 0.2470588235,
- 0.1882352941,
- 0.6627450980392157,
- 0.8156862745,
- 0.2509803922,
- 0.1803921569,
- 0.6666666666666666,
- 0.8235294118,
- 0.2549019608,
- 0.1725490196,
- 0.6705882352941176,
- 0.831372549,
- 0.2588235294,
- 0.1647058824,
- 0.6745098039215687,
- 0.8392156863,
- 0.2666666667,
- 0.1568627451,
- 0.6784313725490196,
- 0.8470588235,
- 0.2705882353,
- 0.1490196078,
- 0.6823529411764706,
- 0.8549019608,
- 0.2784313725,
- 0.1411764706,
- 0.6862745098039216,
- 0.862745098,
- 0.2823529412,
- 0.1333333333,
- 0.6901960784313725,
- 0.8705882353,
- 0.2901960784,
- 0.1254901961,
- 0.6941176470588235,
- 0.8784313725,
- 0.2941176471,
- 0.1176470588,
- 0.6980392156862745,
- 0.8862745098,
- 0.3019607843,
- 0.1098039216,
- 0.7019607843137254,
- 0.8941176471,
- 0.3058823529,
- 0.1019607843,
- 0.7058823529411765,
- 0.9019607843,
- 0.3137254902,
- 0.0941176471,
- 0.7098039215686275,
- 0.9098039216,
- 0.3176470588,
- 0.0862745098,
- 0.7137254901960784,
- 0.9176470588,
- 0.3254901961,
- 0.0784313725,
- 0.7176470588235294,
- 0.9254901961,
- 0.3294117647,
- 0.0705882353,
- 0.7215686274509804,
- 0.9333333333,
- 0.337254902,
- 0.062745098,
- 0.7254901960784313,
- 0.9411764706,
- 0.3411764706,
- 0.0549019608,
- 0.7294117647058823,
- 0.9490196078,
- 0.3490196078,
- 0.0470588235,
- 0.7333333333333333,
- 0.9568627451,
- 0.3529411765,
- 0.0392156863,
- 0.7372549019607844,
- 0.9647058824,
- 0.3607843137,
- 0.031372549,
- 0.7411764705882353,
- 0.9725490196,
- 0.3647058824,
- 0.0235294118,
- 0.7450980392156863,
- 0.9803921569,
- 0.3725490196,
- 0.0156862745,
- 0.7490196078431373,
- 0.9882352941,
- 0.3725490196,
- 0.0039215686,
- 0.7529411764705882,
- 0.9960784314,
- 0.3843137255,
- 0.0156862745,
- 0.7568627450980392,
- 0.9960784314,
- 0.3921568627,
- 0.031372549,
- 0.7607843137254902,
- 0.9960784314,
- 0.4039215686,
- 0.0470588235,
- 0.7647058823529411,
- 0.9960784314,
- 0.4117647059,
- 0.062745098,
- 0.7686274509803922,
- 0.9960784314,
- 0.4235294118,
- 0.0784313725,
- 0.7725490196078432,
- 0.9960784314,
- 0.431372549,
- 0.0941176471,
- 0.7764705882352941,
- 0.9960784314,
- 0.4431372549,
- 0.1098039216,
- 0.7803921568627451,
- 0.9960784314,
- 0.4509803922,
- 0.1254901961,
- 0.7843137254901961,
- 0.9960784314,
- 0.462745098,
- 0.1411764706,
- 0.788235294117647,
- 0.9960784314,
- 0.4705882353,
- 0.1568627451,
- 0.792156862745098,
- 0.9960784314,
- 0.4823529412,
- 0.1725490196,
- 0.796078431372549,
- 0.9960784314,
- 0.4901960784,
- 0.1882352941,
- 0.8,
- 0.9960784314,
- 0.5019607843,
- 0.2039215686,
- 0.803921568627451,
- 0.9960784314,
- 0.5098039216,
- 0.2196078431,
- 0.807843137254902,
- 0.9960784314,
- 0.5215686275,
- 0.2352941176,
- 0.8117647058823529,
- 0.9960784314,
- 0.5294117647,
- 0.2509803922,
- 0.8156862745098039,
- 0.9960784314,
- 0.5411764706,
- 0.262745098,
- 0.8196078431372549,
- 0.9960784314,
- 0.5490196078,
- 0.2784313725,
- 0.8235294117647058,
- 0.9960784314,
- 0.5607843137,
- 0.2941176471,
- 0.8274509803921568,
- 0.9960784314,
- 0.568627451,
- 0.3098039216,
- 0.8313725490196079,
- 0.9960784314,
- 0.5803921569,
- 0.3254901961,
- 0.8352941176470589,
- 0.9960784314,
- 0.5882352941,
- 0.3411764706,
- 0.8392156862745098,
- 0.9960784314,
- 0.6,
- 0.3568627451,
- 0.8431372549019608,
- 0.9960784314,
- 0.6078431373,
- 0.3725490196,
- 0.8470588235294118,
- 0.9960784314,
- 0.6196078431,
- 0.3882352941,
- 0.8509803921568627,
- 0.9960784314,
- 0.6274509804,
- 0.4039215686,
- 0.8549019607843137,
- 0.9960784314,
- 0.6392156863,
- 0.4196078431,
- 0.8588235294117647,
- 0.9960784314,
- 0.6470588235,
- 0.4352941176,
- 0.8627450980392157,
- 0.9960784314,
- 0.6588235294,
- 0.4509803922,
- 0.8666666666666667,
- 0.9960784314,
- 0.6666666667,
- 0.4666666667,
- 0.8705882352941177,
- 0.9960784314,
- 0.6784313725,
- 0.4823529412,
- 0.8745098039215686,
- 0.9960784314,
- 0.6862745098,
- 0.4980392157,
- 0.8784313725490196,
- 0.9960784314,
- 0.6980392157,
- 0.5137254902,
- 0.8823529411764706,
- 0.9960784314,
- 0.7058823529,
- 0.5294117647,
- 0.8862745098039215,
- 0.9960784314,
- 0.7176470588,
- 0.5450980392,
- 0.8901960784313725,
- 0.9960784314,
- 0.7254901961,
- 0.5607843137,
- 0.8941176470588236,
- 0.9960784314,
- 0.737254902,
- 0.5764705882,
- 0.8980392156862745,
- 0.9960784314,
- 0.7450980392,
- 0.5921568627,
- 0.9019607843137255,
- 0.9960784314,
- 0.7529411765,
- 0.6078431373,
- 0.9058823529411765,
- 0.9960784314,
- 0.7607843137,
- 0.6235294118,
- 0.9098039215686274,
- 0.9960784314,
- 0.7725490196,
- 0.6392156863,
- 0.9137254901960784,
- 0.9960784314,
- 0.7803921569,
- 0.6549019608,
- 0.9176470588235294,
- 0.9960784314,
- 0.7921568627,
- 0.6705882353,
- 0.9215686274509803,
- 0.9960784314,
- 0.8,
- 0.6862745098,
- 0.9254901960784314,
- 0.9960784314,
- 0.8117647059,
- 0.7019607843,
- 0.9294117647058824,
- 0.9960784314,
- 0.8196078431,
- 0.7176470588,
- 0.9333333333333333,
- 0.9960784314,
- 0.831372549,
- 0.7333333333,
- 0.9372549019607843,
- 0.9960784314,
- 0.8392156863,
- 0.7490196078,
- 0.9411764705882354,
- 0.9960784314,
- 0.8509803922,
- 0.7607843137,
- 0.9450980392156864,
- 0.9960784314,
- 0.8588235294,
- 0.7764705882,
- 0.9490196078431372,
- 0.9960784314,
- 0.8705882353,
- 0.7921568627,
- 0.9529411764705882,
- 0.9960784314,
- 0.8784313725,
- 0.8078431373,
- 0.9568627450980394,
- 0.9960784314,
- 0.8901960784,
- 0.8235294118,
- 0.9607843137254903,
- 0.9960784314,
- 0.8980392157,
- 0.8392156863,
- 0.9647058823529413,
- 0.9960784314,
- 0.9098039216,
- 0.8549019608,
- 0.9686274509803922,
- 0.9960784314,
- 0.9176470588,
- 0.8705882353,
- 0.9725490196078431,
- 0.9960784314,
- 0.9294117647,
- 0.8862745098,
- 0.9764705882352941,
- 0.9960784314,
- 0.937254902,
- 0.9019607843,
- 0.9803921568627451,
- 0.9960784314,
- 0.9490196078,
- 0.9176470588,
- 0.984313725490196,
- 0.9960784314,
- 0.9568627451,
- 0.9333333333,
- 0.9882352941176471,
- 0.9960784314,
- 0.968627451,
- 0.9490196078,
- 0.9921568627450981,
- 0.9960784314,
- 0.9764705882,
- 0.9647058824,
- 0.996078431372549,
- 0.9960784314,
- 0.9882352941,
- 0.9803921569,
- 1.0,
- 0.9960784314,
- 0.9882352941,
- 0.9803921569,
+ 0.0, 0.0039215686, 0.0078431373, 0.0078431373, 0.00392156862745098, 0.0039215686,
+ 0.0078431373, 0.0078431373, 0.00784313725490196, 0.0039215686, 0.0078431373, 0.0117647059,
+ 0.011764705882352941, 0.0039215686, 0.0117647059, 0.0156862745, 0.01568627450980392,
+ 0.0039215686, 0.0117647059, 0.0196078431, 0.0196078431372549, 0.0039215686, 0.0156862745,
+ 0.0235294118, 0.023529411764705882, 0.0039215686, 0.0156862745, 0.0274509804,
+ 0.027450980392156862, 0.0039215686, 0.0196078431, 0.031372549, 0.03137254901960784,
+ 0.0039215686, 0.0196078431, 0.0352941176, 0.03529411764705882, 0.0039215686, 0.0235294118,
+ 0.0392156863, 0.0392156862745098, 0.0039215686, 0.0235294118, 0.0431372549,
+ 0.043137254901960784, 0.0039215686, 0.0274509804, 0.0470588235, 0.047058823529411764,
+ 0.0039215686, 0.0274509804, 0.0509803922, 0.050980392156862744, 0.0039215686, 0.031372549,
+ 0.0549019608, 0.054901960784313725, 0.0039215686, 0.031372549, 0.0588235294,
+ 0.05882352941176471, 0.0039215686, 0.0352941176, 0.062745098, 0.06274509803921569,
+ 0.0039215686, 0.0352941176, 0.0666666667, 0.06666666666666667, 0.0039215686, 0.0392156863,
+ 0.0705882353, 0.07058823529411765, 0.0039215686, 0.0392156863, 0.0745098039,
+ 0.07450980392156863, 0.0039215686, 0.0431372549, 0.0784313725, 0.0784313725490196,
+ 0.0039215686, 0.0431372549, 0.0823529412, 0.08235294117647059, 0.0039215686, 0.0470588235,
+ 0.0862745098, 0.08627450980392157, 0.0039215686, 0.0470588235, 0.0901960784,
+ 0.09019607843137255, 0.0039215686, 0.0509803922, 0.0941176471, 0.09411764705882353,
+ 0.0039215686, 0.0509803922, 0.0980392157, 0.09803921568627451, 0.0039215686, 0.0549019608,
+ 0.1019607843, 0.10196078431372549, 0.0039215686, 0.0549019608, 0.1058823529,
+ 0.10588235294117647, 0.0039215686, 0.0588235294, 0.1098039216, 0.10980392156862745,
+ 0.0039215686, 0.0588235294, 0.1137254902, 0.11372549019607843, 0.0039215686, 0.062745098,
+ 0.1176470588, 0.11764705882352942, 0.0039215686, 0.062745098, 0.1215686275,
+ 0.12156862745098039, 0.0039215686, 0.0666666667, 0.1254901961, 0.12549019607843137,
+ 0.0039215686, 0.0666666667, 0.1294117647, 0.12941176470588237, 0.0039215686, 0.0705882353,
+ 0.1333333333, 0.13333333333333333, 0.0039215686, 0.0705882353, 0.137254902,
+ 0.13725490196078433, 0.0039215686, 0.0745098039, 0.1411764706, 0.1411764705882353,
+ 0.0039215686, 0.0745098039, 0.1450980392, 0.1450980392156863, 0.0039215686, 0.0784313725,
+ 0.1490196078, 0.14901960784313725, 0.0039215686, 0.0784313725, 0.1529411765,
+ 0.15294117647058825, 0.0039215686, 0.0823529412, 0.1568627451, 0.1568627450980392,
+ 0.0039215686, 0.0823529412, 0.1607843137, 0.1607843137254902, 0.0039215686, 0.0862745098,
+ 0.1647058824, 0.16470588235294117, 0.0039215686, 0.0862745098, 0.168627451,
+ 0.16862745098039217, 0.0039215686, 0.0901960784, 0.1725490196, 0.17254901960784313,
+ 0.0039215686, 0.0901960784, 0.1764705882, 0.17647058823529413, 0.0039215686, 0.0941176471,
+ 0.1803921569, 0.1803921568627451, 0.0039215686, 0.0941176471, 0.1843137255,
+ 0.1843137254901961, 0.0039215686, 0.0980392157, 0.1882352941, 0.18823529411764706,
+ 0.0039215686, 0.0980392157, 0.1921568627, 0.19215686274509805, 0.0039215686, 0.1019607843,
+ 0.1960784314, 0.19607843137254902, 0.0039215686, 0.1019607843, 0.2, 0.2, 0.0039215686,
+ 0.1058823529, 0.2039215686, 0.20392156862745098, 0.0039215686, 0.1058823529, 0.2078431373,
+ 0.20784313725490197, 0.0039215686, 0.1098039216, 0.2117647059, 0.21176470588235294,
+ 0.0039215686, 0.1098039216, 0.2156862745, 0.21568627450980393, 0.0039215686, 0.1137254902,
+ 0.2196078431, 0.2196078431372549, 0.0039215686, 0.1137254902, 0.2235294118,
+ 0.2235294117647059, 0.0039215686, 0.1176470588, 0.2274509804, 0.22745098039215686,
+ 0.0039215686, 0.1176470588, 0.231372549, 0.23137254901960785, 0.0039215686, 0.1215686275,
+ 0.2352941176, 0.23529411764705885, 0.0039215686, 0.1215686275, 0.2392156863,
+ 0.23921568627450984, 0.0039215686, 0.1254901961, 0.2431372549, 0.24313725490196078,
+ 0.0039215686, 0.1254901961, 0.2470588235, 0.24705882352941178, 0.0039215686, 0.1294117647,
+ 0.2509803922, 0.25098039215686274, 0.0039215686, 0.1294117647, 0.2509803922,
+ 0.2549019607843137, 0.0078431373, 0.1254901961, 0.2549019608, 0.25882352941176473,
+ 0.0156862745, 0.1254901961, 0.2588235294, 0.2627450980392157, 0.0235294118, 0.1215686275,
+ 0.262745098, 0.26666666666666666, 0.031372549, 0.1215686275, 0.2666666667,
+ 0.27058823529411763, 0.0392156863, 0.1176470588, 0.2705882353, 0.27450980392156865,
+ 0.0470588235, 0.1176470588, 0.2745098039, 0.2784313725490196, 0.0549019608, 0.1137254902,
+ 0.2784313725, 0.2823529411764706, 0.062745098, 0.1137254902, 0.2823529412,
+ 0.28627450980392155, 0.0705882353, 0.1098039216, 0.2862745098, 0.2901960784313726,
+ 0.0784313725, 0.1098039216, 0.2901960784, 0.29411764705882354, 0.0862745098, 0.1058823529,
+ 0.2941176471, 0.2980392156862745, 0.0941176471, 0.1058823529, 0.2980392157,
+ 0.30196078431372547, 0.1019607843, 0.1019607843, 0.3019607843, 0.3058823529411765,
+ 0.1098039216, 0.1019607843, 0.3058823529, 0.30980392156862746, 0.1176470588, 0.0980392157,
+ 0.3098039216, 0.3137254901960784, 0.1254901961, 0.0980392157, 0.3137254902,
+ 0.3176470588235294, 0.1333333333, 0.0941176471, 0.3176470588, 0.3215686274509804,
+ 0.1411764706, 0.0941176471, 0.3215686275, 0.3254901960784314, 0.1490196078, 0.0901960784,
+ 0.3254901961, 0.32941176470588235, 0.1568627451, 0.0901960784, 0.3294117647,
+ 0.3333333333333333, 0.1647058824, 0.0862745098, 0.3333333333, 0.33725490196078434,
+ 0.1725490196, 0.0862745098, 0.337254902, 0.3411764705882353, 0.1803921569, 0.0823529412,
+ 0.3411764706, 0.34509803921568627, 0.1882352941, 0.0823529412, 0.3450980392,
+ 0.34901960784313724, 0.1960784314, 0.0784313725, 0.3490196078, 0.35294117647058826,
+ 0.2039215686, 0.0784313725, 0.3529411765, 0.3568627450980392, 0.2117647059, 0.0745098039,
+ 0.3568627451, 0.3607843137254902, 0.2196078431, 0.0745098039, 0.3607843137,
+ 0.36470588235294116, 0.2274509804, 0.0705882353, 0.3647058824, 0.3686274509803922,
+ 0.2352941176, 0.0705882353, 0.368627451, 0.37254901960784315, 0.2431372549, 0.0666666667,
+ 0.3725490196, 0.3764705882352941, 0.2509803922, 0.0666666667, 0.3764705882,
+ 0.3803921568627451, 0.2549019608, 0.062745098, 0.3803921569, 0.3843137254901961, 0.262745098,
+ 0.062745098, 0.3843137255, 0.38823529411764707, 0.2705882353, 0.0588235294, 0.3882352941,
+ 0.39215686274509803, 0.2784313725, 0.0588235294, 0.3921568627, 0.396078431372549,
+ 0.2862745098, 0.0549019608, 0.3960784314, 0.4, 0.2941176471, 0.0549019608, 0.4,
+ 0.403921568627451, 0.3019607843, 0.0509803922, 0.4039215686, 0.40784313725490196,
+ 0.3098039216, 0.0509803922, 0.4078431373, 0.4117647058823529, 0.3176470588, 0.0470588235,
+ 0.4117647059, 0.41568627450980394, 0.3254901961, 0.0470588235, 0.4156862745,
+ 0.4196078431372549, 0.3333333333, 0.0431372549, 0.4196078431, 0.4235294117647059,
+ 0.3411764706, 0.0431372549, 0.4235294118, 0.42745098039215684, 0.3490196078, 0.0392156863,
+ 0.4274509804, 0.43137254901960786, 0.3568627451, 0.0392156863, 0.431372549,
+ 0.43529411764705883, 0.3647058824, 0.0352941176, 0.4352941176, 0.4392156862745098,
+ 0.3725490196, 0.0352941176, 0.4392156863, 0.44313725490196076, 0.3803921569, 0.031372549,
+ 0.4431372549, 0.4470588235294118, 0.3882352941, 0.031372549, 0.4470588235,
+ 0.45098039215686275, 0.3960784314, 0.0274509804, 0.4509803922, 0.4549019607843137,
+ 0.4039215686, 0.0274509804, 0.4549019608, 0.4588235294117647, 0.4117647059, 0.0235294118,
+ 0.4588235294, 0.4627450980392157, 0.4196078431, 0.0235294118, 0.462745098, 0.4666666666666667,
+ 0.4274509804, 0.0196078431, 0.4666666667, 0.4705882352941177, 0.4352941176, 0.0196078431,
+ 0.4705882353, 0.4745098039215686, 0.4431372549, 0.0156862745, 0.4745098039,
+ 0.4784313725490197, 0.4509803922, 0.0156862745, 0.4784313725, 0.48235294117647065,
+ 0.4588235294, 0.0117647059, 0.4823529412, 0.48627450980392156, 0.4666666667, 0.0117647059,
+ 0.4862745098, 0.49019607843137253, 0.4745098039, 0.0078431373, 0.4901960784,
+ 0.49411764705882355, 0.4823529412, 0.0078431373, 0.4941176471, 0.4980392156862745,
+ 0.4901960784, 0.0039215686, 0.4980392157, 0.5019607843137255, 0.4980392157, 0.0117647059,
+ 0.4980392157, 0.5058823529411764, 0.5058823529, 0.0156862745, 0.4901960784,
+ 0.5098039215686274, 0.5137254902, 0.0235294118, 0.4823529412, 0.5137254901960784,
+ 0.5215686275, 0.0274509804, 0.4745098039, 0.5176470588235295, 0.5294117647, 0.0352941176,
+ 0.4666666667, 0.5215686274509804, 0.537254902, 0.0392156863, 0.4588235294, 0.5254901960784314,
+ 0.5450980392, 0.0470588235, 0.4509803922, 0.5294117647058824, 0.5529411765, 0.0509803922,
+ 0.4431372549, 0.5333333333333333, 0.5607843137, 0.0588235294, 0.4352941176,
+ 0.5372549019607843, 0.568627451, 0.062745098, 0.4274509804, 0.5411764705882353, 0.5764705882,
+ 0.0705882353, 0.4196078431, 0.5450980392156862, 0.5843137255, 0.0745098039, 0.4117647059,
+ 0.5490196078431373, 0.5921568627, 0.0823529412, 0.4039215686, 0.5529411764705883, 0.6,
+ 0.0862745098, 0.3960784314, 0.5568627450980392, 0.6078431373, 0.0941176471, 0.3882352941,
+ 0.5607843137254902, 0.6156862745, 0.0980392157, 0.3803921569, 0.5647058823529412,
+ 0.6235294118, 0.1058823529, 0.3725490196, 0.5686274509803921, 0.631372549, 0.1098039216,
+ 0.3647058824, 0.5725490196078431, 0.6392156863, 0.1176470588, 0.3568627451,
+ 0.5764705882352941, 0.6470588235, 0.1215686275, 0.3490196078, 0.5803921568627451,
+ 0.6549019608, 0.1294117647, 0.3411764706, 0.5843137254901961, 0.662745098, 0.1333333333,
+ 0.3333333333, 0.5882352941176471, 0.6705882353, 0.1411764706, 0.3254901961, 0.592156862745098,
+ 0.6784313725, 0.1450980392, 0.3176470588, 0.596078431372549, 0.6862745098, 0.1529411765,
+ 0.3098039216, 0.6, 0.6941176471, 0.1568627451, 0.3019607843, 0.6039215686274509, 0.7019607843,
+ 0.1647058824, 0.2941176471, 0.6078431372549019, 0.7098039216, 0.168627451, 0.2862745098,
+ 0.611764705882353, 0.7176470588, 0.1764705882, 0.2784313725, 0.615686274509804, 0.7254901961,
+ 0.1803921569, 0.2705882353, 0.6196078431372549, 0.7333333333, 0.1882352941, 0.262745098,
+ 0.6235294117647059, 0.7411764706, 0.1921568627, 0.2549019608, 0.6274509803921569,
+ 0.7490196078, 0.2, 0.2509803922, 0.6313725490196078, 0.7529411765, 0.2039215686, 0.2431372549,
+ 0.6352941176470588, 0.7607843137, 0.2117647059, 0.2352941176, 0.6392156862745098, 0.768627451,
+ 0.2156862745, 0.2274509804, 0.6431372549019608, 0.7764705882, 0.2235294118, 0.2196078431,
+ 0.6470588235294118, 0.7843137255, 0.2274509804, 0.2117647059, 0.6509803921568628,
+ 0.7921568627, 0.2352941176, 0.2039215686, 0.6549019607843137, 0.8, 0.2392156863, 0.1960784314,
+ 0.6588235294117647, 0.8078431373, 0.2470588235, 0.1882352941, 0.6627450980392157,
+ 0.8156862745, 0.2509803922, 0.1803921569, 0.6666666666666666, 0.8235294118, 0.2549019608,
+ 0.1725490196, 0.6705882352941176, 0.831372549, 0.2588235294, 0.1647058824, 0.6745098039215687,
+ 0.8392156863, 0.2666666667, 0.1568627451, 0.6784313725490196, 0.8470588235, 0.2705882353,
+ 0.1490196078, 0.6823529411764706, 0.8549019608, 0.2784313725, 0.1411764706,
+ 0.6862745098039216, 0.862745098, 0.2823529412, 0.1333333333, 0.6901960784313725, 0.8705882353,
+ 0.2901960784, 0.1254901961, 0.6941176470588235, 0.8784313725, 0.2941176471, 0.1176470588,
+ 0.6980392156862745, 0.8862745098, 0.3019607843, 0.1098039216, 0.7019607843137254,
+ 0.8941176471, 0.3058823529, 0.1019607843, 0.7058823529411765, 0.9019607843, 0.3137254902,
+ 0.0941176471, 0.7098039215686275, 0.9098039216, 0.3176470588, 0.0862745098,
+ 0.7137254901960784, 0.9176470588, 0.3254901961, 0.0784313725, 0.7176470588235294,
+ 0.9254901961, 0.3294117647, 0.0705882353, 0.7215686274509804, 0.9333333333, 0.337254902,
+ 0.062745098, 0.7254901960784313, 0.9411764706, 0.3411764706, 0.0549019608, 0.7294117647058823,
+ 0.9490196078, 0.3490196078, 0.0470588235, 0.7333333333333333, 0.9568627451, 0.3529411765,
+ 0.0392156863, 0.7372549019607844, 0.9647058824, 0.3607843137, 0.031372549, 0.7411764705882353,
+ 0.9725490196, 0.3647058824, 0.0235294118, 0.7450980392156863, 0.9803921569, 0.3725490196,
+ 0.0156862745, 0.7490196078431373, 0.9882352941, 0.3725490196, 0.0039215686,
+ 0.7529411764705882, 0.9960784314, 0.3843137255, 0.0156862745, 0.7568627450980392,
+ 0.9960784314, 0.3921568627, 0.031372549, 0.7607843137254902, 0.9960784314, 0.4039215686,
+ 0.0470588235, 0.7647058823529411, 0.9960784314, 0.4117647059, 0.062745098, 0.7686274509803922,
+ 0.9960784314, 0.4235294118, 0.0784313725, 0.7725490196078432, 0.9960784314, 0.431372549,
+ 0.0941176471, 0.7764705882352941, 0.9960784314, 0.4431372549, 0.1098039216,
+ 0.7803921568627451, 0.9960784314, 0.4509803922, 0.1254901961, 0.7843137254901961,
+ 0.9960784314, 0.462745098, 0.1411764706, 0.788235294117647, 0.9960784314, 0.4705882353,
+ 0.1568627451, 0.792156862745098, 0.9960784314, 0.4823529412, 0.1725490196, 0.796078431372549,
+ 0.9960784314, 0.4901960784, 0.1882352941, 0.8, 0.9960784314, 0.5019607843, 0.2039215686,
+ 0.803921568627451, 0.9960784314, 0.5098039216, 0.2196078431, 0.807843137254902, 0.9960784314,
+ 0.5215686275, 0.2352941176, 0.8117647058823529, 0.9960784314, 0.5294117647, 0.2509803922,
+ 0.8156862745098039, 0.9960784314, 0.5411764706, 0.262745098, 0.8196078431372549, 0.9960784314,
+ 0.5490196078, 0.2784313725, 0.8235294117647058, 0.9960784314, 0.5607843137, 0.2941176471,
+ 0.8274509803921568, 0.9960784314, 0.568627451, 0.3098039216, 0.8313725490196079, 0.9960784314,
+ 0.5803921569, 0.3254901961, 0.8352941176470589, 0.9960784314, 0.5882352941, 0.3411764706,
+ 0.8392156862745098, 0.9960784314, 0.6, 0.3568627451, 0.8431372549019608, 0.9960784314,
+ 0.6078431373, 0.3725490196, 0.8470588235294118, 0.9960784314, 0.6196078431, 0.3882352941,
+ 0.8509803921568627, 0.9960784314, 0.6274509804, 0.4039215686, 0.8549019607843137,
+ 0.9960784314, 0.6392156863, 0.4196078431, 0.8588235294117647, 0.9960784314, 0.6470588235,
+ 0.4352941176, 0.8627450980392157, 0.9960784314, 0.6588235294, 0.4509803922,
+ 0.8666666666666667, 0.9960784314, 0.6666666667, 0.4666666667, 0.8705882352941177,
+ 0.9960784314, 0.6784313725, 0.4823529412, 0.8745098039215686, 0.9960784314, 0.6862745098,
+ 0.4980392157, 0.8784313725490196, 0.9960784314, 0.6980392157, 0.5137254902,
+ 0.8823529411764706, 0.9960784314, 0.7058823529, 0.5294117647, 0.8862745098039215,
+ 0.9960784314, 0.7176470588, 0.5450980392, 0.8901960784313725, 0.9960784314, 0.7254901961,
+ 0.5607843137, 0.8941176470588236, 0.9960784314, 0.737254902, 0.5764705882, 0.8980392156862745,
+ 0.9960784314, 0.7450980392, 0.5921568627, 0.9019607843137255, 0.9960784314, 0.7529411765,
+ 0.6078431373, 0.9058823529411765, 0.9960784314, 0.7607843137, 0.6235294118,
+ 0.9098039215686274, 0.9960784314, 0.7725490196, 0.6392156863, 0.9137254901960784,
+ 0.9960784314, 0.7803921569, 0.6549019608, 0.9176470588235294, 0.9960784314, 0.7921568627,
+ 0.6705882353, 0.9215686274509803, 0.9960784314, 0.8, 0.6862745098, 0.9254901960784314,
+ 0.9960784314, 0.8117647059, 0.7019607843, 0.9294117647058824, 0.9960784314, 0.8196078431,
+ 0.7176470588, 0.9333333333333333, 0.9960784314, 0.831372549, 0.7333333333, 0.9372549019607843,
+ 0.9960784314, 0.8392156863, 0.7490196078, 0.9411764705882354, 0.9960784314, 0.8509803922,
+ 0.7607843137, 0.9450980392156864, 0.9960784314, 0.8588235294, 0.7764705882,
+ 0.9490196078431372, 0.9960784314, 0.8705882353, 0.7921568627, 0.9529411764705882,
+ 0.9960784314, 0.8784313725, 0.8078431373, 0.9568627450980394, 0.9960784314, 0.8901960784,
+ 0.8235294118, 0.9607843137254903, 0.9960784314, 0.8980392157, 0.8392156863,
+ 0.9647058823529413, 0.9960784314, 0.9098039216, 0.8549019608, 0.9686274509803922,
+ 0.9960784314, 0.9176470588, 0.8705882353, 0.9725490196078431, 0.9960784314, 0.9294117647,
+ 0.8862745098, 0.9764705882352941, 0.9960784314, 0.937254902, 0.9019607843, 0.9803921568627451,
+ 0.9960784314, 0.9490196078, 0.9176470588, 0.984313725490196, 0.9960784314, 0.9568627451,
+ 0.9333333333, 0.9882352941176471, 0.9960784314, 0.968627451, 0.9490196078, 0.9921568627450981,
+ 0.9960784314, 0.9764705882, 0.9647058824, 0.996078431372549, 0.9960784314, 0.9882352941,
+ 0.9803921569, 1.0, 0.9960784314, 0.9882352941, 0.9803921569,
],
},
{
ColorSpace: 'RGB',
Name: 'ge',
RGBPoints: [
- 0.0,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.00392156862745098,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.00784313725490196,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.011764705882352941,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.01568627450980392,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.0196078431372549,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.023529411764705882,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.027450980392156862,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.03137254901960784,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.03529411764705882,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.0392156862745098,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.043137254901960784,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.047058823529411764,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.050980392156862744,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.054901960784313725,
- 0.0078431373,
- 0.0078431373,
- 0.0078431373,
- 0.05882352941176471,
- 0.0117647059,
- 0.0078431373,
- 0.0078431373,
- 0.06274509803921569,
- 0.0078431373,
- 0.0156862745,
- 0.0156862745,
- 0.06666666666666667,
- 0.0078431373,
- 0.0235294118,
- 0.0235294118,
- 0.07058823529411765,
- 0.0078431373,
- 0.031372549,
- 0.031372549,
- 0.07450980392156863,
- 0.0078431373,
- 0.0392156863,
- 0.0392156863,
- 0.0784313725490196,
- 0.0078431373,
- 0.0470588235,
- 0.0470588235,
- 0.08235294117647059,
- 0.0078431373,
- 0.0549019608,
- 0.0549019608,
- 0.08627450980392157,
- 0.0078431373,
- 0.062745098,
- 0.062745098,
- 0.09019607843137255,
- 0.0078431373,
- 0.0705882353,
- 0.0705882353,
- 0.09411764705882353,
- 0.0078431373,
- 0.0784313725,
- 0.0784313725,
- 0.09803921568627451,
- 0.0078431373,
- 0.0901960784,
- 0.0862745098,
- 0.10196078431372549,
- 0.0078431373,
- 0.0980392157,
- 0.0941176471,
- 0.10588235294117647,
- 0.0078431373,
- 0.1058823529,
- 0.1019607843,
- 0.10980392156862745,
- 0.0078431373,
- 0.1137254902,
- 0.1098039216,
- 0.11372549019607843,
- 0.0078431373,
- 0.1215686275,
- 0.1176470588,
- 0.11764705882352942,
- 0.0078431373,
- 0.1294117647,
- 0.1254901961,
- 0.12156862745098039,
- 0.0078431373,
- 0.137254902,
- 0.1333333333,
- 0.12549019607843137,
- 0.0078431373,
- 0.1450980392,
- 0.1411764706,
- 0.12941176470588237,
- 0.0078431373,
- 0.1529411765,
- 0.1490196078,
- 0.13333333333333333,
- 0.0078431373,
- 0.1647058824,
- 0.1568627451,
- 0.13725490196078433,
- 0.0078431373,
- 0.1725490196,
- 0.1647058824,
- 0.1411764705882353,
- 0.0078431373,
- 0.1803921569,
- 0.1725490196,
- 0.1450980392156863,
- 0.0078431373,
- 0.1882352941,
- 0.1803921569,
- 0.14901960784313725,
- 0.0078431373,
- 0.1960784314,
- 0.1882352941,
- 0.15294117647058825,
- 0.0078431373,
- 0.2039215686,
- 0.1960784314,
- 0.1568627450980392,
- 0.0078431373,
- 0.2117647059,
- 0.2039215686,
- 0.1607843137254902,
- 0.0078431373,
- 0.2196078431,
- 0.2117647059,
- 0.16470588235294117,
- 0.0078431373,
- 0.2274509804,
- 0.2196078431,
- 0.16862745098039217,
- 0.0078431373,
- 0.2352941176,
- 0.2274509804,
- 0.17254901960784313,
- 0.0078431373,
- 0.2470588235,
- 0.2352941176,
- 0.17647058823529413,
- 0.0078431373,
- 0.2509803922,
- 0.2431372549,
- 0.1803921568627451,
- 0.0078431373,
- 0.2549019608,
- 0.2509803922,
- 0.1843137254901961,
- 0.0078431373,
- 0.262745098,
- 0.2509803922,
- 0.18823529411764706,
- 0.0078431373,
- 0.2705882353,
- 0.2588235294,
- 0.19215686274509805,
- 0.0078431373,
- 0.2784313725,
- 0.2666666667,
- 0.19607843137254902,
- 0.0078431373,
- 0.2862745098,
- 0.2745098039,
- 0.2,
- 0.0078431373,
- 0.2941176471,
- 0.2823529412,
- 0.20392156862745098,
- 0.0078431373,
- 0.3019607843,
- 0.2901960784,
- 0.20784313725490197,
- 0.0078431373,
- 0.3137254902,
- 0.2980392157,
- 0.21176470588235294,
- 0.0078431373,
- 0.3215686275,
- 0.3058823529,
- 0.21568627450980393,
- 0.0078431373,
- 0.3294117647,
- 0.3137254902,
- 0.2196078431372549,
- 0.0078431373,
- 0.337254902,
- 0.3215686275,
- 0.2235294117647059,
- 0.0078431373,
- 0.3450980392,
- 0.3294117647,
- 0.22745098039215686,
- 0.0078431373,
- 0.3529411765,
- 0.337254902,
- 0.23137254901960785,
- 0.0078431373,
- 0.3607843137,
- 0.3450980392,
- 0.23529411764705885,
- 0.0078431373,
- 0.368627451,
- 0.3529411765,
- 0.23921568627450984,
- 0.0078431373,
- 0.3764705882,
- 0.3607843137,
- 0.24313725490196078,
- 0.0078431373,
- 0.3843137255,
- 0.368627451,
- 0.24705882352941178,
- 0.0078431373,
- 0.3960784314,
- 0.3764705882,
- 0.25098039215686274,
- 0.0078431373,
- 0.4039215686,
- 0.3843137255,
- 0.2549019607843137,
- 0.0078431373,
- 0.4117647059,
- 0.3921568627,
- 0.25882352941176473,
- 0.0078431373,
- 0.4196078431,
- 0.4,
- 0.2627450980392157,
- 0.0078431373,
- 0.4274509804,
- 0.4078431373,
- 0.26666666666666666,
- 0.0078431373,
- 0.4352941176,
- 0.4156862745,
- 0.27058823529411763,
- 0.0078431373,
- 0.4431372549,
- 0.4235294118,
- 0.27450980392156865,
- 0.0078431373,
- 0.4509803922,
- 0.431372549,
- 0.2784313725490196,
- 0.0078431373,
- 0.4588235294,
- 0.4392156863,
- 0.2823529411764706,
- 0.0078431373,
- 0.4705882353,
- 0.4470588235,
- 0.28627450980392155,
- 0.0078431373,
- 0.4784313725,
- 0.4549019608,
- 0.2901960784313726,
- 0.0078431373,
- 0.4862745098,
- 0.462745098,
- 0.29411764705882354,
- 0.0078431373,
- 0.4941176471,
- 0.4705882353,
- 0.2980392156862745,
- 0.0078431373,
- 0.5019607843,
- 0.4784313725,
- 0.30196078431372547,
- 0.0117647059,
- 0.5098039216,
- 0.4862745098,
- 0.3058823529411765,
- 0.0196078431,
- 0.5019607843,
- 0.4941176471,
- 0.30980392156862746,
- 0.0274509804,
- 0.4941176471,
- 0.5058823529,
- 0.3137254901960784,
- 0.0352941176,
- 0.4862745098,
- 0.5137254902,
- 0.3176470588235294,
- 0.0431372549,
- 0.4784313725,
- 0.5215686275,
- 0.3215686274509804,
- 0.0509803922,
- 0.4705882353,
- 0.5294117647,
- 0.3254901960784314,
- 0.0588235294,
- 0.462745098,
- 0.537254902,
- 0.32941176470588235,
- 0.0666666667,
- 0.4549019608,
- 0.5450980392,
- 0.3333333333333333,
- 0.0745098039,
- 0.4470588235,
- 0.5529411765,
- 0.33725490196078434,
- 0.0823529412,
- 0.4392156863,
- 0.5607843137,
- 0.3411764705882353,
- 0.0901960784,
- 0.431372549,
- 0.568627451,
- 0.34509803921568627,
- 0.0980392157,
- 0.4235294118,
- 0.5764705882,
- 0.34901960784313724,
- 0.1058823529,
- 0.4156862745,
- 0.5843137255,
- 0.35294117647058826,
- 0.1137254902,
- 0.4078431373,
- 0.5921568627,
- 0.3568627450980392,
- 0.1215686275,
- 0.4,
- 0.6,
- 0.3607843137254902,
- 0.1294117647,
- 0.3921568627,
- 0.6078431373,
- 0.36470588235294116,
- 0.137254902,
- 0.3843137255,
- 0.6156862745,
- 0.3686274509803922,
- 0.1450980392,
- 0.3764705882,
- 0.6235294118,
- 0.37254901960784315,
- 0.1529411765,
- 0.368627451,
- 0.631372549,
- 0.3764705882352941,
- 0.1607843137,
- 0.3607843137,
- 0.6392156863,
- 0.3803921568627451,
- 0.168627451,
- 0.3529411765,
- 0.6470588235,
- 0.3843137254901961,
- 0.1764705882,
- 0.3450980392,
- 0.6549019608,
- 0.38823529411764707,
- 0.1843137255,
- 0.337254902,
- 0.662745098,
- 0.39215686274509803,
- 0.1921568627,
- 0.3294117647,
- 0.6705882353,
- 0.396078431372549,
- 0.2,
- 0.3215686275,
- 0.6784313725,
- 0.4,
- 0.2078431373,
- 0.3137254902,
- 0.6862745098,
- 0.403921568627451,
- 0.2156862745,
- 0.3058823529,
- 0.6941176471,
- 0.40784313725490196,
- 0.2235294118,
- 0.2980392157,
- 0.7019607843,
- 0.4117647058823529,
- 0.231372549,
- 0.2901960784,
- 0.7098039216,
- 0.41568627450980394,
- 0.2392156863,
- 0.2823529412,
- 0.7176470588,
- 0.4196078431372549,
- 0.2470588235,
- 0.2745098039,
- 0.7254901961,
- 0.4235294117647059,
- 0.2509803922,
- 0.2666666667,
- 0.7333333333,
- 0.42745098039215684,
- 0.2509803922,
- 0.2588235294,
- 0.7411764706,
- 0.43137254901960786,
- 0.2588235294,
- 0.2509803922,
- 0.7490196078,
- 0.43529411764705883,
- 0.2666666667,
- 0.2509803922,
- 0.7490196078,
- 0.4392156862745098,
- 0.2745098039,
- 0.2431372549,
- 0.7568627451,
- 0.44313725490196076,
- 0.2823529412,
- 0.2352941176,
- 0.7647058824,
- 0.4470588235294118,
- 0.2901960784,
- 0.2274509804,
- 0.7725490196,
- 0.45098039215686275,
- 0.2980392157,
- 0.2196078431,
- 0.7803921569,
- 0.4549019607843137,
- 0.3058823529,
- 0.2117647059,
- 0.7882352941,
- 0.4588235294117647,
- 0.3137254902,
- 0.2039215686,
- 0.7960784314,
- 0.4627450980392157,
- 0.3215686275,
- 0.1960784314,
- 0.8039215686,
- 0.4666666666666667,
- 0.3294117647,
- 0.1882352941,
- 0.8117647059,
- 0.4705882352941177,
- 0.337254902,
- 0.1803921569,
- 0.8196078431,
- 0.4745098039215686,
- 0.3450980392,
- 0.1725490196,
- 0.8274509804,
- 0.4784313725490197,
- 0.3529411765,
- 0.1647058824,
- 0.8352941176,
- 0.48235294117647065,
- 0.3607843137,
- 0.1568627451,
- 0.8431372549,
- 0.48627450980392156,
- 0.368627451,
- 0.1490196078,
- 0.8509803922,
- 0.49019607843137253,
- 0.3764705882,
- 0.1411764706,
- 0.8588235294,
- 0.49411764705882355,
- 0.3843137255,
- 0.1333333333,
- 0.8666666667,
- 0.4980392156862745,
- 0.3921568627,
- 0.1254901961,
- 0.8745098039,
- 0.5019607843137255,
- 0.4,
- 0.1176470588,
- 0.8823529412,
- 0.5058823529411764,
- 0.4078431373,
- 0.1098039216,
- 0.8901960784,
- 0.5098039215686274,
- 0.4156862745,
- 0.1019607843,
- 0.8980392157,
- 0.5137254901960784,
- 0.4235294118,
- 0.0941176471,
- 0.9058823529,
- 0.5176470588235295,
- 0.431372549,
- 0.0862745098,
- 0.9137254902,
- 0.5215686274509804,
- 0.4392156863,
- 0.0784313725,
- 0.9215686275,
- 0.5254901960784314,
- 0.4470588235,
- 0.0705882353,
- 0.9294117647,
- 0.5294117647058824,
- 0.4549019608,
- 0.062745098,
- 0.937254902,
- 0.5333333333333333,
- 0.462745098,
- 0.0549019608,
- 0.9450980392,
- 0.5372549019607843,
- 0.4705882353,
- 0.0470588235,
- 0.9529411765,
- 0.5411764705882353,
- 0.4784313725,
- 0.0392156863,
- 0.9607843137,
- 0.5450980392156862,
- 0.4862745098,
- 0.031372549,
- 0.968627451,
- 0.5490196078431373,
- 0.4941176471,
- 0.0235294118,
- 0.9764705882,
- 0.5529411764705883,
- 0.4980392157,
- 0.0156862745,
- 0.9843137255,
- 0.5568627450980392,
- 0.5058823529,
- 0.0078431373,
- 0.9921568627,
- 0.5607843137254902,
- 0.5137254902,
- 0.0156862745,
- 0.9803921569,
- 0.5647058823529412,
- 0.5215686275,
- 0.0235294118,
- 0.9647058824,
- 0.5686274509803921,
- 0.5294117647,
- 0.0352941176,
- 0.9490196078,
- 0.5725490196078431,
- 0.537254902,
- 0.0431372549,
- 0.9333333333,
- 0.5764705882352941,
- 0.5450980392,
- 0.0509803922,
- 0.9176470588,
- 0.5803921568627451,
- 0.5529411765,
- 0.062745098,
- 0.9019607843,
- 0.5843137254901961,
- 0.5607843137,
- 0.0705882353,
- 0.8862745098,
- 0.5882352941176471,
- 0.568627451,
- 0.0784313725,
- 0.8705882353,
- 0.592156862745098,
- 0.5764705882,
- 0.0901960784,
- 0.8549019608,
- 0.596078431372549,
- 0.5843137255,
- 0.0980392157,
- 0.8392156863,
- 0.6,
- 0.5921568627,
- 0.1098039216,
- 0.8235294118,
- 0.6039215686274509,
- 0.6,
- 0.1176470588,
- 0.8078431373,
- 0.6078431372549019,
- 0.6078431373,
- 0.1254901961,
- 0.7921568627,
- 0.611764705882353,
- 0.6156862745,
- 0.137254902,
- 0.7764705882,
- 0.615686274509804,
- 0.6235294118,
- 0.1450980392,
- 0.7607843137,
- 0.6196078431372549,
- 0.631372549,
- 0.1529411765,
- 0.7490196078,
- 0.6235294117647059,
- 0.6392156863,
- 0.1647058824,
- 0.737254902,
- 0.6274509803921569,
- 0.6470588235,
- 0.1725490196,
- 0.7215686275,
- 0.6313725490196078,
- 0.6549019608,
- 0.1843137255,
- 0.7058823529,
- 0.6352941176470588,
- 0.662745098,
- 0.1921568627,
- 0.6901960784,
- 0.6392156862745098,
- 0.6705882353,
- 0.2,
- 0.6745098039,
- 0.6431372549019608,
- 0.6784313725,
- 0.2117647059,
- 0.6588235294,
- 0.6470588235294118,
- 0.6862745098,
- 0.2196078431,
- 0.6431372549,
- 0.6509803921568628,
- 0.6941176471,
- 0.2274509804,
- 0.6274509804,
- 0.6549019607843137,
- 0.7019607843,
- 0.2392156863,
- 0.6117647059,
- 0.6588235294117647,
- 0.7098039216,
- 0.2470588235,
- 0.5960784314,
- 0.6627450980392157,
- 0.7176470588,
- 0.2509803922,
- 0.5803921569,
- 0.6666666666666666,
- 0.7254901961,
- 0.2588235294,
- 0.5647058824,
- 0.6705882352941176,
- 0.7333333333,
- 0.2666666667,
- 0.5490196078,
- 0.6745098039215687,
- 0.7411764706,
- 0.2784313725,
- 0.5333333333,
- 0.6784313725490196,
- 0.7490196078,
- 0.2862745098,
- 0.5176470588,
- 0.6823529411764706,
- 0.7490196078,
- 0.2941176471,
- 0.5019607843,
- 0.6862745098039216,
- 0.7529411765,
- 0.3058823529,
- 0.4862745098,
- 0.6901960784313725,
- 0.7607843137,
- 0.3137254902,
- 0.4705882353,
- 0.6941176470588235,
- 0.768627451,
- 0.3215686275,
- 0.4549019608,
- 0.6980392156862745,
- 0.7764705882,
- 0.3333333333,
- 0.4392156863,
- 0.7019607843137254,
- 0.7843137255,
- 0.3411764706,
- 0.4235294118,
- 0.7058823529411765,
- 0.7921568627,
- 0.3529411765,
- 0.4078431373,
- 0.7098039215686275,
- 0.8,
- 0.3607843137,
- 0.3921568627,
- 0.7137254901960784,
- 0.8078431373,
- 0.368627451,
- 0.3764705882,
- 0.7176470588235294,
- 0.8156862745,
- 0.3803921569,
- 0.3607843137,
- 0.7215686274509804,
- 0.8235294118,
- 0.3882352941,
- 0.3450980392,
- 0.7254901960784313,
- 0.831372549,
- 0.3960784314,
- 0.3294117647,
- 0.7294117647058823,
- 0.8392156863,
- 0.4078431373,
- 0.3137254902,
- 0.7333333333333333,
- 0.8470588235,
- 0.4156862745,
- 0.2980392157,
- 0.7372549019607844,
- 0.8549019608,
- 0.4274509804,
- 0.2823529412,
- 0.7411764705882353,
- 0.862745098,
- 0.4352941176,
- 0.2666666667,
- 0.7450980392156863,
- 0.8705882353,
- 0.4431372549,
- 0.2509803922,
- 0.7490196078431373,
- 0.8784313725,
- 0.4549019608,
- 0.2431372549,
- 0.7529411764705882,
- 0.8862745098,
- 0.462745098,
- 0.2274509804,
- 0.7568627450980392,
- 0.8941176471,
- 0.4705882353,
- 0.2117647059,
- 0.7607843137254902,
- 0.9019607843,
- 0.4823529412,
- 0.1960784314,
- 0.7647058823529411,
- 0.9098039216,
- 0.4901960784,
- 0.1803921569,
- 0.7686274509803922,
- 0.9176470588,
- 0.4980392157,
- 0.1647058824,
- 0.7725490196078432,
- 0.9254901961,
- 0.5098039216,
- 0.1490196078,
- 0.7764705882352941,
- 0.9333333333,
- 0.5176470588,
- 0.1333333333,
- 0.7803921568627451,
- 0.9411764706,
- 0.5294117647,
- 0.1176470588,
- 0.7843137254901961,
- 0.9490196078,
- 0.537254902,
- 0.1019607843,
- 0.788235294117647,
- 0.9568627451,
- 0.5450980392,
- 0.0862745098,
- 0.792156862745098,
- 0.9647058824,
- 0.5568627451,
- 0.0705882353,
- 0.796078431372549,
- 0.9725490196,
- 0.5647058824,
- 0.0549019608,
- 0.8,
- 0.9803921569,
- 0.5725490196,
- 0.0392156863,
- 0.803921568627451,
- 0.9882352941,
- 0.5843137255,
- 0.0235294118,
- 0.807843137254902,
- 0.9921568627,
- 0.5921568627,
- 0.0078431373,
- 0.8117647058823529,
- 0.9921568627,
- 0.6039215686,
- 0.0274509804,
- 0.8156862745098039,
- 0.9921568627,
- 0.6117647059,
- 0.0509803922,
- 0.8196078431372549,
- 0.9921568627,
- 0.6196078431,
- 0.0745098039,
- 0.8235294117647058,
- 0.9921568627,
- 0.631372549,
- 0.0980392157,
- 0.8274509803921568,
- 0.9921568627,
- 0.6392156863,
- 0.1215686275,
- 0.8313725490196079,
- 0.9921568627,
- 0.6470588235,
- 0.1411764706,
- 0.8352941176470589,
- 0.9921568627,
- 0.6588235294,
- 0.1647058824,
- 0.8392156862745098,
- 0.9921568627,
- 0.6666666667,
- 0.1882352941,
- 0.8431372549019608,
- 0.9921568627,
- 0.6784313725,
- 0.2117647059,
- 0.8470588235294118,
- 0.9921568627,
- 0.6862745098,
- 0.2352941176,
- 0.8509803921568627,
- 0.9921568627,
- 0.6941176471,
- 0.2509803922,
- 0.8549019607843137,
- 0.9921568627,
- 0.7058823529,
- 0.2705882353,
- 0.8588235294117647,
- 0.9921568627,
- 0.7137254902,
- 0.2941176471,
- 0.8627450980392157,
- 0.9921568627,
- 0.7215686275,
- 0.3176470588,
- 0.8666666666666667,
- 0.9921568627,
- 0.7333333333,
- 0.3411764706,
- 0.8705882352941177,
- 0.9921568627,
- 0.7411764706,
- 0.3647058824,
- 0.8745098039215686,
- 0.9921568627,
- 0.7490196078,
- 0.3843137255,
- 0.8784313725490196,
- 0.9921568627,
- 0.7529411765,
- 0.4078431373,
- 0.8823529411764706,
- 0.9921568627,
- 0.7607843137,
- 0.431372549,
- 0.8862745098039215,
- 0.9921568627,
- 0.7725490196,
- 0.4549019608,
- 0.8901960784313725,
- 0.9921568627,
- 0.7803921569,
- 0.4784313725,
- 0.8941176470588236,
- 0.9921568627,
- 0.7882352941,
- 0.4980392157,
- 0.8980392156862745,
- 0.9921568627,
- 0.8,
- 0.5215686275,
- 0.9019607843137255,
- 0.9921568627,
- 0.8078431373,
- 0.5450980392,
- 0.9058823529411765,
- 0.9921568627,
- 0.8156862745,
- 0.568627451,
- 0.9098039215686274,
- 0.9921568627,
- 0.8274509804,
- 0.5921568627,
- 0.9137254901960784,
- 0.9921568627,
- 0.8352941176,
- 0.6156862745,
- 0.9176470588235294,
- 0.9921568627,
- 0.8470588235,
- 0.6352941176,
- 0.9215686274509803,
- 0.9921568627,
- 0.8549019608,
- 0.6588235294,
- 0.9254901960784314,
- 0.9921568627,
- 0.862745098,
- 0.6823529412,
- 0.9294117647058824,
- 0.9921568627,
- 0.8745098039,
- 0.7058823529,
- 0.9333333333333333,
- 0.9921568627,
- 0.8823529412,
- 0.7294117647,
- 0.9372549019607843,
- 0.9921568627,
- 0.8901960784,
- 0.7490196078,
- 0.9411764705882354,
- 0.9921568627,
- 0.9019607843,
- 0.7647058824,
- 0.9450980392156864,
- 0.9921568627,
- 0.9098039216,
- 0.7882352941,
- 0.9490196078431372,
- 0.9921568627,
- 0.9215686275,
- 0.8117647059,
- 0.9529411764705882,
- 0.9921568627,
- 0.9294117647,
- 0.8352941176,
- 0.9568627450980394,
- 0.9921568627,
- 0.937254902,
- 0.8588235294,
- 0.9607843137254903,
- 0.9921568627,
- 0.9490196078,
- 0.8784313725,
- 0.9647058823529413,
- 0.9921568627,
- 0.9568627451,
- 0.9019607843,
- 0.9686274509803922,
- 0.9921568627,
- 0.9647058824,
- 0.9254901961,
- 0.9725490196078431,
- 0.9921568627,
- 0.9764705882,
- 0.9490196078,
- 0.9764705882352941,
- 0.9921568627,
- 0.9843137255,
- 0.9725490196,
- 0.9803921568627451,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
- 0.984313725490196,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
- 0.9882352941176471,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627450981,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
- 0.996078431372549,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
- 1.0,
- 0.9921568627,
- 0.9921568627,
- 0.9921568627,
+ 0.0, 0.0078431373, 0.0078431373, 0.0078431373, 0.00392156862745098, 0.0078431373,
+ 0.0078431373, 0.0078431373, 0.00784313725490196, 0.0078431373, 0.0078431373, 0.0078431373,
+ 0.011764705882352941, 0.0078431373, 0.0078431373, 0.0078431373, 0.01568627450980392,
+ 0.0078431373, 0.0078431373, 0.0078431373, 0.0196078431372549, 0.0078431373, 0.0078431373,
+ 0.0078431373, 0.023529411764705882, 0.0078431373, 0.0078431373, 0.0078431373,
+ 0.027450980392156862, 0.0078431373, 0.0078431373, 0.0078431373, 0.03137254901960784,
+ 0.0078431373, 0.0078431373, 0.0078431373, 0.03529411764705882, 0.0078431373, 0.0078431373,
+ 0.0078431373, 0.0392156862745098, 0.0078431373, 0.0078431373, 0.0078431373,
+ 0.043137254901960784, 0.0078431373, 0.0078431373, 0.0078431373, 0.047058823529411764,
+ 0.0078431373, 0.0078431373, 0.0078431373, 0.050980392156862744, 0.0078431373, 0.0078431373,
+ 0.0078431373, 0.054901960784313725, 0.0078431373, 0.0078431373, 0.0078431373,
+ 0.05882352941176471, 0.0117647059, 0.0078431373, 0.0078431373, 0.06274509803921569,
+ 0.0078431373, 0.0156862745, 0.0156862745, 0.06666666666666667, 0.0078431373, 0.0235294118,
+ 0.0235294118, 0.07058823529411765, 0.0078431373, 0.031372549, 0.031372549,
+ 0.07450980392156863, 0.0078431373, 0.0392156863, 0.0392156863, 0.0784313725490196,
+ 0.0078431373, 0.0470588235, 0.0470588235, 0.08235294117647059, 0.0078431373, 0.0549019608,
+ 0.0549019608, 0.08627450980392157, 0.0078431373, 0.062745098, 0.062745098,
+ 0.09019607843137255, 0.0078431373, 0.0705882353, 0.0705882353, 0.09411764705882353,
+ 0.0078431373, 0.0784313725, 0.0784313725, 0.09803921568627451, 0.0078431373, 0.0901960784,
+ 0.0862745098, 0.10196078431372549, 0.0078431373, 0.0980392157, 0.0941176471,
+ 0.10588235294117647, 0.0078431373, 0.1058823529, 0.1019607843, 0.10980392156862745,
+ 0.0078431373, 0.1137254902, 0.1098039216, 0.11372549019607843, 0.0078431373, 0.1215686275,
+ 0.1176470588, 0.11764705882352942, 0.0078431373, 0.1294117647, 0.1254901961,
+ 0.12156862745098039, 0.0078431373, 0.137254902, 0.1333333333, 0.12549019607843137,
+ 0.0078431373, 0.1450980392, 0.1411764706, 0.12941176470588237, 0.0078431373, 0.1529411765,
+ 0.1490196078, 0.13333333333333333, 0.0078431373, 0.1647058824, 0.1568627451,
+ 0.13725490196078433, 0.0078431373, 0.1725490196, 0.1647058824, 0.1411764705882353,
+ 0.0078431373, 0.1803921569, 0.1725490196, 0.1450980392156863, 0.0078431373, 0.1882352941,
+ 0.1803921569, 0.14901960784313725, 0.0078431373, 0.1960784314, 0.1882352941,
+ 0.15294117647058825, 0.0078431373, 0.2039215686, 0.1960784314, 0.1568627450980392,
+ 0.0078431373, 0.2117647059, 0.2039215686, 0.1607843137254902, 0.0078431373, 0.2196078431,
+ 0.2117647059, 0.16470588235294117, 0.0078431373, 0.2274509804, 0.2196078431,
+ 0.16862745098039217, 0.0078431373, 0.2352941176, 0.2274509804, 0.17254901960784313,
+ 0.0078431373, 0.2470588235, 0.2352941176, 0.17647058823529413, 0.0078431373, 0.2509803922,
+ 0.2431372549, 0.1803921568627451, 0.0078431373, 0.2549019608, 0.2509803922,
+ 0.1843137254901961, 0.0078431373, 0.262745098, 0.2509803922, 0.18823529411764706,
+ 0.0078431373, 0.2705882353, 0.2588235294, 0.19215686274509805, 0.0078431373, 0.2784313725,
+ 0.2666666667, 0.19607843137254902, 0.0078431373, 0.2862745098, 0.2745098039, 0.2,
+ 0.0078431373, 0.2941176471, 0.2823529412, 0.20392156862745098, 0.0078431373, 0.3019607843,
+ 0.2901960784, 0.20784313725490197, 0.0078431373, 0.3137254902, 0.2980392157,
+ 0.21176470588235294, 0.0078431373, 0.3215686275, 0.3058823529, 0.21568627450980393,
+ 0.0078431373, 0.3294117647, 0.3137254902, 0.2196078431372549, 0.0078431373, 0.337254902,
+ 0.3215686275, 0.2235294117647059, 0.0078431373, 0.3450980392, 0.3294117647,
+ 0.22745098039215686, 0.0078431373, 0.3529411765, 0.337254902, 0.23137254901960785,
+ 0.0078431373, 0.3607843137, 0.3450980392, 0.23529411764705885, 0.0078431373, 0.368627451,
+ 0.3529411765, 0.23921568627450984, 0.0078431373, 0.3764705882, 0.3607843137,
+ 0.24313725490196078, 0.0078431373, 0.3843137255, 0.368627451, 0.24705882352941178,
+ 0.0078431373, 0.3960784314, 0.3764705882, 0.25098039215686274, 0.0078431373, 0.4039215686,
+ 0.3843137255, 0.2549019607843137, 0.0078431373, 0.4117647059, 0.3921568627,
+ 0.25882352941176473, 0.0078431373, 0.4196078431, 0.4, 0.2627450980392157, 0.0078431373,
+ 0.4274509804, 0.4078431373, 0.26666666666666666, 0.0078431373, 0.4352941176, 0.4156862745,
+ 0.27058823529411763, 0.0078431373, 0.4431372549, 0.4235294118, 0.27450980392156865,
+ 0.0078431373, 0.4509803922, 0.431372549, 0.2784313725490196, 0.0078431373, 0.4588235294,
+ 0.4392156863, 0.2823529411764706, 0.0078431373, 0.4705882353, 0.4470588235,
+ 0.28627450980392155, 0.0078431373, 0.4784313725, 0.4549019608, 0.2901960784313726,
+ 0.0078431373, 0.4862745098, 0.462745098, 0.29411764705882354, 0.0078431373, 0.4941176471,
+ 0.4705882353, 0.2980392156862745, 0.0078431373, 0.5019607843, 0.4784313725,
+ 0.30196078431372547, 0.0117647059, 0.5098039216, 0.4862745098, 0.3058823529411765,
+ 0.0196078431, 0.5019607843, 0.4941176471, 0.30980392156862746, 0.0274509804, 0.4941176471,
+ 0.5058823529, 0.3137254901960784, 0.0352941176, 0.4862745098, 0.5137254902,
+ 0.3176470588235294, 0.0431372549, 0.4784313725, 0.5215686275, 0.3215686274509804,
+ 0.0509803922, 0.4705882353, 0.5294117647, 0.3254901960784314, 0.0588235294, 0.462745098,
+ 0.537254902, 0.32941176470588235, 0.0666666667, 0.4549019608, 0.5450980392,
+ 0.3333333333333333, 0.0745098039, 0.4470588235, 0.5529411765, 0.33725490196078434,
+ 0.0823529412, 0.4392156863, 0.5607843137, 0.3411764705882353, 0.0901960784, 0.431372549,
+ 0.568627451, 0.34509803921568627, 0.0980392157, 0.4235294118, 0.5764705882,
+ 0.34901960784313724, 0.1058823529, 0.4156862745, 0.5843137255, 0.35294117647058826,
+ 0.1137254902, 0.4078431373, 0.5921568627, 0.3568627450980392, 0.1215686275, 0.4, 0.6,
+ 0.3607843137254902, 0.1294117647, 0.3921568627, 0.6078431373, 0.36470588235294116,
+ 0.137254902, 0.3843137255, 0.6156862745, 0.3686274509803922, 0.1450980392, 0.3764705882,
+ 0.6235294118, 0.37254901960784315, 0.1529411765, 0.368627451, 0.631372549, 0.3764705882352941,
+ 0.1607843137, 0.3607843137, 0.6392156863, 0.3803921568627451, 0.168627451, 0.3529411765,
+ 0.6470588235, 0.3843137254901961, 0.1764705882, 0.3450980392, 0.6549019608,
+ 0.38823529411764707, 0.1843137255, 0.337254902, 0.662745098, 0.39215686274509803,
+ 0.1921568627, 0.3294117647, 0.6705882353, 0.396078431372549, 0.2, 0.3215686275, 0.6784313725,
+ 0.4, 0.2078431373, 0.3137254902, 0.6862745098, 0.403921568627451, 0.2156862745, 0.3058823529,
+ 0.6941176471, 0.40784313725490196, 0.2235294118, 0.2980392157, 0.7019607843,
+ 0.4117647058823529, 0.231372549, 0.2901960784, 0.7098039216, 0.41568627450980394,
+ 0.2392156863, 0.2823529412, 0.7176470588, 0.4196078431372549, 0.2470588235, 0.2745098039,
+ 0.7254901961, 0.4235294117647059, 0.2509803922, 0.2666666667, 0.7333333333,
+ 0.42745098039215684, 0.2509803922, 0.2588235294, 0.7411764706, 0.43137254901960786,
+ 0.2588235294, 0.2509803922, 0.7490196078, 0.43529411764705883, 0.2666666667, 0.2509803922,
+ 0.7490196078, 0.4392156862745098, 0.2745098039, 0.2431372549, 0.7568627451,
+ 0.44313725490196076, 0.2823529412, 0.2352941176, 0.7647058824, 0.4470588235294118,
+ 0.2901960784, 0.2274509804, 0.7725490196, 0.45098039215686275, 0.2980392157, 0.2196078431,
+ 0.7803921569, 0.4549019607843137, 0.3058823529, 0.2117647059, 0.7882352941,
+ 0.4588235294117647, 0.3137254902, 0.2039215686, 0.7960784314, 0.4627450980392157,
+ 0.3215686275, 0.1960784314, 0.8039215686, 0.4666666666666667, 0.3294117647, 0.1882352941,
+ 0.8117647059, 0.4705882352941177, 0.337254902, 0.1803921569, 0.8196078431, 0.4745098039215686,
+ 0.3450980392, 0.1725490196, 0.8274509804, 0.4784313725490197, 0.3529411765, 0.1647058824,
+ 0.8352941176, 0.48235294117647065, 0.3607843137, 0.1568627451, 0.8431372549,
+ 0.48627450980392156, 0.368627451, 0.1490196078, 0.8509803922, 0.49019607843137253,
+ 0.3764705882, 0.1411764706, 0.8588235294, 0.49411764705882355, 0.3843137255, 0.1333333333,
+ 0.8666666667, 0.4980392156862745, 0.3921568627, 0.1254901961, 0.8745098039,
+ 0.5019607843137255, 0.4, 0.1176470588, 0.8823529412, 0.5058823529411764, 0.4078431373,
+ 0.1098039216, 0.8901960784, 0.5098039215686274, 0.4156862745, 0.1019607843, 0.8980392157,
+ 0.5137254901960784, 0.4235294118, 0.0941176471, 0.9058823529, 0.5176470588235295, 0.431372549,
+ 0.0862745098, 0.9137254902, 0.5215686274509804, 0.4392156863, 0.0784313725, 0.9215686275,
+ 0.5254901960784314, 0.4470588235, 0.0705882353, 0.9294117647, 0.5294117647058824,
+ 0.4549019608, 0.062745098, 0.937254902, 0.5333333333333333, 0.462745098, 0.0549019608,
+ 0.9450980392, 0.5372549019607843, 0.4705882353, 0.0470588235, 0.9529411765,
+ 0.5411764705882353, 0.4784313725, 0.0392156863, 0.9607843137, 0.5450980392156862,
+ 0.4862745098, 0.031372549, 0.968627451, 0.5490196078431373, 0.4941176471, 0.0235294118,
+ 0.9764705882, 0.5529411764705883, 0.4980392157, 0.0156862745, 0.9843137255,
+ 0.5568627450980392, 0.5058823529, 0.0078431373, 0.9921568627, 0.5607843137254902,
+ 0.5137254902, 0.0156862745, 0.9803921569, 0.5647058823529412, 0.5215686275, 0.0235294118,
+ 0.9647058824, 0.5686274509803921, 0.5294117647, 0.0352941176, 0.9490196078,
+ 0.5725490196078431, 0.537254902, 0.0431372549, 0.9333333333, 0.5764705882352941, 0.5450980392,
+ 0.0509803922, 0.9176470588, 0.5803921568627451, 0.5529411765, 0.062745098, 0.9019607843,
+ 0.5843137254901961, 0.5607843137, 0.0705882353, 0.8862745098, 0.5882352941176471, 0.568627451,
+ 0.0784313725, 0.8705882353, 0.592156862745098, 0.5764705882, 0.0901960784, 0.8549019608,
+ 0.596078431372549, 0.5843137255, 0.0980392157, 0.8392156863, 0.6, 0.5921568627, 0.1098039216,
+ 0.8235294118, 0.6039215686274509, 0.6, 0.1176470588, 0.8078431373, 0.6078431372549019,
+ 0.6078431373, 0.1254901961, 0.7921568627, 0.611764705882353, 0.6156862745, 0.137254902,
+ 0.7764705882, 0.615686274509804, 0.6235294118, 0.1450980392, 0.7607843137, 0.6196078431372549,
+ 0.631372549, 0.1529411765, 0.7490196078, 0.6235294117647059, 0.6392156863, 0.1647058824,
+ 0.737254902, 0.6274509803921569, 0.6470588235, 0.1725490196, 0.7215686275, 0.6313725490196078,
+ 0.6549019608, 0.1843137255, 0.7058823529, 0.6352941176470588, 0.662745098, 0.1921568627,
+ 0.6901960784, 0.6392156862745098, 0.6705882353, 0.2, 0.6745098039, 0.6431372549019608,
+ 0.6784313725, 0.2117647059, 0.6588235294, 0.6470588235294118, 0.6862745098, 0.2196078431,
+ 0.6431372549, 0.6509803921568628, 0.6941176471, 0.2274509804, 0.6274509804,
+ 0.6549019607843137, 0.7019607843, 0.2392156863, 0.6117647059, 0.6588235294117647,
+ 0.7098039216, 0.2470588235, 0.5960784314, 0.6627450980392157, 0.7176470588, 0.2509803922,
+ 0.5803921569, 0.6666666666666666, 0.7254901961, 0.2588235294, 0.5647058824,
+ 0.6705882352941176, 0.7333333333, 0.2666666667, 0.5490196078, 0.6745098039215687,
+ 0.7411764706, 0.2784313725, 0.5333333333, 0.6784313725490196, 0.7490196078, 0.2862745098,
+ 0.5176470588, 0.6823529411764706, 0.7490196078, 0.2941176471, 0.5019607843,
+ 0.6862745098039216, 0.7529411765, 0.3058823529, 0.4862745098, 0.6901960784313725,
+ 0.7607843137, 0.3137254902, 0.4705882353, 0.6941176470588235, 0.768627451, 0.3215686275,
+ 0.4549019608, 0.6980392156862745, 0.7764705882, 0.3333333333, 0.4392156863,
+ 0.7019607843137254, 0.7843137255, 0.3411764706, 0.4235294118, 0.7058823529411765,
+ 0.7921568627, 0.3529411765, 0.4078431373, 0.7098039215686275, 0.8, 0.3607843137, 0.3921568627,
+ 0.7137254901960784, 0.8078431373, 0.368627451, 0.3764705882, 0.7176470588235294, 0.8156862745,
+ 0.3803921569, 0.3607843137, 0.7215686274509804, 0.8235294118, 0.3882352941, 0.3450980392,
+ 0.7254901960784313, 0.831372549, 0.3960784314, 0.3294117647, 0.7294117647058823, 0.8392156863,
+ 0.4078431373, 0.3137254902, 0.7333333333333333, 0.8470588235, 0.4156862745, 0.2980392157,
+ 0.7372549019607844, 0.8549019608, 0.4274509804, 0.2823529412, 0.7411764705882353, 0.862745098,
+ 0.4352941176, 0.2666666667, 0.7450980392156863, 0.8705882353, 0.4431372549, 0.2509803922,
+ 0.7490196078431373, 0.8784313725, 0.4549019608, 0.2431372549, 0.7529411764705882,
+ 0.8862745098, 0.462745098, 0.2274509804, 0.7568627450980392, 0.8941176471, 0.4705882353,
+ 0.2117647059, 0.7607843137254902, 0.9019607843, 0.4823529412, 0.1960784314,
+ 0.7647058823529411, 0.9098039216, 0.4901960784, 0.1803921569, 0.7686274509803922,
+ 0.9176470588, 0.4980392157, 0.1647058824, 0.7725490196078432, 0.9254901961, 0.5098039216,
+ 0.1490196078, 0.7764705882352941, 0.9333333333, 0.5176470588, 0.1333333333,
+ 0.7803921568627451, 0.9411764706, 0.5294117647, 0.1176470588, 0.7843137254901961,
+ 0.9490196078, 0.537254902, 0.1019607843, 0.788235294117647, 0.9568627451, 0.5450980392,
+ 0.0862745098, 0.792156862745098, 0.9647058824, 0.5568627451, 0.0705882353, 0.796078431372549,
+ 0.9725490196, 0.5647058824, 0.0549019608, 0.8, 0.9803921569, 0.5725490196, 0.0392156863,
+ 0.803921568627451, 0.9882352941, 0.5843137255, 0.0235294118, 0.807843137254902, 0.9921568627,
+ 0.5921568627, 0.0078431373, 0.8117647058823529, 0.9921568627, 0.6039215686, 0.0274509804,
+ 0.8156862745098039, 0.9921568627, 0.6117647059, 0.0509803922, 0.8196078431372549,
+ 0.9921568627, 0.6196078431, 0.0745098039, 0.8235294117647058, 0.9921568627, 0.631372549,
+ 0.0980392157, 0.8274509803921568, 0.9921568627, 0.6392156863, 0.1215686275,
+ 0.8313725490196079, 0.9921568627, 0.6470588235, 0.1411764706, 0.8352941176470589,
+ 0.9921568627, 0.6588235294, 0.1647058824, 0.8392156862745098, 0.9921568627, 0.6666666667,
+ 0.1882352941, 0.8431372549019608, 0.9921568627, 0.6784313725, 0.2117647059,
+ 0.8470588235294118, 0.9921568627, 0.6862745098, 0.2352941176, 0.8509803921568627,
+ 0.9921568627, 0.6941176471, 0.2509803922, 0.8549019607843137, 0.9921568627, 0.7058823529,
+ 0.2705882353, 0.8588235294117647, 0.9921568627, 0.7137254902, 0.2941176471,
+ 0.8627450980392157, 0.9921568627, 0.7215686275, 0.3176470588, 0.8666666666666667,
+ 0.9921568627, 0.7333333333, 0.3411764706, 0.8705882352941177, 0.9921568627, 0.7411764706,
+ 0.3647058824, 0.8745098039215686, 0.9921568627, 0.7490196078, 0.3843137255,
+ 0.8784313725490196, 0.9921568627, 0.7529411765, 0.4078431373, 0.8823529411764706,
+ 0.9921568627, 0.7607843137, 0.431372549, 0.8862745098039215, 0.9921568627, 0.7725490196,
+ 0.4549019608, 0.8901960784313725, 0.9921568627, 0.7803921569, 0.4784313725,
+ 0.8941176470588236, 0.9921568627, 0.7882352941, 0.4980392157, 0.8980392156862745,
+ 0.9921568627, 0.8, 0.5215686275, 0.9019607843137255, 0.9921568627, 0.8078431373, 0.5450980392,
+ 0.9058823529411765, 0.9921568627, 0.8156862745, 0.568627451, 0.9098039215686274, 0.9921568627,
+ 0.8274509804, 0.5921568627, 0.9137254901960784, 0.9921568627, 0.8352941176, 0.6156862745,
+ 0.9176470588235294, 0.9921568627, 0.8470588235, 0.6352941176, 0.9215686274509803,
+ 0.9921568627, 0.8549019608, 0.6588235294, 0.9254901960784314, 0.9921568627, 0.862745098,
+ 0.6823529412, 0.9294117647058824, 0.9921568627, 0.8745098039, 0.7058823529,
+ 0.9333333333333333, 0.9921568627, 0.8823529412, 0.7294117647, 0.9372549019607843,
+ 0.9921568627, 0.8901960784, 0.7490196078, 0.9411764705882354, 0.9921568627, 0.9019607843,
+ 0.7647058824, 0.9450980392156864, 0.9921568627, 0.9098039216, 0.7882352941,
+ 0.9490196078431372, 0.9921568627, 0.9215686275, 0.8117647059, 0.9529411764705882,
+ 0.9921568627, 0.9294117647, 0.8352941176, 0.9568627450980394, 0.9921568627, 0.937254902,
+ 0.8588235294, 0.9607843137254903, 0.9921568627, 0.9490196078, 0.8784313725,
+ 0.9647058823529413, 0.9921568627, 0.9568627451, 0.9019607843, 0.9686274509803922,
+ 0.9921568627, 0.9647058824, 0.9254901961, 0.9725490196078431, 0.9921568627, 0.9764705882,
+ 0.9490196078, 0.9764705882352941, 0.9921568627, 0.9843137255, 0.9725490196,
+ 0.9803921568627451, 0.9921568627, 0.9921568627, 0.9921568627, 0.984313725490196, 0.9921568627,
+ 0.9921568627, 0.9921568627, 0.9882352941176471, 0.9921568627, 0.9921568627, 0.9921568627,
+ 0.9921568627450981, 0.9921568627, 0.9921568627, 0.9921568627, 0.996078431372549, 0.9921568627,
+ 0.9921568627, 0.9921568627, 1.0, 0.9921568627, 0.9921568627, 0.9921568627,
],
},
{
ColorSpace: 'RGB',
Name: 'siemens',
RGBPoints: [
- 0.0,
- 0.0078431373,
- 0.0039215686,
- 0.1254901961,
- 0.00392156862745098,
- 0.0078431373,
- 0.0039215686,
- 0.1254901961,
- 0.00784313725490196,
- 0.0078431373,
- 0.0039215686,
- 0.1882352941,
- 0.011764705882352941,
- 0.0117647059,
- 0.0039215686,
- 0.2509803922,
- 0.01568627450980392,
- 0.0117647059,
- 0.0039215686,
- 0.3098039216,
- 0.0196078431372549,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.023529411764705882,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.027450980392156862,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.03137254901960784,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.03529411764705882,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.0392156862745098,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.043137254901960784,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.047058823529411764,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.050980392156862744,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.054901960784313725,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.05882352941176471,
- 0.0156862745,
- 0.0039215686,
- 0.3725490196,
- 0.06274509803921569,
- 0.0156862745,
- 0.0039215686,
- 0.3882352941,
- 0.06666666666666667,
- 0.0156862745,
- 0.0039215686,
- 0.4078431373,
- 0.07058823529411765,
- 0.0156862745,
- 0.0039215686,
- 0.4235294118,
- 0.07450980392156863,
- 0.0156862745,
- 0.0039215686,
- 0.4431372549,
- 0.0784313725490196,
- 0.0156862745,
- 0.0039215686,
- 0.462745098,
- 0.08235294117647059,
- 0.0156862745,
- 0.0039215686,
- 0.4784313725,
- 0.08627450980392157,
- 0.0156862745,
- 0.0039215686,
- 0.4980392157,
- 0.09019607843137255,
- 0.0196078431,
- 0.0039215686,
- 0.5137254902,
- 0.09411764705882353,
- 0.0196078431,
- 0.0039215686,
- 0.5333333333,
- 0.09803921568627451,
- 0.0196078431,
- 0.0039215686,
- 0.5529411765,
- 0.10196078431372549,
- 0.0196078431,
- 0.0039215686,
- 0.568627451,
- 0.10588235294117647,
- 0.0196078431,
- 0.0039215686,
- 0.5882352941,
- 0.10980392156862745,
- 0.0196078431,
- 0.0039215686,
- 0.6039215686,
- 0.11372549019607843,
- 0.0196078431,
- 0.0039215686,
- 0.6235294118,
- 0.11764705882352942,
- 0.0196078431,
- 0.0039215686,
- 0.6431372549,
- 0.12156862745098039,
- 0.0235294118,
- 0.0039215686,
- 0.6588235294,
- 0.12549019607843137,
- 0.0235294118,
- 0.0039215686,
- 0.6784313725,
- 0.12941176470588237,
- 0.0235294118,
- 0.0039215686,
- 0.6980392157,
- 0.13333333333333333,
- 0.0235294118,
- 0.0039215686,
- 0.7137254902,
- 0.13725490196078433,
- 0.0235294118,
- 0.0039215686,
- 0.7333333333,
- 0.1411764705882353,
- 0.0235294118,
- 0.0039215686,
- 0.7490196078,
- 0.1450980392156863,
- 0.0235294118,
- 0.0039215686,
- 0.7647058824,
- 0.14901960784313725,
- 0.0235294118,
- 0.0039215686,
- 0.7843137255,
- 0.15294117647058825,
- 0.0274509804,
- 0.0039215686,
- 0.8,
- 0.1568627450980392,
- 0.0274509804,
- 0.0039215686,
- 0.8196078431,
- 0.1607843137254902,
- 0.0274509804,
- 0.0039215686,
- 0.8352941176,
- 0.16470588235294117,
- 0.0274509804,
- 0.0039215686,
- 0.8549019608,
- 0.16862745098039217,
- 0.0274509804,
- 0.0039215686,
- 0.8745098039,
- 0.17254901960784313,
- 0.0274509804,
- 0.0039215686,
- 0.8901960784,
- 0.17647058823529413,
- 0.0274509804,
- 0.0039215686,
- 0.9098039216,
- 0.1803921568627451,
- 0.031372549,
- 0.0039215686,
- 0.9294117647,
- 0.1843137254901961,
- 0.031372549,
- 0.0039215686,
- 0.9254901961,
- 0.18823529411764706,
- 0.0509803922,
- 0.0039215686,
- 0.9098039216,
- 0.19215686274509805,
- 0.0705882353,
- 0.0039215686,
- 0.8901960784,
- 0.19607843137254902,
- 0.0901960784,
- 0.0039215686,
- 0.8705882353,
- 0.2,
- 0.1137254902,
- 0.0039215686,
- 0.8509803922,
- 0.20392156862745098,
- 0.1333333333,
- 0.0039215686,
- 0.831372549,
- 0.20784313725490197,
- 0.1529411765,
- 0.0039215686,
- 0.8117647059,
- 0.21176470588235294,
- 0.1725490196,
- 0.0039215686,
- 0.7921568627,
- 0.21568627450980393,
- 0.1960784314,
- 0.0039215686,
- 0.7725490196,
- 0.2196078431372549,
- 0.2156862745,
- 0.0039215686,
- 0.7529411765,
- 0.2235294117647059,
- 0.2352941176,
- 0.0039215686,
- 0.737254902,
- 0.22745098039215686,
- 0.2509803922,
- 0.0039215686,
- 0.7176470588,
- 0.23137254901960785,
- 0.2745098039,
- 0.0039215686,
- 0.6980392157,
- 0.23529411764705885,
- 0.2941176471,
- 0.0039215686,
- 0.6784313725,
- 0.23921568627450984,
- 0.3137254902,
- 0.0039215686,
- 0.6588235294,
- 0.24313725490196078,
- 0.3333333333,
- 0.0039215686,
- 0.6392156863,
- 0.24705882352941178,
- 0.3568627451,
- 0.0039215686,
- 0.6196078431,
- 0.25098039215686274,
- 0.3764705882,
- 0.0039215686,
- 0.6,
- 0.2549019607843137,
- 0.3960784314,
- 0.0039215686,
- 0.5803921569,
- 0.25882352941176473,
- 0.4156862745,
- 0.0039215686,
- 0.5607843137,
- 0.2627450980392157,
- 0.4392156863,
- 0.0039215686,
- 0.5411764706,
- 0.26666666666666666,
- 0.4588235294,
- 0.0039215686,
- 0.5215686275,
- 0.27058823529411763,
- 0.4784313725,
- 0.0039215686,
- 0.5019607843,
- 0.27450980392156865,
- 0.4980392157,
- 0.0039215686,
- 0.4823529412,
- 0.2784313725490196,
- 0.5215686275,
- 0.0039215686,
- 0.4666666667,
- 0.2823529411764706,
- 0.5411764706,
- 0.0039215686,
- 0.4470588235,
- 0.28627450980392155,
- 0.5607843137,
- 0.0039215686,
- 0.4274509804,
- 0.2901960784313726,
- 0.5803921569,
- 0.0039215686,
- 0.4078431373,
- 0.29411764705882354,
- 0.6039215686,
- 0.0039215686,
- 0.3882352941,
- 0.2980392156862745,
- 0.6235294118,
- 0.0039215686,
- 0.368627451,
- 0.30196078431372547,
- 0.6431372549,
- 0.0039215686,
- 0.3490196078,
- 0.3058823529411765,
- 0.662745098,
- 0.0039215686,
- 0.3294117647,
- 0.30980392156862746,
- 0.6862745098,
- 0.0039215686,
- 0.3098039216,
- 0.3137254901960784,
- 0.7058823529,
- 0.0039215686,
- 0.2901960784,
- 0.3176470588235294,
- 0.7254901961,
- 0.0039215686,
- 0.2705882353,
- 0.3215686274509804,
- 0.7450980392,
- 0.0039215686,
- 0.2509803922,
- 0.3254901960784314,
- 0.7647058824,
- 0.0039215686,
- 0.2352941176,
- 0.32941176470588235,
- 0.7843137255,
- 0.0039215686,
- 0.2156862745,
- 0.3333333333333333,
- 0.8039215686,
- 0.0039215686,
- 0.1960784314,
- 0.33725490196078434,
- 0.8235294118,
- 0.0039215686,
- 0.1764705882,
- 0.3411764705882353,
- 0.8470588235,
- 0.0039215686,
- 0.1568627451,
- 0.34509803921568627,
- 0.8666666667,
- 0.0039215686,
- 0.137254902,
- 0.34901960784313724,
- 0.8862745098,
- 0.0039215686,
- 0.1176470588,
- 0.35294117647058826,
- 0.9058823529,
- 0.0039215686,
- 0.0980392157,
- 0.3568627450980392,
- 0.9294117647,
- 0.0039215686,
- 0.0784313725,
- 0.3607843137254902,
- 0.9490196078,
- 0.0039215686,
- 0.0588235294,
- 0.36470588235294116,
- 0.968627451,
- 0.0039215686,
- 0.0392156863,
- 0.3686274509803922,
- 0.9921568627,
- 0.0039215686,
- 0.0235294118,
- 0.37254901960784315,
- 0.9529411765,
- 0.0039215686,
- 0.0588235294,
- 0.3764705882352941,
- 0.9529411765,
- 0.0078431373,
- 0.0549019608,
- 0.3803921568627451,
- 0.9529411765,
- 0.0156862745,
- 0.0549019608,
- 0.3843137254901961,
- 0.9529411765,
- 0.0235294118,
- 0.0549019608,
- 0.38823529411764707,
- 0.9529411765,
- 0.031372549,
- 0.0549019608,
- 0.39215686274509803,
- 0.9529411765,
- 0.0352941176,
- 0.0549019608,
- 0.396078431372549,
- 0.9529411765,
- 0.0431372549,
- 0.0549019608,
- 0.4,
- 0.9529411765,
- 0.0509803922,
- 0.0549019608,
- 0.403921568627451,
- 0.9529411765,
- 0.0588235294,
- 0.0549019608,
- 0.40784313725490196,
- 0.9529411765,
- 0.062745098,
- 0.0549019608,
- 0.4117647058823529,
- 0.9529411765,
- 0.0705882353,
- 0.0549019608,
- 0.41568627450980394,
- 0.9529411765,
- 0.0784313725,
- 0.0509803922,
- 0.4196078431372549,
- 0.9529411765,
- 0.0862745098,
- 0.0509803922,
- 0.4235294117647059,
- 0.9568627451,
- 0.0941176471,
- 0.0509803922,
- 0.42745098039215684,
- 0.9568627451,
- 0.0980392157,
- 0.0509803922,
- 0.43137254901960786,
- 0.9568627451,
- 0.1058823529,
- 0.0509803922,
- 0.43529411764705883,
- 0.9568627451,
- 0.1137254902,
- 0.0509803922,
- 0.4392156862745098,
- 0.9568627451,
- 0.1215686275,
- 0.0509803922,
- 0.44313725490196076,
- 0.9568627451,
- 0.1254901961,
- 0.0509803922,
- 0.4470588235294118,
- 0.9568627451,
- 0.1333333333,
- 0.0509803922,
- 0.45098039215686275,
- 0.9568627451,
- 0.1411764706,
- 0.0509803922,
- 0.4549019607843137,
- 0.9568627451,
- 0.1490196078,
- 0.0470588235,
- 0.4588235294117647,
- 0.9568627451,
- 0.1568627451,
- 0.0470588235,
- 0.4627450980392157,
- 0.9568627451,
- 0.1607843137,
- 0.0470588235,
- 0.4666666666666667,
- 0.9568627451,
- 0.168627451,
- 0.0470588235,
- 0.4705882352941177,
- 0.9607843137,
- 0.1764705882,
- 0.0470588235,
- 0.4745098039215686,
- 0.9607843137,
- 0.1843137255,
- 0.0470588235,
- 0.4784313725490197,
- 0.9607843137,
- 0.1882352941,
- 0.0470588235,
- 0.48235294117647065,
- 0.9607843137,
- 0.1960784314,
- 0.0470588235,
- 0.48627450980392156,
- 0.9607843137,
- 0.2039215686,
- 0.0470588235,
- 0.49019607843137253,
- 0.9607843137,
- 0.2117647059,
- 0.0470588235,
- 0.49411764705882355,
- 0.9607843137,
- 0.2196078431,
- 0.0431372549,
- 0.4980392156862745,
- 0.9607843137,
- 0.2235294118,
- 0.0431372549,
- 0.5019607843137255,
- 0.9607843137,
- 0.231372549,
- 0.0431372549,
- 0.5058823529411764,
- 0.9607843137,
- 0.2392156863,
- 0.0431372549,
- 0.5098039215686274,
- 0.9607843137,
- 0.2470588235,
- 0.0431372549,
- 0.5137254901960784,
- 0.9607843137,
- 0.2509803922,
- 0.0431372549,
- 0.5176470588235295,
- 0.9647058824,
- 0.2549019608,
- 0.0431372549,
- 0.5215686274509804,
- 0.9647058824,
- 0.262745098,
- 0.0431372549,
- 0.5254901960784314,
- 0.9647058824,
- 0.2705882353,
- 0.0431372549,
- 0.5294117647058824,
- 0.9647058824,
- 0.2745098039,
- 0.0431372549,
- 0.5333333333333333,
- 0.9647058824,
- 0.2823529412,
- 0.0392156863,
- 0.5372549019607843,
- 0.9647058824,
- 0.2901960784,
- 0.0392156863,
- 0.5411764705882353,
- 0.9647058824,
- 0.2980392157,
- 0.0392156863,
- 0.5450980392156862,
- 0.9647058824,
- 0.3058823529,
- 0.0392156863,
- 0.5490196078431373,
- 0.9647058824,
- 0.3098039216,
- 0.0392156863,
- 0.5529411764705883,
- 0.9647058824,
- 0.3176470588,
- 0.0392156863,
- 0.5568627450980392,
- 0.9647058824,
- 0.3254901961,
- 0.0392156863,
- 0.5607843137254902,
- 0.9647058824,
- 0.3333333333,
- 0.0392156863,
- 0.5647058823529412,
- 0.9647058824,
- 0.337254902,
- 0.0392156863,
- 0.5686274509803921,
- 0.968627451,
- 0.3450980392,
- 0.0392156863,
- 0.5725490196078431,
- 0.968627451,
- 0.3529411765,
- 0.0352941176,
- 0.5764705882352941,
- 0.968627451,
- 0.3607843137,
- 0.0352941176,
- 0.5803921568627451,
- 0.968627451,
- 0.368627451,
- 0.0352941176,
- 0.5843137254901961,
- 0.968627451,
- 0.3725490196,
- 0.0352941176,
- 0.5882352941176471,
- 0.968627451,
- 0.3803921569,
- 0.0352941176,
- 0.592156862745098,
- 0.968627451,
- 0.3882352941,
- 0.0352941176,
- 0.596078431372549,
- 0.968627451,
- 0.3960784314,
- 0.0352941176,
- 0.6,
- 0.968627451,
- 0.4,
- 0.0352941176,
- 0.6039215686274509,
- 0.968627451,
- 0.4078431373,
- 0.0352941176,
- 0.6078431372549019,
- 0.968627451,
- 0.4156862745,
- 0.0352941176,
- 0.611764705882353,
- 0.968627451,
- 0.4235294118,
- 0.031372549,
- 0.615686274509804,
- 0.9725490196,
- 0.431372549,
- 0.031372549,
- 0.6196078431372549,
- 0.9725490196,
- 0.4352941176,
- 0.031372549,
- 0.6235294117647059,
- 0.9725490196,
- 0.4431372549,
- 0.031372549,
- 0.6274509803921569,
- 0.9725490196,
- 0.4509803922,
- 0.031372549,
- 0.6313725490196078,
- 0.9725490196,
- 0.4588235294,
- 0.031372549,
- 0.6352941176470588,
- 0.9725490196,
- 0.462745098,
- 0.031372549,
- 0.6392156862745098,
- 0.9725490196,
- 0.4705882353,
- 0.031372549,
- 0.6431372549019608,
- 0.9725490196,
- 0.4784313725,
- 0.031372549,
- 0.6470588235294118,
- 0.9725490196,
- 0.4862745098,
- 0.031372549,
- 0.6509803921568628,
- 0.9725490196,
- 0.4941176471,
- 0.0274509804,
- 0.6549019607843137,
- 0.9725490196,
- 0.4980392157,
- 0.0274509804,
- 0.6588235294117647,
- 0.9725490196,
- 0.5058823529,
- 0.0274509804,
- 0.6627450980392157,
- 0.9764705882,
- 0.5137254902,
- 0.0274509804,
- 0.6666666666666666,
- 0.9764705882,
- 0.5215686275,
- 0.0274509804,
- 0.6705882352941176,
- 0.9764705882,
- 0.5254901961,
- 0.0274509804,
- 0.6745098039215687,
- 0.9764705882,
- 0.5333333333,
- 0.0274509804,
- 0.6784313725490196,
- 0.9764705882,
- 0.5411764706,
- 0.0274509804,
- 0.6823529411764706,
- 0.9764705882,
- 0.5490196078,
- 0.0274509804,
- 0.6862745098039216,
- 0.9764705882,
- 0.5529411765,
- 0.0274509804,
- 0.6901960784313725,
- 0.9764705882,
- 0.5607843137,
- 0.0235294118,
- 0.6941176470588235,
- 0.9764705882,
- 0.568627451,
- 0.0235294118,
- 0.6980392156862745,
- 0.9764705882,
- 0.5764705882,
- 0.0235294118,
- 0.7019607843137254,
- 0.9764705882,
- 0.5843137255,
- 0.0235294118,
- 0.7058823529411765,
- 0.9764705882,
- 0.5882352941,
- 0.0235294118,
- 0.7098039215686275,
- 0.9764705882,
- 0.5960784314,
- 0.0235294118,
- 0.7137254901960784,
- 0.9803921569,
- 0.6039215686,
- 0.0235294118,
- 0.7176470588235294,
- 0.9803921569,
- 0.6117647059,
- 0.0235294118,
- 0.7215686274509804,
- 0.9803921569,
- 0.6156862745,
- 0.0235294118,
- 0.7254901960784313,
- 0.9803921569,
- 0.6235294118,
- 0.0235294118,
- 0.7294117647058823,
- 0.9803921569,
- 0.631372549,
- 0.0196078431,
- 0.7333333333333333,
- 0.9803921569,
- 0.6392156863,
- 0.0196078431,
- 0.7372549019607844,
- 0.9803921569,
- 0.6470588235,
- 0.0196078431,
- 0.7411764705882353,
- 0.9803921569,
- 0.6509803922,
- 0.0196078431,
- 0.7450980392156863,
- 0.9803921569,
- 0.6588235294,
- 0.0196078431,
- 0.7490196078431373,
- 0.9803921569,
- 0.6666666667,
- 0.0196078431,
- 0.7529411764705882,
- 0.9803921569,
- 0.6745098039,
- 0.0196078431,
- 0.7568627450980392,
- 0.9803921569,
- 0.6784313725,
- 0.0196078431,
- 0.7607843137254902,
- 0.9843137255,
- 0.6862745098,
- 0.0196078431,
- 0.7647058823529411,
- 0.9843137255,
- 0.6941176471,
- 0.0196078431,
- 0.7686274509803922,
- 0.9843137255,
- 0.7019607843,
- 0.0156862745,
- 0.7725490196078432,
- 0.9843137255,
- 0.7098039216,
- 0.0156862745,
- 0.7764705882352941,
- 0.9843137255,
- 0.7137254902,
- 0.0156862745,
- 0.7803921568627451,
- 0.9843137255,
- 0.7215686275,
- 0.0156862745,
- 0.7843137254901961,
- 0.9843137255,
- 0.7294117647,
- 0.0156862745,
- 0.788235294117647,
- 0.9843137255,
- 0.737254902,
- 0.0156862745,
- 0.792156862745098,
- 0.9843137255,
- 0.7411764706,
- 0.0156862745,
- 0.796078431372549,
- 0.9843137255,
- 0.7490196078,
- 0.0156862745,
- 0.8,
- 0.9843137255,
- 0.7529411765,
- 0.0156862745,
- 0.803921568627451,
- 0.9843137255,
- 0.7607843137,
- 0.0156862745,
- 0.807843137254902,
- 0.9882352941,
- 0.768627451,
- 0.0156862745,
- 0.8117647058823529,
- 0.9882352941,
- 0.768627451,
- 0.0156862745,
- 0.8156862745098039,
- 0.9843137255,
- 0.7843137255,
- 0.0117647059,
- 0.8196078431372549,
- 0.9843137255,
- 0.8,
- 0.0117647059,
- 0.8235294117647058,
- 0.9843137255,
- 0.8156862745,
- 0.0117647059,
- 0.8274509803921568,
- 0.9803921569,
- 0.831372549,
- 0.0117647059,
- 0.8313725490196079,
- 0.9803921569,
- 0.8431372549,
- 0.0117647059,
- 0.8352941176470589,
- 0.9803921569,
- 0.8588235294,
- 0.0078431373,
- 0.8392156862745098,
- 0.9803921569,
- 0.8745098039,
- 0.0078431373,
- 0.8431372549019608,
- 0.9764705882,
- 0.8901960784,
- 0.0078431373,
- 0.8470588235294118,
- 0.9764705882,
- 0.9058823529,
- 0.0078431373,
- 0.8509803921568627,
- 0.9764705882,
- 0.9176470588,
- 0.0078431373,
- 0.8549019607843137,
- 0.9764705882,
- 0.9333333333,
- 0.0039215686,
- 0.8588235294117647,
- 0.9725490196,
- 0.9490196078,
- 0.0039215686,
- 0.8627450980392157,
- 0.9725490196,
- 0.9647058824,
- 0.0039215686,
- 0.8666666666666667,
- 0.9725490196,
- 0.9803921569,
- 0.0039215686,
- 0.8705882352941177,
- 0.9725490196,
- 0.9960784314,
- 0.0039215686,
- 0.8745098039215686,
- 0.9725490196,
- 0.9960784314,
- 0.0039215686,
- 0.8784313725490196,
- 0.9725490196,
- 0.9960784314,
- 0.0352941176,
- 0.8823529411764706,
- 0.9725490196,
- 0.9960784314,
- 0.0666666667,
- 0.8862745098039215,
- 0.9725490196,
- 0.9960784314,
- 0.0980392157,
- 0.8901960784313725,
- 0.9725490196,
- 0.9960784314,
- 0.1294117647,
- 0.8941176470588236,
- 0.9725490196,
- 0.9960784314,
- 0.1647058824,
- 0.8980392156862745,
- 0.9764705882,
- 0.9960784314,
- 0.1960784314,
- 0.9019607843137255,
- 0.9764705882,
- 0.9960784314,
- 0.2274509804,
- 0.9058823529411765,
- 0.9764705882,
- 0.9960784314,
- 0.2549019608,
- 0.9098039215686274,
- 0.9764705882,
- 0.9960784314,
- 0.2901960784,
- 0.9137254901960784,
- 0.9764705882,
- 0.9960784314,
- 0.3215686275,
- 0.9176470588235294,
- 0.9803921569,
- 0.9960784314,
- 0.3529411765,
- 0.9215686274509803,
- 0.9803921569,
- 0.9960784314,
- 0.3843137255,
- 0.9254901960784314,
- 0.9803921569,
- 0.9960784314,
- 0.4156862745,
- 0.9294117647058824,
- 0.9803921569,
- 0.9960784314,
- 0.4509803922,
- 0.9333333333333333,
- 0.9803921569,
- 0.9960784314,
- 0.4823529412,
- 0.9372549019607843,
- 0.9843137255,
- 0.9960784314,
- 0.5137254902,
- 0.9411764705882354,
- 0.9843137255,
- 0.9960784314,
- 0.5450980392,
- 0.9450980392156864,
- 0.9843137255,
- 0.9960784314,
- 0.5803921569,
- 0.9490196078431372,
- 0.9843137255,
- 0.9960784314,
- 0.6117647059,
- 0.9529411764705882,
- 0.9843137255,
- 0.9960784314,
- 0.6431372549,
- 0.9568627450980394,
- 0.9882352941,
- 0.9960784314,
- 0.6745098039,
- 0.9607843137254903,
- 0.9882352941,
- 0.9960784314,
- 0.7058823529,
- 0.9647058823529413,
- 0.9882352941,
- 0.9960784314,
- 0.7411764706,
- 0.9686274509803922,
- 0.9882352941,
- 0.9960784314,
- 0.768627451,
- 0.9725490196078431,
- 0.9882352941,
- 0.9960784314,
- 0.8,
- 0.9764705882352941,
- 0.9921568627,
- 0.9960784314,
- 0.831372549,
- 0.9803921568627451,
- 0.9921568627,
- 0.9960784314,
- 0.8666666667,
- 0.984313725490196,
- 0.9921568627,
- 0.9960784314,
- 0.8980392157,
- 0.9882352941176471,
- 0.9921568627,
- 0.9960784314,
- 0.9294117647,
- 0.9921568627450981,
- 0.9921568627,
- 0.9960784314,
- 0.9607843137,
- 0.996078431372549,
- 0.9960784314,
- 0.9960784314,
- 0.9607843137,
- 1.0,
- 0.9960784314,
- 0.9960784314,
- 0.9607843137,
+ 0.0, 0.0078431373, 0.0039215686, 0.1254901961, 0.00392156862745098, 0.0078431373,
+ 0.0039215686, 0.1254901961, 0.00784313725490196, 0.0078431373, 0.0039215686, 0.1882352941,
+ 0.011764705882352941, 0.0117647059, 0.0039215686, 0.2509803922, 0.01568627450980392,
+ 0.0117647059, 0.0039215686, 0.3098039216, 0.0196078431372549, 0.0156862745, 0.0039215686,
+ 0.3725490196, 0.023529411764705882, 0.0156862745, 0.0039215686, 0.3725490196,
+ 0.027450980392156862, 0.0156862745, 0.0039215686, 0.3725490196, 0.03137254901960784,
+ 0.0156862745, 0.0039215686, 0.3725490196, 0.03529411764705882, 0.0156862745, 0.0039215686,
+ 0.3725490196, 0.0392156862745098, 0.0156862745, 0.0039215686, 0.3725490196,
+ 0.043137254901960784, 0.0156862745, 0.0039215686, 0.3725490196, 0.047058823529411764,
+ 0.0156862745, 0.0039215686, 0.3725490196, 0.050980392156862744, 0.0156862745, 0.0039215686,
+ 0.3725490196, 0.054901960784313725, 0.0156862745, 0.0039215686, 0.3725490196,
+ 0.05882352941176471, 0.0156862745, 0.0039215686, 0.3725490196, 0.06274509803921569,
+ 0.0156862745, 0.0039215686, 0.3882352941, 0.06666666666666667, 0.0156862745, 0.0039215686,
+ 0.4078431373, 0.07058823529411765, 0.0156862745, 0.0039215686, 0.4235294118,
+ 0.07450980392156863, 0.0156862745, 0.0039215686, 0.4431372549, 0.0784313725490196,
+ 0.0156862745, 0.0039215686, 0.462745098, 0.08235294117647059, 0.0156862745, 0.0039215686,
+ 0.4784313725, 0.08627450980392157, 0.0156862745, 0.0039215686, 0.4980392157,
+ 0.09019607843137255, 0.0196078431, 0.0039215686, 0.5137254902, 0.09411764705882353,
+ 0.0196078431, 0.0039215686, 0.5333333333, 0.09803921568627451, 0.0196078431, 0.0039215686,
+ 0.5529411765, 0.10196078431372549, 0.0196078431, 0.0039215686, 0.568627451,
+ 0.10588235294117647, 0.0196078431, 0.0039215686, 0.5882352941, 0.10980392156862745,
+ 0.0196078431, 0.0039215686, 0.6039215686, 0.11372549019607843, 0.0196078431, 0.0039215686,
+ 0.6235294118, 0.11764705882352942, 0.0196078431, 0.0039215686, 0.6431372549,
+ 0.12156862745098039, 0.0235294118, 0.0039215686, 0.6588235294, 0.12549019607843137,
+ 0.0235294118, 0.0039215686, 0.6784313725, 0.12941176470588237, 0.0235294118, 0.0039215686,
+ 0.6980392157, 0.13333333333333333, 0.0235294118, 0.0039215686, 0.7137254902,
+ 0.13725490196078433, 0.0235294118, 0.0039215686, 0.7333333333, 0.1411764705882353,
+ 0.0235294118, 0.0039215686, 0.7490196078, 0.1450980392156863, 0.0235294118, 0.0039215686,
+ 0.7647058824, 0.14901960784313725, 0.0235294118, 0.0039215686, 0.7843137255,
+ 0.15294117647058825, 0.0274509804, 0.0039215686, 0.8, 0.1568627450980392, 0.0274509804,
+ 0.0039215686, 0.8196078431, 0.1607843137254902, 0.0274509804, 0.0039215686, 0.8352941176,
+ 0.16470588235294117, 0.0274509804, 0.0039215686, 0.8549019608, 0.16862745098039217,
+ 0.0274509804, 0.0039215686, 0.8745098039, 0.17254901960784313, 0.0274509804, 0.0039215686,
+ 0.8901960784, 0.17647058823529413, 0.0274509804, 0.0039215686, 0.9098039216,
+ 0.1803921568627451, 0.031372549, 0.0039215686, 0.9294117647, 0.1843137254901961, 0.031372549,
+ 0.0039215686, 0.9254901961, 0.18823529411764706, 0.0509803922, 0.0039215686, 0.9098039216,
+ 0.19215686274509805, 0.0705882353, 0.0039215686, 0.8901960784, 0.19607843137254902,
+ 0.0901960784, 0.0039215686, 0.8705882353, 0.2, 0.1137254902, 0.0039215686, 0.8509803922,
+ 0.20392156862745098, 0.1333333333, 0.0039215686, 0.831372549, 0.20784313725490197,
+ 0.1529411765, 0.0039215686, 0.8117647059, 0.21176470588235294, 0.1725490196, 0.0039215686,
+ 0.7921568627, 0.21568627450980393, 0.1960784314, 0.0039215686, 0.7725490196,
+ 0.2196078431372549, 0.2156862745, 0.0039215686, 0.7529411765, 0.2235294117647059,
+ 0.2352941176, 0.0039215686, 0.737254902, 0.22745098039215686, 0.2509803922, 0.0039215686,
+ 0.7176470588, 0.23137254901960785, 0.2745098039, 0.0039215686, 0.6980392157,
+ 0.23529411764705885, 0.2941176471, 0.0039215686, 0.6784313725, 0.23921568627450984,
+ 0.3137254902, 0.0039215686, 0.6588235294, 0.24313725490196078, 0.3333333333, 0.0039215686,
+ 0.6392156863, 0.24705882352941178, 0.3568627451, 0.0039215686, 0.6196078431,
+ 0.25098039215686274, 0.3764705882, 0.0039215686, 0.6, 0.2549019607843137, 0.3960784314,
+ 0.0039215686, 0.5803921569, 0.25882352941176473, 0.4156862745, 0.0039215686, 0.5607843137,
+ 0.2627450980392157, 0.4392156863, 0.0039215686, 0.5411764706, 0.26666666666666666,
+ 0.4588235294, 0.0039215686, 0.5215686275, 0.27058823529411763, 0.4784313725, 0.0039215686,
+ 0.5019607843, 0.27450980392156865, 0.4980392157, 0.0039215686, 0.4823529412,
+ 0.2784313725490196, 0.5215686275, 0.0039215686, 0.4666666667, 0.2823529411764706,
+ 0.5411764706, 0.0039215686, 0.4470588235, 0.28627450980392155, 0.5607843137, 0.0039215686,
+ 0.4274509804, 0.2901960784313726, 0.5803921569, 0.0039215686, 0.4078431373,
+ 0.29411764705882354, 0.6039215686, 0.0039215686, 0.3882352941, 0.2980392156862745,
+ 0.6235294118, 0.0039215686, 0.368627451, 0.30196078431372547, 0.6431372549, 0.0039215686,
+ 0.3490196078, 0.3058823529411765, 0.662745098, 0.0039215686, 0.3294117647,
+ 0.30980392156862746, 0.6862745098, 0.0039215686, 0.3098039216, 0.3137254901960784,
+ 0.7058823529, 0.0039215686, 0.2901960784, 0.3176470588235294, 0.7254901961, 0.0039215686,
+ 0.2705882353, 0.3215686274509804, 0.7450980392, 0.0039215686, 0.2509803922,
+ 0.3254901960784314, 0.7647058824, 0.0039215686, 0.2352941176, 0.32941176470588235,
+ 0.7843137255, 0.0039215686, 0.2156862745, 0.3333333333333333, 0.8039215686, 0.0039215686,
+ 0.1960784314, 0.33725490196078434, 0.8235294118, 0.0039215686, 0.1764705882,
+ 0.3411764705882353, 0.8470588235, 0.0039215686, 0.1568627451, 0.34509803921568627,
+ 0.8666666667, 0.0039215686, 0.137254902, 0.34901960784313724, 0.8862745098, 0.0039215686,
+ 0.1176470588, 0.35294117647058826, 0.9058823529, 0.0039215686, 0.0980392157,
+ 0.3568627450980392, 0.9294117647, 0.0039215686, 0.0784313725, 0.3607843137254902,
+ 0.9490196078, 0.0039215686, 0.0588235294, 0.36470588235294116, 0.968627451, 0.0039215686,
+ 0.0392156863, 0.3686274509803922, 0.9921568627, 0.0039215686, 0.0235294118,
+ 0.37254901960784315, 0.9529411765, 0.0039215686, 0.0588235294, 0.3764705882352941,
+ 0.9529411765, 0.0078431373, 0.0549019608, 0.3803921568627451, 0.9529411765, 0.0156862745,
+ 0.0549019608, 0.3843137254901961, 0.9529411765, 0.0235294118, 0.0549019608,
+ 0.38823529411764707, 0.9529411765, 0.031372549, 0.0549019608, 0.39215686274509803,
+ 0.9529411765, 0.0352941176, 0.0549019608, 0.396078431372549, 0.9529411765, 0.0431372549,
+ 0.0549019608, 0.4, 0.9529411765, 0.0509803922, 0.0549019608, 0.403921568627451, 0.9529411765,
+ 0.0588235294, 0.0549019608, 0.40784313725490196, 0.9529411765, 0.062745098, 0.0549019608,
+ 0.4117647058823529, 0.9529411765, 0.0705882353, 0.0549019608, 0.41568627450980394,
+ 0.9529411765, 0.0784313725, 0.0509803922, 0.4196078431372549, 0.9529411765, 0.0862745098,
+ 0.0509803922, 0.4235294117647059, 0.9568627451, 0.0941176471, 0.0509803922,
+ 0.42745098039215684, 0.9568627451, 0.0980392157, 0.0509803922, 0.43137254901960786,
+ 0.9568627451, 0.1058823529, 0.0509803922, 0.43529411764705883, 0.9568627451, 0.1137254902,
+ 0.0509803922, 0.4392156862745098, 0.9568627451, 0.1215686275, 0.0509803922,
+ 0.44313725490196076, 0.9568627451, 0.1254901961, 0.0509803922, 0.4470588235294118,
+ 0.9568627451, 0.1333333333, 0.0509803922, 0.45098039215686275, 0.9568627451, 0.1411764706,
+ 0.0509803922, 0.4549019607843137, 0.9568627451, 0.1490196078, 0.0470588235,
+ 0.4588235294117647, 0.9568627451, 0.1568627451, 0.0470588235, 0.4627450980392157,
+ 0.9568627451, 0.1607843137, 0.0470588235, 0.4666666666666667, 0.9568627451, 0.168627451,
+ 0.0470588235, 0.4705882352941177, 0.9607843137, 0.1764705882, 0.0470588235,
+ 0.4745098039215686, 0.9607843137, 0.1843137255, 0.0470588235, 0.4784313725490197,
+ 0.9607843137, 0.1882352941, 0.0470588235, 0.48235294117647065, 0.9607843137, 0.1960784314,
+ 0.0470588235, 0.48627450980392156, 0.9607843137, 0.2039215686, 0.0470588235,
+ 0.49019607843137253, 0.9607843137, 0.2117647059, 0.0470588235, 0.49411764705882355,
+ 0.9607843137, 0.2196078431, 0.0431372549, 0.4980392156862745, 0.9607843137, 0.2235294118,
+ 0.0431372549, 0.5019607843137255, 0.9607843137, 0.231372549, 0.0431372549, 0.5058823529411764,
+ 0.9607843137, 0.2392156863, 0.0431372549, 0.5098039215686274, 0.9607843137, 0.2470588235,
+ 0.0431372549, 0.5137254901960784, 0.9607843137, 0.2509803922, 0.0431372549,
+ 0.5176470588235295, 0.9647058824, 0.2549019608, 0.0431372549, 0.5215686274509804,
+ 0.9647058824, 0.262745098, 0.0431372549, 0.5254901960784314, 0.9647058824, 0.2705882353,
+ 0.0431372549, 0.5294117647058824, 0.9647058824, 0.2745098039, 0.0431372549,
+ 0.5333333333333333, 0.9647058824, 0.2823529412, 0.0392156863, 0.5372549019607843,
+ 0.9647058824, 0.2901960784, 0.0392156863, 0.5411764705882353, 0.9647058824, 0.2980392157,
+ 0.0392156863, 0.5450980392156862, 0.9647058824, 0.3058823529, 0.0392156863,
+ 0.5490196078431373, 0.9647058824, 0.3098039216, 0.0392156863, 0.5529411764705883,
+ 0.9647058824, 0.3176470588, 0.0392156863, 0.5568627450980392, 0.9647058824, 0.3254901961,
+ 0.0392156863, 0.5607843137254902, 0.9647058824, 0.3333333333, 0.0392156863,
+ 0.5647058823529412, 0.9647058824, 0.337254902, 0.0392156863, 0.5686274509803921, 0.968627451,
+ 0.3450980392, 0.0392156863, 0.5725490196078431, 0.968627451, 0.3529411765, 0.0352941176,
+ 0.5764705882352941, 0.968627451, 0.3607843137, 0.0352941176, 0.5803921568627451, 0.968627451,
+ 0.368627451, 0.0352941176, 0.5843137254901961, 0.968627451, 0.3725490196, 0.0352941176,
+ 0.5882352941176471, 0.968627451, 0.3803921569, 0.0352941176, 0.592156862745098, 0.968627451,
+ 0.3882352941, 0.0352941176, 0.596078431372549, 0.968627451, 0.3960784314, 0.0352941176, 0.6,
+ 0.968627451, 0.4, 0.0352941176, 0.6039215686274509, 0.968627451, 0.4078431373, 0.0352941176,
+ 0.6078431372549019, 0.968627451, 0.4156862745, 0.0352941176, 0.611764705882353, 0.968627451,
+ 0.4235294118, 0.031372549, 0.615686274509804, 0.9725490196, 0.431372549, 0.031372549,
+ 0.6196078431372549, 0.9725490196, 0.4352941176, 0.031372549, 0.6235294117647059, 0.9725490196,
+ 0.4431372549, 0.031372549, 0.6274509803921569, 0.9725490196, 0.4509803922, 0.031372549,
+ 0.6313725490196078, 0.9725490196, 0.4588235294, 0.031372549, 0.6352941176470588, 0.9725490196,
+ 0.462745098, 0.031372549, 0.6392156862745098, 0.9725490196, 0.4705882353, 0.031372549,
+ 0.6431372549019608, 0.9725490196, 0.4784313725, 0.031372549, 0.6470588235294118, 0.9725490196,
+ 0.4862745098, 0.031372549, 0.6509803921568628, 0.9725490196, 0.4941176471, 0.0274509804,
+ 0.6549019607843137, 0.9725490196, 0.4980392157, 0.0274509804, 0.6588235294117647,
+ 0.9725490196, 0.5058823529, 0.0274509804, 0.6627450980392157, 0.9764705882, 0.5137254902,
+ 0.0274509804, 0.6666666666666666, 0.9764705882, 0.5215686275, 0.0274509804,
+ 0.6705882352941176, 0.9764705882, 0.5254901961, 0.0274509804, 0.6745098039215687,
+ 0.9764705882, 0.5333333333, 0.0274509804, 0.6784313725490196, 0.9764705882, 0.5411764706,
+ 0.0274509804, 0.6823529411764706, 0.9764705882, 0.5490196078, 0.0274509804,
+ 0.6862745098039216, 0.9764705882, 0.5529411765, 0.0274509804, 0.6901960784313725,
+ 0.9764705882, 0.5607843137, 0.0235294118, 0.6941176470588235, 0.9764705882, 0.568627451,
+ 0.0235294118, 0.6980392156862745, 0.9764705882, 0.5764705882, 0.0235294118,
+ 0.7019607843137254, 0.9764705882, 0.5843137255, 0.0235294118, 0.7058823529411765,
+ 0.9764705882, 0.5882352941, 0.0235294118, 0.7098039215686275, 0.9764705882, 0.5960784314,
+ 0.0235294118, 0.7137254901960784, 0.9803921569, 0.6039215686, 0.0235294118,
+ 0.7176470588235294, 0.9803921569, 0.6117647059, 0.0235294118, 0.7215686274509804,
+ 0.9803921569, 0.6156862745, 0.0235294118, 0.7254901960784313, 0.9803921569, 0.6235294118,
+ 0.0235294118, 0.7294117647058823, 0.9803921569, 0.631372549, 0.0196078431, 0.7333333333333333,
+ 0.9803921569, 0.6392156863, 0.0196078431, 0.7372549019607844, 0.9803921569, 0.6470588235,
+ 0.0196078431, 0.7411764705882353, 0.9803921569, 0.6509803922, 0.0196078431,
+ 0.7450980392156863, 0.9803921569, 0.6588235294, 0.0196078431, 0.7490196078431373,
+ 0.9803921569, 0.6666666667, 0.0196078431, 0.7529411764705882, 0.9803921569, 0.6745098039,
+ 0.0196078431, 0.7568627450980392, 0.9803921569, 0.6784313725, 0.0196078431,
+ 0.7607843137254902, 0.9843137255, 0.6862745098, 0.0196078431, 0.7647058823529411,
+ 0.9843137255, 0.6941176471, 0.0196078431, 0.7686274509803922, 0.9843137255, 0.7019607843,
+ 0.0156862745, 0.7725490196078432, 0.9843137255, 0.7098039216, 0.0156862745,
+ 0.7764705882352941, 0.9843137255, 0.7137254902, 0.0156862745, 0.7803921568627451,
+ 0.9843137255, 0.7215686275, 0.0156862745, 0.7843137254901961, 0.9843137255, 0.7294117647,
+ 0.0156862745, 0.788235294117647, 0.9843137255, 0.737254902, 0.0156862745, 0.792156862745098,
+ 0.9843137255, 0.7411764706, 0.0156862745, 0.796078431372549, 0.9843137255, 0.7490196078,
+ 0.0156862745, 0.8, 0.9843137255, 0.7529411765, 0.0156862745, 0.803921568627451, 0.9843137255,
+ 0.7607843137, 0.0156862745, 0.807843137254902, 0.9882352941, 0.768627451, 0.0156862745,
+ 0.8117647058823529, 0.9882352941, 0.768627451, 0.0156862745, 0.8156862745098039, 0.9843137255,
+ 0.7843137255, 0.0117647059, 0.8196078431372549, 0.9843137255, 0.8, 0.0117647059,
+ 0.8235294117647058, 0.9843137255, 0.8156862745, 0.0117647059, 0.8274509803921568,
+ 0.9803921569, 0.831372549, 0.0117647059, 0.8313725490196079, 0.9803921569, 0.8431372549,
+ 0.0117647059, 0.8352941176470589, 0.9803921569, 0.8588235294, 0.0078431373,
+ 0.8392156862745098, 0.9803921569, 0.8745098039, 0.0078431373, 0.8431372549019608,
+ 0.9764705882, 0.8901960784, 0.0078431373, 0.8470588235294118, 0.9764705882, 0.9058823529,
+ 0.0078431373, 0.8509803921568627, 0.9764705882, 0.9176470588, 0.0078431373,
+ 0.8549019607843137, 0.9764705882, 0.9333333333, 0.0039215686, 0.8588235294117647,
+ 0.9725490196, 0.9490196078, 0.0039215686, 0.8627450980392157, 0.9725490196, 0.9647058824,
+ 0.0039215686, 0.8666666666666667, 0.9725490196, 0.9803921569, 0.0039215686,
+ 0.8705882352941177, 0.9725490196, 0.9960784314, 0.0039215686, 0.8745098039215686,
+ 0.9725490196, 0.9960784314, 0.0039215686, 0.8784313725490196, 0.9725490196, 0.9960784314,
+ 0.0352941176, 0.8823529411764706, 0.9725490196, 0.9960784314, 0.0666666667,
+ 0.8862745098039215, 0.9725490196, 0.9960784314, 0.0980392157, 0.8901960784313725,
+ 0.9725490196, 0.9960784314, 0.1294117647, 0.8941176470588236, 0.9725490196, 0.9960784314,
+ 0.1647058824, 0.8980392156862745, 0.9764705882, 0.9960784314, 0.1960784314,
+ 0.9019607843137255, 0.9764705882, 0.9960784314, 0.2274509804, 0.9058823529411765,
+ 0.9764705882, 0.9960784314, 0.2549019608, 0.9098039215686274, 0.9764705882, 0.9960784314,
+ 0.2901960784, 0.9137254901960784, 0.9764705882, 0.9960784314, 0.3215686275,
+ 0.9176470588235294, 0.9803921569, 0.9960784314, 0.3529411765, 0.9215686274509803,
+ 0.9803921569, 0.9960784314, 0.3843137255, 0.9254901960784314, 0.9803921569, 0.9960784314,
+ 0.4156862745, 0.9294117647058824, 0.9803921569, 0.9960784314, 0.4509803922,
+ 0.9333333333333333, 0.9803921569, 0.9960784314, 0.4823529412, 0.9372549019607843,
+ 0.9843137255, 0.9960784314, 0.5137254902, 0.9411764705882354, 0.9843137255, 0.9960784314,
+ 0.5450980392, 0.9450980392156864, 0.9843137255, 0.9960784314, 0.5803921569,
+ 0.9490196078431372, 0.9843137255, 0.9960784314, 0.6117647059, 0.9529411764705882,
+ 0.9843137255, 0.9960784314, 0.6431372549, 0.9568627450980394, 0.9882352941, 0.9960784314,
+ 0.6745098039, 0.9607843137254903, 0.9882352941, 0.9960784314, 0.7058823529,
+ 0.9647058823529413, 0.9882352941, 0.9960784314, 0.7411764706, 0.9686274509803922,
+ 0.9882352941, 0.9960784314, 0.768627451, 0.9725490196078431, 0.9882352941, 0.9960784314, 0.8,
+ 0.9764705882352941, 0.9921568627, 0.9960784314, 0.831372549, 0.9803921568627451, 0.9921568627,
+ 0.9960784314, 0.8666666667, 0.984313725490196, 0.9921568627, 0.9960784314, 0.8980392157,
+ 0.9882352941176471, 0.9921568627, 0.9960784314, 0.9294117647, 0.9921568627450981,
+ 0.9921568627, 0.9960784314, 0.9607843137, 0.996078431372549, 0.9960784314, 0.9960784314,
+ 0.9607843137, 1.0, 0.9960784314, 0.9960784314, 0.9607843137,
],
},
];
diff --git a/extensions/tmtv/src/utils/createAndDownloadTMTVReport.js b/extensions/tmtv/src/utils/createAndDownloadTMTVReport.js
index 996ebd0f50f..b3678729315 100644
--- a/extensions/tmtv/src/utils/createAndDownloadTMTVReport.js
+++ b/extensions/tmtv/src/utils/createAndDownloadTMTVReport.js
@@ -1,7 +1,4 @@
-export default function createAndDownloadTMTVReport(
- segReport,
- additionalReportRows
-) {
+export default function createAndDownloadTMTVReport(segReport, additionalReportRows) {
const firstReport = segReport[Object.keys(segReport)[0]];
const columns = Object.keys(firstReport);
const csv = [columns.join(',')];
@@ -11,9 +8,7 @@ export default function createAndDownloadTMTVReport(
columns.forEach(column => {
// if it is array then we need to replace , with space to avoid csv parsing error
row.push(
- Array.isArray(segmentation[column])
- ? segmentation[column].join(' ')
- : segmentation[column]
+ Array.isArray(segmentation[column]) ? segmentation[column].join(' ') : segmentation[column]
);
});
csv.push(row.join(','));
diff --git a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/RTSSReport.js b/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/RTSSReport.js
deleted file mode 100644
index 147b0cbf606..00000000000
--- a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/RTSSReport.js
+++ /dev/null
@@ -1,262 +0,0 @@
-import AnnotationToPointData from './measurements/AnnotationToPointData';
-import dcmjs from 'dcmjs';
-import { DicomMetadataStore } from '@ohif/core';
-
-const { DicomMetaDictionary } = dcmjs.data;
-
-export default class RTSSReport {
- constructor() {}
-
- /**
- * Convert handles to RTSSReport report object containing the dcmjs dicom dataset.
- *
- * Note: The tool data needs to be formatted in a specific way, and currently
- * it is limited to the RectangleROIStartEndTool in the Cornerstone.
- *
- * @param annotations Array of Cornerstone tool annotation data
- * @param metadataProvider Metadata provider
- * @param options report generation options
- * @returns Report object containing the dataset
- */
- static generateReport(annotations, metadataProvider, options) {
- let dataset = initializeDataset(annotations, metadataProvider);
-
- annotations.forEach((annotation, index) => {
- const ContourSequence = AnnotationToPointData.convert(
- annotation,
- index,
- metadataProvider,
- options
- );
-
- dataset.StructureSetROISequence.push(
- getStructureSetModule(annotation, index, metadataProvider)
- );
-
- dataset.ROIContourSequence.push(ContourSequence);
- dataset.RTROIObservationsSequence.push(
- getRTROIObservationsSequence(annotation, index, metadataProvider)
- );
-
- // ReferencedSeriesSequence
- // Todo: handle more than one series
- dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(
- annotation,
- index,
- metadataProvider
- );
-
- // ReferencedFrameOfReferenceSequence
- dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(
- annotation,
- metadataProvider,
- dataset
- );
- });
-
- const fileMetaInformationVersionArray = new Uint8Array(2);
- fileMetaInformationVersionArray[1] = 1;
-
- const _meta = {
- FileMetaInformationVersion: {
- Value: [fileMetaInformationVersionArray.buffer],
- vr: 'OB',
- },
- TransferSyntaxUID: {
- Value: ['1.2.840.10008.1.2.1'],
- vr: 'UI',
- },
- ImplementationClassUID: {
- Value: [DicomMetaDictionary.uid()], // TODO: could be git hash or other valid id
- vr: 'UI',
- },
- ImplementationVersionName: {
- Value: ['dcmjs'],
- vr: 'SH',
- },
- };
-
- dataset._meta = _meta;
-
- return dataset;
- }
-
- /**
- * Generate Cornerstone tool state from dataset
- * @param {object} dataset dataset
- * @param {object} hooks
- * @param {function} hooks.getToolClass Function to map dataset to a tool class
- * @returns
- */
- static generateToolState(dataset, hooks = {}) {
- // Todo
- console.warn('RTSSReport.generateToolState not implemented');
- }
-}
-
-function initializeDataset(annotations, metadataProvider) {
- const rtSOPInstanceUID = DicomMetaDictionary.uid();
-
- // get the first annotation data
- const {
- referencedImageId: imageId,
- FrameOfReferenceUID,
- } = annotations[0].metadata;
-
- const { studyInstanceUID } = metadataProvider.get(
- 'generalSeriesModule',
- imageId
- );
-
- const patientModule = getPatientModule(imageId, metadataProvider);
- const rtSeriesModule = getRTSeriesModule(imageId, metadataProvider);
-
- return {
- StructureSetROISequence: [],
- ROIContourSequence: [],
- RTROIObservationsSequence: [],
- ReferencedSeriesSequence: [],
- ReferencedFrameOfReferenceSequence: [],
- ...patientModule,
- ...rtSeriesModule,
- StudyInstanceUID: studyInstanceUID,
- SOPClassUID: '1.2.840.10008.5.1.4.1.1.481.3', // RT Structure Set Storage
- SOPInstanceUID: rtSOPInstanceUID,
- Manufacturer: 'dcmjs',
- Modality: 'RTSTRUCT',
- FrameOfReferenceUID,
- PositionReferenceIndicator: '',
- StructureSetLabel: '',
- StructureSetName: '',
- ReferringPhysicianName: '',
- OperatorsName: '',
- StructureSetDate: DicomMetaDictionary.date(),
- StructureSetTime: DicomMetaDictionary.time(),
- };
-}
-
-function getPatientModule(imageId, metadataProvider) {
- const generalSeriesModule = metadataProvider.get(
- 'generalSeriesModule',
- imageId
- );
- const generalStudyModule = metadataProvider.get(
- 'generalStudyModule',
- imageId
- );
- const patientStudyModule = metadataProvider.get(
- 'patientStudyModule',
- imageId
- );
- const patientModule = metadataProvider.get('patientModule', imageId);
- const patientDemographicModule = metadataProvider.get(
- 'patientDemographicModule',
- imageId
- );
-
- return {
- Modality: generalSeriesModule.modality,
- PatientID: patientModule.patientId,
- PatientName: patientModule.patientName,
- PatientBirthDate: '',
- PatientAge: patientStudyModule.patientAge,
- PatientSex: patientDemographicModule.patientSex,
- PatientWeight: patientStudyModule.patientWeight,
- StudyDate: generalStudyModule.studyDate,
- StudyTime: generalStudyModule.studyTime,
- StudyID: 'ToDo',
- AccessionNumber: generalStudyModule.accessionNumber,
- };
-}
-
-function getReferencedFrameOfReferenceSequence(
- toolData,
- metadataProvider,
- dataset
-) {
- const { referencedImageId: imageId, FrameOfReferenceUID } = toolData.metadata;
- const instance = metadataProvider.get('instance', imageId);
- const { SeriesInstanceUID } = instance;
-
- const { ReferencedSeriesSequence } = dataset;
-
- return [
- {
- FrameOfReferenceUID,
- RTReferencedStudySequence: [
- {
- ReferencedSOPClassUID: dataset.SOPClassUID,
- ReferencedSOPInstanceUID: dataset.SOPInstanceUID,
- RTReferencedSeriesSequence: [
- {
- SeriesInstanceUID,
- ContourImageSequence: [
- ...ReferencedSeriesSequence[0].ReferencedInstanceSequence,
- ],
- },
- ],
- },
- ],
- },
- ];
-}
-
-function getReferencedSeriesSequence(toolData, index, metadataProvider) {
- // grab imageId from toolData
- const { referencedImageId: imageId } = toolData.metadata;
- const instance = metadataProvider.get('instance', imageId);
- const { SeriesInstanceUID, StudyInstanceUID } = instance;
-
- const ReferencedSeriesSequence = [];
- if (SeriesInstanceUID) {
- const series = DicomMetadataStore.getSeries(
- StudyInstanceUID,
- SeriesInstanceUID
- );
-
- const ReferencedSeries = {
- SeriesInstanceUID,
- ReferencedInstanceSequence: [],
- };
-
- series.instances.forEach(instance => {
- const { SOPInstanceUID, SOPClassUID } = instance;
- ReferencedSeries.ReferencedInstanceSequence.push({
- ReferencedSOPClassUID: SOPClassUID,
- ReferencedSOPInstanceUID: SOPInstanceUID,
- });
- });
-
- ReferencedSeriesSequence.push(ReferencedSeries);
- }
-
- return ReferencedSeriesSequence;
-}
-
-function getRTSeriesModule(imageId, metadataProvider) {
- return {
- SeriesInstanceUID: DicomMetaDictionary.uid(), // generate a new series instance uid
- SeriesNumber: '99', // Todo:: what should be the series number?
- };
-}
-
-function getStructureSetModule(toolData, index, metadataProvider) {
- const { FrameOfReferenceUID } = toolData.metadata;
-
- return {
- ROINumber: index + 1,
- ROIName: `Todo: name ${index + 1}`,
- ROIDescription: `Todo: description ${index + 1}`,
- ROIGenerationAlgorithm: 'Todo: algorithm',
- ReferencedFrameOfReferenceUID: FrameOfReferenceUID,
- };
-}
-
-function getRTROIObservationsSequence(toolData, index, metadataProvider) {
- return {
- ObservationNumber: index + 1,
- ReferencedROINumber: index + 1,
- RTROIInterpretedType: 'Todo: type',
- ROIInterpreter: 'Todo: interpreter',
- };
-}
diff --git a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js b/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
index 999b37addaf..df4aa9c3cc1 100644
--- a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
+++ b/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
@@ -1,12 +1,16 @@
-import RTSSReport from './RTSSReport';
import dcmjs from 'dcmjs';
-import { classes } from '@ohif/core';
+import { classes, DicomMetadataStore } from '@ohif/core';
+import { adaptersSEG } from '@cornerstonejs/adapters';
const { datasetToBlob } = dcmjs.data;
const metadataProvider = classes.MetadataProvider;
export default function dicomRTAnnotationExport(annotations) {
- const dataset = RTSSReport.generateReport(annotations, metadataProvider);
+ const dataset = adaptersSEG.Cornerstone3D.RTStruct.RTSS.generateRTSSFromAnnotations(
+ annotations,
+ metadataProvider,
+ DicomMetadataStore
+ );
const reportBlob = datasetToBlob(dataset);
//Create a URL for the binary.
diff --git a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/AnnotationToPointData.js b/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/AnnotationToPointData.js
deleted file mode 100644
index f74fdc72ae7..00000000000
--- a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/AnnotationToPointData.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import RectangleROIStartEndThreshold from './RectangleROIStartEndThreshold';
-
-function validateAnnotation(annotation) {
- if (!annotation?.data) {
- throw new Error('Tool data is empty');
- }
-
- if (!annotation.metadata || annotation.metadata.referenceImageId) {
- throw new Error('Tool data is not associated with any imageId');
- }
-}
-
-class AnnotationToPointData {
- constructor() {}
-
- static convert(annotation, index, metadataProvider) {
- validateAnnotation(annotation);
-
- const { toolName } = annotation.metadata;
- const toolClass = AnnotationToPointData.TOOL_NAMES[toolName];
-
- if (!toolClass) {
- throw new Error(
- `Unknown tool type: ${toolName}, cannot convert to RTSSReport`
- );
- }
-
- // Each toolData should become a list of contours, ContourSequence
- // contains a list of contours with their pointData, their geometry
- // type and their length.
- const ContourSequence = toolClass.getContourSequence(
- annotation,
- metadataProvider
- );
-
- // Todo: random rgb color for now, options should be passed in
- const color = [
- Math.floor(Math.random() * 255),
- Math.floor(Math.random() * 255),
- Math.floor(Math.random() * 255),
- ];
-
- return {
- ReferencedROINumber: index + 1,
- ROIDisplayColor: color,
- ContourSequence,
- };
- }
-
- static register(toolClass) {
- AnnotationToPointData.TOOL_NAMES[toolClass.toolName] = toolClass;
- }
-}
-
-AnnotationToPointData.TOOL_NAMES = {};
-AnnotationToPointData.register(RectangleROIStartEndThreshold);
-
-export default AnnotationToPointData;
diff --git a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/RectangleROIStartEndThreshold.js b/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/RectangleROIStartEndThreshold.js
deleted file mode 100644
index 803bef365d0..00000000000
--- a/extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/measurements/RectangleROIStartEndThreshold.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// comment
-class RectangleROIStartEndThreshold {
- constructor() {}
-
- static getContourSequence(toolData, metadataProvider) {
- const { data } = toolData;
- const { projectionPoints, projectionPointsImageIds } = data.cachedStats;
-
- return projectionPoints.map((point, index) => {
- const ContourData = getPointData(point);
- const ContourImageSequence = getContourImageSequence(
- projectionPointsImageIds[index],
- metadataProvider
- );
-
- return {
- NumberOfContourPoints: ContourData.length / 3,
- ContourImageSequence,
- ContourGeometricType: 'CLOSED_PLANAR',
- ContourData,
- };
- });
- }
-}
-
-RectangleROIStartEndThreshold.toolName = 'RectangleROIStartEndThreshold';
-
-function getPointData(points) {
- // Since this is a closed contour, the order of the points is important.
- // re-order the points to be in the correct order clockwise
- // Spread to make sure Float32Arrays are converted to arrays
- const orderedPoints = [
- ...points[0],
- ...points[1],
- ...points[3],
- ...points[2],
- ];
- const pointsArray = orderedPoints.flat();
-
- // reduce the precision of the points to 2 decimal places
- const pointsArrayWithPrecision = pointsArray.map(point => {
- return point.toFixed(2);
- });
-
- return pointsArrayWithPrecision;
-}
-
-function getContourImageSequence(imageId, metadataProvider) {
- const sopCommon = metadataProvider.get('sopCommonModule', imageId);
-
- return {
- ReferencedSOPClassUID: sopCommon.sopClassUID,
- ReferencedSOPInstanceUID: sopCommon.sopInstanceUID,
- };
-}
-export default RectangleROIStartEndThreshold;
diff --git a/extensions/tmtv/src/utils/getThresholdValue.ts b/extensions/tmtv/src/utils/getThresholdValue.ts
index d11872dd0f7..137b5b9a6de 100644
--- a/extensions/tmtv/src/utils/getThresholdValue.ts
+++ b/extensions/tmtv/src/utils/getThresholdValue.ts
@@ -3,10 +3,7 @@ import * as csTools from '@cornerstonejs/tools';
function getRoiStats(referencedVolume, annotations) {
// roiStats
const { imageData } = referencedVolume;
- const values = imageData
- .getPointData()
- .getScalars()
- .getData();
+ const values = imageData.getPointData().getScalars().getData();
// Todo: add support for other strategies
const { fn, baseValue } = _getStrategyFn('max');
@@ -59,9 +56,10 @@ function getThresholdValues(
};
}
-function _getStrategyFn(
- statistic
-): { fn: (a: number, b: number) => number; baseValue: number } {
+function _getStrategyFn(statistic): {
+ fn: (a: number, b: number) => number;
+ baseValue: number;
+} {
const baseValue = -Infinity;
const fn = (number, maxValue) => {
if (number > maxValue) {
diff --git a/extensions/tmtv/src/utils/hpViewports.ts b/extensions/tmtv/src/utils/hpViewports.ts
index af2b760d436..b716a9ef102 100644
--- a/extensions/tmtv/src/utils/hpViewports.ts
+++ b/extensions/tmtv/src/utils/hpViewports.ts
@@ -114,6 +114,9 @@ const ptAXIAL = {
id: 'ptFusionWLSync',
source: true,
target: false,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -155,6 +158,9 @@ const ptSAGITTAL = {
id: 'ptFusionWLSync',
source: true,
target: false,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -196,6 +202,9 @@ const ptCORONAL = {
id: 'ptFusionWLSync',
source: true,
target: false,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -246,6 +255,9 @@ const fusionAXIAL = {
id: 'ptFusionWLSync',
source: false,
target: true,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -254,16 +266,20 @@ const fusionAXIAL = {
id: 'ctDisplaySet',
},
{
+ id: 'ptDisplaySet',
options: {
colormap: {
name: 'hsv',
- opacityMapping: [{ value: 0.1, opacity: 0.9 }],
+ opacity: [
+ { value: 0, opacity: 0 },
+ { value: 0.1, opacity: 0.9 },
+ { value: 1, opacity: 0.95 },
+ ],
},
voi: {
custom: 'getPTVOIRange',
},
},
- id: 'ptDisplaySet',
},
],
};
@@ -302,6 +318,9 @@ const fusionSAGITTAL = {
id: 'ptFusionWLSync',
source: false,
target: true,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -310,16 +329,20 @@ const fusionSAGITTAL = {
id: 'ctDisplaySet',
},
{
+ id: 'ptDisplaySet',
options: {
colormap: {
name: 'hsv',
- opacityMapping: [{ value: 0.1, opacity: 0.9 }],
+ opacity: [
+ { value: 0, opacity: 0 },
+ { value: 0.1, opacity: 0.9 },
+ { value: 1, opacity: 0.95 },
+ ],
},
voi: {
custom: 'getPTVOIRange',
},
},
- id: 'ptDisplaySet',
},
],
};
@@ -358,6 +381,9 @@ const fusionCORONAL = {
id: 'ptFusionWLSync',
source: false,
target: true,
+ options: {
+ syncInvertState: false,
+ },
},
],
},
@@ -366,16 +392,20 @@ const fusionCORONAL = {
id: 'ctDisplaySet',
},
{
+ id: 'ptDisplaySet',
options: {
colormap: {
name: 'hsv',
- opacityMapping: [{ value: 0.1, opacity: 0.9 }],
+ opacity: [
+ { value: 0, opacity: 0 },
+ { value: 0.1, opacity: 0.9 },
+ { value: 1, opacity: 0.95 },
+ ],
},
voi: {
custom: 'getPTVOIRange',
},
},
- id: 'ptDisplaySet',
},
],
};
@@ -399,6 +429,9 @@ const mipSAGITTAL = {
id: 'ptFusionWLSync',
source: true,
target: false,
+ options: {
+ syncInvertState: false,
+ },
},
],
diff --git a/extensions/tmtv/src/utils/measurementServiceMappings/RectangleROIStartEndThreshold.js b/extensions/tmtv/src/utils/measurementServiceMappings/RectangleROIStartEndThreshold.js
index 5d2100aff8c..a6131e2ac5d 100644
--- a/extensions/tmtv/src/utils/measurementServiceMappings/RectangleROIStartEndThreshold.js
+++ b/extensions/tmtv/src/utils/measurementServiceMappings/RectangleROIStartEndThreshold.js
@@ -10,11 +10,7 @@ const RectangleROIStartEndThreshold = {
* @param {Object} cornerstone Cornerstone event data
* @return {Measurement} Measurement instance
*/
- toMeasurement: (
- csToolsEventDetail,
- displaySetService,
- cornerstoneViewportService
- ) => {
+ toMeasurement: (csToolsEventDetail, displaySetService, cornerstoneViewportService) => {
const { annotation, viewportId } = csToolsEventDetail;
const { metadata, data, annotationUID } = annotation;
@@ -30,11 +26,7 @@ const RectangleROIStartEndThreshold = {
throw new Error('Tool not supported');
}
- const {
- SOPInstanceUID,
- SeriesInstanceUID,
- StudyInstanceUID,
- } = getSOPInstanceAttributes(
+ const { SOPInstanceUID, SeriesInstanceUID, StudyInstanceUID } = getSOPInstanceAttributes(
referencedImageId,
cornerstoneViewportService,
viewportId
diff --git a/jest.config.js b/jest.config.js
index 22b0ac8f1e7..c19684dbde0 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -13,5 +13,5 @@ module.exports = {
'/extensions/*/jest.config.js',
//'/modes/*/jest.config.js' // Enable if any mode definitions start including tests
],
- coverageDirectory: "/coverage/"
+ coverageDirectory: '/coverage/',
};
diff --git a/lerna.json b/lerna.json
index 09786c5715b..23636c873b6 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,6 +1,5 @@
{
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"packages": ["extensions/*", "platform/*", "modes/*"],
- "npmClient": "yarn",
- "useWorkspaces": true
+ "npmClient": "yarn"
}
diff --git a/modes/basic-dev-mode/.webpack/webpack.dev.js b/modes/basic-dev-mode/.webpack/webpack.dev.js
index 2bc3ced0b9b..4bf848b6c5c 100644
--- a/modes/basic-dev-mode/.webpack/webpack.dev.js
+++ b/modes/basic-dev-mode/.webpack/webpack.dev.js
@@ -7,7 +7,6 @@ const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};
diff --git a/modes/basic-dev-mode/.webpack/webpack.prod.js b/modes/basic-dev-mode/.webpack/webpack.prod.js
index 7147d3b06df..26c62c7d4ad 100644
--- a/modes/basic-dev-mode/.webpack/webpack.prod.js
+++ b/modes/basic-dev-mode/.webpack/webpack.prod.js
@@ -12,7 +12,6 @@ const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
module.exports = (env, argv) => {
const commonConfig = webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
@@ -38,13 +37,7 @@ module.exports = (env, argv) => {
libraryTarget: 'umd',
filename: pkg.main,
},
- externals: [
- /\b(vtk.js)/,
- /\b(dcmjs)/,
- /\b(gl-matrix)/,
- /^@ohif/,
- /^@cornerstonejs/,
- ],
+ externals: [/\b(vtk.js)/, /\b(dcmjs)/, /\b(gl-matrix)/, /^@ohif/, /^@cornerstonejs/],
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
diff --git a/modes/basic-dev-mode/CHANGELOG.md b/modes/basic-dev-mode/CHANGELOG.md
new file mode 100644
index 00000000000..e51a67a413a
--- /dev/null
+++ b/modes/basic-dev-mode/CHANGELOG.md
@@ -0,0 +1,422 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+
+### Features
+
+* **ImageOverlayViewerTool:** add ImageOverlayViewer tool that can render image overlay (pixel overlay) of the DICOM images ([#3163](https://github.com/OHIF/Viewers/issues/3163)) ([69115da](https://github.com/OHIF/Viewers/commit/69115da06d2d437b57e66608b435bb0bc919a90f))
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+**Note:** Version bump only for package @ohif/mode-basic-dev-mode
diff --git a/modes/basic-dev-mode/package.json b/modes/basic-dev-mode/package.json
index 6c6b1504c22..1d63852ed6a 100644
--- a/modes/basic-dev-mode/package.json
+++ b/modes/basic-dev-mode/package.json
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-basic-dev-mode",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"description": "Basic OHIF Viewer Using Cornerstone",
"author": "OHIF",
"license": "MIT",
@@ -29,12 +29,12 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
- "@ohif/core": "3.6.0",
- "@ohif/extension-cornerstone": "3.6.0",
- "@ohif/extension-cornerstone-dicom-sr": "3.6.0",
- "@ohif/extension-default": "3.6.0",
- "@ohif/extension-dicom-pdf": "3.6.0",
- "@ohif/extension-dicom-video": "3.6.0"
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.108",
+ "@ohif/extension-default": "3.7.0-beta.108",
+ "@ohif/extension-dicom-pdf": "3.7.0-beta.108",
+ "@ohif/extension-dicom-video": "3.7.0-beta.108"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
diff --git a/modes/basic-dev-mode/src/index.js b/modes/basic-dev-mode/src/index.js
index 0f769854ecd..411409e1f49 100644
--- a/modes/basic-dev-mode/src/index.js
+++ b/modes/basic-dev-mode/src/index.js
@@ -19,14 +19,12 @@ const cs3d = {
};
const dicomsr = {
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
viewport: '@ohif/extension-cornerstone-dicom-sr.viewportModule.dicom-sr',
};
const dicomvideo = {
- sopClassHandler:
- '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
+ sopClassHandler: '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
viewport: '@ohif/extension-dicom-video.viewportModule.dicom-video',
};
@@ -86,18 +84,18 @@ function modeFactory({ modeConfiguration }) {
{ toolName: toolNames.CalibrationLine },
],
// enabled
+ enabled: [{ toolName: toolNames.ImageOverlayViewer }],
// disabled
};
const toolGroupId = 'default';
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools, configs);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
let unsubscribe;
const activateTool = () => {
toolbarService.recordInteraction({
groupId: 'WindowLevel',
- itemId: 'WindowLevel',
interactionType: 'tool',
commands: [
{
@@ -134,11 +132,7 @@ function modeFactory({ modeConfiguration }) {
]);
},
onModeExit: ({ servicesManager }) => {
- const {
- toolGroupService,
- measurementService,
- toolbarService,
- } = servicesManager.services;
+ const { toolGroupService, measurementService, toolbarService } = servicesManager.services;
toolGroupService.destroy();
},
diff --git a/modes/basic-test-mode/.webpack/webpack.dev.js b/modes/basic-test-mode/.webpack/webpack.dev.js
index 2bc3ced0b9b..1b8e34cfd13 100644
--- a/modes/basic-test-mode/.webpack/webpack.dev.js
+++ b/modes/basic-test-mode/.webpack/webpack.dev.js
@@ -4,10 +4,9 @@ const SRC_DIR = path.join(__dirname, '../src');
const DIST_DIR = path.join(__dirname, '../dist');
const ENTRY = {
- app: `${SRC_DIR}/index.js`,
+ app: `${SRC_DIR}/index.ts`,
};
-
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};
diff --git a/modes/basic-test-mode/.webpack/webpack.prod.js b/modes/basic-test-mode/.webpack/webpack.prod.js
index 677f4788132..0a7d7f8640e 100644
--- a/modes/basic-test-mode/.webpack/webpack.prod.js
+++ b/modes/basic-test-mode/.webpack/webpack.prod.js
@@ -11,7 +11,7 @@ const SRC_DIR = path.join(__dirname, '../src');
const DIST_DIR = path.join(__dirname, '../dist');
const ENTRY = {
- app: `${SRC_DIR}/index.js`,
+ app: `${SRC_DIR}/index.ts`,
};
module.exports = (env, argv) => {
@@ -40,13 +40,7 @@ module.exports = (env, argv) => {
libraryExport: 'default',
filename: pkg.main,
},
- externals: [
- /\b(vtk.js)/,
- /\b(dcmjs)/,
- /\b(gl-matrix)/,
- /^@ohif/,
- /^@cornerstonejs/,
- ],
+ externals: [/\b(vtk.js)/, /\b(dcmjs)/, /\b(gl-matrix)/, /^@ohif/, /^@cornerstonejs/],
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
diff --git a/modes/basic-test-mode/CHANGELOG.md b/modes/basic-test-mode/CHANGELOG.md
new file mode 100644
index 00000000000..9c2c9b2612d
--- /dev/null
+++ b/modes/basic-test-mode/CHANGELOG.md
@@ -0,0 +1,426 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+
+### Features
+
+* **locale:** add German translations - community PR ([#3697](https://github.com/OHIF/Viewers/issues/3697)) ([ebe8f71](https://github.com/OHIF/Viewers/commit/ebe8f71da22c1d24b58f889c5d803951e19817b6))
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+
+### Bug Fixes
+
+* **dicom overlay:** Handle special cases of ArrayBuffer for various DICOM overlay attributes. ([#3684](https://github.com/OHIF/Viewers/issues/3684)) ([e36a604](https://github.com/OHIF/Viewers/commit/e36a6043315e900eeb6ce183772c7f852f478e96))
+* **StackSync:** Miscellaneous fixes for stack image sync ([#3663](https://github.com/OHIF/Viewers/issues/3663)) ([8a335bd](https://github.com/OHIF/Viewers/commit/8a335bd03d14ba87d65d7468d93f74040aa828d9))
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+**Note:** Version bump only for package @ohif/mode-test
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+**Note:** Version bump only for package @ohif/mode-test
diff --git a/modes/basic-test-mode/package.json b/modes/basic-test-mode/package.json
index c832649cfdf..6712e85d11a 100644
--- a/modes/basic-test-mode/package.json
+++ b/modes/basic-test-mode/package.json
@@ -1,12 +1,12 @@
{
"name": "@ohif/mode-test",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"description": "Basic mode for testing",
"author": "OHIF",
"license": "MIT",
"repository": "OHIF/Viewers",
"main": "dist/ohif-mode-test.umd.js",
- "module": "src/index.js",
+ "module": "src/index.ts",
"engines": {
"node": ">=14",
"npm": ">=6",
@@ -32,14 +32,14 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
- "@ohif/core": "3.6.0",
- "@ohif/extension-cornerstone": "3.6.0",
- "@ohif/extension-cornerstone-dicom-sr": "3.6.0",
- "@ohif/extension-default": "3.6.0",
- "@ohif/extension-dicom-pdf": "3.6.0",
- "@ohif/extension-dicom-video": "3.6.0",
- "@ohif/extension-measurement-tracking": "3.6.0",
- "@ohif/extension-test": "3.6.0"
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.108",
+ "@ohif/extension-default": "3.7.0-beta.108",
+ "@ohif/extension-dicom-pdf": "3.7.0-beta.108",
+ "@ohif/extension-dicom-video": "3.7.0-beta.108",
+ "@ohif/extension-measurement-tracking": "3.7.0-beta.108",
+ "@ohif/extension-test": "3.7.0-beta.108"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
diff --git a/modes/basic-test-mode/src/index.js b/modes/basic-test-mode/src/index.ts
similarity index 86%
rename from modes/basic-test-mode/src/index.js
rename to modes/basic-test-mode/src/index.ts
index d465b7e0995..3d51b06f15a 100644
--- a/modes/basic-test-mode/src/index.js
+++ b/modes/basic-test-mode/src/index.ts
@@ -1,7 +1,7 @@
import { hotkeys } from '@ohif/core';
-import toolbarButtons from './toolbarButtons.js';
-import { id } from './id.js';
-import initToolGroups from './initToolGroups.js';
+import toolbarButtons from './toolbarButtons';
+import { id } from './id';
+import initToolGroups from './initToolGroups';
// Allow this mode by excluding non-imaging modalities such as SR, SEG
// Also, SM is not a simple imaging modalities, so exclude it.
@@ -14,22 +14,18 @@ const ohif = {
};
const tracked = {
- measurements:
- '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
+ measurements: '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
thumbnailList: '@ohif/extension-measurement-tracking.panelModule.seriesList',
- viewport:
- '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked',
+ viewport: '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked',
};
const dicomsr = {
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
viewport: '@ohif/extension-cornerstone-dicom-sr.viewportModule.dicom-sr',
};
const dicomvideo = {
- sopClassHandler:
- '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
+ sopClassHandler: '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
viewport: '@ohif/extension-dicom-video.viewportModule.dicom-video',
};
@@ -39,8 +35,7 @@ const dicompdf = {
};
const dicomSeg = {
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',
panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation',
};
@@ -68,12 +63,8 @@ function modeFactory() {
* Lifecycle hooks
*/
onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => {
- const {
- measurementService,
- toolbarService,
- toolGroupService,
- customizationService,
- } = servicesManager.services;
+ const { measurementService, toolbarService, toolGroupService, customizationService } =
+ servicesManager.services;
measurementService.clearMeasurements();
@@ -90,7 +81,6 @@ function modeFactory() {
const activateTool = () => {
toolbarService.recordInteraction({
groupId: 'WindowLevel',
- itemId: 'WindowLevel',
interactionType: 'tool',
commands: [
{
@@ -147,13 +137,12 @@ function modeFactory() {
series: [],
},
- isValidMode: function({ modalities }) {
+ isValidMode: function ({ modalities }) {
const modalities_list = modalities.split('\\');
// Exclude non-image modalities
- return !!modalities_list.filter(
- modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1
- ).length;
+ return !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1)
+ .length;
},
routes: [
{
diff --git a/modes/basic-test-mode/src/initToolGroups.js b/modes/basic-test-mode/src/initToolGroups.ts
similarity index 69%
rename from modes/basic-test-mode/src/initToolGroups.js
rename to modes/basic-test-mode/src/initToolGroups.ts
index ccc5c1a6df2..3110f24f885 100644
--- a/modes/basic-test-mode/src/initToolGroups.js
+++ b/modes/basic-test-mode/src/initToolGroups.ts
@@ -1,9 +1,4 @@
-function initDefaultToolGroup(
- extensionManager,
- toolGroupService,
- commandsManager,
- toolGroupId
-) {
+function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {
const utilityModule = extensionManager.getModuleEntry(
'@ohif/extension-cornerstone.utilityModule.tools'
);
@@ -28,7 +23,23 @@ function initDefaultToolGroup(
],
passive: [
{ toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
+ {
+ toolName: toolNames.ArrowAnnotate,
+ configuration: {
+ getTextCallback: (callback, eventDetails) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ eventDetails,
+ }),
+
+ changeTextCallback: (data, eventDetails, callback) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ data,
+ eventDetails,
+ }),
+ },
+ },
{ toolName: toolNames.Bidirectional },
{ toolName: toolNames.DragProbe },
{ toolName: toolNames.EllipticalROI },
@@ -44,24 +55,7 @@ function initDefaultToolGroup(
disabled: [{ toolName: toolNames.ReferenceLines }],
};
- const toolsConfig = {
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
}
function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
@@ -122,25 +116,8 @@ function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
// disabled
};
- const toolsConfig = {
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
const toolGroupId = 'SRToolGroup';
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
}
function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
@@ -168,7 +145,23 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
],
passive: [
{ toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
+ {
+ toolName: toolNames.ArrowAnnotate,
+ configuration: {
+ getTextCallback: (callback, eventDetails) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ eventDetails,
+ }),
+
+ changeTextCallback: (data, eventDetails, callback) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ data,
+ eventDetails,
+ }),
+ },
+ },
{ toolName: toolNames.Bidirectional },
{ toolName: toolNames.DragProbe },
{ toolName: toolNames.EllipticalROI },
@@ -179,7 +172,16 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
{ toolName: toolNames.SegmentationDisplay },
],
disabled: [
- { toolName: toolNames.Crosshairs },
+ {
+ toolName: toolNames.Crosshairs,
+ configuration: {
+ viewportIndicators: false,
+ autoPan: {
+ enabled: false,
+ panSize: 10,
+ },
+ },
+ },
{ toolName: toolNames.ReferenceLines },
],
@@ -187,40 +189,11 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
// disabled
};
- const toolsConfig = {
- [toolNames.Crosshairs]: {
- viewportIndicators: false,
- autoPan: {
- enabled: false,
- panSize: 10,
- },
- },
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
- toolGroupService.createToolGroupAndAddTools('mpr', tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools('mpr', tools);
}
function initToolGroups(extensionManager, toolGroupService, commandsManager) {
- initDefaultToolGroup(
- extensionManager,
- toolGroupService,
- commandsManager,
- 'default'
- );
+ initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');
initSRToolGroup(extensionManager, toolGroupService, commandsManager);
initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
}
diff --git a/modes/basic-test-mode/src/toolbarButtons.js b/modes/basic-test-mode/src/toolbarButtons.ts
similarity index 90%
rename from modes/basic-test-mode/src/toolbarButtons.js
rename to modes/basic-test-mode/src/toolbarButtons.ts
index 506e6b6529e..5d540b39c50 100644
--- a/modes/basic-test-mode/src/toolbarButtons.js
+++ b/modes/basic-test-mode/src/toolbarButtons.ts
@@ -5,43 +5,15 @@ import {
// ListMenu,
WindowLevelMenuItem,
} from '@ohif/ui';
-import { defaults } from '@ohif/core';
+import { defaults, ToolbarService } from '@ohif/core';
+import type { Button, RunCommand } from '@ohif/core/types';
+import { EVENTS } from '@cornerstonejs/core';
const { windowLevelPresets } = defaults;
-/**
- *
- * @param {*} type - 'tool' | 'action' | 'toggle'
- * @param {*} id
- * @param {*} icon
- * @param {*} label
- */
-function _createButton(type, id, icon, label, commands, tooltip, uiType) {
- return {
- id,
- icon,
- label,
- type,
- commands,
- tooltip,
- uiType,
- };
-}
-function _createCommands(commandName, toolName, toolGroupIds) {
- return toolGroupIds.map(toolGroupId => ({
- /* It's a command that is being run when the button is clicked. */
- commandName,
- commandOptions: {
- toolName,
- toolGroupId,
- },
- context: 'CORNERSTONE',
- }));
-}
-
-const _createActionButton = _createButton.bind(null, 'action');
-const _createToggleButton = _createButton.bind(null, 'toggle');
-const _createToolButton = _createButton.bind(null, 'tool');
+const _createActionButton = ToolbarService._createButton.bind(null, 'action');
+const _createToggleButton = ToolbarService._createButton.bind(null, 'toggle');
+const _createToolButton = ToolbarService._createButton.bind(null, 'tool');
/**
*
@@ -67,7 +39,21 @@ function _createWwwcPreset(preset, title, subtitle) {
};
}
-const toolbarButtons = [
+const ReferenceLinesCommands: RunCommand = [
+ {
+ commandName: 'setSourceViewportForReferenceLinesTool',
+ context: 'CORNERSTONE',
+ },
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'ReferenceLines',
+ },
+ context: 'CORNERSTONE',
+ },
+];
+
+const toolbarButtons: Button[] = [
// Measurement
{
id: 'MeasurementTools',
@@ -513,26 +499,39 @@ const toolbarButtons = [
context: 'CORNERSTONE',
},
],
- 'Flip Horizontal'
+ 'Flip Horizontally'
),
- _createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [
+ _createToggleButton(
+ 'StackImageSync',
+ 'link',
+ 'Stack Image Sync',
+ [
+ {
+ commandName: 'toggleStackImageSync',
+ },
+ ],
+ 'Enable position synchronization on stack viewports',
{
- commandName: 'toggleStackImageSync',
- commandOptions: {},
- context: 'CORNERSTONE',
- },
- ]),
+ listeners: {
+ [EVENTS.STACK_VIEWPORT_NEW_STACK]: {
+ commandName: 'toggleStackImageSync',
+ commandOptions: { toggledState: true },
+ },
+ },
+ }
+ ),
_createToggleButton(
'ReferenceLines',
'tool-referenceLines', // change this with the new icon
'Reference Lines',
- [
- {
- commandName: 'toggleReferenceLines',
- commandOptions: {},
- context: 'CORNERSTONE',
+ ReferenceLinesCommands,
+ 'Show Reference Lines',
+ {
+ listeners: {
+ [EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
+ [EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands,
},
- ]
+ }
),
_createToolButton(
'StackScroll',
diff --git a/modes/longitudinal/.webpack/webpack.dev.js b/modes/longitudinal/.webpack/webpack.dev.js
index 2bc3ced0b9b..4bf848b6c5c 100644
--- a/modes/longitudinal/.webpack/webpack.dev.js
+++ b/modes/longitudinal/.webpack/webpack.dev.js
@@ -7,7 +7,6 @@ const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};
diff --git a/modes/longitudinal/.webpack/webpack.prod.js b/modes/longitudinal/.webpack/webpack.prod.js
index 98ab53e9248..6b84361f24b 100644
--- a/modes/longitudinal/.webpack/webpack.prod.js
+++ b/modes/longitudinal/.webpack/webpack.prod.js
@@ -39,13 +39,7 @@ module.exports = (env, argv) => {
libraryExport: 'default',
filename: pkg.main,
},
- externals: [
- /\b(vtk.js)/,
- /\b(dcmjs)/,
- /\b(gl-matrix)/,
- /^@ohif/,
- /^@cornerstonejs/,
- ],
+ externals: [/\b(vtk.js)/, /\b(dcmjs)/, /\b(gl-matrix)/, /^@ohif/, /^@cornerstonejs/],
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
diff --git a/modes/longitudinal/CHANGELOG.md b/modes/longitudinal/CHANGELOG.md
new file mode 100644
index 00000000000..ae54fe7179d
--- /dev/null
+++ b/modes/longitudinal/CHANGELOG.md
@@ -0,0 +1,428 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+
+### Bug Fixes
+
+* **modules:** add stylus loader as an option to be uncommented ([#3710](https://github.com/OHIF/Viewers/issues/3710)) ([7c57f67](https://github.com/OHIF/Viewers/commit/7c57f67844b790fc6e47ac3f9708bf9d576389c8))
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+
+### Bug Fixes
+
+* **StackSync:** Miscellaneous fixes for stack image sync ([#3663](https://github.com/OHIF/Viewers/issues/3663)) ([8a335bd](https://github.com/OHIF/Viewers/commit/8a335bd03d14ba87d65d7468d93f74040aa828d9))
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+
+### Features
+
+* **ImageOverlayViewerTool:** add ImageOverlayViewer tool that can render image overlay (pixel overlay) of the DICOM images ([#3163](https://github.com/OHIF/Viewers/issues/3163)) ([69115da](https://github.com/OHIF/Viewers/commit/69115da06d2d437b57e66608b435bb0bc919a90f))
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+**Note:** Version bump only for package @ohif/mode-longitudinal
diff --git a/modes/longitudinal/package.json b/modes/longitudinal/package.json
index ca4c55779b2..6746a8f8ae0 100644
--- a/modes/longitudinal/package.json
+++ b/modes/longitudinal/package.json
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-longitudinal",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"description": "Longitudinal Workflow",
"author": "OHIF",
"license": "MIT",
@@ -32,15 +32,15 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
- "@ohif/core": "3.6.0",
- "@ohif/extension-cornerstone": "3.6.0",
- "@ohif/extension-cornerstone-dicom-rt": "3.6.0",
- "@ohif/extension-cornerstone-dicom-seg": "3.6.0",
- "@ohif/extension-cornerstone-dicom-sr": "3.6.0",
- "@ohif/extension-default": "3.6.0",
- "@ohif/extension-dicom-pdf": "3.6.0",
- "@ohif/extension-dicom-video": "3.6.0",
- "@ohif/extension-measurement-tracking": "3.6.0"
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-seg": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.108",
+ "@ohif/extension-default": "3.7.0-beta.108",
+ "@ohif/extension-dicom-pdf": "3.7.0-beta.108",
+ "@ohif/extension-dicom-video": "3.7.0-beta.108",
+ "@ohif/extension-measurement-tracking": "3.7.0-beta.108"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
diff --git a/modes/longitudinal/src/index.js b/modes/longitudinal/src/index.js
index 0c3e3d4d420..25397a2cf74 100644
--- a/modes/longitudinal/src/index.js
+++ b/modes/longitudinal/src/index.js
@@ -1,7 +1,7 @@
import { hotkeys } from '@ohif/core';
-import toolbarButtons from './toolbarButtons.js';
-import { id } from './id.js';
-import initToolGroups from './initToolGroups.js';
+import toolbarButtons from './toolbarButtons';
+import { id } from './id';
+import initToolGroups from './initToolGroups';
// Allow this mode by excluding non-imaging modalities such as SR, SEG
// Also, SM is not a simple imaging modalities, so exclude it.
@@ -14,22 +14,18 @@ const ohif = {
};
const tracked = {
- measurements:
- '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
+ measurements: '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
thumbnailList: '@ohif/extension-measurement-tracking.panelModule.seriesList',
- viewport:
- '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked',
+ viewport: '@ohif/extension-measurement-tracking.viewportModule.cornerstone-tracked',
};
const dicomsr = {
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-sr.sopClassHandlerModule.dicom-sr',
viewport: '@ohif/extension-cornerstone-dicom-sr.viewportModule.dicom-sr',
};
const dicomvideo = {
- sopClassHandler:
- '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
+ sopClassHandler: '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
viewport: '@ohif/extension-dicom-video.viewportModule.dicom-video',
};
@@ -39,16 +35,14 @@ const dicompdf = {
};
const dicomSeg = {
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',
panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation',
};
-const dicomRt = {
+const dicomRT = {
viewport: '@ohif/extension-cornerstone-dicom-rt.viewportModule.dicom-rt',
- sopClassHandler:
- '@ohif/extension-cornerstone-dicom-rt.sopClassHandlerModule.dicom-rt',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-rt.sopClassHandlerModule.dicom-rt',
};
const extensionDependencies = {
@@ -63,7 +57,7 @@ const extensionDependencies = {
'@ohif/extension-dicom-video': '^3.0.1',
};
-function modeFactory() {
+function modeFactory({ modeConfiguration }) {
let _activatePanelTriggersSubscriptions = [];
return {
// TODO: We're using this as a route segment
@@ -80,7 +74,7 @@ function modeFactory() {
toolbarService,
toolGroupService,
panelService,
- segmentationService,
+ customizationService,
} = servicesManager.services;
measurementService.clearMeasurements();
@@ -93,7 +87,6 @@ function modeFactory() {
const activateTool = () => {
toolbarService.recordInteraction({
groupId: 'WindowLevel',
- itemId: 'WindowLevel',
interactionType: 'tool',
commands: [
{
@@ -132,6 +125,13 @@ function modeFactory() {
'MoreTools',
]);
+ customizationService.addModeCustomizations([
+ {
+ id: 'segmentation.disableEditing',
+ value: true,
+ },
+ ]);
+
// // ActivatePanel event trigger for when a segmentation or measurement is added.
// // Do not force activation so as to respect the state the user may have left the UI in.
// _activatePanelTriggersSubscriptions = [
@@ -176,13 +176,12 @@ function modeFactory() {
series: [],
},
- isValidMode: function({ modalities }) {
+ isValidMode: function ({ modalities }) {
const modalities_list = modalities.split('\\');
// Exclude non-image modalities
- return !!modalities_list.filter(
- modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1
- ).length;
+ return !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1)
+ .length;
},
routes: [
{
@@ -219,8 +218,8 @@ function modeFactory() {
displaySetsToDisplay: [dicomSeg.sopClassHandler],
},
{
- namespace: dicomRt.viewport,
- displaySetsToDisplay: [dicomRt.sopClassHandler],
+ namespace: dicomRT.viewport,
+ displaySetsToDisplay: [dicomRT.sopClassHandler],
},
],
},
@@ -241,9 +240,10 @@ function modeFactory() {
ohif.sopClassHandler,
dicompdf.sopClassHandler,
dicomsr.sopClassHandler,
- dicomRt.sopClassHandler,
+ dicomRT.sopClassHandler,
],
hotkeys: [...hotkeys.defaults.hotkeyBindings],
+ ...modeConfiguration,
};
}
diff --git a/modes/longitudinal/src/initToolGroups.js b/modes/longitudinal/src/initToolGroups.js
index b8e88db909a..e7ea816db39 100644
--- a/modes/longitudinal/src/initToolGroups.js
+++ b/modes/longitudinal/src/initToolGroups.js
@@ -1,9 +1,4 @@
-function initDefaultToolGroup(
- extensionManager,
- toolGroupService,
- commandsManager,
- toolGroupId
-) {
+function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {
const utilityModule = extensionManager.getModuleEntry(
'@ohif/extension-cornerstone.utilityModule.tools'
);
@@ -28,7 +23,23 @@ function initDefaultToolGroup(
],
passive: [
{ toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
+ {
+ toolName: toolNames.ArrowAnnotate,
+ configuration: {
+ getTextCallback: (callback, eventDetails) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ eventDetails,
+ }),
+
+ changeTextCallback: (data, eventDetails, callback) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ data,
+ eventDetails,
+ }),
+ },
+ },
{ toolName: toolNames.Bidirectional },
{ toolName: toolNames.DragProbe },
{ toolName: toolNames.EllipticalROI },
@@ -43,28 +54,12 @@ function initDefaultToolGroup(
{ toolName: toolNames.CalibrationLine },
],
// enabled
+ enabled: [{ toolName: toolNames.ImageOverlayViewer }],
// disabled
disabled: [{ toolName: toolNames.ReferenceLines }],
};
- const toolsConfig = {
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
}
function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
@@ -72,6 +67,10 @@ function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
'@ohif/extension-cornerstone-dicom-sr.utilityModule.tools'
);
+ if (!SRUtilityModule) {
+ return;
+ }
+
const CS3DUtilityModule = extensionManager.getModuleEntry(
'@ohif/extension-cornerstone.utilityModule.tools'
);
@@ -125,25 +124,8 @@ function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
// disabled
};
- const toolsConfig = {
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
const toolGroupId = 'SRToolGroup';
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
}
function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
@@ -171,7 +153,23 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
],
passive: [
{ toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
+ {
+ toolName: toolNames.ArrowAnnotate,
+ configuration: {
+ getTextCallback: (callback, eventDetails) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ eventDetails,
+ }),
+
+ changeTextCallback: (data, eventDetails, callback) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ data,
+ eventDetails,
+ }),
+ },
+ },
{ toolName: toolNames.Bidirectional },
{ toolName: toolNames.DragProbe },
{ toolName: toolNames.EllipticalROI },
@@ -184,7 +182,16 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
{ toolName: toolNames.SegmentationDisplay },
],
disabled: [
- { toolName: toolNames.Crosshairs },
+ {
+ toolName: toolNames.Crosshairs,
+ configuration: {
+ viewportIndicators: false,
+ autoPan: {
+ enabled: false,
+ panSize: 10,
+ },
+ },
+ },
{ toolName: toolNames.ReferenceLines },
],
@@ -192,31 +199,7 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
// disabled
};
- const toolsConfig = {
- [toolNames.Crosshairs]: {
- viewportIndicators: false,
- autoPan: {
- enabled: false,
- panSize: 10,
- },
- },
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
- toolGroupService.createToolGroupAndAddTools('mpr', tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools('mpr', tools);
}
function initVolume3DToolGroup(extensionManager, toolGroupService) {
const utilityModule = extensionManager.getModuleEntry(
@@ -246,12 +229,7 @@ function initVolume3DToolGroup(extensionManager, toolGroupService) {
}
function initToolGroups(extensionManager, toolGroupService, commandsManager) {
- initDefaultToolGroup(
- extensionManager,
- toolGroupService,
- commandsManager,
- 'default'
- );
+ initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');
initSRToolGroup(extensionManager, toolGroupService, commandsManager);
initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
initVolume3DToolGroup(extensionManager, toolGroupService);
diff --git a/modes/longitudinal/src/toolbarButtons.js b/modes/longitudinal/src/toolbarButtons.ts
similarity index 88%
rename from modes/longitudinal/src/toolbarButtons.js
rename to modes/longitudinal/src/toolbarButtons.ts
index 92de37e89dd..e7842c56521 100644
--- a/modes/longitudinal/src/toolbarButtons.js
+++ b/modes/longitudinal/src/toolbarButtons.ts
@@ -5,31 +5,15 @@ import {
// ListMenu,
WindowLevelMenuItem,
} from '@ohif/ui';
-import { defaults } from '@ohif/core';
+import { defaults, ToolbarService } from '@ohif/core';
+import type { Button, RunCommand } from '@ohif/core/types';
+import { EVENTS } from '@cornerstonejs/core';
const { windowLevelPresets } = defaults;
-/**
- *
- * @param {*} type - 'tool' | 'action' | 'toggle'
- * @param {*} id
- * @param {*} icon
- * @param {*} label
- */
-function _createButton(type, id, icon, label, commands, tooltip, uiType) {
- return {
- id,
- icon,
- label,
- type,
- commands,
- tooltip,
- uiType,
- };
-}
-const _createActionButton = _createButton.bind(null, 'action');
-const _createToggleButton = _createButton.bind(null, 'toggle');
-const _createToolButton = _createButton.bind(null, 'tool');
+const _createActionButton = ToolbarService._createButton.bind(null, 'action');
+const _createToggleButton = ToolbarService._createButton.bind(null, 'toggle');
+const _createToolButton = ToolbarService._createButton.bind(null, 'tool');
/**
*
@@ -75,7 +59,21 @@ function _createSetToolActiveCommands(toolName) {
return temp;
}
-const toolbarButtons = [
+const ReferenceLinesCommands: RunCommand = [
+ {
+ commandName: 'setSourceViewportForReferenceLinesTool',
+ context: 'CORNERSTONE',
+ },
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'ReferenceLines',
+ },
+ context: 'CORNERSTONE',
+ },
+];
+
+const toolbarButtons: Button[] = [
// Measurement
{
id: 'MeasurementTools',
@@ -421,24 +419,53 @@ const toolbarButtons = [
],
'Flip Horizontal'
),
- _createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [
+ _createToggleButton(
+ 'StackImageSync',
+ 'link',
+ 'Stack Image Sync',
+ [
+ {
+ commandName: 'toggleStackImageSync',
+ },
+ ],
+ 'Enable position synchronization on stack viewports',
{
- commandName: 'toggleStackImageSync',
- commandOptions: {},
- context: 'CORNERSTONE',
- },
- ]),
+ listeners: {
+ [EVENTS.STACK_VIEWPORT_NEW_STACK]: {
+ commandName: 'toggleStackImageSync',
+ commandOptions: { toggledState: true },
+ },
+ },
+ }
+ ),
_createToggleButton(
'ReferenceLines',
'tool-referenceLines', // change this with the new icon
'Reference Lines',
+ ReferenceLinesCommands,
+ 'Show Reference Lines',
+ {
+ listeners: {
+ [EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
+ [EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands,
+ },
+ }
+ ),
+ _createToggleButton(
+ 'ImageOverlayViewer',
+ 'toggle-dicom-overlay',
+ 'Image Overlay',
[
{
- commandName: 'toggleReferenceLines',
- commandOptions: {},
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'ImageOverlayViewer',
+ },
context: 'CORNERSTONE',
},
- ]
+ ],
+ 'Image Overlay',
+ { isActive: true }
),
_createToolButton(
'StackScroll',
diff --git a/modes/microscopy/.prettierrc b/modes/microscopy/.prettierrc
index b80ec6b3474..ef83baaef93 100644
--- a/modes/microscopy/.prettierrc
+++ b/modes/microscopy/.prettierrc
@@ -1,8 +1,11 @@
{
+ "plugins": ["prettier-plugin-tailwindcss"],
"trailingComma": "es5",
- "printWidth": 80,
+ "printWidth": 100,
"proseWrap": "always",
"tabWidth": 2,
"semi": true,
- "singleQuote": true
+ "singleQuote": true,
+ "arrowParens": "avoid",
+ "endOfLine": "auto"
}
diff --git a/modes/microscopy/.webpack/webpack.dev.js b/modes/microscopy/.webpack/webpack.dev.js
index cf62de65167..4bf848b6c5c 100644
--- a/modes/microscopy/.webpack/webpack.dev.js
+++ b/modes/microscopy/.webpack/webpack.dev.js
@@ -3,13 +3,10 @@ const webpackCommon = require('./../../../.webpack/webpack.base.js');
const SRC_DIR = path.join(__dirname, '../src');
const DIST_DIR = path.join(__dirname, '../dist');
-
const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
-
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};
diff --git a/modes/microscopy/.webpack/webpack.prod.js b/modes/microscopy/.webpack/webpack.prod.js
index 6379fa8e534..f5781229458 100644
--- a/modes/microscopy/.webpack/webpack.prod.js
+++ b/modes/microscopy/.webpack/webpack.prod.js
@@ -39,13 +39,7 @@ module.exports = (env, argv) => {
libraryExport: 'default',
filename: pkg.main,
},
- externals: [
- /\b(vtk.js)/,
- /\b(dcmjs)/,
- /\b(gl-matrix)/,
- /^@ohif/,
- /^@cornerstonejs/,
- ],
+ externals: [/\b(vtk.js)/, /\b(dcmjs)/, /\b(gl-matrix)/, /^@ohif/, /^@cornerstonejs/],
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
diff --git a/modes/microscopy/CHANGELOG.md b/modes/microscopy/CHANGELOG.md
new file mode 100644
index 00000000000..64be12c1673
--- /dev/null
+++ b/modes/microscopy/CHANGELOG.md
@@ -0,0 +1,419 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+
+### Bug Fixes
+
+* **measurement and microscopy:** various small fixes for measurement and microscopy side panel ([#3696](https://github.com/OHIF/Viewers/issues/3696)) ([c1d5ee7](https://github.com/OHIF/Viewers/commit/c1d5ee7e3f7f4c0c6bed9ae81eba5519741c5155))
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+**Note:** Version bump only for package @ohif/mode-microscopy
diff --git a/modes/microscopy/babel.config.js b/modes/microscopy/babel.config.js
index 92fbbdeaf95..a38ddda2127 100644
--- a/modes/microscopy/babel.config.js
+++ b/modes/microscopy/babel.config.js
@@ -10,7 +10,7 @@ module.exports = {
modules: 'commonjs',
debug: false,
},
- "@babel/preset-typescript",
+ '@babel/preset-typescript',
],
'@babel/preset-react',
],
@@ -26,7 +26,7 @@ module.exports = {
// WebPack handles ES6 --> Target Syntax
['@babel/preset-env', { modules: false }],
'@babel/preset-react',
- "@babel/preset-typescript",
+ '@babel/preset-typescript',
],
ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
},
@@ -35,7 +35,7 @@ module.exports = {
// WebPack handles ES6 --> Target Syntax
['@babel/preset-env', { modules: false }],
'@babel/preset-react',
- "@babel/preset-typescript",
+ '@babel/preset-typescript',
],
plugins: ['react-hot-loader/babel'],
ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
diff --git a/modes/microscopy/package.json b/modes/microscopy/package.json
index 654f0b88be5..34b0a7b4827 100644
--- a/modes/microscopy/package.json
+++ b/modes/microscopy/package.json
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-microscopy",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"description": "OHIF mode for DICOM microscopy",
"author": "OHIF",
"license": "MIT",
@@ -33,8 +33,8 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
- "@ohif/core": "3.6.0",
- "@ohif/extension-dicom-microscopy": "3.6.0"
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-dicom-microscopy": "3.7.0-beta.108"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
diff --git a/modes/microscopy/src/index.tsx b/modes/microscopy/src/index.tsx
index 9044ad6eb33..5f170ca265d 100644
--- a/modes/microscopy/src/index.tsx
+++ b/modes/microscopy/src/index.tsx
@@ -16,8 +16,7 @@ export const cornerstone = {
};
const dicomvideo = {
- sopClassHandler:
- '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
+ sopClassHandler: '@ohif/extension-dicom-video.sopClassHandlerModule.dicom-video',
viewport: '@ohif/extension-dicom-video.viewportModule.dicom-video',
};
@@ -36,7 +35,7 @@ const extensionDependencies = {
'@ohif/extension-dicom-microscopy': '^3.0.0',
};
-function modeFactory() {
+function modeFactory({ modeConfiguration }) {
return {
// TODO: We're using this as a route segment
// We should not be.
@@ -52,10 +51,7 @@ function modeFactory() {
toolbarService.init(extensionManager);
toolbarService.addButtons(toolbarButtons);
- toolbarService.createButtonSection('primary', [
- 'MeasurementTools',
- 'dragPan',
- ]);
+ toolbarService.createButtonSection('primary', ['MeasurementTools', 'dragPan']);
},
onModeExit: ({ servicesManager }) => {
@@ -89,13 +85,10 @@ function modeFactory() {
leftPanels: [ohif.leftPanel],
leftPanelDefaultClosed: true, // we have problem with rendering thumbnails for microscopy images
rightPanelDefaultClosed: true, // we do not have the save microscopy measurements yet
- rightPanels: [
- '@ohif/extension-dicom-microscopy.panelModule.measure',
- ],
+ rightPanels: ['@ohif/extension-dicom-microscopy.panelModule.measure'],
viewports: [
{
- namespace:
- '@ohif/extension-dicom-microscopy.viewportModule.microscopy-dicom',
+ namespace: '@ohif/extension-dicom-microscopy.viewportModule.microscopy-dicom',
displaySetsToDisplay: [
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopySopClassHandler',
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopySRSopClassHandler',
@@ -130,6 +123,7 @@ function modeFactory() {
dicompdf.sopClassHandler,
],
hotkeys: [...hotkeys.defaults.hotkeyBindings],
+ ...modeConfiguration,
};
}
diff --git a/modes/segmentation/.gitignore b/modes/segmentation/.gitignore
new file mode 100644
index 00000000000..67045665db2
--- /dev/null
+++ b/modes/segmentation/.gitignore
@@ -0,0 +1,104 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# TypeScript v1 declaration files
+typings/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+
+# Next.js build output
+.next
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and *not* Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
diff --git a/modes/segmentation/.prettierrc b/modes/segmentation/.prettierrc
new file mode 100644
index 00000000000..28448abdf42
--- /dev/null
+++ b/modes/segmentation/.prettierrc
@@ -0,0 +1,11 @@
+{
+ "trailingComma": "es5",
+ "printWidth": 100,
+ "proseWrap": "always",
+ "tabWidth": 2,
+ "semi": true,
+ "singleQuote": true,
+ "arrowParens": "avoid",
+ "singleAttributePerLine": true,
+ "endOfLine": "auto"
+}
diff --git a/modes/segmentation/.webpack/webpack.prod.js b/modes/segmentation/.webpack/webpack.prod.js
new file mode 100644
index 00000000000..163392a699a
--- /dev/null
+++ b/modes/segmentation/.webpack/webpack.prod.js
@@ -0,0 +1,62 @@
+const path = require('path');
+const pkg = require('../package.json');
+
+const outputFile = 'index.umd.js';
+const rootDir = path.resolve(__dirname, '../');
+const outputFolder = path.join(__dirname, `../dist/umd/${pkg.name}/`);
+
+// Todo: add ESM build for the mode in addition to umd build
+const config = {
+ mode: 'production',
+ entry: rootDir + '/' + pkg.module,
+ devtool: 'source-map',
+ output: {
+ path: outputFolder,
+ filename: outputFile,
+ library: pkg.name,
+ libraryTarget: 'umd',
+ chunkFilename: '[name].chunk.js',
+ umdNamedDefine: true,
+ globalObject: "typeof self !== 'undefined' ? self : this",
+ },
+ externals: [
+ {
+ react: {
+ root: 'React',
+ commonjs2: 'react',
+ commonjs: 'react',
+ amd: 'react',
+ },
+ '@ohif/core': {
+ commonjs2: '@ohif/core',
+ commonjs: '@ohif/core',
+ amd: '@ohif/core',
+ root: '@ohif/core',
+ },
+ '@ohif/ui': {
+ commonjs2: '@ohif/ui',
+ commonjs: '@ohif/ui',
+ amd: '@ohif/ui',
+ root: '@ohif/ui',
+ },
+ },
+ ],
+ module: {
+ rules: [
+ {
+ test: /(\.jsx|\.js|\.tsx|\.ts)$/,
+ loader: 'babel-loader',
+ exclude: /(node_modules|bower_components)/,
+ resolve: {
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
+ },
+ },
+ ],
+ },
+ resolve: {
+ modules: [path.resolve('./node_modules'), path.resolve('./src')],
+ extensions: ['.json', '.js', '.jsx', '.tsx', '.ts'],
+ },
+};
+
+module.exports = config;
diff --git a/modes/segmentation/CHANGELOG.md b/modes/segmentation/CHANGELOG.md
new file mode 100644
index 00000000000..ace09f157a6
--- /dev/null
+++ b/modes/segmentation/CHANGELOG.md
@@ -0,0 +1,238 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+
+### Bug Fixes
+
+* **modules:** add stylus loader as an option to be uncommented ([#3710](https://github.com/OHIF/Viewers/issues/3710)) ([7c57f67](https://github.com/OHIF/Viewers/commit/7c57f67844b790fc6e47ac3f9708bf9d576389c8))
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-segmentation
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
diff --git a/modes/segmentation/LICENSE b/modes/segmentation/LICENSE
new file mode 100644
index 00000000000..c58f05915f0
--- /dev/null
+++ b/modes/segmentation/LICENSE
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2023 @ohif-segmentation-mode (contact@ohif.org)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/modes/segmentation/README.md b/modes/segmentation/README.md
new file mode 100644
index 00000000000..5bf905d9270
--- /dev/null
+++ b/modes/segmentation/README.md
@@ -0,0 +1,7 @@
+# @ohif-segmentation-mode
+## Description
+OHIF segmentation mode which enables labelmap segmentation read/edit/export
+## Author
+@ohif
+## License
+MIT
\ No newline at end of file
diff --git a/modes/segmentation/babel.config.js b/modes/segmentation/babel.config.js
new file mode 100644
index 00000000000..a38ddda2127
--- /dev/null
+++ b/modes/segmentation/babel.config.js
@@ -0,0 +1,44 @@
+module.exports = {
+ plugins: ['inline-react-svg', '@babel/plugin-proposal-class-properties'],
+ env: {
+ test: {
+ presets: [
+ [
+ // TODO: https://babeljs.io/blog/2019/03/19/7.4.0#migration-from-core-js-2
+ '@babel/preset-env',
+ {
+ modules: 'commonjs',
+ debug: false,
+ },
+ '@babel/preset-typescript',
+ ],
+ '@babel/preset-react',
+ ],
+ plugins: [
+ '@babel/plugin-proposal-object-rest-spread',
+ '@babel/plugin-syntax-dynamic-import',
+ '@babel/plugin-transform-regenerator',
+ '@babel/plugin-transform-runtime',
+ ],
+ },
+ production: {
+ presets: [
+ // WebPack handles ES6 --> Target Syntax
+ ['@babel/preset-env', { modules: false }],
+ '@babel/preset-react',
+ '@babel/preset-typescript',
+ ],
+ ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
+ },
+ development: {
+ presets: [
+ // WebPack handles ES6 --> Target Syntax
+ ['@babel/preset-env', { modules: false }],
+ '@babel/preset-react',
+ '@babel/preset-typescript',
+ ],
+ plugins: ['react-hot-loader/babel'],
+ ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
+ },
+ },
+};
diff --git a/modes/segmentation/package.json b/modes/segmentation/package.json
new file mode 100644
index 00000000000..f3940522f94
--- /dev/null
+++ b/modes/segmentation/package.json
@@ -0,0 +1,67 @@
+{
+ "name": "@ohif/mode-segmentation",
+ "version": "3.7.0-beta.108",
+ "description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export",
+ "author": "@ohif",
+ "license": "MIT",
+ "main": "dist/umd/@ohif/mode-segmentation/index.umd.js",
+ "files": [
+ "dist/**",
+ "public/**",
+ "README.md"
+ ],
+ "repository": "OHIF/Viewers",
+ "keywords": [
+ "ohif-mode"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "module": "src/index.tsx",
+ "engines": {
+ "node": ">=14",
+ "npm": ">=7",
+ "yarn": ">=1.16.0"
+ },
+ "scripts": {
+ "dev": "cross-env NODE_ENV=development webpack --config .webpack/webpack.dev.js --watch --output-pathinfo",
+ "dev:cornerstone": "yarn run dev",
+ "build": "cross-env NODE_ENV=production webpack --config .webpack/webpack.prod.js",
+ "build:package": "yarn run build",
+ "start": "yarn run dev",
+ "test:unit": "jest --watchAll",
+ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
+ },
+ "peerDependencies": {
+ "@ohif/core": "3.7.0-beta.108"
+ },
+ "dependencies": {
+ "@babel/runtime": "^7.20.13"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.21.4",
+ "@babel/plugin-proposal-class-properties": "^7.16.7",
+ "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.16.7",
+ "@babel/plugin-transform-regenerator": "^7.16.7",
+ "@babel/plugin-transform-runtime": "^7.17.0",
+ "@babel/plugin-transform-typescript": "^7.13.0",
+ "@babel/preset-env": "^7.16.11",
+ "@babel/preset-react": "^7.16.7",
+ "@babel/preset-typescript": "^7.13.0",
+ "babel-eslint": "^8.0.3",
+ "babel-loader": "^8.0.0-beta.4",
+ "babel-plugin-inline-react-svg": "^2.0.1",
+ "clean-webpack-plugin": "^4.0.0",
+ "copy-webpack-plugin": "^10.2.0",
+ "cross-env": "^7.0.3",
+ "dotenv": "^14.1.0",
+ "eslint": "^5.0.1",
+ "eslint-loader": "^2.0.0",
+ "webpack": "^5.50.0",
+ "webpack-cli": "^4.7.2",
+ "webpack-merge": "^5.7.3"
+ }
+}
diff --git a/modes/segmentation/src/id.js b/modes/segmentation/src/id.js
new file mode 100644
index 00000000000..ebe5acd98ae
--- /dev/null
+++ b/modes/segmentation/src/id.js
@@ -0,0 +1,5 @@
+import packageJson from '../package.json';
+
+const id = packageJson.name;
+
+export { id };
diff --git a/modes/segmentation/src/index.tsx b/modes/segmentation/src/index.tsx
new file mode 100644
index 00000000000..a6f552c5aee
--- /dev/null
+++ b/modes/segmentation/src/index.tsx
@@ -0,0 +1,179 @@
+import { hotkeys } from '@ohif/core';
+import { id } from './id';
+import toolbarButtons from './toolbarButtons';
+import initToolGroups from './initToolGroups';
+
+const ohif = {
+ layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
+ sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
+ hangingProtocol: '@ohif/extension-default.hangingProtocolModule.default',
+ leftPanel: '@ohif/extension-default.panelModule.seriesList',
+ rightPanel: '@ohif/extension-default.panelModule.measure',
+};
+
+const cornerstone = {
+ viewport: '@ohif/extension-cornerstone.viewportModule.cornerstone',
+};
+
+const segmentation = {
+ panel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation',
+ panelTool: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentationWithTools',
+ sopClassHandler: '@ohif/extension-cornerstone-dicom-seg.sopClassHandlerModule.dicom-seg',
+ viewport: '@ohif/extension-cornerstone-dicom-seg.viewportModule.dicom-seg',
+};
+
+/**
+ * Just two dependencies to be able to render a viewport with panels in order
+ * to make sure that the mode is working.
+ */
+const extensionDependencies = {
+ '@ohif/extension-default': '^3.0.0',
+ '@ohif/extension-cornerstone': '^3.0.0',
+ '@ohif/extension-cornerstone-dicom-seg': '^3.0.0',
+};
+
+function modeFactory({ modeConfiguration }) {
+ return {
+ /**
+ * Mode ID, which should be unique among modes used by the viewer. This ID
+ * is used to identify the mode in the viewer's state.
+ */
+ id,
+ routeName: 'segmentation',
+ /**
+ * Mode name, which is displayed in the viewer's UI in the workList, for the
+ * user to select the mode.
+ */
+ displayName: 'Segmentation',
+ /**
+ * Runs when the Mode Route is mounted to the DOM. Usually used to initialize
+ * Services and other resources.
+ */
+ onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => {
+ const { measurementService, toolbarService, toolGroupService } = servicesManager.services;
+
+ measurementService.clearMeasurements();
+
+ // Init Default and SR ToolGroups
+ initToolGroups(extensionManager, toolGroupService, commandsManager);
+
+ let unsubscribe;
+
+ const activateTool = () => {
+ toolbarService.recordInteraction({
+ groupId: 'WindowLevel',
+ interactionType: 'tool',
+ commands: [
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'WindowLevel',
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ });
+
+ // We don't need to reset the active tool whenever a viewport is getting
+ // added to the toolGroup.
+ unsubscribe();
+ };
+
+ // Since we only have one viewport for the basic cs3d mode and it has
+ // only one hanging protocol, we can just use the first viewport
+ ({ unsubscribe } = toolGroupService.subscribe(
+ toolGroupService.EVENTS.VIEWPORT_ADDED,
+ activateTool
+ ));
+
+ toolbarService.init(extensionManager);
+ toolbarService.addButtons(toolbarButtons);
+ toolbarService.createButtonSection('primary', [
+ 'Zoom',
+ 'WindowLevel',
+ 'Pan',
+ 'Capture',
+ 'Layout',
+ 'MPR',
+ 'Crosshairs',
+ 'MoreTools',
+ ]);
+ },
+ onModeExit: ({ servicesManager }) => {
+ const {
+ toolGroupService,
+ syncGroupService,
+ toolbarService,
+ segmentationService,
+ cornerstoneViewportService,
+ } = servicesManager.services;
+
+ toolGroupService.destroy();
+ syncGroupService.destroy();
+ segmentationService.destroy();
+ cornerstoneViewportService.destroy();
+ },
+ /** */
+ validationTags: {
+ study: [],
+ series: [],
+ },
+ /**
+ * A boolean return value that indicates whether the mode is valid for the
+ * modalities of the selected studies. For instance a PET/CT mode should be
+ */
+ isValidMode: ({ modalities }) => true,
+ /**
+ * Mode Routes are used to define the mode's behavior. A list of Mode Route
+ * that includes the mode's path and the layout to be used. The layout will
+ * include the components that are used in the layout. For instance, if the
+ * default layoutTemplate is used (id: '@ohif/extension-default.layoutTemplateModule.viewerLayout')
+ * it will include the leftPanels, rightPanels, and viewports. However, if
+ * you define another layoutTemplate that includes a Footer for instance,
+ * you should provide the Footer component here too. Note: We use Strings
+ * to reference the component's ID as they are registered in the internal
+ * ExtensionManager. The template for the string is:
+ * `${extensionId}.{moduleType}.${componentId}`.
+ */
+ routes: [
+ {
+ path: 'template',
+ layoutTemplate: ({ location, servicesManager }) => {
+ return {
+ id: ohif.layout,
+ props: {
+ leftPanels: [ohif.leftPanel],
+ rightPanels: [segmentation.panelTool],
+ viewports: [
+ {
+ namespace: cornerstone.viewport,
+ displaySetsToDisplay: [ohif.sopClassHandler],
+ },
+ {
+ namespace: segmentation.viewport,
+ displaySetsToDisplay: [segmentation.sopClassHandler],
+ },
+ ],
+ },
+ };
+ },
+ },
+ ],
+ /** List of extensions that are used by the mode */
+ extensions: extensionDependencies,
+ /** HangingProtocol used by the mode */
+ // hangingProtocol: [''],
+ /** SopClassHandlers used by the mode */
+ sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],
+ /** hotkeys for mode */
+ hotkeys: [...hotkeys.defaults.hotkeyBindings],
+ };
+}
+
+const mode = {
+ id,
+ modeFactory,
+ extensionDependencies,
+};
+
+export default mode;
diff --git a/modes/segmentation/src/initToolGroups.ts b/modes/segmentation/src/initToolGroups.ts
new file mode 100644
index 00000000000..58204839ee4
--- /dev/null
+++ b/modes/segmentation/src/initToolGroups.ts
@@ -0,0 +1,82 @@
+const brushInstanceNames = {
+ CircularBrush: 'CircularBrush',
+ CircularEraser: 'CircularEraser',
+ SphereBrush: 'SphereBrush',
+ SphereEraser: 'SphereEraser',
+ ThresholdCircularBrush: 'ThresholdCircularBrush',
+ ThresholdSphereBrush: 'ThresholdSphereBrush',
+};
+
+const brushStrategies = {
+ CircularBrush: 'FILL_INSIDE_CIRCLE',
+ CircularEraser: 'ERASE_INSIDE_CIRCLE',
+ SphereBrush: 'FILL_INSIDE_SPHERE',
+ SphereEraser: 'ERASE_INSIDE_SPHERE',
+ ThresholdCircularBrush: 'THRESHOLD_INSIDE_CIRCLE',
+ ThresholdSphereBrush: 'THRESHOLD_INSIDE_SPHERE',
+};
+
+function createTools(utilityModule) {
+ const { toolNames, Enums } = utilityModule.exports;
+ return {
+ active: [
+ { toolName: toolNames.WindowLevel, bindings: [{ mouseButton: Enums.MouseBindings.Primary }] },
+ { toolName: toolNames.Pan, bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }] },
+ { toolName: toolNames.Zoom, bindings: [{ mouseButton: Enums.MouseBindings.Secondary }] },
+ { toolName: toolNames.StackScrollMouseWheel, bindings: [] },
+ ],
+ passive: Object.keys(brushInstanceNames)
+ .map(brushName => ({
+ toolName: brushName,
+ parentTool: 'Brush',
+ configuration: {
+ activeStrategy: brushStrategies[brushName],
+ },
+ }))
+ .concat([
+ { toolName: toolNames.CircleScissors },
+ { toolName: toolNames.RectangleScissors },
+ { toolName: toolNames.SphereScissors },
+ { toolName: toolNames.StackScroll },
+ { toolName: toolNames.Magnify },
+ { toolName: toolNames.SegmentationDisplay },
+ ]),
+ disabled: [{ toolName: toolNames.ReferenceLines }],
+ };
+}
+
+function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {
+ const utilityModule = extensionManager.getModuleEntry(
+ '@ohif/extension-cornerstone.utilityModule.tools'
+ );
+ const tools = createTools(utilityModule);
+ toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
+}
+
+function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
+ const utilityModule = extensionManager.getModuleEntry(
+ '@ohif/extension-cornerstone.utilityModule.tools'
+ );
+ const tools = createTools(utilityModule);
+ tools.disabled.push(
+ {
+ toolName: utilityModule.exports.toolNames.Crosshairs,
+ configuration: {
+ viewportIndicators: false,
+ autoPan: {
+ enabled: false,
+ panSize: 10,
+ },
+ },
+ },
+ { toolName: utilityModule.exports.toolNames.ReferenceLines }
+ );
+ toolGroupService.createToolGroupAndAddTools('mpr', tools);
+}
+
+function initToolGroups(extensionManager, toolGroupService, commandsManager) {
+ initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');
+ initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
+}
+
+export default initToolGroups;
diff --git a/modes/segmentation/src/toolbarButtons.ts b/modes/segmentation/src/toolbarButtons.ts
new file mode 100644
index 00000000000..b17a33deae1
--- /dev/null
+++ b/modes/segmentation/src/toolbarButtons.ts
@@ -0,0 +1,356 @@
+import {
+ // ExpandableToolbarButton,
+ // ListMenu,
+ WindowLevelMenuItem,
+} from '@ohif/ui';
+import { defaults } from '@ohif/core';
+
+const { windowLevelPresets } = defaults;
+/**
+ *
+ * @param {*} type - 'tool' | 'action' | 'toggle'
+ * @param {*} id
+ * @param {*} icon
+ * @param {*} label
+ */
+function _createButton(type, id, icon, label, commands, tooltip, uiType) {
+ return {
+ id,
+ icon,
+ label,
+ type,
+ commands,
+ tooltip,
+ uiType,
+ };
+}
+
+const _createActionButton = _createButton.bind(null, 'action');
+const _createToggleButton = _createButton.bind(null, 'toggle');
+const _createToolButton = _createButton.bind(null, 'tool');
+
+/**
+ *
+ * @param {*} preset - preset number (from above import)
+ * @param {*} title
+ * @param {*} subtitle
+ */
+function _createWwwcPreset(preset, title, subtitle) {
+ return {
+ id: preset.toString(),
+ title,
+ subtitle,
+ type: 'action',
+ commands: [
+ {
+ commandName: 'setWindowLevel',
+ commandOptions: {
+ ...windowLevelPresets[preset],
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ };
+}
+
+const toolGroupIds = ['default', 'mpr', 'SRToolGroup'];
+
+/**
+ * Creates an array of 'setToolActive' commands for the given toolName - one for
+ * each toolGroupId specified in toolGroupIds.
+ * @param {string} toolName
+ * @returns {Array} an array of 'setToolActive' commands
+ */
+function _createSetToolActiveCommands(toolName) {
+ const temp = toolGroupIds.map(toolGroupId => ({
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolGroupId,
+ toolName,
+ },
+ context: 'CORNERSTONE',
+ }));
+ return temp;
+}
+
+const toolbarButtons = [
+ // Zoom..
+ {
+ id: 'Zoom',
+ type: 'ohif.radioGroup',
+ props: {
+ type: 'tool',
+ icon: 'tool-zoom',
+ label: 'Zoom',
+ commands: _createSetToolActiveCommands('Zoom'),
+ },
+ },
+ // Window Level + Presets...
+ {
+ id: 'WindowLevel',
+ type: 'ohif.splitButton',
+ props: {
+ groupId: 'WindowLevel',
+ primary: _createToolButton(
+ 'WindowLevel',
+ 'tool-window-level',
+ 'Window Level',
+ [
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'WindowLevel',
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Window Level'
+ ),
+ secondary: {
+ icon: 'chevron-down',
+ label: 'W/L Manual',
+ isActive: true,
+ tooltip: 'W/L Presets',
+ },
+ isAction: true, // ?
+ renderer: WindowLevelMenuItem,
+ items: [
+ _createWwwcPreset(1, 'Soft tissue', '400 / 40'),
+ _createWwwcPreset(2, 'Lung', '1500 / -600'),
+ _createWwwcPreset(3, 'Liver', '150 / 90'),
+ _createWwwcPreset(4, 'Bone', '2500 / 480'),
+ _createWwwcPreset(5, 'Brain', '80 / 40'),
+ ],
+ },
+ },
+ // Pan...
+ {
+ id: 'Pan',
+ type: 'ohif.radioGroup',
+ props: {
+ type: 'tool',
+ icon: 'tool-move',
+ label: 'Pan',
+ commands: _createSetToolActiveCommands('Pan'),
+ },
+ },
+ {
+ id: 'Capture',
+ type: 'ohif.action',
+ props: {
+ icon: 'tool-capture',
+ label: 'Capture',
+ type: 'action',
+ commands: [
+ {
+ commandName: 'showDownloadViewportModal',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ },
+ },
+ {
+ id: 'Layout',
+ type: 'ohif.layoutSelector',
+ props: {
+ rows: 3,
+ columns: 3,
+ },
+ },
+ {
+ id: 'MPR',
+ type: 'ohif.action',
+ props: {
+ type: 'toggle',
+ icon: 'icon-mpr',
+ label: 'MPR',
+ commands: [
+ {
+ commandName: 'toggleHangingProtocol',
+ commandOptions: {
+ protocolId: 'mpr',
+ },
+ context: 'DEFAULT',
+ },
+ ],
+ },
+ },
+ {
+ id: 'Crosshairs',
+ type: 'ohif.radioGroup',
+ props: {
+ type: 'tool',
+ icon: 'tool-crosshair',
+ label: 'Crosshairs',
+ commands: [
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'Crosshairs',
+ toolGroupId: 'mpr',
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ },
+ },
+ // More...
+ {
+ id: 'MoreTools',
+ type: 'ohif.splitButton',
+ props: {
+ isRadio: true, // ?
+ groupId: 'MoreTools',
+ primary: _createActionButton(
+ 'Reset',
+ 'tool-reset',
+ 'Reset View',
+ [
+ {
+ commandName: 'resetViewport',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Reset'
+ ),
+ secondary: {
+ icon: 'chevron-down',
+ label: '',
+ isActive: true,
+ tooltip: 'More Tools',
+ },
+ items: [
+ _createActionButton(
+ 'Reset',
+ 'tool-reset',
+ 'Reset View',
+ [
+ {
+ commandName: 'resetViewport',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Reset'
+ ),
+ _createActionButton(
+ 'rotate-right',
+ 'tool-rotate-right',
+ 'Rotate Right',
+ [
+ {
+ commandName: 'rotateViewportCW',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Rotate +90'
+ ),
+ _createActionButton(
+ 'flip-horizontal',
+ 'tool-flip-horizontal',
+ 'Flip Horizontally',
+ [
+ {
+ commandName: 'flipViewportHorizontal',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Flip Horizontal'
+ ),
+ _createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [
+ {
+ commandName: 'toggleStackImageSync',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ]),
+ _createToggleButton(
+ 'ReferenceLines',
+ 'tool-referenceLines', // change this with the new icon
+ 'Reference Lines',
+ [
+ {
+ commandName: 'toggleReferenceLines',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ]
+ ),
+ _createToolButton(
+ 'StackScroll',
+ 'tool-stack-scroll',
+ 'Stack Scroll',
+ [
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'StackScroll',
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Stack Scroll'
+ ),
+ _createActionButton(
+ 'invert',
+ 'tool-invert',
+ 'Invert',
+ [
+ {
+ commandName: 'invertViewport',
+ commandOptions: {},
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Invert Colors'
+ ),
+ _createToggleButton(
+ 'cine',
+ 'tool-cine',
+ 'Cine',
+ [
+ {
+ commandName: 'toggleCine',
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Cine'
+ ),
+ _createToolButton(
+ 'Magnify',
+ 'tool-magnify',
+ 'Magnify',
+ [
+ {
+ commandName: 'setToolActive',
+ commandOptions: {
+ toolName: 'Magnify',
+ },
+ context: 'CORNERSTONE',
+ },
+ ],
+ 'Magnify'
+ ),
+ _createActionButton(
+ 'TagBrowser',
+ 'list-bullets',
+ 'Dicom Tag Browser',
+ [
+ {
+ commandName: 'openDICOMTagViewer',
+ commandOptions: {},
+ context: 'DEFAULT',
+ },
+ ],
+ 'Dicom Tag Browser'
+ ),
+ ],
+ },
+ },
+];
+
+export default toolbarButtons;
diff --git a/modes/tmtv/.webpack/webpack.dev.js b/modes/tmtv/.webpack/webpack.dev.js
index 2bc3ced0b9b..4bf848b6c5c 100644
--- a/modes/tmtv/.webpack/webpack.dev.js
+++ b/modes/tmtv/.webpack/webpack.dev.js
@@ -7,7 +7,6 @@ const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
module.exports = (env, argv) => {
return webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
};
diff --git a/modes/tmtv/.webpack/webpack.prod.js b/modes/tmtv/.webpack/webpack.prod.js
index 385ed85ced1..018db058d32 100644
--- a/modes/tmtv/.webpack/webpack.prod.js
+++ b/modes/tmtv/.webpack/webpack.prod.js
@@ -14,7 +14,6 @@ const ENTRY = {
app: `${SRC_DIR}/index.js`,
};
-
module.exports = (env, argv) => {
const commonConfig = webpackCommon(env, argv, { SRC_DIR, DIST_DIR, ENTRY });
@@ -41,13 +40,7 @@ module.exports = (env, argv) => {
libraryExport: 'default',
filename: pkg.main,
},
- externals: [
- /\b(vtk.js)/,
- /\b(dcmjs)/,
- /\b(gl-matrix)/,
- /^@ohif/,
- /^@cornerstonejs/,
- ],
+ externals: [/\b(vtk.js)/, /\b(dcmjs)/, /\b(gl-matrix)/, /^@ohif/, /^@cornerstonejs/],
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
diff --git a/modes/tmtv/CHANGELOG.md b/modes/tmtv/CHANGELOG.md
new file mode 100644
index 00000000000..48af4ed914c
--- /dev/null
+++ b/modes/tmtv/CHANGELOG.md
@@ -0,0 +1,422 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+
+### Bug Fixes
+
+* **segmentation:** Various fixes for segmentation mode and other ([#3709](https://github.com/OHIF/Viewers/issues/3709)) ([a9a6ad5](https://github.com/OHIF/Viewers/commit/a9a6ad50eae67b43b8b34efc07182d788cacdcfe))
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+**Note:** Version bump only for package @ohif/mode-tmtv
diff --git a/modes/tmtv/package.json b/modes/tmtv/package.json
index dcd6936744a..1a6ff7f4349 100644
--- a/modes/tmtv/package.json
+++ b/modes/tmtv/package.json
@@ -1,6 +1,6 @@
{
"name": "@ohif/mode-tmtv",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"description": "Total Metabolic Tumor Volume Workflow",
"author": "OHIF",
"license": "MIT",
@@ -32,13 +32,13 @@
"test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests"
},
"peerDependencies": {
- "@ohif/core": "3.6.0",
- "@ohif/extension-cornerstone": "3.6.0",
- "@ohif/extension-cornerstone-dicom-sr": "3.6.0",
- "@ohif/extension-default": "3.6.0",
- "@ohif/extension-dicom-pdf": "3.6.0",
- "@ohif/extension-dicom-video": "3.6.0",
- "@ohif/extension-measurement-tracking": "3.6.0"
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.108",
+ "@ohif/extension-default": "3.7.0-beta.108",
+ "@ohif/extension-dicom-pdf": "3.7.0-beta.108",
+ "@ohif/extension-dicom-video": "3.7.0-beta.108",
+ "@ohif/extension-measurement-tracking": "3.7.0-beta.108"
},
"dependencies": {
"@babel/runtime": "^7.20.13"
diff --git a/modes/tmtv/src/index.js b/modes/tmtv/src/index.js
index aae993bbdc5..110fb0fb753 100644
--- a/modes/tmtv/src/index.js
+++ b/modes/tmtv/src/index.js
@@ -43,12 +43,8 @@ function modeFactory({ modeConfiguration }) {
* Lifecycle hooks
*/
onModeEnter: ({ servicesManager, extensionManager, commandsManager }) => {
- const {
- toolbarService,
- toolGroupService,
- hangingProtocolService,
- displaySetService,
- } = servicesManager.services;
+ const { toolbarService, toolGroupService, hangingProtocolService, displaySetService } =
+ servicesManager.services;
const utilityModule = extensionManager.getModuleEntry(
'@ohif/extension-cornerstone.utilityModule.tools'
@@ -62,7 +58,6 @@ function modeFactory({ modeConfiguration }) {
const setWindowLevelActive = () => {
toolbarService.recordInteraction({
groupId: 'WindowLevel',
- itemId: 'WindowLevel',
interactionType: 'tool',
commands: [
{
@@ -99,9 +94,7 @@ function modeFactory({ modeConfiguration }) {
// For fusion toolGroup we need to add the volumeIds for the crosshairs
// since in the fusion viewport we don't want both PT and CT to render MIP
// when slabThickness is modified
- const {
- displaySetMatchDetails,
- } = hangingProtocolService.getMatchDetails();
+ const { displaySetMatchDetails } = hangingProtocolService.getMatchDetails();
setCrosshairsConfiguration(
displaySetMatchDetails,
@@ -143,22 +136,16 @@ function modeFactory({ modeConfiguration }) {
'getPTVOIRange',
'get PT VOI based on corrected or not',
props => {
- const ptDisplaySet = props.find(
- imageSet => imageSet.Modality === 'PT'
- );
+ const ptDisplaySet = props.find(imageSet => imageSet.Modality === 'PT');
if (!ptDisplaySet) {
return;
}
const { imageId } = ptDisplaySet.images[0];
- const imageIdScalingFactor = MetadataProvider.get(
- 'scalingModule',
- imageId
- );
+ const imageIdScalingFactor = MetadataProvider.get('scalingModule', imageId);
- const isSUVAvailable =
- imageIdScalingFactor && imageIdScalingFactor.suvbw;
+ const isSUVAvailable = imageIdScalingFactor && imageIdScalingFactor.suvbw;
if (isSUVAvailable) {
return {
@@ -196,16 +183,13 @@ function modeFactory({ modeConfiguration }) {
const isValid =
modalities_list.includes('CT') &&
modalities_list.includes('PT') &&
- !invalidModalities.some(modality =>
- modalities_list.includes(modality)
- ) &&
+ !invalidModalities.some(modality => modalities_list.includes(modality)) &&
// This is study is a 4D study with PT and CT and not a 3D study for the tmtv
// mode, until we have a better way to identify 4D studies we will use the
// StudyInstanceUID to identify the study
// Todo: when we add the 4D mode which comes with a mechanism to identify
// 4D studies we can use that
- study.studyInstanceUid !==
- '1.3.6.1.4.1.12842.1.1.14.3.20220915.105557.468.2963630849';
+ study.studyInstanceUid !== '1.3.6.1.4.1.12842.1.1.14.3.20220915.105557.468.2963630849';
// there should be both CT and PT modalities and the modality should not be SM
return isValid;
@@ -220,7 +204,8 @@ function modeFactory({ modeConfiguration }) {
return {
id: ohif.layout,
props: {
- // leftPanels: [ohif.thumbnailList],
+ leftPanels: [ohif.thumbnailList],
+ leftPanelDefaultClosed: true,
rightPanels: [tmtv.ROIThresholdPanel, tmtv.petSUV],
viewports: [
{
@@ -237,6 +222,7 @@ function modeFactory({ modeConfiguration }) {
hangingProtocol: tmtv.hangingProtocol,
sopClassHandlers: [ohif.sopClassHandler],
hotkeys: [...hotkeys.defaults.hotkeyBindings],
+ ...modeConfiguration,
};
}
diff --git a/modes/tmtv/src/initToolGroups.js b/modes/tmtv/src/initToolGroups.js
index 990b70058ae..a8f4fcf31b7 100644
--- a/modes/tmtv/src/initToolGroups.js
+++ b/modes/tmtv/src/initToolGroups.js
@@ -26,7 +26,24 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
],
passive: [
{ toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
+ {
+ toolName: toolNames.ArrowAnnotate,
+ configuration: {
+ getTextCallback: (callback, eventDetails) => {
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ eventDetails,
+ });
+ },
+
+ changeTextCallback: (data, eventDetails, callback) =>
+ commandsManager.runCommand('arrowTextCallback', {
+ callback,
+ data,
+ eventDetails,
+ }),
+ },
+ },
{ toolName: toolNames.Bidirectional },
{ toolName: toolNames.DragProbe },
{ toolName: toolNames.Probe },
@@ -38,157 +55,54 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
{ toolName: toolNames.Magnify },
],
enabled: [{ toolName: toolNames.SegmentationDisplay }],
- disabled: [{ toolName: toolNames.Crosshairs }],
- };
-
- const toolsConfig = {
- [toolNames.Crosshairs]: {
- viewportIndicators: false,
- autoPan: {
- enabled: false,
- panSize: 10,
- },
- },
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) => {
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- });
+ disabled: [
+ {
+ toolName: toolNames.Crosshairs,
+ configuration: {
+ viewportIndicators: false,
+ autoPan: {
+ enabled: false,
+ panSize: 10,
+ },
+ },
},
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
+ ],
};
- toolGroupService.createToolGroupAndAddTools(
- toolGroupIds.CT,
- tools,
- toolsConfig
- );
- toolGroupService.createToolGroupAndAddTools(
- toolGroupIds.PT,
- {
- active: tools.active,
- passive: [
- ...tools.passive,
- { toolName: 'RectangleROIStartEndThreshold' },
- ],
- enabled: tools.enabled,
- disabled: tools.disabled,
- },
- toolsConfig
- );
- toolGroupService.createToolGroupAndAddTools(
- toolGroupIds.Fusion,
- tools,
- toolsConfig
- );
- toolGroupService.createToolGroupAndAddTools(
- toolGroupIds.default,
- tools,
- toolsConfig
- );
+ toolGroupService.createToolGroupAndAddTools(toolGroupIds.CT, tools);
+ toolGroupService.createToolGroupAndAddTools(toolGroupIds.PT, {
+ active: tools.active,
+ passive: [...tools.passive, { toolName: 'RectangleROIStartEndThreshold' }],
+ enabled: tools.enabled,
+ disabled: tools.disabled,
+ });
+ toolGroupService.createToolGroupAndAddTools(toolGroupIds.Fusion, tools);
+ toolGroupService.createToolGroupAndAddTools(toolGroupIds.default, tools);
const mipTools = {
active: [
{
toolName: toolNames.VolumeRotateMouseWheel,
+ configuration: {
+ rotateIncrementDegrees: 0.1,
+ },
},
{
toolName: toolNames.MipJumpToClick,
+ configuration: {
+ toolGroupId: toolGroupIds.PT,
+ },
bindings: [{ mouseButton: Enums.MouseBindings.Primary }],
},
],
enabled: [{ toolName: toolNames.SegmentationDisplay }],
};
- const mipToolsConfig = {
- [toolNames.VolumeRotateMouseWheel]: {
- rotateIncrementDegrees: 0.1,
- },
- [toolNames.MipJumpToClick]: {
- targetViewportIds: ['ptAXIAL', 'ptCORONAL', 'ptSAGITTAL'],
- },
- };
-
- toolGroupService.createToolGroupAndAddTools(
- toolGroupIds.MIP,
- mipTools,
- mipToolsConfig
- );
-}
-
-function initMPRToolGroup(toolNames, Enums, toolGroupService, commandsManager) {
- const tools = {
- active: [
- {
- toolName: toolNames.WindowLevel,
- bindings: [{ mouseButton: Enums.MouseBindings.Primary }],
- },
- {
- toolName: toolNames.Pan,
- bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }],
- },
- {
- toolName: toolNames.Zoom,
- bindings: [{ mouseButton: Enums.MouseBindings.Secondary }],
- },
- { toolName: toolNames.StackScrollMouseWheel, bindings: [] },
- ],
- passive: [
- { toolName: toolNames.Length },
- { toolName: toolNames.ArrowAnnotate },
- { toolName: toolNames.Bidirectional },
- { toolName: toolNames.DragProbe },
- { toolName: toolNames.EllipticalROI },
- { toolName: toolNames.RectangleROI },
- { toolName: toolNames.StackScroll },
- { toolName: toolNames.Angle },
- { toolName: toolNames.CobbAngle },
- { toolName: toolNames.SegmentationDisplay },
- ],
- disabled: [{ toolName: toolNames.Crosshairs }],
-
- // enabled
- // disabled
- };
-
- const toolsConfig = {
- [toolNames.Crosshairs]: {
- viewportIndicators: false,
- autoPan: {
- enabled: false,
- panSize: 10,
- },
- },
- [toolNames.ArrowAnnotate]: {
- getTextCallback: (callback, eventDetails) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- eventDetails,
- }),
-
- changeTextCallback: (data, eventDetails, callback) =>
- commandsManager.runCommand('arrowTextCallback', {
- callback,
- data,
- eventDetails,
- }),
- },
- };
-
- toolGroupService.createToolGroupAndAddTools('mpr', tools, toolsConfig);
+ toolGroupService.createToolGroupAndAddTools(toolGroupIds.MIP, mipTools);
}
function initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
_initToolGroups(toolNames, Enums, toolGroupService, commandsManager);
- // initMPRToolGroup(toolNames, Enums, toolGroupService, commandsManager);
}
export default initToolGroups;
diff --git a/modes/tmtv/src/toolbarButtons.js b/modes/tmtv/src/toolbarButtons.js
index f6f70722138..556e2172845 100644
--- a/modes/tmtv/src/toolbarButtons.js
+++ b/modes/tmtv/src/toolbarButtons.js
@@ -24,9 +24,8 @@ function _createButton(type, id, icon, label, commands, tooltip) {
function _createColormap(label, colormap) {
return {
- id: label.toString(),
- title: label,
- subtitle: label,
+ id: label,
+ label,
type: 'action',
commands: [
{
@@ -36,13 +35,6 @@ function _createColormap(label, colormap) {
colormap,
},
},
- {
- commandName: 'setFusionPTColormap',
- commandOptions: {
- toolGroupId: toolGroupIds.Fusion,
- colormap,
- },
- },
],
};
}
@@ -173,20 +165,6 @@ const toolbarButtons = [
],
'Ellipse Tool'
),
- _createToolButton(
- 'CircleROI',
- 'tool-circle',
- 'Circle',
- [
- ..._createCommands('setToolActive', 'CircleROI', [
- toolGroupIds.CT,
- toolGroupIds.PT,
- toolGroupIds.Fusion,
- // toolGroupIds.MPR,
- ]),
- ],
- 'Circle Tool'
- ),
],
},
},
@@ -306,9 +284,7 @@ const toolbarButtons = [
icon: 'tool-create-threshold',
label: 'Rectangle ROI Threshold',
commands: [
- ..._createCommands('setToolActive', 'RectangleROIStartEndThreshold', [
- toolGroupIds.PT,
- ]),
+ ..._createCommands('setToolActive', 'RectangleROIStartEndThreshold', [toolGroupIds.PT]),
{
commandName: 'displayNotification',
commandOptions: {
@@ -345,7 +321,6 @@ const toolbarButtons = [
tooltip: 'PET Image Colormap',
},
isAction: true, // ?
- renderer: WindowLevelMenuItem,
items: [
_createColormap('HSV', 'hsv'),
_createColormap('Hot Iron', 'hot_iron'),
diff --git a/modes/tmtv/src/utils/setCrosshairsConfiguration.js b/modes/tmtv/src/utils/setCrosshairsConfiguration.js
index cc6b4f57daa..072d9443e52 100644
--- a/modes/tmtv/src/utils/setCrosshairsConfiguration.js
+++ b/modes/tmtv/src/utils/setCrosshairsConfiguration.js
@@ -13,9 +13,7 @@ export default function setCrosshairsConfiguration(
}
const { SeriesInstanceUID } = matchDetails;
- const displaySets = displaySetService.getDisplaySetsForSeries(
- SeriesInstanceUID
- );
+ const displaySets = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
const toolConfig = toolGroupService.getToolConfiguration(
toolGroupIds.Fusion,
diff --git a/modes/tmtv/src/utils/setFusionActiveVolume.js b/modes/tmtv/src/utils/setFusionActiveVolume.js
index ed7b1f6a98d..30d42455c78 100644
--- a/modes/tmtv/src/utils/setFusionActiveVolume.js
+++ b/modes/tmtv/src/utils/setFusionActiveVolume.js
@@ -14,9 +14,7 @@ export default function setFusionActiveVolume(
const { SeriesInstanceUID } = matchDetails;
- const displaySets = displaySetService.getDisplaySetsForSeries(
- SeriesInstanceUID
- );
+ const displaySets = displaySetService.getDisplaySetsForSeries(SeriesInstanceUID);
if (!displaySets || displaySets.length === 0) {
return;
diff --git a/package.json b/package.json
index 3d663c75a34..cb9d4855489 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
]
},
"engines": {
- "node": ">=14",
+ "node": ">=16",
"npm": ">=6",
"yarn": ">=1.16.0"
},
@@ -28,11 +28,12 @@
"build:package-all": "lerna run build:package --parallel --stream",
"build:package-all-1": "lerna run build:package-1 --parallel --stream",
"dev": "lerna run dev:viewer --stream",
+ "dev:no:cache": "lerna run dev:no:cache --stream",
"dev:project": ".scripts/dev.sh",
"dev:orthanc": "lerna run dev:orthanc --stream",
"dev:dcm4chee": "lerna run dev:dcm4chee --stream",
"dev:static": "lerna run dev:static --stream",
- "orthanc:up": "docker-compose -f .docker/Nginx-Orthanc/docker-compose.yml up",
+ "orthanc:up": "docker-compose -f platform/app/.recipes/Nginx-Orthanc/docker-compose.yml up",
"preinstall": "node preinstall.js",
"start": "yarn run dev",
"test": "yarn run test:unit",
@@ -68,6 +69,7 @@
"@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/plugin-proposal-object-rest-spread": "^7.17.3",
"@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-arrow-functions": "^7.16.7",
"@babel/plugin-transform-regenerator": "^7.16.7",
@@ -77,8 +79,8 @@
"@babel/preset-react": "^7.16.7",
"@babel/preset-typescript": "^7.13.0",
"@types/jest": "^27.5.0",
- "@typescript-eslint/eslint-plugin": "^4.19.0",
- "@typescript-eslint/parser": "^4.19.0",
+ "@typescript-eslint/eslint-plugin": "^6.3.0",
+ "@typescript-eslint/parser": "^6.3.0",
"autoprefixer": "^10.4.4",
"babel-eslint": "9.x",
"babel-loader": "^8.2.4",
@@ -87,31 +89,31 @@
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^9.0.1",
"cross-env": "^5.2.0",
- "css-loader": "^3.2.0",
+ "css-loader": "^6.8.1",
"dotenv": "^8.1.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^7.2.0",
"eslint-config-react-app": "^6.0.0",
- "eslint-plugin-flowtype": "^7.0.0",
"eslint-plugin-cypress": "^2.12.1",
+ "eslint-plugin-flowtype": "^7.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-node": "^11.1.0",
- "eslint-plugin-prettier": "^4.0.0",
+ "eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-promise": "^5.2.0",
"eslint-plugin-react": "^7.29.4",
"eslint-plugin-react-hooks": "^4.4.0",
"eslint-plugin-tsdoc": "^0.2.11",
"eslint-webpack-plugin": "^2.5.3",
- "execa": "^7.1.1",
+ "execa": "^8.0.1",
"extract-css-chunks-webpack-plugin": "^4.5.4",
"html-webpack-plugin": "^5.3.2",
"husky": "^3.0.0",
"jest": "^29.5.0",
- "jest-environment-jsdom": "^29.5.0",
"jest-canvas-mock": "^2.1.0",
+ "jest-environment-jsdom": "^29.5.0",
"jest-junit": "^6.4.0",
- "lerna": "^6.6.1",
+ "lerna": "^7.2.0",
"lint-staged": "^9.0.2",
"mini-css-extract-plugin": "^2.1.0",
"optimize-css-assets-webpack-plugin": "^6.0.1",
@@ -119,13 +121,17 @@
"postcss-import": "^14.0.2",
"postcss-loader": "^6.1.1",
"postcss-preset-env": "^7.4.3",
- "prettier": "^1.18.2",
+ "prettier": "^3.0.3",
+ "prettier-plugin-tailwindcss": "^0.5.4",
"react-hot-loader": "^4.13.0",
"semver": "^7.5.1",
"serve": "^14.2.0",
"shader-loader": "^1.3.1",
+ "source-map-loader": "^4.0.1",
"start-server-and-test": "^1.10.0",
"style-loader": "^1.0.0",
+ "stylus": "^0.59.0",
+ "stylus-loader": "^7.1.3",
"terser-webpack-plugin": "^5.1.4",
"typescript": "4.6.4",
"unused-webpack-plugin": "2.4.0",
@@ -149,7 +155,6 @@
]
},
"resolutions": {
- "@cornerstonejs/core": "^1.1.0",
"**/@babel/runtime": "^7.20.13",
"commander": "8.3.0",
"nth-check": "^2.1.1",
diff --git a/platform/app/.all-contributorsrc b/platform/app/.all-contributorsrc
index ea8f6c9fdc2..b12263a8c7b 100644
--- a/platform/app/.all-contributorsrc
+++ b/platform/app/.all-contributorsrc
@@ -1,7 +1,5 @@
{
- "files": [
- "README.md"
- ],
+ "files": ["README.md"],
"imageSize": 100,
"commit": false,
"contributors": [
@@ -10,92 +8,70 @@
"name": "Erik Ziegler",
"avatar_url": "https://avatars3.githubusercontent.com/u/607793?v=4",
"profile": "https://github.com/swederik",
- "contributions": [
- "code",
- "infra"
- ]
+ "contributions": ["code", "infra"]
},
{
"login": "evren217",
"name": "Evren Ozkan",
"avatar_url": "https://avatars1.githubusercontent.com/u/4920551?v=4",
"profile": "https://github.com/evren217",
- "contributions": [
- "code"
- ]
+ "contributions": ["code"]
},
{
"login": "galelis",
"name": "Gustavo André Lelis",
"avatar_url": "https://avatars3.githubusercontent.com/u/2378326?v=4",
"profile": "https://github.com/galelis",
- "contributions": [
- "code"
- ]
+ "contributions": ["code"]
},
{
"login": "dannyrb",
"name": "Danny Brown",
"avatar_url": "https://avatars1.githubusercontent.com/u/5797588?v=4",
"profile": "http://dannyrb.com/",
- "contributions": [
- "code",
- "infra"
- ]
+ "contributions": ["code", "infra"]
},
{
"login": "allcontributors",
"name": "allcontributors[bot]",
"avatar_url": "https://avatars3.githubusercontent.com/u/46843839?v=4",
"profile": "https://github.com/all-contributors/all-contributors-bot",
- "contributions": [
- "doc"
- ]
+ "contributions": ["doc"]
},
{
"login": "EsrefDurna",
"name": "Esref Durna",
"avatar_url": "https://avatars0.githubusercontent.com/u/1230575?v=4",
"profile": "https://www.linkedin.com/in/siliconvalleynextgeneration/",
- "contributions": [
- "question"
- ]
+ "contributions": ["question"]
},
{
"login": "diego0020",
"name": "diego0020",
"avatar_url": "https://avatars3.githubusercontent.com/u/7297450?v=4",
"profile": "https://github.com/diego0020",
- "contributions": [
- "code"
- ]
+ "contributions": ["code"]
},
{
"login": "dlwire",
"name": "David Wire",
"avatar_url": "https://avatars3.githubusercontent.com/u/1167291?v=4",
"profile": "https://github.com/dlwire",
- "contributions": [
- "code"
- ]
+ "contributions": ["code"]
},
{
"login": "jfmedeiros1820",
"name": "João Felipe de Medeiros Moreira",
"avatar_url": "https://avatars1.githubusercontent.com/u/2211708?v=4",
"profile": "https://github.com/jfmedeiros1820",
- "contributions": [
- "test"
- ]
+ "contributions": ["test"]
},
{
"login": "pavertomato",
"name": "Egor Lezhnin",
"avatar_url": "https://avatars0.githubusercontent.com/u/878990?v=4",
"profile": "http://egor.lezhn.in",
- "contributions": [
- "code"
- ]
+ "contributions": ["code"]
}
],
"contributorsPerLine": 7,
diff --git a/platform/app/.gitignore b/platform/app/.gitignore
new file mode 100644
index 00000000000..e985853ed84
--- /dev/null
+++ b/platform/app/.gitignore
@@ -0,0 +1 @@
+.vercel
diff --git a/platform/app/.recipes/Nginx-Dcm4che/docker-compose-dcm4che.env b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose-dcm4che.env
similarity index 100%
rename from platform/app/.recipes/Nginx-Dcm4che/docker-compose-dcm4che.env
rename to platform/app/.recipes/Nginx-Dcm4chee/docker-compose-dcm4che.env
diff --git a/platform/app/.recipes/Nginx-Dcm4che/docker-compose.yml b/platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml
similarity index 100%
rename from platform/app/.recipes/Nginx-Dcm4che/docker-compose.yml
rename to platform/app/.recipes/Nginx-Dcm4chee/docker-compose.yml
diff --git a/platform/app/.recipes/Nginx-Dcm4che/etc/localtime b/platform/app/.recipes/Nginx-Dcm4chee/etc/localtime
similarity index 100%
rename from platform/app/.recipes/Nginx-Dcm4che/etc/localtime
rename to platform/app/.recipes/Nginx-Dcm4chee/etc/localtime
diff --git a/platform/app/.recipes/Nginx-Dcm4che/etc/timezone b/platform/app/.recipes/Nginx-Dcm4chee/etc/timezone
similarity index 100%
rename from platform/app/.recipes/Nginx-Dcm4che/etc/timezone
rename to platform/app/.recipes/Nginx-Dcm4chee/etc/timezone
diff --git a/platform/app/.recipes/Nginx-Dcm4che/nginx-proxy/conf/nginx.conf b/platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf
similarity index 100%
rename from platform/app/.recipes/Nginx-Dcm4che/nginx-proxy/conf/nginx.conf
rename to platform/app/.recipes/Nginx-Dcm4chee/nginx-proxy/conf/nginx.conf
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.dockerignore b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.dockerignore
deleted file mode 100644
index 67f1b2e985c..00000000000
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/.dockerignore
+++ /dev/null
@@ -1,16 +0,0 @@
-# Output
-dist/
-
-# Dependencies
-node_modules/
-
-# Root
-README.md
-Dockerfile
-
-# Misc. Config
-.git
-.DS_Store
-.gitignore
-.vscode
-.circleci
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf
index 7360c33610f..9e496b79d92 100644
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf
+++ b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/nginx.conf
@@ -22,7 +22,7 @@ http {
# lua_ settings
#
- lua_package_path '/usr/local/openresty/lualib/?.lua;;';
+ lua_package_path '/usr/local/openresty/lualib/?.lua;;/usr/local/share/lua/5.4/?.lua;;';
lua_shared_dict discovery 1m; # cache for discovery metadata documents
lua_shared_dict jwks 1m; # cache for JWKs
# lua_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
@@ -182,6 +182,8 @@ http {
index index.html;
try_files $uri $uri/ /index.html;
add_header Cache-Control "no-store, no-cache, must-revalidate";
+ add_header 'Cross-Origin-Opener-Policy' 'same-origin' always;
+ add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always;
}
# EXAMPLE: Reverse Proxy, no auth
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json
index 3f0e6118a6c..4716e1592cd 100644
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json
+++ b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/config/ohif-keycloak-realm.json
@@ -368,19 +368,8 @@
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
},
{
"id": "84e7b84d-ab74-452e-8a24-a0e657f100ea",
@@ -406,19 +395,8 @@
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
},
{
"id": "f7dd8587-4035-4590-a1c0-ebf576c4dfe3",
@@ -462,19 +440,8 @@
}
}
],
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
},
{
"id": "f7f76add-411b-420d-9be1-bd120ed99918",
@@ -500,19 +467,8 @@
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
},
{
"id": "3785434d-2af8-478c-b135-f0b11d1d3205",
@@ -598,19 +554,8 @@
}
}
],
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ],
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"],
"authorizationSettings": {
"allowRemoteResourceManagement": true,
"policyEnforcementMode": "ENFORCING",
@@ -678,19 +623,8 @@
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
},
{
"id": "53d51818-e1bf-4fc2-aa20-5541f2646f12",
@@ -733,19 +667,8 @@
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": true,
"nodeReRegistrationTimeout": -1,
- "defaultClientScopes": [
- "web-origins",
- "role_list",
- "profile",
- "roles",
- "email"
- ],
- "optionalClientScopes": [
- "address",
- "phone",
- "offline_access",
- "microprofile-jwt"
- ]
+ "defaultClientScopes": ["web-origins", "role_list", "profile", "roles", "email"],
+ "optionalClientScopes": ["address", "phone", "offline_access", "microprofile-jwt"]
}
],
"clientScopes": [
@@ -1233,19 +1156,8 @@
}
}
],
- "defaultDefaultClientScopes": [
- "role_list",
- "profile",
- "email",
- "roles",
- "web-origins"
- ],
- "defaultOptionalClientScopes": [
- "offline_access",
- "address",
- "phone",
- "microprofile-jwt"
- ],
+ "defaultDefaultClientScopes": ["role_list", "profile", "email", "roles", "web-origins"],
+ "defaultOptionalClientScopes": ["offline_access", "address", "phone", "microprofile-jwt"],
"browserSecurityHeaders": {
"contentSecurityPolicyReportOnly": "",
"xContentTypeOptions": "nosniff",
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml
index 771737f3cfe..f3c0da26526 100644
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml
+++ b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/docker-compose.yml
@@ -10,9 +10,9 @@ services:
ohif_viewer:
build:
# Project root
- context: ./../../
+ context: ./../../../../
# Relative to context
- dockerfile: ./docker/OpenResty-Orthanc-Keycloak/dockerfile
+ dockerfile: ./platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile
image: webapp:latest
container_name: webapp
volumes:
@@ -35,7 +35,7 @@ services:
# TODO: Update to use Postgres
# https://github.com/mrts/docker-postgresql-multiple-databases
orthanc:
- image: jodogne/orthanc-plugins:1.5.6
+ image: jodogne/orthanc-plugins
hostname: orthanc
container_name: orthanc
volumes:
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile
index 73090e8ae19..fa066291e3d 100644
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile
+++ b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/dockerfile
@@ -23,43 +23,63 @@
# Stage 1: Build the application
-FROM node:11.2.0-slim as builder
+FROM node:18.16.1-slim as builder
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
+RUN apt-get update && apt-get install -y build-essential python3
+
ENV APP_CONFIG=config/docker_openresty-orthanc-keycloak.js
ENV PATH /usr/src/app/node_modules/.bin:$PATH
-COPY package.json /usr/src/app/package.json
-COPY yarn.lock /usr/src/app/yarn.lock
+# Copy all files from the root of the OHIF source and note
+# that the Docker ignore file at the root (i.e. ./dockerignore) will filter
+# out files and directories that are not needed.
+COPY ./ /usr/src/app/
ADD . /usr/src/app/
+RUN yarn config set workspaces-experimental true
RUN yarn install
-RUN yarn run build:web
+RUN yarn run build
# Stage 2: Bundle the built application into a Docker container
# which runs openresty (nginx) using Alpine Linux
# LINK: https://hub.docker.com/r/openresty/openresty
-FROM openresty/openresty:1.15.8.1rc1-0-alpine-fat
+FROM openresty/openresty:1.21.4.2-0-bullseye-fat
RUN mkdir /var/log/nginx
-RUN apk add --no-cache openssl
-RUN apk add --no-cache openssl-dev
-RUN apk add --no-cache git
-RUN apk add --no-cache gcc
+RUN apt-get update && \
+ apt-get install -y openssl libssl-dev git gcc wget unzip make&& \
+ apt-get clean
+
+RUN apt-get install --assume-yes lua5.4 libzmq3-dev lua5.4-dev
+RUN cd /tmp && \
+ wget http://luarocks.org/releases/luarocks-3.9.2.tar.gz && \
+ tar zxpf luarocks-3.9.2.tar.gz && \
+ cd luarocks-3.9.2 && \
+ ./configure && \
+ make && \
+ make install
+
# !!!
+RUN luarocks install lua-resty-http
+# RUN luarocks install lua-nginx-module
+RUN luarocks install lua-cjson
+RUN luarocks install lua-resty-string
+RUN luarocks install lua-resty-session
+RUN luarocks install lua-resty-jwt
RUN luarocks install lua-resty-openidc
+RUN apt-get clean && rm -rf /var/lib/apt/lists/*
+
#
-RUN luarocks install lua-resty-jwt
-RUN luarocks install lua-resty-session
RUN luarocks install lua-resty-http
# !!!
-RUN luarocks install lua-resty-openidc
-RUN luarocks install luacrypto
+RUN luarocks install lua-resty-auto-ssl
+
# Copy build output to image
-COPY --from=builder /usr/src/app/build /var/www/html
+COPY --from=builder /usr/src/app/platform/app/dist /var/www/html
ENTRYPOINT ["/usr/local/openresty/nginx/sbin/nginx", "-g", "daemon off;"]
diff --git a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css
index 5b5f0b9bee7..ed1423365c9 100644
--- a/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css
+++ b/platform/app/.recipes/OpenResty-Orthanc-Keycloak/volumes/keycloak-themes/ohif/login/resources/css/styles.css
@@ -71,26 +71,10 @@ input[type='password']:hover {
input[type='submit'] {
border: none;
- background: -webkit-linear-gradient(
- top,
- rgba(255, 255, 255, 0.8),
- rgba(255, 255, 255, 0.1)
- );
- background: -moz-linear-gradient(
- top,
- rgba(255, 255, 255, 0.8),
- rgba(255, 255, 255, 0.1)
- );
- background: -ms-linear-gradient(
- top,
- rgba(255, 255, 255, 0.8),
- rgba(255, 255, 255, 0.1)
- );
- background: -o-linear-gradient(
- top,
- rgba(255, 255, 255, 0.8),
- rgba(255, 255, 255, 0.1)
- );
+ background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));
+ background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));
+ background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));
+ background: -o-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5);
diff --git a/platform/app/.recipes/OpenResty-Orthanc/.dockerignore b/platform/app/.recipes/OpenResty-Orthanc/.dockerignore
deleted file mode 100644
index 67f1b2e985c..00000000000
--- a/platform/app/.recipes/OpenResty-Orthanc/.dockerignore
+++ /dev/null
@@ -1,16 +0,0 @@
-# Output
-dist/
-
-# Dependencies
-node_modules/
-
-# Root
-README.md
-Dockerfile
-
-# Misc. Config
-.git
-.DS_Store
-.gitignore
-.vscode
-.circleci
diff --git a/platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf b/platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf
index 777e4970364..aff59a13027 100644
--- a/platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf
+++ b/platform/app/.recipes/OpenResty-Orthanc/config/nginx.conf
@@ -118,6 +118,8 @@ http {
index index.html;
try_files $uri $uri/ /index.html;
add_header Cache-Control "no-store, no-cache, must-revalidate";
+ add_header 'Cross-Origin-Opener-Policy' 'same-origin' always;
+ add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always;
}
# EXAMPLE: Redirect server error pages to the static page /40x.html
diff --git a/platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml b/platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml
index 824ae5a3e1d..16ec1ada705 100644
--- a/platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml
+++ b/platform/app/.recipes/OpenResty-Orthanc/docker-compose.yml
@@ -34,7 +34,7 @@ services:
# TODO: Update to use Postgres
# https://github.com/mrts/docker-postgresql-multiple-databases
orthanc:
- image: jodogne/orthanc-plugins:1.5.6
+ image: jodogne/orthanc-plugins
hostname: orthanc
container_name: orthanc
volumes:
diff --git a/platform/app/.recipes/OpenResty-Orthanc/dockerfile b/platform/app/.recipes/OpenResty-Orthanc/dockerfile
index 768cbc576e7..643c52a57d5 100644
--- a/platform/app/.recipes/OpenResty-Orthanc/dockerfile
+++ b/platform/app/.recipes/OpenResty-Orthanc/dockerfile
@@ -23,24 +23,19 @@
# Stage 1: Build the application
-FROM node:12.22.1-slim as builder
+FROM node:18.16.1-slim as builder
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
-# Copy Files
-COPY .docker /usr/src/app/.docker
-COPY .webpack /usr/src/app/.webpack
-COPY extensions /usr/src/app/extensions
-COPY modes /usr/src/app/modes
-COPY platform /usr/src/app/platform
-COPY .browserslistrc /usr/src/app/.browserslistrc
-COPY aliases.config.js /usr/src/app/aliases.config.js
-COPY babel.config.js /usr/src/app/babel.config.js
-COPY lerna.json /usr/src/app/lerna.json
-COPY package.json /usr/src/app/package.json
-COPY postcss.config.js /usr/src/app/postcss.config.js
-COPY yarn.lock /usr/src/app/yarn.lock
+# Copy all files from the root of the OHIF source and note
+# that the Docker ignore file at the root (i.e. ./dockerignore) will filter
+# out files and directories that are not needed.
+COPY ./ /usr/src/app/
+
+# For arm builds since parcel doesn't have prebuilt binaries for arm yet
+RUN apt-get update && apt-get install -y build-essential python3
+
# ADD . /usr/src/app/
RUN yarn config set workspaces-experimental true
diff --git a/platform/app/.webpack/rules/extractStyleChunks.js b/platform/app/.webpack/rules/extractStyleChunks.js
index 10e790e6761..f7c467fc631 100644
--- a/platform/app/.webpack/rules/extractStyleChunks.js
+++ b/platform/app/.webpack/rules/extractStyleChunks.js
@@ -2,6 +2,20 @@ const ExtractCssChunksPlugin = require('extract-css-chunks-webpack-plugin');
function extractStyleChunks(isProdBuild) {
return [
+ // If you are using the old stylus, you should uncomment this
+ // {
+ // test: /\.styl$/,
+ // use: [
+ // {
+ // loader: ExtractCssChunksPlugin.loader,
+ // options: {
+ // hot: !isProdBuild,
+ // },
+ // },
+ // { loader: 'css-loader' },
+ // { loader: 'stylus-loader' },
+ // ],
+ // },
{
test: /\.(sa|sc|c)ss$/,
use: [
@@ -12,7 +26,7 @@ function extractStyleChunks(isProdBuild) {
},
},
'css-loader',
- 'postcss-loader'
+ 'postcss-loader',
],
},
];
diff --git a/platform/app/.webpack/webpack.pwa.js b/platform/app/.webpack/webpack.pwa.js
index 0da6104f5e5..af0b70b445e 100644
--- a/platform/app/.webpack/webpack.pwa.js
+++ b/platform/app/.webpack/webpack.pwa.js
@@ -54,7 +54,7 @@ module.exports = (env, argv) => {
path: DIST_DIR,
filename: isProdBuild ? '[name].bundle.[chunkhash].js' : '[name].js',
publicPath: PUBLIC_URL, // Used by HtmlWebPackPlugin for asset prefix
- devtoolModuleFilenameTemplate: function(info) {
+ devtoolModuleFilenameTemplate: function (info) {
if (isProdBuild) {
return `webpack:///${info.resourcePath}`;
} else {
@@ -102,8 +102,7 @@ module.exports = (env, argv) => {
},
// Copy Dicom Microscopy Viewer build files
{
- from:
- '../../../node_modules/dicom-microscopy-viewer/dist/dynamic-import',
+ from: '../../../node_modules/dicom-microscopy-viewer/dist/dynamic-import',
to: DIST_DIR,
globOptions: {
ignore: ['**/*.min.js.map'],
@@ -111,8 +110,7 @@ module.exports = (env, argv) => {
},
// Copy dicom-image-loader build files
{
- from:
- '../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import',
+ from: '../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import',
to: DIST_DIR,
},
],
@@ -133,6 +131,8 @@ module.exports = (env, argv) => {
maximumFileSizeToCacheInBytes: 5 * 1024 * 1024,
// Need to exclude the theme as it is updated independently
exclude: [/theme/],
+ // Cache large files for the manifests to avoid warning messages
+ maximumFileSizeToCacheInBytes: 1024 * 1024 * 50,
}),
],
// https://webpack.js.org/configuration/dev-server/
@@ -186,8 +186,6 @@ module.exports = (env, argv) => {
chunkFilename: '[id].css',
})
);
- } else {
- mergedConfig.plugins.push(new webpack.HotModuleReplacementPlugin());
}
return mergedConfig;
diff --git a/platform/app/.webpack/writePluginImportsFile.js b/platform/app/.webpack/writePluginImportsFile.js
index 41caf84b616..47456d034fa 100644
--- a/platform/app/.webpack/writePluginImportsFile.js
+++ b/platform/app/.webpack/writePluginImportsFile.js
@@ -7,7 +7,7 @@ const autogenerationDisclaimer = `
// THIS FILE IS AUTOGENERATED AS PART OF THE EXTENSION AND MODE PLUGIN PROCESS.
// IT SHOULD NOT BE MODIFIED MANUALLY \n`;
-const extractName = (val) => (typeof val === 'string') ? val : val.packageName;
+const extractName = val => (typeof val === 'string' ? val : val.packageName);
function constructLines(input, categoryName) {
let pluginCount = 0;
@@ -24,9 +24,7 @@ function constructLines(input, categoryName) {
const packageName = extractName(entry);
- lines.addToWindowLines.push(
- `${categoryName}.push("${packageName}");\n`
- );
+ lines.addToWindowLines.push(`${categoryName}.push("${packageName}");\n`);
pluginCount++;
});
@@ -64,7 +62,8 @@ function getRuntimeLoadModesExtensions(modules) {
dynamicLoad.push(
'\n\n// Add a dynamic runtime loader',
'async function loadModule(module) {',
- ' if (typeof module !== \'string\') return module;');
+ " if (typeof module !== 'string') return module;"
+ );
modules.forEach(module => {
const packageName = extractName(module);
dynamicLoad.push(
@@ -73,16 +72,17 @@ function getRuntimeLoadModesExtensions(modules) {
' return imported.default;',
' }'
);
- })
+ });
dynamicLoad.push(
- ' return (await import(module)).default;',
+ ' return (await import(/* webpackIgnore: true */ module)).default;',
'}\n',
'// Import a list of items (modules or string names)',
'// @return a Promise evaluating to a list of modules',
'export default function importItems(modules) {',
' return Promise.all(modules.map(loadModule));',
'}\n',
- 'export { loadModule, modes, extensions, importItems };\n\n');
+ 'export { loadModule, modes, extensions, importItems };\n\n'
+ );
return dynamicLoad.join('\n');
}
@@ -91,14 +91,9 @@ const fromDirectory = (srcDir, path) => {
if (path[0] === '.') return srcDir + '/../../..' + path.substring(1);
if (path[0] === '~') return os.homedir() + path.substring(1);
return path;
-}
+};
-const createCopyPluginToDistForLink = (
- srcDir,
- distDir,
- plugins,
- folderName
-) => {
+const createCopyPluginToDistForLink = (srcDir, distDir, plugins, folderName) => {
return plugins
.map(plugin => {
const fromDir = fromDirectory(srcDir, plugin.directory);
@@ -107,7 +102,7 @@ const createCopyPluginToDistForLink = (
return exists
? {
from,
- to: distDir,
+ to: distDir,
toType: 'dir',
}
: undefined;
@@ -115,12 +110,7 @@ const createCopyPluginToDistForLink = (
.filter(x => !!x);
};
-const createCopyPluginToDistForBuild = (
- SRC_DIR,
- DIST_DIR,
- plugins,
- folderName
-) => {
+const createCopyPluginToDistForBuild = (SRC_DIR, DIST_DIR, plugins, folderName) => {
return plugins
.map(plugin => {
const from = `${SRC_DIR}/../../../node_modules/${plugin.packageName}/${folderName}/`;
@@ -156,17 +146,12 @@ function writePluginImportsFile(SRC_DIR, DIST_DIR) {
...pluginConfig.modes,
]);
- fs.writeFileSync(
- `${SRC_DIR}/pluginImports.js`,
- pluginImportsJsContent,
- { flag: 'w+' },
- err => {
- if (err) {
- console.error(err);
- return;
- }
+ fs.writeFileSync(`${SRC_DIR}/pluginImports.js`, pluginImportsJsContent, { flag: 'w+' }, err => {
+ if (err) {
+ console.error(err);
+ return;
}
- );
+ });
// Build packages using cli add-mode and add-extension
// will get added to the root node_modules, but the linked packages
@@ -175,21 +160,14 @@ function writePluginImportsFile(SRC_DIR, DIST_DIR) {
const copyPluginPublicToDistBuild = createCopyPluginToDistForBuild(
SRC_DIR,
DIST_DIR,
- [
- ...pluginConfig.modes,
- ...pluginConfig.extensions,
- ],
+ [...pluginConfig.modes, ...pluginConfig.extensions],
'public'
);
const copyPluginPublicToDistLink = createCopyPluginToDistForLink(
SRC_DIR,
DIST_DIR,
- [
- ...pluginConfig.modes,
- ...pluginConfig.extensions,
- ...pluginConfig.public,
- ],
+ [...pluginConfig.modes, ...pluginConfig.extensions, ...pluginConfig.public],
'public'
);
@@ -198,20 +176,14 @@ function writePluginImportsFile(SRC_DIR, DIST_DIR) {
const copyPluginDistToDistBuild = createCopyPluginToDistForBuild(
SRC_DIR,
DIST_DIR,
- [
- ...pluginConfig.modes,
- ...pluginConfig.extensions,
- ],
+ [...pluginConfig.modes, ...pluginConfig.extensions],
'dist'
);
const copyPluginDistToDistLink = createCopyPluginToDistForLink(
SRC_DIR,
DIST_DIR,
- [
- ...pluginConfig.modes,
- ...pluginConfig.extensions,
- ],
+ [...pluginConfig.modes, ...pluginConfig.extensions],
'dist'
);
diff --git a/platform/app/CHANGELOG.md b/platform/app/CHANGELOG.md
index ca7b98371d7..a605e2eafdb 100644
--- a/platform/app/CHANGELOG.md
+++ b/platform/app/CHANGELOG.md
@@ -3,6 +3,494 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.7.0-beta.108](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.107...v3.7.0-beta.108) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.107](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.106...v3.7.0-beta.107) (2023-10-10)
+
+
+### Bug Fixes
+
+* **modules:** add stylus loader as an option to be uncommented ([#3710](https://github.com/OHIF/Viewers/issues/3710)) ([7c57f67](https://github.com/OHIF/Viewers/commit/7c57f67844b790fc6e47ac3f9708bf9d576389c8))
+
+
+
+
+
+# [3.7.0-beta.106](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.105...v3.7.0-beta.106) (2023-10-10)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.105](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.104...v3.7.0-beta.105) (2023-10-10)
+
+
+### Bug Fixes
+
+* **voi:** should publish voi change event on reset ([#3707](https://github.com/OHIF/Viewers/issues/3707)) ([52f34c6](https://github.com/OHIF/Viewers/commit/52f34c64d014f433ec1661a39b47e7fb27f15332))
+
+
+
+
+
+# [3.7.0-beta.104](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.103...v3.7.0-beta.104) (2023-10-09)
+
+
+### Bug Fixes
+
+* **modality unit:** fix the modality unit per target via upgrade of cs3d ([#3706](https://github.com/OHIF/Viewers/issues/3706)) ([0a42d57](https://github.com/OHIF/Viewers/commit/0a42d573bbca7f2551a831a46d3aa6b56674a580))
+
+
+
+
+
+# [3.7.0-beta.103](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.102...v3.7.0-beta.103) (2023-10-09)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.102](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.101...v3.7.0-beta.102) (2023-10-06)
+
+
+### Features
+
+* **Segmentation:** download RTSS from Labelmap([#3692](https://github.com/OHIF/Viewers/issues/3692)) ([40673f6](https://github.com/OHIF/Viewers/commit/40673f64b36b1150149c55632aa1825178a39e65))
+
+
+
+
+
+# [3.7.0-beta.101](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.100...v3.7.0-beta.101) (2023-10-06)
+
+
+### Bug Fixes
+
+* **bugs:** fixing lots of bugs regarding release candidate ([#3700](https://github.com/OHIF/Viewers/issues/3700)) ([8bc12a3](https://github.com/OHIF/Viewers/commit/8bc12a37d0353160ae5ea4624dc0b244b7d59c07))
+
+
+
+
+
+# [3.7.0-beta.100](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.99...v3.7.0-beta.100) (2023-10-06)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.99](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.98...v3.7.0-beta.99) (2023-10-04)
+
+
+### Bug Fixes
+
+* **measurement and microscopy:** various small fixes for measurement and microscopy side panel ([#3696](https://github.com/OHIF/Viewers/issues/3696)) ([c1d5ee7](https://github.com/OHIF/Viewers/commit/c1d5ee7e3f7f4c0c6bed9ae81eba5519741c5155))
+
+
+
+
+
+# [3.7.0-beta.98](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.97...v3.7.0-beta.98) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.97](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.96...v3.7.0-beta.97) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.96](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.95...v3.7.0-beta.96) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.95](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.94...v3.7.0-beta.95) (2023-10-04)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.94](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.93...v3.7.0-beta.94) (2023-10-03)
+
+
+### Features
+
+* **debug:** Add timing information about time to first image/all images, and query time ([#3681](https://github.com/OHIF/Viewers/issues/3681)) ([108383b](https://github.com/OHIF/Viewers/commit/108383b9ef51e4bef82d9c932b9bc7aa5354e799))
+
+
+
+
+
+# [3.7.0-beta.93](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.92...v3.7.0-beta.93) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.92](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.91...v3.7.0-beta.92) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.91](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.90...v3.7.0-beta.91) (2023-10-03)
+
+
+### Bug Fixes
+
+* **editing:** regression bug in disable editing ([#3687](https://github.com/OHIF/Viewers/issues/3687)) ([4dc2acd](https://github.com/OHIF/Viewers/commit/4dc2acdefa872dd1d8df47f465e9e9656f95f67f))
+
+
+
+
+
+# [3.7.0-beta.90](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.89...v3.7.0-beta.90) (2023-10-03)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.89](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.88...v3.7.0-beta.89) (2023-10-03)
+
+
+### Bug Fixes
+
+* **StackSync:** Miscellaneous fixes for stack image sync ([#3663](https://github.com/OHIF/Viewers/issues/3663)) ([8a335bd](https://github.com/OHIF/Viewers/commit/8a335bd03d14ba87d65d7468d93f74040aa828d9))
+
+
+
+
+
+# [3.7.0-beta.88](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.87...v3.7.0-beta.88) (2023-10-03)
+
+
+### Bug Fixes
+
+* **config:** support more values for the useSharedArrayBuffer ([#3688](https://github.com/OHIF/Viewers/issues/3688)) ([1129c15](https://github.com/OHIF/Viewers/commit/1129c155d2c7d46c98a5df7c09879aa3d459fa7e))
+
+
+
+
+
+# [3.7.0-beta.87](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.86...v3.7.0-beta.87) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.86](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.85...v3.7.0-beta.86) (2023-09-29)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.85](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.84...v3.7.0-beta.85) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.84](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.83...v3.7.0-beta.84) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.83](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.82...v3.7.0-beta.83) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.82](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.81...v3.7.0-beta.82) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.81](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.80...v3.7.0-beta.81) (2023-09-26)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.80](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.79...v3.7.0-beta.80) (2023-09-22)
+
+
+### Bug Fixes
+
+* **react-select:** update react select package ([#3622](https://github.com/OHIF/Viewers/issues/3622)) ([04ca10d](https://github.com/OHIF/Viewers/commit/04ca10d8779dd15454920002f3d48afa8830de8a))
+
+
+### Features
+
+* **segmentation mode:** Add create, and export SEG with Brushes ([#3632](https://github.com/OHIF/Viewers/issues/3632)) ([48bbd62](https://github.com/OHIF/Viewers/commit/48bbd6281a497ea68670239f5426a10ee6c56dc1))
+* **SidePanel:** new side panel tab look-and-feel ([#3657](https://github.com/OHIF/Viewers/issues/3657)) ([85c899b](https://github.com/OHIF/Viewers/commit/85c899b399e2521480724be145538993721b9378))
+
+
+
+
+
+# [3.7.0-beta.79](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.78...v3.7.0-beta.79) (2023-09-22)
+
+
+### Performance Improvements
+
+* **memory:** add 16 bit texture via configuration - reduces memory by half ([#3662](https://github.com/OHIF/Viewers/issues/3662)) ([2bd3b26](https://github.com/OHIF/Viewers/commit/2bd3b26a6aa54b211ef988f3ad64ef1fe5648bab))
+
+
+
+
+
+# [3.7.0-beta.78](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.77...v3.7.0-beta.78) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.77](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.76...v3.7.0-beta.77) (2023-09-21)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.76](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.75...v3.7.0-beta.76) (2023-09-19)
+
+
+### Bug Fixes
+
+* **keyCloak:** fix openresty keycloak deployment recipe ([#3655](https://github.com/OHIF/Viewers/issues/3655)) ([2d7721c](https://github.com/OHIF/Viewers/commit/2d7721cb581f55dc49e3baeca2411b18dd78ad74))
+
+
+
+
+
+# [3.7.0-beta.75](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.74...v3.7.0-beta.75) (2023-09-18)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.74](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.73...v3.7.0-beta.74) (2023-09-15)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.73](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.72...v3.7.0-beta.73) (2023-09-12)
+
+
+### Bug Fixes
+
+* **health imaging:** studies not loading from healthimaging if imagepositionpatient is missing ([#3646](https://github.com/OHIF/Viewers/issues/3646)) ([74e62a1](https://github.com/OHIF/Viewers/commit/74e62a176374f720080d4e777972f70e7f2d8b2b))
+
+
+
+
+
+# [3.7.0-beta.72](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.71...v3.7.0-beta.72) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.71](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.70...v3.7.0-beta.71) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.70](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.69...v3.7.0-beta.70) (2023-09-12)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.69](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.68...v3.7.0-beta.69) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.68](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.67...v3.7.0-beta.68) (2023-09-11)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.67](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.66...v3.7.0-beta.67) (2023-09-06)
+
+
+### Bug Fixes
+
+* **hotkeys:** preserve hotkeys if changed, and reduce re-rendering ([#3635](https://github.com/OHIF/Viewers/issues/3635)) ([94f7cfb](https://github.com/OHIF/Viewers/commit/94f7cfb08e3490488394efc42ef089ebe55e86be))
+
+
+
+
+
+# [3.7.0-beta.66](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.65...v3.7.0-beta.66) (2023-09-06)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.65](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.64...v3.7.0-beta.65) (2023-09-06)
+
+
+### Features
+
+* **ImageOverlayViewerTool:** add ImageOverlayViewer tool that can render image overlay (pixel overlay) of the DICOM images ([#3163](https://github.com/OHIF/Viewers/issues/3163)) ([69115da](https://github.com/OHIF/Viewers/commit/69115da06d2d437b57e66608b435bb0bc919a90f))
+
+
+
+
+
+# [3.7.0-beta.64](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.63...v3.7.0-beta.64) (2023-09-05)
+
+
+### Bug Fixes
+
+* **nginx archive recipe:** Fixes to various configuration files. ([#3624](https://github.com/OHIF/Viewers/issues/3624)) ([3ce7225](https://github.com/OHIF/Viewers/commit/3ce72254b390f32c9aa207a0589e688805e2659d))
+
+
+
+
+
+# [3.7.0-beta.63](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.62...v3.7.0-beta.63) (2023-09-01)
+
+
+### Features
+
+* **grid:** remove viewportIndex and only rely on viewportId ([#3591](https://github.com/OHIF/Viewers/issues/3591)) ([4c6ff87](https://github.com/OHIF/Viewers/commit/4c6ff873e887cc30ffc09223f5cb99e5f94c9cdd))
+
+
+
+
+
+# [3.7.0-beta.62](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.61...v3.7.0-beta.62) (2023-08-30)
+
+
+### Features
+
+* **data source UI config:** Popup the configuration dialogue whenever a data source is not fully configured ([#3620](https://github.com/OHIF/Viewers/issues/3620)) ([adedc8c](https://github.com/OHIF/Viewers/commit/adedc8c382e18a2e86a569e3d023cc55a157363f))
+
+
+
+
+
+# [3.7.0-beta.61](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.60...v3.7.0-beta.61) (2023-08-29)
+
+
+### Bug Fixes
+
+* **OpenIdConnectRoutes:** fix handleUnauthenticated ([#3617](https://github.com/OHIF/Viewers/issues/3617)) ([35fc30c](https://github.com/OHIF/Viewers/commit/35fc30c5359d8199cc38ffa670c08687d2672f11))
+
+
+
+
+
+# [3.7.0-beta.60](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.59...v3.7.0-beta.60) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.58...v3.7.0-beta.59) (2023-08-29)
+
+**Note:** Version bump only for package @ohif/app
+
+
+
+
+
+# [3.7.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.57...v3.7.0-beta.58) (2023-08-25)
+
+
+### Features
+
+* **cloud data source config:** GUI and API for configuring a cloud data source with Google cloud healthcare implementation ([#3589](https://github.com/OHIF/Viewers/issues/3589)) ([a336992](https://github.com/OHIF/Viewers/commit/a336992971c07552c9dbb6e1de43169d37762ef1))
+
+
+
+
+
+# [3.7.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.7.0-beta.56...v3.7.0-beta.57) (2023-08-23)
+
+
+### Bug Fixes
+
+* **memory leak:** array buffer was sticking around in volume viewports ([#3611](https://github.com/OHIF/Viewers/issues/3611)) ([65b49ae](https://github.com/OHIF/Viewers/commit/65b49aeb1b5f38224e4892bdf32453500ee351f8))
+
+
+
+
+
# [4.0.0](https://github.com/OHIF/Viewers/compare/@ohif/viewer@3.11.11...@ohif/viewer@4.0.0) (2020-05-14)
diff --git a/platform/app/babel.config.js b/platform/app/babel.config.js
index fed6f05fecd..325ca2a8ee7 100644
--- a/platform/app/babel.config.js
+++ b/platform/app/babel.config.js
@@ -1 +1 @@
-module.exports = require("../../babel.config.js");
+module.exports = require('../../babel.config.js');
diff --git a/platform/app/cypress.config.ts b/platform/app/cypress.config.ts
index 7cf5ff77f98..c575e7c56cd 100644
--- a/platform/app/cypress.config.ts
+++ b/platform/app/cypress.config.ts
@@ -30,7 +30,7 @@ export default defineConfig({
responseTimeout: 10000,
specPattern: 'cypress/integration/**/*.spec.[jt]s',
projectId: '4oe38f',
- video: false,
+ video: true,
reporter: 'junit',
reporterOptions: {
mochaFile: 'cypress/results/test-output.xml',
diff --git a/platform/app/cypress/fixtures/example.json b/platform/app/cypress/fixtures/example.json
index da18d9352a1..02e4254378e 100644
--- a/platform/app/cypress/fixtures/example.json
+++ b/platform/app/cypress/fixtures/example.json
@@ -2,4 +2,4 @@
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
-}
\ No newline at end of file
+}
diff --git a/platform/app/cypress/integration/MultiStudy.spec.js b/platform/app/cypress/integration/MultiStudy.spec.js
new file mode 100644
index 00000000000..43fec70cfdf
--- /dev/null
+++ b/platform/app/cypress/integration/MultiStudy.spec.js
@@ -0,0 +1,26 @@
+describe('OHIF Multi Study', () => {
+ const beforeSetup = () => {
+ cy.initViewer(
+ '1.3.6.1.4.1.25403.345050719074.3824.20170125113417.1,1.2.840.113619.2.5.1762583153.215519.978957063.78',
+ {
+ params: '&hangingProtocolId=@ohif/hpCompare',
+ minimumThumbnails: 3,
+ }
+ );
+ };
+
+ it('Should display 2 comparison up', () => {
+ beforeSetup();
+
+ cy.get('[data-cy="viewport-pane"]').as('viewportPane');
+ cy.get('@viewportPane').its('length').should('be.eq', 4);
+
+ cy.get('[data-cy="studyDate"]').as('studyDate');
+
+ cy.get('@studyDate').should(studyDate => {
+ expect(studyDate.length).to.be.eq(4);
+ expect(studyDate.text()).to.contain('2014').contain('2001');
+ expect(studyDate.text().indexOf('2014')).to.be.lessThan(studyDate.text().indexOf('2001'));
+ });
+ });
+});
diff --git a/platform/app/cypress/integration/OHIFPdfDisplay.spec.js b/platform/app/cypress/integration/OHIFPdfDisplay.spec.js
index 8027380f660..2ef2f020efe 100644
--- a/platform/app/cypress/integration/OHIFPdfDisplay.spec.js
+++ b/platform/app/cypress/integration/OHIFPdfDisplay.spec.js
@@ -1,13 +1,9 @@
-describe('OHIF PDF Display', function() {
- beforeEach(function() {
+describe('OHIF PDF Display', function () {
+ beforeEach(function () {
cy.openStudyInViewer('2.25.317377619501274872606137091638706705333');
-
- cy.resetViewport().wait(50);
});
- it('checks if series thumbnails are being displayed', function() {
- cy.get('[data-cy="study-browser-thumbnail-no-image"]')
- .its('length')
- .should('be.gt', 0);
+ it('checks if series thumbnails are being displayed', function () {
+ cy.get('[data-cy="study-browser-thumbnail-no-image"]').its('length').should('be.gt', 0);
});
});
diff --git a/platform/app/cypress/integration/OHIFVideoDisplay.spec.js b/platform/app/cypress/integration/OHIFVideoDisplay.spec.js
index e312144ee90..ff877034aff 100644
--- a/platform/app/cypress/integration/OHIFVideoDisplay.spec.js
+++ b/platform/app/cypress/integration/OHIFVideoDisplay.spec.js
@@ -1,19 +1,14 @@
-describe('OHIF Video Display', function() {
- beforeEach(function() {
+describe('OHIF Video Display', function () {
+ beforeEach(function () {
cy.openStudyInViewer('2.25.96975534054447904995905761963464388233');
- cy.resetViewport().wait(50);
});
- it('checks if series thumbnails are being displayed', function() {
- cy.get('[data-cy="study-browser-thumbnail-no-image"]')
- .its('length')
- .should('be.gt', 1);
+ it('checks if series thumbnails are being displayed', function () {
+ cy.get('[data-cy="study-browser-thumbnail-no-image"]').its('length').should('be.gt', 1);
});
it('performs double-click to load thumbnail in active viewport', () => {
- cy.get(
- '[data-cy="study-browser-thumbnail-no-image"]:nth-child(2)'
- ).dblclick();
+ cy.get('[data-cy="study-browser-thumbnail-no-image"]:nth-child(2)').dblclick();
//const expectedText = 'Ser: 3';
//cy.get('@viewportInfoBottomLeft').should('contains.text', expectedText);
diff --git a/platform/app/cypress/integration/customization/HangingProtocol.spec.js b/platform/app/cypress/integration/customization/HangingProtocol.spec.js
index e57fd7d038c..4f55e620b59 100644
--- a/platform/app/cypress/integration/customization/HangingProtocol.spec.js
+++ b/platform/app/cypress/integration/customization/HangingProtocol.spec.js
@@ -1,5 +1,5 @@
describe('OHIF HP', () => {
- const beforeSetup = () => {
+ beforeEach(() => {
cy.checkStudyRouteInViewer(
'1.3.6.1.4.1.25403.345050719074.3824.20170125113417.1',
'&hangingProtocolId=@ohif/mnGrid'
@@ -7,30 +7,21 @@ describe('OHIF HP', () => {
cy.expectMinimumThumbnails(3);
cy.initCornerstoneToolsAliases();
cy.initCommonElementsAliases();
- };
+ cy.waitDicomImage();
+ });
it('Should display 3 up', () => {
- beforeSetup();
-
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', 3);
+ cy.get('[data-cy="viewport-pane"]').its('length').should('be.eq', 3);
});
it('Should navigate next/previous stage', () => {
- beforeSetup();
-
cy.get('body').type(',');
cy.wait(250);
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', 4);
+ cy.get('[data-cy="viewport-pane"]').its('length').should('be.eq', 4);
cy.get('body').type('..');
cy.wait(250);
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', 2);
+ cy.get('[data-cy="viewport-pane"]').its('length').should('be.eq', 2);
});
it('Should navigate to display set specified', () => {
diff --git a/platform/app/cypress/integration/customization/OHIFDoubleClick.spec.js b/platform/app/cypress/integration/customization/OHIFDoubleClick.spec.js
index 7b46387faf6..431ff8b4ec6 100644
--- a/platform/app/cypress/integration/customization/OHIFDoubleClick.spec.js
+++ b/platform/app/cypress/integration/customization/OHIFDoubleClick.spec.js
@@ -11,17 +11,21 @@ describe('OHIF Double Click', () => {
it('Should double click each viewport to one up and back', () => {
const numExpectedViewports = 3;
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', numExpectedViewports);
+ cy.get('[data-cy="viewport-pane"]').its('length').should('be.eq', numExpectedViewports);
for (let i = 0; i < numExpectedViewports; i += 1) {
+ cy.wait(2000);
+
// For whatever reason, with Cypress tests, we have to activate the
// viewport we are double clicking first.
cy.get('[data-cy="viewport-pane"]')
.eq(i)
- .trigger('mousedown', 'center', { force: true })
- .trigger('mouseup', 'center', { force: true });
+ .trigger('mousedown', 'center', {
+ force: true,
+ })
+ .trigger('mouseup', 'center', {
+ force: true,
+ });
// Wait for the viewport to be 'active'.
// TODO Is there a better way to do this?
@@ -32,21 +36,19 @@ describe('OHIF Double Click', () => {
.not('.pointer-events-none');
// The actual double click.
- cy.get('[data-cy="viewport-pane"]')
- .eq(i)
- .trigger('dblclick', 'center');
+ cy.get('[data-cy="viewport-pane"]').eq(i).trigger('dblclick', 'center');
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', 1);
+ cy.get('[data-cy="viewport-pane"]').its('length').should('be.eq', 1);
cy.get('[data-cy="viewport-pane"]')
- .eq(0)
- .trigger('dblclick', 'center');
+ .trigger('mousedown', 'center', {
+ force: true,
+ })
+ .trigger('mouseup', 'center', {
+ force: true,
+ });
- cy.get('[data-cy="viewport-pane"]')
- .its('length')
- .should('be.eq', numExpectedViewports);
+ cy.get('[data-cy="viewport-pane"]').eq(0).trigger('dblclick', 'center');
}
});
});
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFContextMenuCustomization.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFContextMenuCustomization.spec.js
index e87f1bb80c3..7e6806413f3 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFContextMenuCustomization.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFContextMenuCustomization.spec.js
@@ -1,20 +1,18 @@
describe('OHIF Context Menu', function () {
beforeEach(function () {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.expectMinimumThumbnails(3);
cy.initCommonElementsAliases();
cy.initCornerstoneToolsAliases();
- cy.resetViewport().wait(50);
+ cy.waitDicomImage();
});
it('checks context menu customization', function () {
// Add length measurement
cy.addLengthMeasurement();
- cy.get('[data-cy="prompt-begin-tracking-yes"]').click();
- cy.get('[data-cy="measurement-item"]').click();
+ cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
+ cy.get('[data-cy="measurement-item"]').as('measurementItem').click();
const [x1, y1] = [150, 100];
cy.get('@viewport')
@@ -26,17 +24,12 @@ describe('OHIF Context Menu', function () {
});
// Contextmenu is visible
- cy.get('[data-cy="context-menu"]').should('be.visible');
-
+ cy.get('[data-cy="context-menu"]').as('contextMenu').should('be.visible');
// Click "Finding" subMenu
- cy.get('[data-cy="context-menu-item"]')
- .contains('Finding')
- .click();
+ cy.get('[data-cy="context-menu-item"]').as('item').contains('Finding').click();
// Click "Finding" subMenu
- cy.get('[data-cy="context-menu-item"]')
- .contains('Aortic insufficiency')
- .click();
- cy.get('[data-cy="measurement-item"]').contains('Aortic insufficiency');
+ cy.get('[data-cy="context-menu-item"]').as('item').contains('Aortic insufficiency').click();
+ cy.get('[data-cy="measurement-item"]').as('measure-item').contains('Aortic insufficiency');
});
});
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneHotkeys.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneHotkeys.spec.js
index ddee809cac2..984b038bc0e 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneHotkeys.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneHotkeys.spec.js
@@ -1,26 +1,22 @@
describe('OHIF Cornerstone Hotkeys', () => {
beforeEach(() => {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.window()
.its('cornerstone')
.then(cornerstone => {
// For debugging issues where tests pass locally but fail on CI
// - Sometimes Cypress orb seems to use CPU rendering pathway
- cy.log(
- `Cornerstone using CPU Rendering?: ${cornerstone.getShouldUseCPURendering()}`
- );
+ cy.log(`Cornerstone using CPU Rendering?: ${cornerstone.getShouldUseCPURendering()}`);
});
cy.expectMinimumThumbnails(3);
cy.initCornerstoneToolsAliases();
cy.initCommonElementsAliases();
+ cy.waitDicomImage();
});
it('checks if hotkeys "R" and "L" can rotate the image', () => {
- // Hotkey R
cy.get('body').type('R');
cy.get('@viewportInfoMidLeft').should('contains.text', 'P');
cy.get('@viewportInfoMidTop').should('contains.text', 'R');
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js
index c20aa75c63c..e0c509b972e 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFCornerstoneToolbar.spec.js
@@ -1,18 +1,15 @@
describe('OHIF Cornerstone Toolbar', () => {
beforeEach(() => {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.expectMinimumThumbnails(3);
cy.initCornerstoneToolsAliases();
cy.initCommonElementsAliases();
- cy.get('[data-cy="study-browser-thumbnail"]')
- .eq(1)
- .click();
+ cy.get('[data-cy="study-browser-thumbnail"]').eq(1).click();
//const expectedText = 'Ser: 1';
//cy.get('@viewportInfoBottomLeft').should('contains.text', expectedText);
+ cy.waitDicomImage();
});
it('checks if all primary buttons are being displayed', () => {
@@ -70,12 +67,12 @@ describe('OHIF Cornerstone Toolbar', () => {
// });
it('checks if Levels tool will change the window width and center of an image', () => {
- //Click on button and verify if icon is active on toolbar
- cy.get('@wwwcBtnPrimary')
- .click()
- .then($wwwcBtn => {
- cy.wrap($wwwcBtn).should('have.class', 'active');
- });
+ // Wait for the DICOM image to load
+
+ // Assign an alias to the button element
+ cy.get('@wwwcBtnPrimary').as('wwwcButton');
+ cy.get('@wwwcButton').click();
+ cy.get('@wwwcButton').should('have.class', 'active');
//drags the mouse inside the viewport to be able to interact with series
cy.get('@viewport')
@@ -88,20 +85,21 @@ describe('OHIF Cornerstone Toolbar', () => {
// The exact text is slightly dependent on the viewport resolution, so leave a range
cy.get('@viewportInfoTopLeft').should($txt => {
const text = $txt.text();
- expect(text)
- .to.include('W:193')
- .include('L:479');
+ expect(text).to.include('W:193').include('L:479');
});
});
it('checks if Pan tool will move the image inside the viewport', () => {
- //Click on button and verify if icon is active on toolbar
- cy.get('@panBtn')
- .click()
- .then($panBtn => {
- cy.wrap($panBtn).should('have.class', 'active');
- });
+ // Assign an alias to the button element
+ cy.get('@panBtn').as('panButton');
+ // Click on the button
+ cy.get('@panButton').click();
+
+ // Assert that the button has the 'active' class
+ cy.get('@panButton').should('have.class', 'active');
+
+ // Trigger the pan actions on the viewport
cy.get('@viewport')
.trigger('mousedown', 'center', { buttons: 1 })
.trigger('mousemove', 'bottom', { buttons: 1 })
@@ -111,16 +109,14 @@ describe('OHIF Cornerstone Toolbar', () => {
it('checks if Length annotation can be added to viewport and shows up in the measurements panel', () => {
//Click on button and verify if icon is active on toolbar
cy.addLengthMeasurement();
- cy.get('[data-cy="viewport-notification"]').should('exist');
- cy.get('[data-cy="viewport-notification"]').should('be.visible');
- cy.get('[data-cy="prompt-begin-tracking-yes"]').click();
+ cy.get('[data-cy="viewport-notification"]').as('notif').should('exist');
+ cy.get('[data-cy="viewport-notification"]').as('notif').should('be.visible');
+ cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
//Verify the measurement exists in the table
cy.get('@measurementsPanel').should('be.visible');
- cy.get('[data-cy="measurement-item"]')
- .its('length')
- .should('be.at.least', 1);
+ cy.get('[data-cy="measurement-item"]').as('measure').its('length').should('be.at.least', 1);
});
/*it('checks if angle annotation can be added on viewport without causing any errors', () => {
@@ -413,20 +409,42 @@ describe('OHIF Cornerstone Toolbar', () => {
cy.get('@moreBtn').click();
cy.get('.tooltip-toolbar-overlay').should('not.exist');
});
+*/
+ it('check if Flip tool will flip the image in the viewport', () => {
+ cy.get('@viewportInfoMidLeft').should('contains.text', 'R');
+ cy.get('@viewportInfoMidTop').should('contains.text', 'A');
- it('check if Flip V tool will flip the image vertically in the viewport', () => {
//Click on More button
- cy.get('@moreBtn').click();
- //Verify if overlay is displayed
- cy.get('.tooltip-toolbar-overlay').should('be.visible');
+ cy.get('@moreBtnSecondary').click();
- //Click on Flip V button
- cy.get('[data-cy="flip v"]').click();
- cy.get('@viewportInfoMidLeft').should('contains.text', 'R');
- cy.get('@viewportInfoMidTop').should('contains.text', 'F');
+ //Click on Flip button
+ cy.get('[data-cy="flip-horizontal"]').click();
+ cy.waitDicomImage();
+ cy.get('@viewportInfoMidLeft').should('contains.text', 'L');
+ cy.get('@viewportInfoMidTop').should('contains.text', 'A');
+ });
- //Click on More button to close it
- cy.get('@moreBtn').click();
- cy.get('.tooltip-toolbar-overlay').should('not.exist');
- });*/
+ it('checks if stack sync is preserved on new display set and uses FOR', () => {
+ // Active stack image sync and reference lines
+ cy.get('[data-cy="MoreTools-split-button-secondary"]').click();
+ cy.get('[data-cy="StackImageSync"]').click();
+ // Add reference lines as that sometimes throws an exception
+ cy.get('[data-cy="MoreTools-split-button-secondary"]').click();
+ cy.get('[data-cy="ReferenceLines"]').click();
+
+ cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick();
+ cy.get('body').type('{downarrow}{downarrow}');
+
+ // Change the layout and double load the first
+ cy.setLayout(2, 1);
+ cy.get('body').type('{rightarrow}');
+ cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)').dblclick();
+ cy.waitDicomImage();
+
+ // Now navigate down once and check that the left hand pane navigated
+ cy.get('body').type('{downarrow}');
+ cy.get('body').type('{leftarrow}');
+ cy.setLayout(1, 1);
+ cy.get('@viewportInfoTopRight').should('contains.text', 'I:2 (2/20)');
+ });
});
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFDownloadSnapshotFile.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFDownloadSnapshotFile.spec.js
index 9c3752e7654..35ef9869252 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFDownloadSnapshotFile.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFDownloadSnapshotFile.spec.js
@@ -1,13 +1,11 @@
describe('OHIF Download Snapshot File', () => {
beforeEach(() => {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.expectMinimumThumbnails(3);
cy.openDownloadImageModal();
});
- it('checks displayed information for Desktop experience', function() {
+ it('checks displayed information for Desktop experience', function () {
// Set Desktop resolution
// cy.viewport(1750, 720);
// Visual comparison
@@ -36,12 +34,10 @@ describe('OHIF Download Snapshot File', () => {
// .and('include', 'data:image');
// Check buttons
- cy.get('[data-cy="cancel-btn"]')
- .scrollIntoView()
- .should('be.visible');
- cy.get('[data-cy="download-btn"]')
- .scrollIntoView()
- .should('be.visible');
+ cy.get('[data-cy="cancel-btn"]').scrollIntoView().should('be.visible');
+ cy.get('[data-cy="download-btn"]').scrollIntoView().should('be.visible');
+
+ cy.get('[data-cy="cancel-btn"]').click();
});
/*it('cancel changes on download modal', function() {
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js
index 67c1597d909..420cdd82262 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFGeneralViewer.spec.js
@@ -1,21 +1,17 @@
-describe('OHIF Study Viewer Page', function() {
- beforeEach(function() {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+describe('OHIF General Viewer', function () {
+ beforeEach(() =>
+ cy.initViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78', {
+ minimumThumbnails: 3,
+ })
+ );
- cy.expectMinimumThumbnails(3);
- cy.initCommonElementsAliases();
- cy.initCornerstoneToolsAliases();
- });
-
- it('scrolls series stack using scrollbar', function() {
+ it('scrolls series stack using scrollbar', function () {
cy.scrollToIndex(13);
cy.get('@viewportInfoTopRight').should('contains.text', '14');
});
- it('performs right click to zoom', function() {
+ it('performs right click to zoom', function () {
// This is not used to activate the tool, it is used to ensure the
// top left viewport info shows the zoom values (it only shows up
// when the zoom tool is active)
@@ -25,11 +21,9 @@ describe('OHIF Study Viewer Page', function() {
cy.wrap($zoomBtn).should('have.class', 'active');
});
- const zoomLevelInitial = cy
- .get('@viewportInfoTopLeft')
- .then($viewportInfo => {
- return $viewportInfo.text().substring(6, 9);
- });
+ const zoomLevelInitial = cy.get('@viewportInfoTopLeft').then($viewportInfo => {
+ return $viewportInfo.text().substring(6, 9);
+ });
//Right click on viewport
cy.get('@viewport')
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFMeasurementPanel.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFMeasurementPanel.spec.js
index c96d777010f..9f0e8b0c8d9 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFMeasurementPanel.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFMeasurementPanel.spec.js
@@ -1,16 +1,14 @@
-describe('OHIF Measurement Panel', function() {
- beforeEach(function() {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+describe('OHIF Measurement Panel', function () {
+ beforeEach(function () {
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.expectMinimumThumbnails(3);
cy.initCommonElementsAliases();
cy.initCornerstoneToolsAliases();
- cy.resetViewport().wait(50);
+ cy.waitDicomImage();
});
- it('checks if Measurements right panel can be hidden/displayed', function() {
+ it('checks if Measurements right panel can be hidden/displayed', function () {
cy.get('@measurementsPanel').should('exist');
cy.get('@measurementsPanel').should('be.visible');
@@ -22,31 +20,31 @@ describe('OHIF Measurement Panel', function() {
cy.get('@measurementsPanel').should('be.visible');
});
- it('checks if measurement item can be Relabeled under Measurements panel', function() {
+ it('checks if measurement item can be Relabeled under Measurements panel', function () {
// Add length measurement
cy.addLengthMeasurement();
- cy.get('[data-cy="viewport-notification"]').should('exist');
- cy.get('[data-cy="viewport-notification"]').should('be.visible');
- cy.get('[data-cy="prompt-begin-tracking-yes"]').click();
- cy.get('[data-cy="measurement-item"]').click();
- cy.get('[data-cy="measurement-item"]')
- .find('svg')
- .click();
+ cy.get('[data-cy="viewport-notification"]').as('viewportNotification').should('exist');
+ cy.get('[data-cy="viewport-notification"]').as('viewportNotification').should('be.visible');
+
+ cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
+
+ cy.get('[data-cy="measurement-item"]').as('measurementItem').click();
+
+ cy.get('[data-cy="measurement-item"]').find('svg').as('measurementItemSvg').click();
// enter Bone label
cy.get('[data-cy="input-annotation"]').should('exist');
cy.get('[data-cy="input-annotation"]').should('be.visible');
cy.get('[data-cy="input-annotation"]').type('Bone{enter}');
- // Verify if 'Bone' label was added
- cy.get('[data-cy="measurement-item"]').should('contain.text', 'Bone');
+ cy.get('[data-cy="measurement-item"]').as('measurementItem').should('contain.text', 'Bone');
});
- it('checks if image would jump when clicked on a measurement item', function() {
+ it('checks if image would jump when clicked on a measurement item', function () {
// Add length measurement
- cy.addLengthMeasurement();
- cy.get('[data-cy="prompt-begin-tracking-yes"]').click();
+ cy.addLengthMeasurement().wait(250);
+ cy.get('[data-cy="prompt-begin-tracking-yes-btn"]').as('yesBtn').click();
cy.scrollToIndex(13);
@@ -55,9 +53,7 @@ describe('OHIF Measurement Panel', function() {
cy.get('@viewportInfoTopRight').should('contains.text', '(14/');
// Click on first measurement item
- cy.get('[data-cy="measurement-item"]')
- .eq(0)
- .click();
+ cy.get('[data-cy="measurement-item"]').eq(0).click();
cy.get('@viewportInfoTopRight').should('contains.text', '(1/');
cy.get('@viewportInfoTopRight').should('not.contains.text', '(14/');
diff --git a/platform/app/cypress/integration/measurement-tracking/OHIFStudyBrowser.spec.js b/platform/app/cypress/integration/measurement-tracking/OHIFStudyBrowser.spec.js
index e9c70f2eb39..c43cb2c93ac 100644
--- a/platform/app/cypress/integration/measurement-tracking/OHIFStudyBrowser.spec.js
+++ b/platform/app/cypress/integration/measurement-tracking/OHIFStudyBrowser.spec.js
@@ -1,22 +1,17 @@
-describe('OHIF Study Viewer Page', function() {
- beforeEach(function() {
- cy.checkStudyRouteInViewer(
- '1.2.840.113619.2.5.1762583153.215519.978957063.78'
- );
+describe('OHIF Study Browser', function () {
+ beforeEach(function () {
+ cy.checkStudyRouteInViewer('1.2.840.113619.2.5.1762583153.215519.978957063.78');
cy.expectMinimumThumbnails(3);
cy.initCommonElementsAliases();
cy.initCornerstoneToolsAliases();
- cy.resetViewport().wait(50);
});
- it('checks if series thumbnails are being displayed', function() {
- cy.get('[data-cy="study-browser-thumbnail"]')
- .its('length')
- .should('be.gt', 1);
+ it('checks if series thumbnails are being displayed', function () {
+ cy.get('[data-cy="study-browser-thumbnail"]').its('length').should('be.gt', 1);
});
- it('drags and drop a series thumbnail into viewport', function() {
+ it('drags and drop a series thumbnail into viewport', function () {
// Can't use the native drag version as the element should be rerendered
// cy.get('[data-cy="study-browser-thumbnail"]:nth-child(2)') //element to be dragged
// .drag('.cornerstone-canvas'); //dropzone element
@@ -38,7 +33,7 @@ describe('OHIF Study Viewer Page', function() {
//cy.get('@viewportInfoBottomLeft').should('contain.text', expectedText);
});
- it('checks if Series left panel can be hidden/displayed', function() {
+ it('checks if Series left panel can be hidden/displayed', function () {
cy.get('@seriesPanel').should('exist');
cy.get('@seriesPanel').should('be.visible');
diff --git a/platform/app/cypress/integration/study-list/OHIFStudyList.spec.js b/platform/app/cypress/integration/study-list/OHIFStudyList.spec.js
index 0d07b52a52d..9809a1b7c51 100644
--- a/platform/app/cypress/integration/study-list/OHIFStudyList.spec.js
+++ b/platform/app/cypress/integration/study-list/OHIFStudyList.spec.js
@@ -1,8 +1,8 @@
//We are keeping the hardcoded results values for the study list tests
-//this is intended to be running in a controled docker environment with test data.
-describe('OHIF Study List', function() {
- context('Desktop resolution', function() {
- beforeEach(function() {
+//this is intended to be running in a controlled docker environment with test data.
+describe('OHIF Study List', function () {
+ context('Desktop resolution', function () {
+ beforeEach(function () {
cy.openStudyList();
cy.viewport(1750, 720);
@@ -14,7 +14,7 @@ describe('OHIF Study List', function() {
cy.get('@StudyDescription').clear();
});
- it('Displays several studies initially', function() {
+ it('Displays several studies initially', function () {
cy.waitStudyList();
cy.get('@searchResult2').should($list => {
expect($list.length).to.be.greaterThan(1);
@@ -23,7 +23,7 @@ describe('OHIF Study List', function() {
});
});
- it('searches Patient Name with exact string', function() {
+ it('searches Patient Name with exact string', function () {
cy.get('@PatientName').type('Juno');
//Wait result list to be displayed
cy.waitStudyList();
@@ -33,7 +33,7 @@ describe('OHIF Study List', function() {
});
});
- it('searches MRN with exact string', function() {
+ it('searches MRN with exact string', function () {
cy.get('@MRN').type('0000003');
//Wait result list to be displayed
cy.waitStudyList();
@@ -43,7 +43,7 @@ describe('OHIF Study List', function() {
});
});
- it('searches Accession with exact string', function() {
+ it('searches Accession with exact string', function () {
cy.get('@AccessionNumber').type('321');
//Wait result list to be displayed
cy.waitStudyList();
@@ -53,7 +53,7 @@ describe('OHIF Study List', function() {
});
});
- it('searches Description with exact string', function() {
+ it('searches Description with exact string', function () {
cy.get('@StudyDescription').type('PETCT');
//Wait result list to be displayed
cy.waitStudyList();
diff --git a/platform/app/cypress/integration/volume/MPR.spec.js b/platform/app/cypress/integration/volume/MPR.spec.js
index 080f8100a0e..c2f8d94ccde 100644
--- a/platform/app/cypress/integration/volume/MPR.spec.js
+++ b/platform/app/cypress/integration/volume/MPR.spec.js
@@ -1,8 +1,6 @@
describe('OHIF MPR', () => {
beforeEach(() => {
- cy.checkStudyRouteInViewer(
- '1.3.6.1.4.1.25403.345050719074.3824.20170125113417.1'
- );
+ cy.checkStudyRouteInViewer('1.3.6.1.4.1.25403.345050719074.3824.20170125113417.1');
cy.expectMinimumThumbnails(3);
cy.initCornerstoneToolsAliases();
cy.initCommonElementsAliases();
@@ -66,19 +64,17 @@ describe('OHIF MPR', () => {
.then(cornerstone => {
const viewports = cornerstone.getRenderingEngines()[0].getViewports();
- const imageData1 = viewports[0].getImageData();
- const imageData2 = viewports[1].getImageData();
- const imageData3 = viewports[2].getImageData();
+ // The stack viewport still exists after the changes to viewportId and inde
+ const imageData1 = viewports[1].getImageData();
+ const imageData2 = viewports[2].getImageData();
+ const imageData3 = viewports[3].getImageData();
// for some reason map doesn't work here
cy.wrap(imageData1).should('not.be', undefined);
cy.wrap(imageData2).should('not.be', undefined);
cy.wrap(imageData3).should('not.be', undefined);
- cy.wrap(imageData1.dimensions).should(
- 'deep.equal',
- imageData2.dimensions
- );
+ cy.wrap(imageData1.dimensions).should('deep.equal', imageData2.dimensions);
cy.wrap(imageData1.origin).should('deep.equal', imageData2.origin);
});
@@ -88,10 +84,7 @@ describe('OHIF MPR', () => {
cy.get('.cornerstone-canvas').should('have.length', 1);
// should not have any div under it
- cy.get('[data-cy="thumbnail-viewport-labels"]')
- .eq(2)
- .find('div')
- .should('have.length', 0);
+ cy.get('[data-cy="thumbnail-viewport-labels"]').eq(2).find('div').should('have.length', 0);
});
it('should correctly render Crosshairs for MPR', () => {
diff --git a/platform/app/cypress/plugins/index.js b/platform/app/cypress/plugins/index.js
index aa9918d2153..8dd144a6c1a 100644
--- a/platform/app/cypress/plugins/index.js
+++ b/platform/app/cypress/plugins/index.js
@@ -18,4 +18,4 @@
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
-}
+};
diff --git a/platform/app/cypress/support/DragSimulator.js b/platform/app/cypress/support/DragSimulator.js
index 673a4668f7d..c6a8e5f9438 100644
--- a/platform/app/cypress/support/DragSimulator.js
+++ b/platform/app/cypress/support/DragSimulator.js
@@ -6,18 +6,12 @@ export const DragSimulator = {
counter: 0,
rectsEqual(r1, r2) {
return (
- r1.top === r2.top &&
- r1.right === r2.right &&
- r1.bottom === r2.bottom &&
- r1.left === r2.left
+ r1.top === r2.top && r1.right === r2.right && r1.bottom === r2.bottom && r1.left === r2.left
);
},
get dropped() {
const currentSourcePosition = this.source.getBoundingClientRect();
- return !this.rectsEqual(
- this.initialSourcePosition,
- currentSourcePosition
- );
+ return !this.rectsEqual(this.initialSourcePosition, currentSourcePosition);
},
get hasTriesLeft() {
return this.counter < this.MAX_TRIES;
@@ -71,8 +65,6 @@ export const DragSimulator = {
simulate(sourceWrapper, targetSelector, position = 'center') {
return cy
.get(targetSelector)
- .then(targetWrapper =>
- this.init(sourceWrapper.get(0), targetWrapper.get(0), position)
- );
+ .then(targetWrapper => this.init(sourceWrapper.get(0), targetWrapper.get(0), position));
},
};
diff --git a/platform/app/cypress/support/aliases.js b/platform/app/cypress/support/aliases.js
index 52dac3ae52c..1bda29b36a2 100644
--- a/platform/app/cypress/support/aliases.js
+++ b/platform/app/cypress/support/aliases.js
@@ -3,16 +3,10 @@ export function initCornerstoneToolsAliases() {
cy.get('[data-cy="StackScroll"]').as('stackScrollBtn');
cy.get('[data-cy="Zoom"]').as('zoomBtn');
cy.get('[data-cy="WindowLevel-split-button-primary"]').as('wwwcBtnPrimary');
- cy.get('[data-cy="WindowLevel-split-button-secondary"]').as(
- 'wwwcBtnSecondary'
- );
+ cy.get('[data-cy="WindowLevel-split-button-secondary"]').as('wwwcBtnSecondary');
cy.get('[data-cy="Pan"]').as('panBtn');
- cy.get('[data-cy="MeasurementTools-split-button-primary"]').as(
- 'measurementToolsBtnPrimary'
- );
- cy.get('[data-cy="MeasurementTools-split-button-secondary"]').as(
- 'measurementToolsBtnSecondary'
- );
+ cy.get('[data-cy="MeasurementTools-split-button-primary"]').as('measurementToolsBtnPrimary');
+ cy.get('[data-cy="MeasurementTools-split-button-secondary"]').as('measurementToolsBtnSecondary');
// cy.get('[data-cy="Angle"]').as('angleBtn');
cy.get('[data-cy="MoreTools-split-button-primary"]').as('moreBtnPrimary');
cy.get('[data-cy="MoreTools-split-button-secondary"]').as('moreBtnSecondary');
@@ -37,12 +31,8 @@ export function initCommonElementsAliases() {
cy.get('[data-cy="studyBrowser-panel"]').as('seriesPanel');
cy.get('[data-cy="viewport-overlay-top-right"]').as('viewportInfoTopRight');
cy.get('[data-cy="viewport-overlay-top-left"]').as('viewportInfoTopLeft');
- cy.get('[data-cy="viewport-overlay-bottom-right"]').as(
- 'viewportInfoBottomRight'
- );
- cy.get('[data-cy="viewport-overlay-bottom-left"]').as(
- 'viewportInfoBottomLeft'
- );
+ cy.get('[data-cy="viewport-overlay-bottom-right"]').as('viewportInfoBottomRight');
+ cy.get('[data-cy="viewport-overlay-bottom-left"]').as('viewportInfoBottomLeft');
cy.get('.left-mid.orientation-marker').as('viewportInfoMidLeft');
cy.get('.top-mid.orientation-marker').as('viewportInfoMidTop');
@@ -50,9 +40,7 @@ export function initCommonElementsAliases() {
//Creating aliases for Routes
export function initRouteAliases() {
- cy.intercept('GET', '**/series**', { statusCode: 200, body: [] }).as(
- 'getStudySeries'
- );
+ cy.intercept('GET', '**/series**', { statusCode: 200, body: [] }).as('getStudySeries');
// Todo: for some reason cypress does not redirect to the correct url
// so we intercept the request and redirect it to the correct url
@@ -73,7 +61,7 @@ export function initStudyListAliasesOnDesktop() {
cy.get('[data-cy="study-list-results"] > tr').as('searchResult2');
// We can't use data attributes (e.g. data--cy) for these since
- // they are using third party libraires (i.e. react-dates, react-select)
+ // they are using third party libraries (i.e. react-dates, react-select)
cy.get('#date-range-studyDate-start-date').as('studyListStartDate');
cy.get('#date-range-studyDate-end-date').as('studyListEndDate');
cy.get('#input-modalities').as('modalities');
diff --git a/platform/app/cypress/support/commands.js b/platform/app/cypress/support/commands.js
index df760db1035..83b2df9193a 100644
--- a/platform/app/cypress/support/commands.js
+++ b/platform/app/cypress/support/commands.js
@@ -46,7 +46,7 @@ Cypress.Commands.add('openStudy', PatientName => {
cy.openStudyList();
cy.get('#filter-patientNameOrId').type(PatientName);
// cy.get('@getStudies').then(() => {
- cy.wait(1000);
+ cy.waitQueryList();
cy.get('[data-cy="study-list-results"]', { timeout: 5000 })
.contains(PatientName)
@@ -56,28 +56,41 @@ Cypress.Commands.add('openStudy', PatientName => {
Cypress.Commands.add(
'checkStudyRouteInViewer',
- (StudyInstanceUID, otherParams = '') => {
+ (StudyInstanceUID, otherParams = '', mode = '/basic-test') => {
cy.location('pathname').then($url => {
cy.log($url);
- if (
- $url == 'blank' ||
- !$url.includes(`/basic-test/${StudyInstanceUID}${otherParams}`)
- ) {
- cy.openStudyInViewer(StudyInstanceUID, otherParams);
+ if ($url === 'blank' || !$url.includes(`${mode}/${StudyInstanceUID}${otherParams}`)) {
+ cy.openStudyInViewer(StudyInstanceUID, otherParams, mode);
cy.waitDicomImage();
- cy.wait(2000);
+ // Very short wait to ensure pending updates are handled
+ cy.wait(25);
}
});
}
);
+Cypress.Commands.add('initViewer', (StudyInstanceUID, other = {}) => {
+ const { mode = '/basic-test', minimumThumbnails = 1, params = '' } = other;
+ cy.openStudyInViewer(StudyInstanceUID, params, mode);
+ cy.waitDicomImage();
+ // Very short wait to ensure pending updates are handled
+ cy.wait(25);
+
+ cy.expectMinimumThumbnails(minimumThumbnails);
+ cy.initCommonElementsAliases();
+ cy.initCornerstoneToolsAliases();
+});
+
Cypress.Commands.add(
'openStudyInViewer',
- (StudyInstanceUID, otherParams = '') => {
- cy.visit(`/basic-test?StudyInstanceUIDs=${StudyInstanceUID}${otherParams}`);
+ (StudyInstanceUID, otherParams = '', mode = '/basic-test') => {
+ cy.visit(`${mode}?StudyInstanceUIDs=${StudyInstanceUID}${otherParams}`);
}
);
+Cypress.Commands.add('waitQueryList', () => {
+ cy.get('[data-querying="false"]');
+});
/**
* Command to search for a Modality and open the study.
*
@@ -87,14 +100,9 @@ Cypress.Commands.add('openStudyModality', Modality => {
cy.initRouteAliases();
cy.visit('/');
- cy.get('#filter-accessionOrModalityOrDescription')
- .type(Modality)
- .wait(2000);
+ cy.get('#filter-accessionOrModalityOrDescription').type(Modality).waitQueryList();
- cy.get('[data-cy="study-list-results"]')
- .contains(Modality)
- .first()
- .click();
+ cy.get('[data-cy="study-list-results"]').contains(Modality).first().click();
});
/**
@@ -113,7 +121,7 @@ Cypress.Commands.add('openStudyList', () => {
// For some reason cypress 12.x does not like to stub the network request
// so we just wait herer for 1 second
// cy.wait('@getStudies');
- cy.wait(1000);
+ cy.waitQueryList();
});
Cypress.Commands.add('waitStudyList', () => {
@@ -140,126 +148,72 @@ Cypress.Commands.add('drag', { prevSubject: 'element' }, (...args) =>
);
/**
- * Command to perform two clicks into two different positions. Each position must be [x, y].
+ * Command to perform three clicks into three different positions. Each position must be [x, y].
* The positions are considering the element as reference, therefore, top-left of the element will be (0, 0).
*
* @param {*} viewport - Selector for viewport we would like to interact with
* @param {number[]} firstClick - Click position [x, y]
* @param {number[]} secondClick - Click position [x, y]
+ * @param {number[]} thirdClick - Click position [x, y]
*/
-Cypress.Commands.add('addLine', (viewport, firstClick, secondClick) => {
+Cypress.Commands.add('addAngle', (viewport, firstClick, secondClick, thirdClick) => {
cy.get(viewport).then($viewport => {
const [x1, y1] = firstClick;
const [x2, y2] = secondClick;
+ const [x3, y3] = thirdClick;
- // TODO: Added a wait which appears necessary in Cornerstone Tools >4?
cy.wrap($viewport)
- .click(x1, y1)
- .wait(100)
+ .click(x1, y1, { force: true })
.trigger('mousemove', { clientX: x2, clientY: y2 })
- .click(x2, y2)
- .wait(100);
+ .click(x2, y2, { force: true })
+ .trigger('mousemove', { clientX: x3, clientY: y3 })
+ .click(x3, y3, { force: true });
});
});
-/**
- * Command to perform three clicks into three different positions. Each position must be [x, y].
- * The positions are considering the element as reference, therefore, top-left of the element will be (0, 0).
- *
- * @param {*} viewport - Selector for viewport we would like to interact with
- * @param {number[]} firstClick - Click position [x, y]
- * @param {number[]} secondClick - Click position [x, y]
- * @param {number[]} thirdClick - Click position [x, y]
- */
-Cypress.Commands.add(
- 'addAngle',
- (viewport, firstClick, secondClick, thirdClick) => {
- cy.get(viewport).then($viewport => {
- const [x1, y1] = firstClick;
- const [x2, y2] = secondClick;
- const [x3, y3] = thirdClick;
-
- cy.wrap($viewport)
- .click(x1, y1, { force: true })
- .trigger('mousemove', { clientX: x2, clientY: y2 })
- .click(x2, y2, { force: true })
- .trigger('mousemove', { clientX: x3, clientY: y3 })
- .click(x3, y3, { force: true });
- });
- }
-);
-
Cypress.Commands.add('expectMinimumThumbnails', (seriesToWait = 1) => {
cy.get('[data-cy="study-browser-thumbnail"]', { timeout: 50000 }).should(
- $itemList => {
- expect($itemList.length >= seriesToWait).to.be.true;
- }
+ 'have.length.gte',
+ seriesToWait
);
});
//Command to wait DICOM image to load into the viewport
-Cypress.Commands.add('waitDicomImage', (timeout = 50000) => {
- const loaded = cy.isPageLoaded();
-
- if (loaded) {
- cy.window()
- .its('cornerstone')
- .then({ timeout }, $cornerstone => {
- return new Cypress.Promise(resolve => {
- const onEvent = renderedEvt => {
- const element = renderedEvt.detail.element;
-
- element.removeEventListener(
- $cornerstone.Enums.Events.IMAGE_RENDERED,
- onEvent
- );
- $cornerstone.eventTarget.removeEventListener(
- $cornerstone.Enums.Events.IMAGE_RENDERED,
- onEvent
- );
- resolve();
- };
- const onEnabled = enabledEvt => {
- const element = enabledEvt.detail.element;
-
- element.addEventListener(
- $cornerstone.Enums.Events.IMAGE_RENDERED,
- onEvent
- );
-
- $cornerstone.eventTarget.removeEventListener(
- $cornerstone.Enums.Events.ELEMENT_ENABLED,
- onEnabled
- );
- };
- const enabledElements = $cornerstone.getEnabledElements();
- if (enabledElements && enabledElements.length) {
- // Sometimes the page finishes rendering before this gets run,
- // if so, just resolve immediately.
- resolve();
- } else {
- $cornerstone.eventTarget.addEventListener(
- $cornerstone.Enums.Events.ELEMENT_ENABLED,
- onEnabled
- );
+Cypress.Commands.add('waitDicomImage', (mode = '/basic-test', timeout = 50000) => {
+ cy.window()
+ .its('cornerstone')
+ .should($cornerstone => {
+ const enabled = $cornerstone.getEnabledElements();
+ if (enabled?.length) {
+ enabled.forEach((item, i) => {
+ if (item.viewport.viewportStatus !== $cornerstone.Enums.ViewportStatus.RENDERED) {
+ throw new Error(`Viewport ${i} in state ${item.viewport.viewportStatus}`);
}
});
- });
- }
+ } else {
+ throw new Error('No enabled elements');
+ }
+ });
+ // This shouldn't be necessary, but seems to be.
+ cy.wait(250);
+ cy.log('DICOM image loaded');
});
//Command to reset and clear all the changes made to the viewport
Cypress.Commands.add('resetViewport', () => {
- //Click on More button
+ // Assign an alias to the More button
cy.get('[data-cy="MoreTools-split-button-primary"]')
.should('have.attr', 'data-tool', 'Reset')
- .as('moreBtn')
- .click();
+ .as('moreBtn');
+
+ // Use the alias to click on the More button
+ cy.get('@moreBtn').click();
});
Cypress.Commands.add('imageZoomIn', () => {
cy.initCornerstoneToolsAliases();
cy.get('@zoomBtn').click();
+ cy.wait(25);
//drags the mouse inside the viewport to be able to interact with series
cy.get('@viewport')
@@ -271,6 +225,7 @@ Cypress.Commands.add('imageZoomIn', () => {
Cypress.Commands.add('imageContrast', () => {
cy.initCornerstoneToolsAliases();
cy.get('@wwwcBtnPrimary').click();
+ cy.wait(25);
//drags the mouse inside the viewport to be able to interact with series
cy.get('@viewport')
@@ -303,14 +258,24 @@ Cypress.Commands.add('initStudyListAliasesOnDesktop', () => {
Cypress.Commands.add(
'addLengthMeasurement',
(firstClick = [150, 100], secondClick = [130, 170]) => {
- cy.get('@measurementToolsBtnPrimary')
- .should('have.attr', 'data-tool', 'Length')
- .click()
- .then($lengthBtn => {
- cy.wrap($lengthBtn).should('have.class', 'active');
- });
-
- cy.addLine('.viewport-element', firstClick, secondClick);
+ // Assign an alias to the button element
+ cy.get('@measurementToolsBtnPrimary').as('lengthButton');
+
+ cy.get('@lengthButton').should('have.attr', 'data-tool', 'Length');
+ cy.get('@lengthButton').click();
+
+ cy.get('@lengthButton').should('have.class', 'active');
+
+ cy.get('@viewport').then($viewport => {
+ const [x1, y1] = firstClick;
+ const [x2, y2] = secondClick;
+
+ cy.wrap($viewport)
+ .click(x1, y1, { force: true })
+ .wait(1000)
+ .click(x2, y2, { force: true })
+ .wait(1000);
+ });
}
);
@@ -318,8 +283,10 @@ Cypress.Commands.add(
Cypress.Commands.add(
'addAngleMeasurement',
(initPos = [180, 390], midPos = [300, 410], finalPos = [180, 450]) => {
+ cy.get('[data-cy="MeasurementTools-split-button-secondary"]').click();
cy.get('[data-cy="Angle"]').click();
- cy.addAngle('.viewport-element', initPos, midPos, finalPos);
+
+ cy.addAngle('.cornerstone-canvas', initPos, midPos, finalPos);
}
);
@@ -392,31 +359,23 @@ Cypress.Commands.add('percyCanvasSnapshot', (name, options = {}) => {
});
Cypress.Commands.add('setLayout', (columns = 1, rows = 1) => {
- cy.get('[data-cy="layout"]').click();
+ cy.get('[data-cy="Layout"]').click();
- cy.get('.layoutChooser')
- .find('tr')
- .eq(rows - 1)
- .find('td')
- .eq(columns - 1)
- .click();
+ cy.get(`[data-cy="Layout-${columns - 1}-${rows - 1}"]`).click();
- cy.wait(1000);
+ cy.wait(10);
+ cy.waitDicomImage();
});
function convertCanvas(documentClone) {
- documentClone
- .querySelectorAll('canvas')
- .forEach(selector => canvasToImage(selector));
+ documentClone.querySelectorAll('canvas').forEach(selector => canvasToImage(selector));
return documentClone;
}
function unconvertCanvas(documentClone) {
// Remove previously generated images
- documentClone
- .querySelectorAll('[data-percy-image]')
- .forEach(selector => selector.remove());
+ documentClone.querySelectorAll('[data-percy-image]').forEach(selector => selector.remove());
// Restore canvas visibility
documentClone.querySelectorAll('[data-percy-canvas]').forEach(selector => {
selector.removeAttribute('data-percy-canvas');
@@ -426,9 +385,7 @@ function unconvertCanvas(documentClone) {
function canvasToImage(selectorOrEl) {
let canvas =
- typeof selectorOrEl === 'object'
- ? selectorOrEl
- : document.querySelector(selectorOrEl);
+ typeof selectorOrEl === 'object' ? selectorOrEl : document.querySelector(selectorOrEl);
let image = document.createElement('img');
let canvasImageBase64 = canvas.toDataURL('image/png');
@@ -456,10 +413,7 @@ Cypress.Commands.add('openPreferences', () => {
.scrollIntoView()
.click()
.then(() => {
- cy.get('[data-cy="options-dropdown"]')
- .last()
- .click()
- .wait(200);
+ cy.get('[data-cy="options-dropdown"]').last().click().wait(200);
});
}
});
@@ -494,9 +448,7 @@ Cypress.Commands.add('closePreferences', () => {
cy.get('body').then(body => {
// Close notification if displayed
if (body.find('.sb-closeIcon').length > 0) {
- cy.get('.sb-closeIcon')
- .first()
- .click({ force: true });
+ cy.get('.sb-closeIcon').first().click({ force: true });
}
// Close User Preferences Modal (if displayed)
@@ -508,9 +460,11 @@ Cypress.Commands.add('closePreferences', () => {
Cypress.Commands.add('selectPreferencesTab', tabAlias => {
cy.initPreferencesModalAliases();
- cy.get(tabAlias)
- .click()
- .should('have.class', 'active');
+
+ cy.get(tabAlias).as('selectedTab');
+ cy.get('@selectedTab').click();
+ cy.get('@selectedTab').should('have.class', 'active');
+
initPreferencesModalFooterBtnAliases();
});
@@ -526,9 +480,7 @@ Cypress.Commands.add('resetUserHotkeyPreferences', () => {
// Close Success Message overlay (if displayed)
cy.get('body').then(body => {
if (body.find('.sb-closeIcon').length > 0) {
- cy.get('.sb-closeIcon')
- .first()
- .click({ force: true });
+ cy.get('.sb-closeIcon').first().click({ force: true });
}
// Click on Save Button
cy.get('@saveBtn').click();
@@ -547,28 +499,23 @@ Cypress.Commands.add('resetUserGeneralPreferences', () => {
// Close Success Message overlay (if displayed)
cy.get('body').then(body => {
if (body.find('.sb-closeIcon').length > 0) {
- cy.get('.sb-closeIcon')
- .first()
- .click({ force: true });
+ cy.get('.sb-closeIcon').first().click({ force: true });
}
// Click on Save Button
cy.get('@saveBtn').click();
});
});
-Cypress.Commands.add(
- 'setNewHotkeyShortcutOnUserPreferencesModal',
- (function_label, shortcut) => {
- // Within scopes all `.get` and `.contains` to within the matched elements
- // dom instead of checking from document
- cy.get('.HotkeysPreferences').within(() => {
- cy.contains(function_label) // label we're looking for
- .parent()
- .find('input') // closest input to that label
- .type(shortcut, { force: true }); // Set new shortcut for that function
- });
- }
-);
+Cypress.Commands.add('setNewHotkeyShortcutOnUserPreferencesModal', (function_label, shortcut) => {
+ // Within scopes all `.get` and `.contains` to within the matched elements
+ // dom instead of checking from document
+ cy.get('.HotkeysPreferences').within(() => {
+ cy.contains(function_label) // label we're looking for
+ .parent()
+ .find('input') // closest input to that label
+ .type(shortcut, { force: true }); // Set new shortcut for that function
+ });
+});
Cypress.Commands.add(
'setWindowLevelPreset',
@@ -603,9 +550,7 @@ Cypress.Commands.add(
Cypress.Commands.add('openDownloadImageModal', () => {
// Click on More button
- cy.get('[data-cy="Capture"]')
- .as('captureBtn')
- .click();
+ cy.get('[data-cy="Capture"]').as('captureBtn').click();
});
Cypress.Commands.add('setLanguage', (language, save = true) => {
@@ -622,16 +567,12 @@ Cypress.Commands.add('setLanguage', (language, save = true) => {
// Close Success Message overlay (if displayed)
cy.get('body').then(body => {
if (body.find('.sb-closeIcon').length > 0) {
- cy.get('.sb-closeIcon')
- .first()
- .click({ force: true });
+ cy.get('.sb-closeIcon').first().click({ force: true });
}
//Click on Save/Cancel button
const toClick = save ? '@saveBtn' : '@cancelBtn';
- cy.get(toClick)
- .scrollIntoView()
- .click();
+ cy.get(toClick).scrollIntoView().click();
});
});
@@ -639,7 +580,7 @@ Cypress.Commands.add('setLanguage', (language, save = true) => {
// https://github.com/cypress-io/cypress/issues/7362
// uncomment this if you really need the network logs
const origLog = Cypress.log;
-Cypress.log = function(opts, ...other) {
+Cypress.log = function (opts, ...other) {
if (opts.displayName === 'script' || opts.name === 'request') {
return;
}
diff --git a/platform/app/jestBabelTransform.js b/platform/app/jestBabelTransform.js
index d1b645bc787..81c0a5cc963 100644
--- a/platform/app/jestBabelTransform.js
+++ b/platform/app/jestBabelTransform.js
@@ -1,5 +1,5 @@
-const babelJest = require("babel-jest");
+const babelJest = require('babel-jest');
module.exports = babelJest.createTransformer({
- rootMode: "upward"
+ rootMode: 'upward',
});
diff --git a/platform/app/netlify.toml b/platform/app/netlify.toml
index 4af3dd5977b..bc07d914e5f 100644
--- a/platform/app/netlify.toml
+++ b/platform/app/netlify.toml
@@ -19,7 +19,7 @@
[build.environment]
# If 'production', `yarn install` does not install devDependencies
NODE_ENV = "development"
- NODE_VERSION = "16.14.0"
+ NODE_VERSION = "18.16.1"
YARN_VERSION = "1.22.5"
RUBY_VERSION = "2.6.2"
YARN_FLAGS = "--no-ignore-optional --pure-lockfile"
@@ -43,3 +43,5 @@
# COMMENT: For sharedArrayBuffer, see https://developer.chrome.com/blog/enabling-shared-array-buffer/
Cross-Origin-Embedder-Policy = "require-corp"
Cross-Origin-Opener-Policy = "same-origin"
+ # set CORP to cross-origin for anyone who wants to use the viewer in an iframe
+ Cross-Origin-Resource-Policy = "cross-origin"
diff --git a/platform/app/package.json b/platform/app/package.json
index a95f7e0d3a0..d9a9f606001 100644
--- a/platform/app/package.json
+++ b/platform/app/package.json
@@ -1,6 +1,6 @@
{
"name": "@ohif/app",
- "version": "3.6.0",
+ "version": "3.7.0-beta.108",
"productVersion": "3.4.0",
"description": "OHIF Viewer",
"author": "OHIF Contributors",
@@ -26,11 +26,11 @@
"build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html QUICK_BUILD=false yarn run build",
"build": "node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js",
"dev": "cross-env NODE_ENV=development webpack serve --config .webpack/webpack.pwa.js",
+ "dev:no:cache": "cross-env NODE_ENV=development webpack serve --no-cache --config .webpack/webpack.pwa.js",
"dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack serve --config .webpack/webpack.pwa.js",
"dev:dcm4chee": "cross-env NODE_ENV=development APP_CONFIG=config/local_dcm4chee.js webpack serve --config .webpack/webpack.pwa.js",
"dev:static": "cross-env NODE_ENV=development APP_CONFIG=config/local_static.js webpack serve --config .webpack/webpack.pwa.js",
"dev:viewer": "yarn run dev",
- "preinstall": "node preinstall.js",
"start": "yarn run dev",
"test:e2e": "cypress open",
"test:e2e:ci": "percy exec -- cypress run --config video=false --record --browser chrome --spec 'cypress/integration/visual-regression/**/*'",
@@ -51,23 +51,23 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2",
- "@cornerstonejs/dicom-image-loader": "^0.6.8",
- "@ohif/core": "3.6.0",
- "@ohif/extension-cornerstone": "3.6.0",
- "@ohif/extension-cornerstone-dicom-rt": "3.6.0",
- "@ohif/extension-cornerstone-dicom-seg": "3.6.0",
- "@ohif/extension-cornerstone-dicom-sr": "3.6.0",
- "@ohif/extension-default": "3.6.0",
- "@ohif/extension-dicom-microscopy": "3.6.0",
- "@ohif/extension-dicom-pdf": "3.6.0",
- "@ohif/extension-dicom-video": "3.6.0",
- "@ohif/extension-test": "3.6.0",
- "@ohif/i18n": "3.6.0",
- "@ohif/mode-basic-dev-mode": "3.6.0",
- "@ohif/mode-longitudinal": "3.6.0",
- "@ohif/mode-microscopy": "3.6.0",
- "@ohif/mode-test": "3.6.0",
- "@ohif/ui": "3.6.0",
+ "@cornerstonejs/dicom-image-loader": "^1.20.3",
+ "@ohif/core": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-seg": "3.7.0-beta.108",
+ "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.108",
+ "@ohif/extension-default": "3.7.0-beta.108",
+ "@ohif/extension-dicom-microscopy": "3.7.0-beta.108",
+ "@ohif/extension-dicom-pdf": "3.7.0-beta.108",
+ "@ohif/extension-dicom-video": "3.7.0-beta.108",
+ "@ohif/extension-test": "3.7.0-beta.108",
+ "@ohif/i18n": "3.7.0-beta.108",
+ "@ohif/mode-basic-dev-mode": "3.7.0-beta.108",
+ "@ohif/mode-longitudinal": "3.7.0-beta.108",
+ "@ohif/mode-microscopy": "3.7.0-beta.108",
+ "@ohif/mode-test": "3.7.0-beta.108",
+ "@ohif/ui": "3.7.0-beta.108",
"@types/react": "^17.0.38",
"classnames": "^2.3.2",
"core-js": "^3.16.1",
@@ -95,7 +95,7 @@
"devDependencies": {
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@percy/cypress": "^3.1.1",
- "cypress": "^12.6.0",
+ "cypress": "^13.2.0",
"cypress-file-upload": "^3.5.3",
"glob": "^8.0.3",
"identity-obj-proxy": "3.0.x",
diff --git a/platform/app/pluginConfig.json b/platform/app/pluginConfig.json
index 2f892db6c86..08a42deb0f2 100644
--- a/platform/app/pluginConfig.json
+++ b/platform/app/pluginConfig.json
@@ -57,6 +57,9 @@
{
"packageName": "@ohif/mode-longitudinal"
},
+ {
+ "packageName": "@ohif/mode-segmentation"
+ },
{
"packageName": "@ohif/mode-tmtv"
},
diff --git a/platform/app/postcss.config.js b/platform/app/postcss.config.js
index 6402436e4a6..a0daaed0810 100644
--- a/platform/app/postcss.config.js
+++ b/platform/app/postcss.config.js
@@ -1 +1 @@
-module.exports = require("../../postcss.config.js");
+module.exports = require('../../postcss.config.js');
diff --git a/platform/app/public/_redirects b/platform/app/public/_redirects
index 9730bd0d3c5..c3f7726c347 100644
--- a/platform/app/public/_redirects
+++ b/platform/app/public/_redirects
@@ -1,6 +1,6 @@
# Specific to our deploy-preview
# Our docs are published using CircleCI + GitBook
-# Confgure redirects using netlify.toml
+# Configure redirects using netlify.toml
# Spa
/* /index.html 200
diff --git a/platform/app/public/assets/yandex-browser-manifest.json b/platform/app/public/assets/yandex-browser-manifest.json
index ce9b1c12ec3..846829c9948 100644
--- a/platform/app/public/assets/yandex-browser-manifest.json
+++ b/platform/app/public/assets/yandex-browser-manifest.json
@@ -6,4 +6,4 @@
"color": "#fff",
"show_title": true
}
-}
\ No newline at end of file
+}
diff --git a/platform/app/public/config/aws.js b/platform/app/public/config/aws.js
index 35ffbde5ca6..f7dd9a06987 100644
--- a/platform/app/public/config/aws.js
+++ b/platform/app/public/config/aws.js
@@ -4,7 +4,7 @@ window.config = {
modes: [],
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
+
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -13,38 +13,39 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'dcmjs DICOMWeb Server',
name: 'DCM4CHEE',
// Something here to check build
wadoUriRoot: 'https://myserver.com/dicomweb',
qidoRoot: 'https://myserver.com/dicomweb',
wadoRoot: 'https://myserver.com/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: false,
staticWado: true,
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/default.js b/platform/app/public/config/default.js
index 8ff91875b8d..00013529ea8 100644
--- a/platform/app/public/config/default.js
+++ b/platform/app/public/config/default.js
@@ -3,15 +3,11 @@ window.config = {
// whiteLabeling: {},
extensions: [],
modes: [],
- customizationService: {
- // Shows a custom route -access via http://localhost:3000/custom
- // helloPage: '@ohif/extension-default.customizationModule.helloPage',
- },
+ customizationService: {},
showStudyList: true,
// some windows systems have issues with more than 3 web workers
maxNumberOfWebWorkers: 3,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -37,21 +33,41 @@ window.config = {
// },
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'AWS S3 Static wado server',
name: 'aws',
- // old server
- // wadoUriRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/wado',
- // qidoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
- // wadoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
-
- // new server
wadoUriRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
wadoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
-
+ qidoSupportsIncludeField: false,
+ imageRendering: 'wadors',
+ thumbnailRendering: 'wadors',
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: false,
+ supportsWildcard: true,
+ staticWado: true,
+ singlepart: 'bulkdata,video',
+ // whether the data source should use retrieveBulkData to grab metadata,
+ // and in case of relative path, what would it be relative to, options
+ // are in the series level or study level (some servers like series some study)
+ bulkDataURI: {
+ enabled: true,
+ relativeResolution: 'studies',
+ },
+ omitQuotationForMultipartRequest: true,
+ },
+ },
+ {
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
+ sourceName: 'dicomweb2',
+ configuration: {
+ friendlyName: 'AWS S3 Static wado secondary server',
+ name: 'aws',
+ wadoUriRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
+ qidoRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
+ wadoRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: false,
imageRendering: 'wadors',
@@ -68,29 +84,31 @@ window.config = {
enabled: true,
relativeResolution: 'studies',
},
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicomweb delegating proxy',
namespace: '@ohif/extension-default.dataSourcesModule.dicomwebproxy',
sourceName: 'dicomwebproxy',
configuration: {
+ friendlyName: 'dicomweb delegating proxy',
name: 'dicomwebproxy',
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/default_16bit.js b/platform/app/public/config/default_16bit.js
new file mode 100644
index 00000000000..20b14d6b9b1
--- /dev/null
+++ b/platform/app/public/config/default_16bit.js
@@ -0,0 +1,189 @@
+window.config = {
+ routerBasename: '/',
+ // whiteLabeling: {},
+ extensions: [],
+ modes: [],
+ customizationService: {
+ // Shows a custom route -access via http://localhost:3000/custom
+ // helloPage: '@ohif/extension-default.customizationModule.helloPage',
+ },
+ showStudyList: true,
+ // some windows systems have issues with more than 3 web workers
+ maxNumberOfWebWorkers: 3,
+ // below flag is for performance reasons, but it might not work for all servers
+ omitQuotationForMultipartRequest: true,
+ showWarningMessageForCrossOrigin: false,
+ showCPUFallbackMessage: true,
+ showLoadingIndicator: true,
+ use16BitDataType: true,
+ useSharedArrayBuffer: 'AUTO',
+ maxNumRequests: {
+ interaction: 100,
+ thumbnail: 75,
+ // Prefetch number is dependent on the http protocol. For http 2 or
+ // above, the number of requests can be go a lot higher.
+ prefetch: 25,
+ },
+ // filterQueryParam: false,
+ dataSources: [
+ {
+ friendlyName: 'dcmjs DICOMWeb Server',
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
+ sourceName: 'dicomweb',
+ configuration: {
+ name: 'aws',
+ // old server
+ // wadoUriRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/wado',
+ // qidoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
+ // wadoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
+ // new server
+ wadoUriRoot: 'https://domvja9iplmyu.cloudfront.net/dicomweb',
+ qidoRoot: 'https://domvja9iplmyu.cloudfront.net/dicomweb',
+ wadoRoot: 'https://domvja9iplmyu.cloudfront.net/dicomweb',
+ qidoSupportsIncludeField: false,
+ supportsReject: false,
+ imageRendering: 'wadors',
+ thumbnailRendering: 'wadors',
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: false,
+ supportsWildcard: true,
+ staticWado: true,
+ singlepart: 'bulkdata,video,pdf',
+ },
+ },
+ {
+ friendlyName: 'dicom json',
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
+ sourceName: 'dicomjson',
+ configuration: {
+ name: 'json',
+ },
+ },
+ {
+ friendlyName: 'dicom local',
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
+ sourceName: 'dicomlocal',
+ configuration: {},
+ },
+ ],
+ httpErrorHandler: error => {
+ // This is 429 when rejected from the public idc sandbox too often.
+ console.warn(error.status);
+
+ // Could use services manager here to bring up a dialog/modal if needed.
+ console.warn('test, navigate to https://ohif.org/');
+ },
+ // whiteLabeling: {
+ // /* Optional: Should return a React component to be rendered in the "Logo" section of the application's Top Navigation bar */
+ // createLogoComponentFn: function (React) {
+ // return React.createElement(
+ // 'a',
+ // {
+ // target: '_self',
+ // rel: 'noopener noreferrer',
+ // className: 'text-purple-600 line-through',
+ // href: '/',
+ // },
+ // React.createElement('img',
+ // {
+ // src: './customLogo.svg',
+ // className: 'w-8 h-8',
+ // }
+ // ))
+ // },
+ // },
+ defaultDataSourceName: 'dicomweb',
+ hotkeys: [
+ {
+ commandName: 'incrementActiveViewport',
+ label: 'Next Viewport',
+ keys: ['right'],
+ },
+ {
+ commandName: 'decrementActiveViewport',
+ label: 'Previous Viewport',
+ keys: ['left'],
+ },
+ { commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] },
+ { commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] },
+ { commandName: 'invertViewport', label: 'Invert', keys: ['i'] },
+ {
+ commandName: 'flipViewportHorizontal',
+ label: 'Flip Horizontally',
+ keys: ['h'],
+ },
+ {
+ commandName: 'flipViewportVertical',
+ label: 'Flip Vertically',
+ keys: ['v'],
+ },
+ { commandName: 'scaleUpViewport', label: 'Zoom In', keys: ['+'] },
+ { commandName: 'scaleDownViewport', label: 'Zoom Out', keys: ['-'] },
+ { commandName: 'fitViewportToWindow', label: 'Zoom to Fit', keys: ['='] },
+ { commandName: 'resetViewport', label: 'Reset', keys: ['space'] },
+ { commandName: 'nextImage', label: 'Next Image', keys: ['down'] },
+ { commandName: 'previousImage', label: 'Previous Image', keys: ['up'] },
+ // {
+ // commandName: 'previousViewportDisplaySet',
+ // label: 'Previous Series',
+ // keys: ['pagedown'],
+ // },
+ // {
+ // commandName: 'nextViewportDisplaySet',
+ // label: 'Next Series',
+ // keys: ['pageup'],
+ // },
+ {
+ commandName: 'setToolActive',
+ commandOptions: { toolName: 'Zoom' },
+ label: 'Zoom',
+ keys: ['z'],
+ },
+ // ~ Window level presets
+ {
+ commandName: 'windowLevelPreset1',
+ label: 'W/L Preset 1',
+ keys: ['1'],
+ },
+ {
+ commandName: 'windowLevelPreset2',
+ label: 'W/L Preset 2',
+ keys: ['2'],
+ },
+ {
+ commandName: 'windowLevelPreset3',
+ label: 'W/L Preset 3',
+ keys: ['3'],
+ },
+ {
+ commandName: 'windowLevelPreset4',
+ label: 'W/L Preset 4',
+ keys: ['4'],
+ },
+ {
+ commandName: 'windowLevelPreset5',
+ label: 'W/L Preset 5',
+ keys: ['5'],
+ },
+ {
+ commandName: 'windowLevelPreset6',
+ label: 'W/L Preset 6',
+ keys: ['6'],
+ },
+ {
+ commandName: 'windowLevelPreset7',
+ label: 'W/L Preset 7',
+ keys: ['7'],
+ },
+ {
+ commandName: 'windowLevelPreset8',
+ label: 'W/L Preset 8',
+ keys: ['8'],
+ },
+ {
+ commandName: 'windowLevelPreset9',
+ label: 'W/L Preset 9',
+ keys: ['9'],
+ },
+ ],
+};
diff --git a/platform/app/public/config/demo.js b/platform/app/public/config/demo.js
index b4d43b86195..5dbd96ab156 100644
--- a/platform/app/public/config/demo.js
+++ b/platform/app/public/config/demo.js
@@ -4,17 +4,16 @@ window.config = {
extensions: [],
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
strictZSpacingForVolumeViewport: true,
showCPUFallbackMessage: true,
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'DCM4CHEE Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'DCM4CHEE Server',
name: 'DCM4CHEE',
wadoUriRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
@@ -25,6 +24,7 @@ window.config = {
bulkDataURI: {
enabled: false,
},
+ omitQuotationForMultipartRequest: true,
},
},
],
diff --git a/platform/app/public/config/dicomweb-server.js b/platform/app/public/config/dicomweb-server.js
index 4db99041765..a3522e587c7 100644
--- a/platform/app/public/config/dicomweb-server.js
+++ b/platform/app/public/config/dicomweb-server.js
@@ -4,7 +4,6 @@ window.config = {
modes: [],
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -13,10 +12,10 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'dcmjs DICOMWeb Server',
name: 'DCM4CHEE',
wadoUriRoot: 'http://localhost:5985',
qidoRoot: 'http://localhost:5985',
@@ -28,21 +27,23 @@ window.config = {
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: false,
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
};
diff --git a/platform/app/public/config/dicomweb_relative.js b/platform/app/public/config/dicomweb_relative.js
index af024abd70f..bfa51c34aec 100644
--- a/platform/app/public/config/dicomweb_relative.js
+++ b/platform/app/public/config/dicomweb_relative.js
@@ -5,7 +5,6 @@ window.config = {
showStudyList: true,
maxNumberOfWebWorkers: 3,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -14,16 +13,15 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'Static WADO Local Data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'Static WADO Local Data',
name: 'DCM4CHEE',
wadoUriRoot: '/dicomweb',
qidoRoot: '/dicomweb',
wadoRoot: '/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
@@ -31,21 +29,23 @@ window.config = {
supportsWildcard: true,
staticWado: true,
singlepart: 'bulkdata,video,pdf',
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/docker_nginx-orthanc.js b/platform/app/public/config/docker_nginx-orthanc.js
index 60d7f083ce4..97316bc8adf 100644
--- a/platform/app/public/config/docker_nginx-orthanc.js
+++ b/platform/app/public/config/docker_nginx-orthanc.js
@@ -4,7 +4,6 @@ window.config = {
extensions: [],
modes: [],
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -12,10 +11,10 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'Orthanc Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'Orthanc Server',
name: 'Orthanc',
wadoUriRoot: '/wado',
qidoRoot: '/dicom-web',
@@ -23,21 +22,23 @@ window.config = {
qidoSupportsIncludeField: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
};
diff --git a/platform/app/public/config/docker_openresty-orthanc-keycloak.js b/platform/app/public/config/docker_openresty-orthanc-keycloak.js
index 07709a7ebef..5e9f7854f3b 100644
--- a/platform/app/public/config/docker_openresty-orthanc-keycloak.js
+++ b/platform/app/public/config/docker_openresty-orthanc-keycloak.js
@@ -1,32 +1,39 @@
window.config = {
routerBasename: '/',
showStudyList: true,
+ extensions: [],
+ modes: [],
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
+
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
strictZSpacingForVolumeViewport: true,
- servers: {
- // This is an array, but we'll only use the first entry for now
- dicomWeb: [
- {
+ defaultDataSourceName: 'dicomweb',
+ dataSources: [
+ {
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
+ sourceName: 'dicomweb',
+ configuration: {
+ friendlyName: 'Orthanc Server',
name: 'Orthanc',
- wadoUriRoot: 'http://127.0.0.1/pacs/wado',
+ wadoUriRoot: 'http://127.0.0.1/pacs/dicom-web',
qidoRoot: 'http://127.0.0.1/pacs/dicom-web',
wadoRoot: 'http://127.0.0.1/pacs/dicom-web',
- qidoSupportsIncludeField: false,
+ qidoSupportsIncludeField: true,
+ supportsReject: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
- // REQUIRED TAG:
- // TODO: Remove tag after https://github.com/OHIF/ohif-core/pull/19 is merged and we bump version
- // requestOptions: {
- // undefined to use JWT + Bearer auth
- // auth: 'orthanc:orthanc',
- // },
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: true,
+ supportsWildcard: true,
+ dicomUploadEnabled: true,
+ bulkDataURI: {
+ enabled: true,
+ },
},
- ],
- },
+ },
+ ],
// This is an array, but we'll only use the first entry for now
oidc: [
{
diff --git a/platform/app/public/config/docker_openresty-orthanc.js b/platform/app/public/config/docker_openresty-orthanc.js
index 33e41387792..2500760bf22 100644
--- a/platform/app/public/config/docker_openresty-orthanc.js
+++ b/platform/app/public/config/docker_openresty-orthanc.js
@@ -4,7 +4,7 @@ window.config = {
extensions: [],
modes: [],
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
+
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -12,32 +12,41 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'Orthanc Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'Orthanc Server',
name: 'Orthanc',
- wadoUriRoot: 'http://127.0.0.1/pacs/wado',
+ wadoUriRoot: 'http://127.0.0.1/pacs/dicom-web',
qidoRoot: 'http://127.0.0.1/pacs/dicom-web',
wadoRoot: 'http://127.0.0.1/pacs/dicom-web',
- qidoSupportsIncludeField: false,
+ qidoSupportsIncludeField: true,
+ supportsReject: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: true,
+ supportsWildcard: true,
+ dicomUploadEnabled: true,
+ bulkDataURI: {
+ enabled: true,
+ },
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
};
diff --git a/platform/app/public/config/e2e.js b/platform/app/public/config/e2e.js
index 47903374cb2..bf095af71d1 100644
--- a/platform/app/public/config/e2e.js
+++ b/platform/app/public/config/e2e.js
@@ -4,7 +4,6 @@ window.config = {
modes: ['@ohif/mode-test'],
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
maxNumberOfWebWorkers: 3,
showWarningMessageForCrossOrigin: false,
showCPUFallbackMessage: false,
@@ -13,10 +12,10 @@ window.config = {
defaultDataSourceName: 'e2e',
dataSources: [
{
- friendlyName: 'StaticWado test data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'e2e',
configuration: {
+ friendlyName: 'StaticWado test data',
// The most important field to set for static WADO
staticWado: true,
name: 'StaticWADO',
@@ -24,23 +23,43 @@ window.config = {
qidoRoot: '/viewer-testdata',
wadoRoot: '/viewer-testdata',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
singlepart: 'video,thumbnail,pdf',
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'Static WADO Local Data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'local',
configuration: {
+ friendlyName: 'Static WADO Local Data',
name: 'DCM4CHEE',
- qidoRoot: '/dicomweb',
- wadoRoot: '/dicomweb',
+ qidoRoot: 'http://localhost:5000/dicomweb',
+ wadoRoot: 'http://localhost:5000/dicomweb',
+ qidoSupportsIncludeField: false,
+ supportsReject: true,
+ supportsStow: true,
+ imageRendering: 'wadors',
+ thumbnailRendering: 'wadors',
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: false,
+ supportsWildcard: true,
+ staticWado: true,
+ singlepart: 'bulkdata,video,pdf',
+ },
+ },
+ {
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
+ sourceName: 'docker',
+ configuration: {
+ friendlyName: 'Static WADO Docker Data',
+ name: 'DCM4CHEE',
+ qidoRoot: 'http://localhost:25080/dicomweb',
+ wadoRoot: 'http://localhost:25080/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: true,
supportsStow: true,
@@ -54,21 +73,15 @@ window.config = {
},
},
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'ohif',
configuration: {
+ friendlyName: 'AWS S3 Static wado server',
name: 'aws',
- // old server
- // wadoUriRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/wado',
- // qidoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
- // wadoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs',
- // new server
wadoUriRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
wadoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
@@ -98,18 +111,19 @@ window.config = {
// },
// },
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/google.js b/platform/app/public/config/google.js
index 847e08ebbd0..b380a21a72f 100644
--- a/platform/app/public/config/google.js
+++ b/platform/app/public/config/google.js
@@ -6,7 +6,6 @@ window.config = {
},
enableGoogleCloudAdapter: false,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -17,8 +16,7 @@ window.config = {
// ~ REQUIRED
// Authorization Server URL
authority: 'https://accounts.google.com',
- client_id:
- '723928408739-k9k9r3i44j32rhu69vlnibipmmk9i57p.apps.googleusercontent.com',
+ client_id: '723928408739-k9k9r3i44j32rhu69vlnibipmmk9i57p.apps.googleusercontent.com',
redirect_uri: '/callback',
response_type: 'id_token token',
scope:
@@ -37,10 +35,10 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'dcmjs DICOMWeb Server',
name: 'GCP',
wadoUriRoot:
'https://healthcare.googleapis.com/v1/projects/ohif-cloud-healthcare/locations/us-east4/datasets/ohif-qa-dataset/dicomStores/ohif-qa-2/dicomWeb',
@@ -55,21 +53,24 @@ window.config = {
supportsFuzzyMatching: true,
supportsWildcard: false,
dicomUploadEnabled: true,
+ omitQuotationForMultipartRequest: true,
+ configurationAPI: 'ohif.dataSourceConfigurationAPI.google',
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
};
diff --git a/platform/app/public/config/idc.js b/platform/app/public/config/idc.js
index 6056962bd75..0089182ee98 100644
--- a/platform/app/public/config/idc.js
+++ b/platform/app/public/config/idc.js
@@ -2,7 +2,6 @@ window.config = {
routerBasename: '/',
enableGoogleCloudAdapter: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -17,8 +16,7 @@ window.config = {
// ~ REQUIRED
// Authorization Server URL
authority: 'https://accounts.google.com',
- client_id:
- '723928408739-k9k9r3i44j32rhu69vlnibipmmk9i57p.apps.googleusercontent.com',
+ client_id: '723928408739-k9k9r3i44j32rhu69vlnibipmmk9i57p.apps.googleusercontent.com',
redirect_uri: '/callback', // `OHIFStandaloneViewer.js`
response_type: 'id_token token',
scope:
diff --git a/platform/app/public/config/local_dcm4chee.js b/platform/app/public/config/local_dcm4chee.js
index 763604ffdfd..a521bfef060 100644
--- a/platform/app/public/config/local_dcm4chee.js
+++ b/platform/app/public/config/local_dcm4chee.js
@@ -8,7 +8,6 @@ window.config = {
extensions: [],
modes: [],
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -16,10 +15,10 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'DCM4CHEE Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'DCM4CHEE Server',
name: 'DCM4CHEE',
wadoUriRoot: 'http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado',
qidoRoot: 'http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs',
@@ -39,21 +38,23 @@ window.config = {
bulkDataURI: {
enabled: true,
},
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
studyListFunctionsEnabled: true,
diff --git a/platform/app/public/config/local_orthanc.js b/platform/app/public/config/local_orthanc.js
index 3153408b08e..eabb22f21a0 100644
--- a/platform/app/public/config/local_orthanc.js
+++ b/platform/app/public/config/local_orthanc.js
@@ -16,10 +16,10 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'local Orthanc DICOMWeb Server',
name: 'DCM4CHEE',
wadoUriRoot: 'http://localhost/dicom-web',
qidoRoot: 'http://localhost/dicom-web',
@@ -38,18 +38,19 @@ window.config = {
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/local_static.js b/platform/app/public/config/local_static.js
index 6774e1b9a08..89f205d0115 100644
--- a/platform/app/public/config/local_static.js
+++ b/platform/app/public/config/local_static.js
@@ -1,14 +1,11 @@
window.config = {
routerBasename: '/',
- customizationService: [
- '@ohif/extension-default.customizationModule.helloPage',
- ],
+ customizationService: ['@ohif/extension-default.customizationModule.helloPage'],
extensions: [],
modes: [],
showStudyList: true,
maxNumberOfWebWorkers: 4,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -17,15 +14,14 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'Static WADO Local Data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'Static WADO Local Data',
name: 'DCM4CHEE',
qidoRoot: '/dicomweb',
wadoRoot: '/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
@@ -33,21 +29,23 @@ window.config = {
supportsWildcard: true,
staticWado: true,
singlepart: 'bulkdata,video,pdf',
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/multiple.js b/platform/app/public/config/multiple.js
index 07a28426444..57684a9ef50 100644
--- a/platform/app/public/config/multiple.js
+++ b/platform/app/public/config/multiple.js
@@ -16,7 +16,6 @@ window.config = {
showStudyList: true,
maxNumberOfWebWorkers: 4,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -25,10 +24,10 @@ window.config = {
defaultDataSourceName: 'default',
dataSources: [
{
- friendlyName: 'Static WADO Local Data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'default',
configuration: {
+ friendlyName: 'Static WADO Local Data',
name: 'DCM4CHEE',
qidoRoot: '/dicomweb',
wadoRoot: '/dicomweb',
@@ -42,13 +41,14 @@ window.config = {
supportsWildcard: true,
staticWado: true,
singlepart: 'bulkdata,video,pdf',
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'ohif',
configuration: {
+ friendlyName: 'dcmjs DICOMWeb Server',
name: 'aws',
// old server
// wadoUriRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/wado',
@@ -59,7 +59,6 @@ window.config = {
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
wadoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
@@ -70,15 +69,14 @@ window.config = {
},
},
{
- friendlyName: 'AWS S3 OHIF',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'aws',
configuration: {
+ friendlyName: 'AWS S3 OHIF',
name: 'aws',
qidoRoot: 'https://dd32w2rfebxel.cloudfront.net/dicomweb',
wadoRoot: 'https://dd32w2rfebxel.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false,
- supportsReject: false,
supportsStow: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
@@ -90,16 +88,15 @@ window.config = {
},
},
{
- friendlyName: 'E2E Test Data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'e2e',
configuration: {
+ friendlyName: 'E2E Test Data',
name: 'DCM4CHEE',
wadoUriRoot: '/viewer-testdata',
qidoRoot: '/viewer-testdata',
wadoRoot: '/viewer-testdata',
qidoSupportsIncludeField: false,
- supportsReject: false,
supportsStow: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
@@ -111,18 +108,19 @@ window.config = {
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/netlify.js b/platform/app/public/config/netlify.js
index 1bc23c049d9..a729d1c8d50 100644
--- a/platform/app/public/config/netlify.js
+++ b/platform/app/public/config/netlify.js
@@ -4,7 +4,6 @@ window.config = {
modes: [],
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -13,15 +12,42 @@ window.config = {
defaultDataSourceName: 'dicomweb',
dataSources: [
{
- friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
+ friendlyName: 'AWS S3 Static wado server',
name: 'aws',
wadoUriRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
wadoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
+ qidoSupportsIncludeField: false,
+ imageRendering: 'wadors',
+ thumbnailRendering: 'wadors',
+ enableStudyLazyLoad: true,
+ supportsFuzzyMatching: false,
+ supportsWildcard: true,
+ staticWado: true,
+ singlepart: 'bulkdata,video',
+ // whether the data source should use retrieveBulkData to grab metadata,
+ // and in case of relative path, what would it be relative to, options
+ // are in the series level or study level (some servers like series some study)
+ bulkDataURI: {
+ enabled: true,
+ relativeResolution: 'studies',
+ },
+ omitQuotationForMultipartRequest: true,
+ },
+ },
+ {
+ namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
+ sourceName: 'dicomweb2',
+ configuration: {
+ friendlyName: 'AWS S3 Static wado secondary server',
+ name: 'aws',
+ wadoUriRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
+ qidoRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
+ wadoRoot: 'https://d28o5kq0jsoob5.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: false,
imageRendering: 'wadors',
@@ -38,21 +64,23 @@ window.config = {
enabled: true,
relativeResolution: 'studies',
},
+ omitQuotationForMultipartRequest: true,
},
},
{
- friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
+ friendlyName: 'dicom json',
name: 'json',
},
},
{
- friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
- configuration: {},
+ configuration: {
+ friendlyName: 'dicom local',
+ },
},
],
httpErrorHandler: error => {
diff --git a/platform/app/public/config/public_dicomweb.js b/platform/app/public/config/public_dicomweb.js
index 322d8968465..2dc7503744f 100644
--- a/platform/app/public/config/public_dicomweb.js
+++ b/platform/app/public/config/public_dicomweb.js
@@ -2,7 +2,6 @@ window.config = {
routerBasename: '/',
showStudyList: true,
// below flag is for performance reasons, but it might not work for all servers
- omitQuotationForMultipartRequest: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
showLoadingIndicator: true,
@@ -18,6 +17,7 @@ window.config = {
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
supportsFuzzyMatching: true,
+ omitQuotationForMultipartRequest: true,
},
],
},
diff --git a/platform/app/public/es6-shim.min.js b/platform/app/public/es6-shim.min.js
index f8ef71c73a7..c1447d6fc70 100644
--- a/platform/app/public/es6-shim.min.js
+++ b/platform/app/public/es6-shim.min.js
@@ -7,6 +7,3573 @@
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
-(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var L=Math.exp;var F=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var W=function(){};var G=S.Map;var H=G&&G.prototype["delete"];var V=G&&G.prototype.get;var B=G&&G.prototype.has;var U=G&&G.prototype.set;var $=S.Symbol||{};var J=$.species||"@@species";var X=Number.isNaN||function isNaN(e){return e!==e};var K=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Z=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(X(t)){return t}return t<0?-1:1};var Y=function log1p(e){var t=Number(e);if(t<-1||X(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(F(1+t)/(1+t-1))};var Q=function isArguments(e){return g(e)==="[object Arguments]"};var ee=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var te=Q(arguments)?Q:ee;var re={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var ne=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var oe=typeof $==="function"&&typeof $["for"]==="function"&&re.symbol($());var ie=re.symbol($.iterator)?$.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ie="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ae=S.Reflect;var ue=String;var fe=typeof document==="undefined"||!document?null:document.all;var se=fe==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==fe};var ce={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!ce.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(se(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===fe},ToObject:function(e,t){return Object(ce.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return ce.IsCallable(e)},ToInt32:function(e){return ce.ToNumber(e)>>0},ToUint32:function(e){return ce.ToNumber(e)>>>0},ToNumber:function(e){if(g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ce.ToNumber(e);if(X(t)){return 0}if(t===0||!K(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=ce.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return X(e)&&X(t)},SameValueZero:function(e,t){return e===t||X(e)&&X(t)},IsIterable:function(e){return ce.TypeIsObject(e)&&(typeof e[ie]!=="undefined"||te(e))},GetIterator:function(e){if(te(e)){return new q(e,"value")}var t=ce.GetMethod(e,ie);if(!ce.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=ce.Call(t,e);if(!ce.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=ce.ToObject(e)[t];if(se(r)){return void 0}if(!ce.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=ce.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=ce.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!ce.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ce.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ce.IteratorNext(e);var r=ce.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ae.construct){return ae.construct(e,t,o)}var i=o.prototype;if(!ce.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=ce.Call(e,a,t);return ce.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ce.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[J];if(se(n)){return t}if(!ce.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=ce.ToString(e);var i="<"+t;if(r!==""){var a=ce.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""+t+">"},IsRegExp:function IsRegExp(e){if(!ce.TypeIsObject(e)){return false}var t=e[$.match];if(typeof t!=="undefined"){return!!t}return re.regex(e)},ToString:function ToString(e){return ue(e)}};if(s&&oe){var le=function defineWellKnownSymbol(e){if(re.symbol($[e])){return $[e]}var t=$["for"]("Symbol."+e);Object.defineProperty($,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!re.symbol($.search)){var pe=le("search");var ve=String.prototype.search;h(RegExp.prototype,pe,function search(e){return ce.Call(ve,e,[this])});var ye=function search(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,pe);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(ve,t,[ce.ToString(e)])};ne(String.prototype,"search",ye)}if(!re.symbol($.replace)){var he=le("replace");var be=String.prototype.replace;h(RegExp.prototype,he,function replace(e,t){return ce.Call(be,e,[this,t])});var ge=function replace(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,he);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(be,r,[ce.ToString(e),t])};ne(String.prototype,"replace",ge)}if(!re.symbol($.split)){var de=le("split");var me=String.prototype.split;h(RegExp.prototype,de,function split(e,t){return ce.Call(me,e,[this,t])});var Oe=function split(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,de);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(me,r,[ce.ToString(e),t])};ne(String.prototype,"split",Oe)}var we=re.symbol($.match);var je=we&&function(){var e={};e[$.match]=function(){return 42};return"a".match(e)!==42}();if(!we||je){var Se=le("match");var Te=String.prototype.match;h(RegExp.prototype,Se,function match(e){return ce.Call(Te,e,[this])});var Ie=function match(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,Se);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(Te,t,[ce.ToString(e)])};ne(String.prototype,"match",Ie)}}var Ee=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in W||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in W||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Pe=function(){return this};var Ce=function(e){if(s&&!z(e,J)){m.getter(e,J,Pe)}};var Me=function(e,t){var r=t||function iterator(){return this};h(e,ie,r);if(!e[ie]&&re.symbol(ie)){e[ie]=r}};var xe=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ne=function createDataPropertyOrThrow(e,t,r){xe(e,t,r);if(!ce.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Ae=function(e,t,r,n){if(!ce.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ce.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(z(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Re=String.fromCodePoint;ne(String,"fromCodePoint",function fromCodePoint(e){return ce.Call(Re,this,arguments)})}var _e={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=ce.ToObject(e,"bad callSite");var r=ce.ToObject(t.raw,"bad raw value");var n=r.length;var o=ce.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Le){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ke(t,r)},startsWith:function startsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=ce.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(ce.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=ce.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:ce.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(ce.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=ce.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=ce.ToString(ce.RequireObjectCoercible(this));var r=ce.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){ne(String.prototype,"includes",Fe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var De=i(function(){return"/a/".startsWith(/a/)});var ze=a(function(){return"abc".startsWith("a",Infinity)===false});if(!De||!ze){ne(String.prototype,"startsWith",Fe.startsWith);ne(String.prototype,"endsWith",Fe.endsWith)}}if(oe){var qe=a(function(){var e=/a/;e[$.match]=false;return"/a/".startsWith(e)});if(!qe){ne(String.prototype,"startsWith",Fe.startsWith)}var We=a(function(){var e=/a/;e[$.match]=false;return"/a/".endsWith(e)});if(!We){ne(String.prototype,"endsWith",Fe.endsWith)}var Ge=a(function(){var e=/a/;e[$.match]=false;return"/a/".includes(e)});if(!Ge){ne(String.prototype,"includes",Fe.includes)}}b(String.prototype,Fe);var He=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Ve=new RegExp("(^["+He+"]+)|(["+He+"]+$)","g");var Be=function trim(){return ce.ToString(ce.RequireObjectCoercible(this)).replace(Ve,"")};var Ue=["\x85","\u200b","\ufffe"].join("");var $e=new RegExp("["+Ue+"]","g");var Je=/^[-+]0x[0-9a-f]+$/i;var Xe=Ue.trim().length!==Ue.length;h(String.prototype,"trim",Be,Xe);var Ke=function(e){return{value:e,done:arguments.length===0}};var Ze=function(e){ce.RequireObjectCoercible(e);this._s=ce.ToString(e);this._i=0};Ze.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ke()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Ke(e.substr(t,o))};Me(Ze.prototype);Me(String.prototype,function(){return new Ze(this)});var Ye={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!ce.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(te(e)||ce.GetMethod(e,ie))!=="undefined";var u,f,s;if(a){f=ce.IsConstructor(r)?Object(new r):[];var c=ce.GetIterator(e);var l,p;s=0;while(true){l=ce.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){ce.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=ce.ToObject(e);u=ce.ToLength(y.length);f=ce.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:ce.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=ce.ToObject(this);var o=ce.ToLength(n.length);t=ce.ToInteger(typeof t==="undefined"?0:t);r=ce.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return ce.Call(it,this,arguments)}else{return t(it,this,e)}})}var at=-(Math.pow(2,32)-1);var ut=function(e,r){var n={length:at};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!ut(Array.prototype.forEach)){var ft=Array.prototype.forEach;ne(Array.prototype,"forEach",function forEach(e){return ce.Call(ft,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.map)){var st=Array.prototype.map;ne(Array.prototype,"map",function map(e){return ce.Call(st,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.filter)){var ct=Array.prototype.filter;ne(Array.prototype,"filter",function filter(e){return ce.Call(ct,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.some)){var lt=Array.prototype.some;ne(Array.prototype,"some",function some(e){return ce.Call(lt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.every)){var pt=Array.prototype.every;ne(Array.prototype,"every",function every(e){return ce.Call(pt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduce)){var vt=Array.prototype.reduce;ne(Array.prototype,"reduce",function reduce(e){return ce.Call(vt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduceRight,true)){var yt=Array.prototype.reduceRight;ne(Array.prototype,"reduceRight",function reduceRight(e){return ce.Call(yt,this.length>=0?this:[],arguments)},true)}var ht=Number("0o10")!==8;var bt=Number("0b10")!==2;var gt=y(Ue,function(e){return Number(e+0+e)===0});if(ht||bt||gt){var dt=Number;var mt=/^0b[01]+$/i;var Ot=/^0o[0-7]+$/i;var wt=mt.test.bind(mt);var jt=Ot.test.bind(Ot);var St=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(re.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(re.primitive(t)){return t}}throw new TypeError("No default value")};var Tt=$e.test.bind($e);var It=Je.test.bind(Je);var Et=function(){var e=function Number(t){var r;if(arguments.length>0){r=re.primitive(t)?t:St(t,"number")}else{r=0}if(typeof r==="string"){r=ce.Call(Be,r);if(wt(r)){r=parseInt(C(r,2),2)}else if(jt(r)){r=parseInt(C(r,2),8)}else if(Tt(r)||It(r)){r=NaN}}var n=this;var o=a(function(){dt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new dt(r)}return dt(r)};return e}();Ee(dt,Et,{});b(Et,{NaN:dt.NaN,MAX_VALUE:dt.MAX_VALUE,MIN_VALUE:dt.MIN_VALUE,NEGATIVE_INFINITY:dt.NEGATIVE_INFINITY,POSITIVE_INFINITY:dt.POSITIVE_INFINITY});Number=Et;m.redefine(S,"Number",Et)}var Pt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Pt,MIN_SAFE_INTEGER:-Pt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:K,isInteger:function isInteger(e){return K(e)&&ce.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:X});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){ne(Array.prototype,"find",et.find)}if([,1].findIndex(function(){return true})!==0){ne(Array.prototype,"findIndex",et.findIndex)}var Ct=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Mt=function ensureEnumerable(e,t){if(s&&Ct(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var xt=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}var r=k(t);return Z(t)*Y(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=L(F(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=ce.ToUint32(t);if(r===0){return 32}return Pr?ce.Call(Pr,r):31-_(F(r+.5)*Ir)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(X(t)){return NaN}if(!T(t)){return Infinity}var r=L(k(t)-1);return(r+1/(r*Tr*Tr))*(Tr/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(t)>.5){return L(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*D(r)},log2:function log2(e){return F(e)*Ir},log10:function log10(e){return F(e)*Er},log1p:Y,sign:Z,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=k(t);if(r<1){var n=Math.expm1(r);return Z(t)*n*(1+1/(n+1))/2}var o=L(r-1);return Z(t)*(o-1/(o*Tr*Tr))*(Tr/2)},tanh:function tanh(e){var t=Number(e);if(X(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(L(t)+L(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=ce.ToUint32(e);var n=ce.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||X(t)){return t}var r=Z(t);var n=k(t);if(njr||X(i)){return r*Infinity}return r*i}};var Mr=function withinULPDistance(e,t,r){return k(1-e/t)/Number.EPSILON<(r||8)};b(Math,Cr);h(Math,"sinh",Cr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",Cr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",Cr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",Cr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"asinh",Cr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",Cr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",Cr.tanh,Math.tanh(-2e-17)!==-2e-17);
- h(Math,"acosh",Cr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",Cr.acosh,!Mr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",Cr.cbrt,!Mr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",Cr.sinh,Math.sinh(-2e-17)!==-2e-17);var xr=Math.expm1(10);h(Math,"expm1",Cr.expm1,xr>22025.465794806718||xr<22025.465794806718);var Nr=Math.round;var Ar=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Rr=mr+1;var _r=2*mr-1;var kr=[Rr,_r].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Ar||!kr);m.preserveToString(Math.round,Nr);var Lr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Cr.imul;m.preserveToString(Math.imul,Lr)}if(Math.imul.length!==2){ne(Math,"imul",function imul(e,t){return ce.Call(Lr,Math,arguments)})}var Fr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}ce.IsPromise=function(e){if(!ce.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!ce.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(ce.IsCallable(t.resolve)&&ce.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&ce.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=ce.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(ce.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=ce.IsCallable(e)?e:a;var d=ce.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof Fr==="function"){b(S,{Promise:Fr});var Dr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var zr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,W)});var qr=i(function(){return S.Promise.call(3,W)});var Wr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,W).then(null,W)}catch(n){return true}return t===r}(S.Promise);var Gr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Hr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Hr.prototype=Promise.prototype;Hr.all=Promise.all;var Vr=a(function(){return!!Hr.all([1,2])});if(!Dr||!zr||!qr||Wr||!Gr||Vr){Promise=Fr;ne(S,"Promise",Fr)}if(Promise.all.length!==1){var Br=Promise.all;ne(Promise,"all",function all(e){return ce.Call(Br,this,arguments)})}if(Promise.race.length!==1){var Ur=Promise.race;ne(Promise,"race",function race(e){return ce.Call(Ur,this,arguments)})}if(Promise.resolve.length!==1){var $r=Promise.resolve;ne(Promise,"resolve",function resolve(e){return ce.Call($r,this,arguments)})}if(Promise.reject.length!==1){var Jr=Promise.reject;ne(Promise,"reject",function reject(e){return ce.Call(Jr,this,arguments)})}Mt(Promise,"all");Mt(Promise,"race");Mt(Promise,"resolve");Mt(Promise,"reject");Ce(Promise)}var Xr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Kr=Xr(["z","a","bb"]);var Zr=Xr(["z",1,"a","3",2]);if(s){var Yr=function fastkey(e,t){if(!t&&!Kr){return null}if(se(e)){return"^"+ce.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Zr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var Qr=function emptyObject(){return Object.create?Object.create(null):{}};var en=function addIterableToMap(e,n,o){if(r(o)||re.string(o)){l(o,function(e){if(!ce.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!se(o)){a=n.set;if(!ce.IsCallable(a)){throw new TypeError("bad map")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!ce.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){ce.IteratorClose(i,true);throw s}}}}};var tn=function addIterableToSet(e,n,o){if(r(o)||re.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!se(o)){a=n.add;if(!ce.IsCallable(a)){throw new TypeError("bad set")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){ce.IteratorClose(i,true);throw s}}}}};var rn={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!ce.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ce.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ke()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Ke(n)}}this.i=void 0;return Ke()}};Me(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Ae(this,Map,a,{_es6map:true,_head:null,_map:G?new G:null,_size:0,_storage:Qr()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){en(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=Yr(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}else{return}}if(this._map){t=V.call(this._map,e);if(t){return t.value}else{return}}var n=this._head;var i=n;while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Yr(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return B.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(ce.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=Yr(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}else if(this._map){if(B.call(this._map,e)){V.call(this._map,e).value=t}else{a=new r(e,t);U.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ce.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head;var n=r;var i=Yr(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!B.call(this._map,t)){return false}n=V.call(this._map,t).prev;H.call(this._map,t)}while((n=n.next)!==r){if(ce.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=G?new G:null;this._size=0;this._storage=Qr();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});Me(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!ce.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+ce.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Ae(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Qr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){tn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new rn.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Yr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Yr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Yr(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Qr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);Me(i.prototype,i.prototype.values);var f=function SetIterator(e){this.it=e};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};Me(f.prototype);return i}()};var nn=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(nn){S.Set=rn.Set}if(S.Map||S.Set){var on=a(function(){return new Map([[1,2]]).get(1)===2});if(!on){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(G.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var an=new Map;var un=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var fn=an.set(1,2)===an;if(!un||!fn){ne(Map.prototype,"set",function set(e,r){t(U,this,e===0?0:e,r);return this})}if(!un){b(Map.prototype,{get:function get(e){return t(V,this,e===0?0:e)},has:function has(e){return t(B,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,V);m.preserveToString(Map.prototype.has,B)}var sn=new Set;var cn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(sn);var ln=sn.add(1)===sn;if(!cn||!ln){var pn=Set.prototype.add;Set.prototype.add=function add(e){t(pn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,pn)}if(!cn){var vn=Set.prototype.has;Set.prototype.has=function has(e){return t(vn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,vn);var yn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(yn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],yn)}var hn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var bn=Object.setPrototypeOf&&!hn;var gn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||bn||!gn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=G.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var dn=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var mn=Object.setPrototypeOf&&!dn;var On=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||mn||!On){var wn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new wn;if(arguments.length>0){tn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=wn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,wn)}var jn=new S.Map;var Sn=!a(function(){return jn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||jn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof jn.keys().next!=="function"||Sn||!hn){b(S,{Map:rn.Map,Set:rn.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}Me(Object.getPrototypeOf((new S.Map).keys()));Me(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var Tn=S.Set.prototype.has;ne(S.Set.prototype,"has",function has(e){return t(Tn,this,e)})}}b(S,rn);Ce(S.Map);Ce(S.Set)}var In=function throwUnlessTargetIsObject(e){if(!ce.TypeIsObject(e)){throw new TypeError("target must be an object")}};var En={apply:function apply(){return ce.Call(ce.Call,null,arguments)},construct:function construct(e,t){if(!ce.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!ce.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ce.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){In(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){In(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(En,{ownKeys:function ownKeys(e){In(e);var t=Object.getOwnPropertyNames(e);if(ce.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Pn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(En,{isExtensible:function isExtensible(e){In(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){In(e);return Pn(function(){return Object.preventExtensions(e)})}})}if(s){var Cn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return Cn(o,t,r)}if("value"in n){return n.value}if(n.get){return ce.Call(n.get,r)}return void 0};var Mn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Mn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ce.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ae.defineProperty(o,r,{value:n})}else{return ae.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(En,{defineProperty:function defineProperty(e,t,r){In(e);return Pn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){In(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){In(e);var r=arguments.length>2?arguments[2]:e;return Cn(e,t,r)},set:function set(e,t,r){In(e);var n=arguments.length>3?arguments[3]:e;return Mn(e,t,r,n)}})}if(Object.getPrototypeOf){var xn=Object.getPrototypeOf;En.getPrototypeOf=function getPrototypeOf(e){In(e);return xn(e)}}if(Object.setPrototypeOf&&En.getPrototypeOf){var Nn=function(e,t){var r=t;while(r){if(e===r){return true}r=En.getPrototypeOf(r)}return false};Object.assign(En,{setPrototypeOf:function setPrototypeOf(e,t){In(e);if(t!==null&&!ce.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ae.getPrototypeOf(e)){return true}if(ae.isExtensible&&!ae.isExtensible(e)){return false}if(Nn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var An=function(e,t){if(!ce.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){ne(S.Reflect,e,t)}}};Object.keys(En).forEach(function(e){An(e,En[e])});var Rn=S.Reflect.getPrototypeOf;if(c&&Rn&&Rn.name!=="getPrototypeOf"){ne(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(Rn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){ne(S.Reflect,"setPrototypeOf",En.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){ne(S.Reflect,"defineProperty",En.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){ne(S.Reflect,"construct",En.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var _n=Date.prototype.toString;var kn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return ce.Call(_n,this)};ne(Date.prototype,"toString",kn)}var Ln={anchor:function anchor(e){return ce.CreateHTML(this,"a","name",e)},big:function big(){return ce.CreateHTML(this,"big","","")},blink:function blink(){return ce.CreateHTML(this,"blink","","")},bold:function bold(){return ce.CreateHTML(this,"b","","")},fixed:function fixed(){return ce.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return ce.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return ce.CreateHTML(this,"font","size",e)},italics:function italics(){return ce.CreateHTML(this,"i","","")},link:function link(e){return ce.CreateHTML(this,"a","href",e)},small:function small(){return ce.CreateHTML(this,"small","","")},strike:function strike(){return ce.CreateHTML(this,"strike","","")},sub:function sub(){return ce.CreateHTML(this,"sub","","")},sup:function sub(){return ce.CreateHTML(this,"sup","","")}};l(Object.keys(Ln),function(e){var r=String.prototype[e];var n=false;if(ce.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){ne(String.prototype,e,Ln[e])}});var Fn=function(){if(!oe){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e($())!=="undefined"){return true}if(e([$()])!=="[null]"){return true}var t={a:$()};t[$()]=true;if(e(t)!=="{}"){return true}return false}();var Dn=a(function(){if(!oe){return true}return JSON.stringify(Object($()))==="{}"&&JSON.stringify([Object($())])==="[{}]"});if(Fn||!Dn){var zn=JSON.stringify;ne(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=ce.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(re.symbol(n)){return Nt({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return zn.apply(this,o)})}return S});
+(function (e, t) {
+ if (typeof define === 'function' && define.amd) {
+ define(t);
+ } else if (typeof exports === 'object') {
+ module.exports = t();
+ } else {
+ e.returnExports = t();
+ }
+})(this, function () {
+ 'use strict';
+ var e = Function.call.bind(Function.apply);
+ var t = Function.call.bind(Function.call);
+ var r = Array.isArray;
+ var n = Object.keys;
+ var o = function notThunker(t) {
+ return function notThunk() {
+ return !e(t, this, arguments);
+ };
+ };
+ var i = function (e) {
+ try {
+ e();
+ return false;
+ } catch (t) {
+ return true;
+ }
+ };
+ var a = function valueOrFalseIfThrows(e) {
+ try {
+ return e();
+ } catch (t) {
+ return false;
+ }
+ };
+ var u = o(i);
+ var f = function () {
+ return !i(function () {
+ return Object.defineProperty({}, 'x', { get: function () {} });
+ });
+ };
+ var s = !!Object.defineProperty && f();
+ var c = function foo() {}.name === 'foo';
+ var l = Function.call.bind(Array.prototype.forEach);
+ var p = Function.call.bind(Array.prototype.reduce);
+ var v = Function.call.bind(Array.prototype.filter);
+ var y = Function.call.bind(Array.prototype.some);
+ var h = function (e, t, r, n) {
+ if (!n && t in e) {
+ return;
+ }
+ if (s) {
+ Object.defineProperty(e, t, {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: r,
+ });
+ } else {
+ e[t] = r;
+ }
+ };
+ var b = function (e, t, r) {
+ l(n(t), function (n) {
+ var o = t[n];
+ h(e, n, o, !!r);
+ });
+ };
+ var g = Function.call.bind(Object.prototype.toString);
+ var d =
+ typeof /abc/ === 'function'
+ ? function IsCallableSlow(e) {
+ return typeof e === 'function' && g(e) === '[object Function]';
+ }
+ : function IsCallableFast(e) {
+ return typeof e === 'function';
+ };
+ var m = {
+ getter: function (e, t, r) {
+ if (!s) {
+ throw new TypeError('getters require true ES5 support');
+ }
+ Object.defineProperty(e, t, {
+ configurable: true,
+ enumerable: false,
+ get: r,
+ });
+ },
+ proxy: function (e, t, r) {
+ if (!s) {
+ throw new TypeError('getters require true ES5 support');
+ }
+ var n = Object.getOwnPropertyDescriptor(e, t);
+ Object.defineProperty(r, t, {
+ configurable: n.configurable,
+ enumerable: n.enumerable,
+ get: function getKey() {
+ return e[t];
+ },
+ set: function setKey(r) {
+ e[t] = r;
+ },
+ });
+ },
+ redefine: function (e, t, r) {
+ if (s) {
+ var n = Object.getOwnPropertyDescriptor(e, t);
+ n.value = r;
+ Object.defineProperty(e, t, n);
+ } else {
+ e[t] = r;
+ }
+ },
+ defineByDescriptor: function (e, t, r) {
+ if (s) {
+ Object.defineProperty(e, t, r);
+ } else if ('value' in r) {
+ e[t] = r.value;
+ }
+ },
+ preserveToString: function (e, t) {
+ if (t && d(t.toString)) {
+ h(e, 'toString', t.toString.bind(t), true);
+ }
+ },
+ };
+ var O =
+ Object.create ||
+ function (e, t) {
+ var r = function Prototype() {};
+ r.prototype = e;
+ var o = new r();
+ if (typeof t !== 'undefined') {
+ n(t).forEach(function (e) {
+ m.defineByDescriptor(o, e, t[e]);
+ });
+ }
+ return o;
+ };
+ var w = function (e, t) {
+ if (!Object.setPrototypeOf) {
+ return false;
+ }
+ return a(function () {
+ var r = function Subclass(t) {
+ var r = new e(t);
+ Object.setPrototypeOf(r, Subclass.prototype);
+ return r;
+ };
+ Object.setPrototypeOf(r, e);
+ r.prototype = O(e.prototype, { constructor: { value: r } });
+ return t(r);
+ });
+ };
+ var j = function () {
+ if (typeof self !== 'undefined') {
+ return self;
+ }
+ if (typeof window !== 'undefined') {
+ return window;
+ }
+ if (typeof global !== 'undefined') {
+ return global;
+ }
+ throw new Error('unable to locate global object');
+ };
+ var S = j();
+ var T = S.isFinite;
+ var I = Function.call.bind(String.prototype.indexOf);
+ var E = Function.apply.bind(Array.prototype.indexOf);
+ var P = Function.call.bind(Array.prototype.concat);
+ var C = Function.call.bind(String.prototype.slice);
+ var M = Function.call.bind(Array.prototype.push);
+ var x = Function.apply.bind(Array.prototype.push);
+ var N = Function.call.bind(Array.prototype.shift);
+ var A = Math.max;
+ var R = Math.min;
+ var _ = Math.floor;
+ var k = Math.abs;
+ var L = Math.exp;
+ var F = Math.log;
+ var D = Math.sqrt;
+ var z = Function.call.bind(Object.prototype.hasOwnProperty);
+ var q;
+ var W = function () {};
+ var G = S.Map;
+ var H = G && G.prototype['delete'];
+ var V = G && G.prototype.get;
+ var B = G && G.prototype.has;
+ var U = G && G.prototype.set;
+ var $ = S.Symbol || {};
+ var J = $.species || '@@species';
+ var X =
+ Number.isNaN ||
+ function isNaN(e) {
+ return e !== e;
+ };
+ var K =
+ Number.isFinite ||
+ function isFinite(e) {
+ return typeof e === 'number' && T(e);
+ };
+ var Z = d(Math.sign)
+ ? Math.sign
+ : function sign(e) {
+ var t = Number(e);
+ if (t === 0) {
+ return t;
+ }
+ if (X(t)) {
+ return t;
+ }
+ return t < 0 ? -1 : 1;
+ };
+ var Y = function log1p(e) {
+ var t = Number(e);
+ if (t < -1 || X(t)) {
+ return NaN;
+ }
+ if (t === 0 || t === Infinity) {
+ return t;
+ }
+ if (t === -1) {
+ return -Infinity;
+ }
+ return 1 + t - 1 === 0 ? t : t * (F(1 + t) / (1 + t - 1));
+ };
+ var Q = function isArguments(e) {
+ return g(e) === '[object Arguments]';
+ };
+ var ee = function isArguments(e) {
+ return (
+ e !== null &&
+ typeof e === 'object' &&
+ typeof e.length === 'number' &&
+ e.length >= 0 &&
+ g(e) !== '[object Array]' &&
+ g(e.callee) === '[object Function]'
+ );
+ };
+ var te = Q(arguments) ? Q : ee;
+ var re = {
+ primitive: function (e) {
+ return e === null || (typeof e !== 'function' && typeof e !== 'object');
+ },
+ string: function (e) {
+ return g(e) === '[object String]';
+ },
+ regex: function (e) {
+ return g(e) === '[object RegExp]';
+ },
+ symbol: function (e) {
+ return typeof S.Symbol === 'function' && typeof e === 'symbol';
+ },
+ };
+ var ne = function overrideNative(e, t, r) {
+ var n = e[t];
+ h(e, t, r, true);
+ m.preserveToString(e[t], n);
+ };
+ var oe = typeof $ === 'function' && typeof $['for'] === 'function' && re.symbol($());
+ var ie = re.symbol($.iterator) ? $.iterator : '_es6-shim iterator_';
+ if (S.Set && typeof new S.Set()['@@iterator'] === 'function') {
+ ie = '@@iterator';
+ }
+ if (!S.Reflect) {
+ h(S, 'Reflect', {}, true);
+ }
+ var ae = S.Reflect;
+ var ue = String;
+ var fe = typeof document === 'undefined' || !document ? null : document.all;
+ var se =
+ fe == null
+ ? function isNullOrUndefined(e) {
+ return e == null;
+ }
+ : function isNullOrUndefinedAndNotDocumentAll(e) {
+ return e == null && e !== fe;
+ };
+ var ce = {
+ Call: function Call(t, r) {
+ var n = arguments.length > 2 ? arguments[2] : [];
+ if (!ce.IsCallable(t)) {
+ throw new TypeError(t + ' is not a function');
+ }
+ return e(t, r, n);
+ },
+ RequireObjectCoercible: function (e, t) {
+ if (se(e)) {
+ throw new TypeError(t || 'Cannot call method on ' + e);
+ }
+ return e;
+ },
+ TypeIsObject: function (e) {
+ if (e === void 0 || e === null || e === true || e === false) {
+ return false;
+ }
+ return typeof e === 'function' || typeof e === 'object' || e === fe;
+ },
+ ToObject: function (e, t) {
+ return Object(ce.RequireObjectCoercible(e, t));
+ },
+ IsCallable: d,
+ IsConstructor: function (e) {
+ return ce.IsCallable(e);
+ },
+ ToInt32: function (e) {
+ return ce.ToNumber(e) >> 0;
+ },
+ ToUint32: function (e) {
+ return ce.ToNumber(e) >>> 0;
+ },
+ ToNumber: function (e) {
+ if (g(e) === '[object Symbol]') {
+ throw new TypeError('Cannot convert a Symbol value to a number');
+ }
+ return +e;
+ },
+ ToInteger: function (e) {
+ var t = ce.ToNumber(e);
+ if (X(t)) {
+ return 0;
+ }
+ if (t === 0 || !K(t)) {
+ return t;
+ }
+ return (t > 0 ? 1 : -1) * _(k(t));
+ },
+ ToLength: function (e) {
+ var t = ce.ToInteger(e);
+ if (t <= 0) {
+ return 0;
+ }
+ if (t > Number.MAX_SAFE_INTEGER) {
+ return Number.MAX_SAFE_INTEGER;
+ }
+ return t;
+ },
+ SameValue: function (e, t) {
+ if (e === t) {
+ if (e === 0) {
+ return 1 / e === 1 / t;
+ }
+ return true;
+ }
+ return X(e) && X(t);
+ },
+ SameValueZero: function (e, t) {
+ return e === t || (X(e) && X(t));
+ },
+ IsIterable: function (e) {
+ return ce.TypeIsObject(e) && (typeof e[ie] !== 'undefined' || te(e));
+ },
+ GetIterator: function (e) {
+ if (te(e)) {
+ return new q(e, 'value');
+ }
+ var t = ce.GetMethod(e, ie);
+ if (!ce.IsCallable(t)) {
+ throw new TypeError('value is not an iterable');
+ }
+ var r = ce.Call(t, e);
+ if (!ce.TypeIsObject(r)) {
+ throw new TypeError('bad iterator');
+ }
+ return r;
+ },
+ GetMethod: function (e, t) {
+ var r = ce.ToObject(e)[t];
+ if (se(r)) {
+ return void 0;
+ }
+ if (!ce.IsCallable(r)) {
+ throw new TypeError('Method not callable: ' + t);
+ }
+ return r;
+ },
+ IteratorComplete: function (e) {
+ return !!e.done;
+ },
+ IteratorClose: function (e, t) {
+ var r = ce.GetMethod(e, 'return');
+ if (r === void 0) {
+ return;
+ }
+ var n, o;
+ try {
+ n = ce.Call(r, e);
+ } catch (i) {
+ o = i;
+ }
+ if (t) {
+ return;
+ }
+ if (o) {
+ throw o;
+ }
+ if (!ce.TypeIsObject(n)) {
+ throw new TypeError("Iterator's return method returned a non-object.");
+ }
+ },
+ IteratorNext: function (e) {
+ var t = arguments.length > 1 ? e.next(arguments[1]) : e.next();
+ if (!ce.TypeIsObject(t)) {
+ throw new TypeError('bad iterator');
+ }
+ return t;
+ },
+ IteratorStep: function (e) {
+ var t = ce.IteratorNext(e);
+ var r = ce.IteratorComplete(t);
+ return r ? false : t;
+ },
+ Construct: function (e, t, r, n) {
+ var o = typeof r === 'undefined' ? e : r;
+ if (!n && ae.construct) {
+ return ae.construct(e, t, o);
+ }
+ var i = o.prototype;
+ if (!ce.TypeIsObject(i)) {
+ i = Object.prototype;
+ }
+ var a = O(i);
+ var u = ce.Call(e, a, t);
+ return ce.TypeIsObject(u) ? u : a;
+ },
+ SpeciesConstructor: function (e, t) {
+ var r = e.constructor;
+ if (r === void 0) {
+ return t;
+ }
+ if (!ce.TypeIsObject(r)) {
+ throw new TypeError('Bad constructor');
+ }
+ var n = r[J];
+ if (se(n)) {
+ return t;
+ }
+ if (!ce.IsConstructor(n)) {
+ throw new TypeError('Bad @@species');
+ }
+ return n;
+ },
+ CreateHTML: function (e, t, r, n) {
+ var o = ce.ToString(e);
+ var i = '<' + t;
+ if (r !== '') {
+ var a = ce.ToString(n);
+ var u = a.replace(/"/g, '"');
+ i += ' ' + r + '="' + u + '"';
+ }
+ var f = i + '>';
+ var s = f + o;
+ return s + '' + t + '>';
+ },
+ IsRegExp: function IsRegExp(e) {
+ if (!ce.TypeIsObject(e)) {
+ return false;
+ }
+ var t = e[$.match];
+ if (typeof t !== 'undefined') {
+ return !!t;
+ }
+ return re.regex(e);
+ },
+ ToString: function ToString(e) {
+ return ue(e);
+ },
+ };
+ if (s && oe) {
+ var le = function defineWellKnownSymbol(e) {
+ if (re.symbol($[e])) {
+ return $[e];
+ }
+ var t = $['for']('Symbol.' + e);
+ Object.defineProperty($, e, {
+ configurable: false,
+ enumerable: false,
+ writable: false,
+ value: t,
+ });
+ return t;
+ };
+ if (!re.symbol($.search)) {
+ var pe = le('search');
+ var ve = String.prototype.search;
+ h(RegExp.prototype, pe, function search(e) {
+ return ce.Call(ve, e, [this]);
+ });
+ var ye = function search(e) {
+ var t = ce.RequireObjectCoercible(this);
+ if (!se(e)) {
+ var r = ce.GetMethod(e, pe);
+ if (typeof r !== 'undefined') {
+ return ce.Call(r, e, [t]);
+ }
+ }
+ return ce.Call(ve, t, [ce.ToString(e)]);
+ };
+ ne(String.prototype, 'search', ye);
+ }
+ if (!re.symbol($.replace)) {
+ var he = le('replace');
+ var be = String.prototype.replace;
+ h(RegExp.prototype, he, function replace(e, t) {
+ return ce.Call(be, e, [this, t]);
+ });
+ var ge = function replace(e, t) {
+ var r = ce.RequireObjectCoercible(this);
+ if (!se(e)) {
+ var n = ce.GetMethod(e, he);
+ if (typeof n !== 'undefined') {
+ return ce.Call(n, e, [r, t]);
+ }
+ }
+ return ce.Call(be, r, [ce.ToString(e), t]);
+ };
+ ne(String.prototype, 'replace', ge);
+ }
+ if (!re.symbol($.split)) {
+ var de = le('split');
+ var me = String.prototype.split;
+ h(RegExp.prototype, de, function split(e, t) {
+ return ce.Call(me, e, [this, t]);
+ });
+ var Oe = function split(e, t) {
+ var r = ce.RequireObjectCoercible(this);
+ if (!se(e)) {
+ var n = ce.GetMethod(e, de);
+ if (typeof n !== 'undefined') {
+ return ce.Call(n, e, [r, t]);
+ }
+ }
+ return ce.Call(me, r, [ce.ToString(e), t]);
+ };
+ ne(String.prototype, 'split', Oe);
+ }
+ var we = re.symbol($.match);
+ var je =
+ we &&
+ (function () {
+ var e = {};
+ e[$.match] = function () {
+ return 42;
+ };
+ return 'a'.match(e) !== 42;
+ })();
+ if (!we || je) {
+ var Se = le('match');
+ var Te = String.prototype.match;
+ h(RegExp.prototype, Se, function match(e) {
+ return ce.Call(Te, e, [this]);
+ });
+ var Ie = function match(e) {
+ var t = ce.RequireObjectCoercible(this);
+ if (!se(e)) {
+ var r = ce.GetMethod(e, Se);
+ if (typeof r !== 'undefined') {
+ return ce.Call(r, e, [t]);
+ }
+ }
+ return ce.Call(Te, t, [ce.ToString(e)]);
+ };
+ ne(String.prototype, 'match', Ie);
+ }
+ }
+ var Ee = function wrapConstructor(e, t, r) {
+ m.preserveToString(t, e);
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(e, t);
+ }
+ if (s) {
+ l(Object.getOwnPropertyNames(e), function (n) {
+ if (n in W || r[n]) {
+ return;
+ }
+ m.proxy(e, n, t);
+ });
+ } else {
+ l(Object.keys(e), function (n) {
+ if (n in W || r[n]) {
+ return;
+ }
+ t[n] = e[n];
+ });
+ }
+ t.prototype = e.prototype;
+ m.redefine(e.prototype, 'constructor', t);
+ };
+ var Pe = function () {
+ return this;
+ };
+ var Ce = function (e) {
+ if (s && !z(e, J)) {
+ m.getter(e, J, Pe);
+ }
+ };
+ var Me = function (e, t) {
+ var r =
+ t ||
+ function iterator() {
+ return this;
+ };
+ h(e, ie, r);
+ if (!e[ie] && re.symbol(ie)) {
+ e[ie] = r;
+ }
+ };
+ var xe = function createDataProperty(e, t, r) {
+ if (s) {
+ Object.defineProperty(e, t, {
+ configurable: true,
+ enumerable: true,
+ writable: true,
+ value: r,
+ });
+ } else {
+ e[t] = r;
+ }
+ };
+ var Ne = function createDataPropertyOrThrow(e, t, r) {
+ xe(e, t, r);
+ if (!ce.SameValue(e[t], r)) {
+ throw new TypeError('property is nonconfigurable');
+ }
+ };
+ var Ae = function (e, t, r, n) {
+ if (!ce.TypeIsObject(e)) {
+ throw new TypeError('Constructor requires `new`: ' + t.name);
+ }
+ var o = t.prototype;
+ if (!ce.TypeIsObject(o)) {
+ o = r;
+ }
+ var i = O(o);
+ for (var a in n) {
+ if (z(n, a)) {
+ var u = n[a];
+ h(i, a, u, true);
+ }
+ }
+ return i;
+ };
+ if (String.fromCodePoint && String.fromCodePoint.length !== 1) {
+ var Re = String.fromCodePoint;
+ ne(String, 'fromCodePoint', function fromCodePoint(e) {
+ return ce.Call(Re, this, arguments);
+ });
+ }
+ var _e = {
+ fromCodePoint: function fromCodePoint(e) {
+ var t = [];
+ var r;
+ for (var n = 0, o = arguments.length; n < o; n++) {
+ r = Number(arguments[n]);
+ if (!ce.SameValue(r, ce.ToInteger(r)) || r < 0 || r > 1114111) {
+ throw new RangeError('Invalid code point ' + r);
+ }
+ if (r < 65536) {
+ M(t, String.fromCharCode(r));
+ } else {
+ r -= 65536;
+ M(t, String.fromCharCode((r >> 10) + 55296));
+ M(t, String.fromCharCode((r % 1024) + 56320));
+ }
+ }
+ return t.join('');
+ },
+ raw: function raw(e) {
+ var t = ce.ToObject(e, 'bad callSite');
+ var r = ce.ToObject(t.raw, 'bad raw value');
+ var n = r.length;
+ var o = ce.ToLength(n);
+ if (o <= 0) {
+ return '';
+ }
+ var i = [];
+ var a = 0;
+ var u, f, s, c;
+ while (a < o) {
+ u = ce.ToString(a);
+ s = ce.ToString(r[u]);
+ M(i, s);
+ if (a + 1 >= o) {
+ break;
+ }
+ f = a + 1 < arguments.length ? arguments[a + 1] : '';
+ c = ce.ToString(f);
+ M(i, c);
+ a += 1;
+ }
+ return i.join('');
+ },
+ };
+ if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {
+ ne(String, 'raw', _e.raw);
+ }
+ b(String, _e);
+ var ke = function repeat(e, t) {
+ if (t < 1) {
+ return '';
+ }
+ if (t % 2) {
+ return repeat(e, t - 1) + e;
+ }
+ var r = repeat(e, t / 2);
+ return r + r;
+ };
+ var Le = Infinity;
+ var Fe = {
+ repeat: function repeat(e) {
+ var t = ce.ToString(ce.RequireObjectCoercible(this));
+ var r = ce.ToInteger(e);
+ if (r < 0 || r >= Le) {
+ throw new RangeError(
+ 'repeat count must be less than infinity and not overflow maximum string size'
+ );
+ }
+ return ke(t, r);
+ },
+ startsWith: function startsWith(e) {
+ var t = ce.ToString(ce.RequireObjectCoercible(this));
+ if (ce.IsRegExp(e)) {
+ throw new TypeError('Cannot call method "startsWith" with a regex');
+ }
+ var r = ce.ToString(e);
+ var n;
+ if (arguments.length > 1) {
+ n = arguments[1];
+ }
+ var o = A(ce.ToInteger(n), 0);
+ return C(t, o, o + r.length) === r;
+ },
+ endsWith: function endsWith(e) {
+ var t = ce.ToString(ce.RequireObjectCoercible(this));
+ if (ce.IsRegExp(e)) {
+ throw new TypeError('Cannot call method "endsWith" with a regex');
+ }
+ var r = ce.ToString(e);
+ var n = t.length;
+ var o;
+ if (arguments.length > 1) {
+ o = arguments[1];
+ }
+ var i = typeof o === 'undefined' ? n : ce.ToInteger(o);
+ var a = R(A(i, 0), n);
+ return C(t, a - r.length, a) === r;
+ },
+ includes: function includes(e) {
+ if (ce.IsRegExp(e)) {
+ throw new TypeError('"includes" does not accept a RegExp');
+ }
+ var t = ce.ToString(e);
+ var r;
+ if (arguments.length > 1) {
+ r = arguments[1];
+ }
+ return I(this, t, r) !== -1;
+ },
+ codePointAt: function codePointAt(e) {
+ var t = ce.ToString(ce.RequireObjectCoercible(this));
+ var r = ce.ToInteger(e);
+ var n = t.length;
+ if (r >= 0 && r < n) {
+ var o = t.charCodeAt(r);
+ var i = r + 1 === n;
+ if (o < 55296 || o > 56319 || i) {
+ return o;
+ }
+ var a = t.charCodeAt(r + 1);
+ if (a < 56320 || a > 57343) {
+ return o;
+ }
+ return (o - 55296) * 1024 + (a - 56320) + 65536;
+ }
+ },
+ };
+ if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {
+ ne(String.prototype, 'includes', Fe.includes);
+ }
+ if (String.prototype.startsWith && String.prototype.endsWith) {
+ var De = i(function () {
+ return '/a/'.startsWith(/a/);
+ });
+ var ze = a(function () {
+ return 'abc'.startsWith('a', Infinity) === false;
+ });
+ if (!De || !ze) {
+ ne(String.prototype, 'startsWith', Fe.startsWith);
+ ne(String.prototype, 'endsWith', Fe.endsWith);
+ }
+ }
+ if (oe) {
+ var qe = a(function () {
+ var e = /a/;
+ e[$.match] = false;
+ return '/a/'.startsWith(e);
+ });
+ if (!qe) {
+ ne(String.prototype, 'startsWith', Fe.startsWith);
+ }
+ var We = a(function () {
+ var e = /a/;
+ e[$.match] = false;
+ return '/a/'.endsWith(e);
+ });
+ if (!We) {
+ ne(String.prototype, 'endsWith', Fe.endsWith);
+ }
+ var Ge = a(function () {
+ var e = /a/;
+ e[$.match] = false;
+ return '/a/'.includes(e);
+ });
+ if (!Ge) {
+ ne(String.prototype, 'includes', Fe.includes);
+ }
+ }
+ b(String.prototype, Fe);
+ var He = [
+ '\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003',
+ '\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028',
+ '\u2029\ufeff',
+ ].join('');
+ var Ve = new RegExp('(^[' + He + ']+)|([' + He + ']+$)', 'g');
+ var Be = function trim() {
+ return ce.ToString(ce.RequireObjectCoercible(this)).replace(Ve, '');
+ };
+ var Ue = ['\x85', '\u200b', '\ufffe'].join('');
+ var $e = new RegExp('[' + Ue + ']', 'g');
+ var Je = /^[-+]0x[0-9a-f]+$/i;
+ var Xe = Ue.trim().length !== Ue.length;
+ h(String.prototype, 'trim', Be, Xe);
+ var Ke = function (e) {
+ return { value: e, done: arguments.length === 0 };
+ };
+ var Ze = function (e) {
+ ce.RequireObjectCoercible(e);
+ this._s = ce.ToString(e);
+ this._i = 0;
+ };
+ Ze.prototype.next = function () {
+ var e = this._s;
+ var t = this._i;
+ if (typeof e === 'undefined' || t >= e.length) {
+ this._s = void 0;
+ return Ke();
+ }
+ var r = e.charCodeAt(t);
+ var n, o;
+ if (r < 55296 || r > 56319 || t + 1 === e.length) {
+ o = 1;
+ } else {
+ n = e.charCodeAt(t + 1);
+ o = n < 56320 || n > 57343 ? 1 : 2;
+ }
+ this._i = t + o;
+ return Ke(e.substr(t, o));
+ };
+ Me(Ze.prototype);
+ Me(String.prototype, function () {
+ return new Ze(this);
+ });
+ var Ye = {
+ from: function from(e) {
+ var r = this;
+ var n;
+ if (arguments.length > 1) {
+ n = arguments[1];
+ }
+ var o, i;
+ if (typeof n === 'undefined') {
+ o = false;
+ } else {
+ if (!ce.IsCallable(n)) {
+ throw new TypeError('Array.from: when provided, the second argument must be a function');
+ }
+ if (arguments.length > 2) {
+ i = arguments[2];
+ }
+ o = true;
+ }
+ var a = typeof (te(e) || ce.GetMethod(e, ie)) !== 'undefined';
+ var u, f, s;
+ if (a) {
+ f = ce.IsConstructor(r) ? Object(new r()) : [];
+ var c = ce.GetIterator(e);
+ var l, p;
+ s = 0;
+ while (true) {
+ l = ce.IteratorStep(c);
+ if (l === false) {
+ break;
+ }
+ p = l.value;
+ try {
+ if (o) {
+ p = typeof i === 'undefined' ? n(p, s) : t(n, i, p, s);
+ }
+ f[s] = p;
+ } catch (v) {
+ ce.IteratorClose(c, true);
+ throw v;
+ }
+ s += 1;
+ }
+ u = s;
+ } else {
+ var y = ce.ToObject(e);
+ u = ce.ToLength(y.length);
+ f = ce.IsConstructor(r) ? Object(new r(u)) : new Array(u);
+ var h;
+ for (s = 0; s < u; ++s) {
+ h = y[s];
+ if (o) {
+ h = typeof i === 'undefined' ? n(h, s) : t(n, i, h, s);
+ }
+ Ne(f, s, h);
+ }
+ }
+ f.length = u;
+ return f;
+ },
+ of: function of() {
+ var e = arguments.length;
+ var t = this;
+ var n = r(t) || !ce.IsCallable(t) ? new Array(e) : ce.Construct(t, [e]);
+ for (var o = 0; o < e; ++o) {
+ Ne(n, o, arguments[o]);
+ }
+ n.length = e;
+ return n;
+ },
+ };
+ b(Array, Ye);
+ Ce(Array);
+ q = function (e, t) {
+ this.i = 0;
+ this.array = e;
+ this.kind = t;
+ };
+ b(q.prototype, {
+ next: function () {
+ var e = this.i;
+ var t = this.array;
+ if (!(this instanceof q)) {
+ throw new TypeError('Not an ArrayIterator');
+ }
+ if (typeof t !== 'undefined') {
+ var r = ce.ToLength(t.length);
+ for (; e < r; e++) {
+ var n = this.kind;
+ var o;
+ if (n === 'key') {
+ o = e;
+ } else if (n === 'value') {
+ o = t[e];
+ } else if (n === 'entry') {
+ o = [e, t[e]];
+ }
+ this.i = e + 1;
+ return Ke(o);
+ }
+ }
+ this.array = void 0;
+ return Ke();
+ },
+ });
+ Me(q.prototype);
+ var Qe =
+ Array.of === Ye.of ||
+ (function () {
+ var e = function Foo(e) {
+ this.length = e;
+ };
+ e.prototype = [];
+ var t = Array.of.apply(e, [1, 2]);
+ return t instanceof e && t.length === 2;
+ })();
+ if (!Qe) {
+ ne(Array, 'of', Ye.of);
+ }
+ var et = {
+ copyWithin: function copyWithin(e, t) {
+ var r = ce.ToObject(this);
+ var n = ce.ToLength(r.length);
+ var o = ce.ToInteger(e);
+ var i = ce.ToInteger(t);
+ var a = o < 0 ? A(n + o, 0) : R(o, n);
+ var u = i < 0 ? A(n + i, 0) : R(i, n);
+ var f;
+ if (arguments.length > 2) {
+ f = arguments[2];
+ }
+ var s = typeof f === 'undefined' ? n : ce.ToInteger(f);
+ var c = s < 0 ? A(n + s, 0) : R(s, n);
+ var l = R(c - u, n - a);
+ var p = 1;
+ if (u < a && a < u + l) {
+ p = -1;
+ u += l - 1;
+ a += l - 1;
+ }
+ while (l > 0) {
+ if (u in r) {
+ r[a] = r[u];
+ } else {
+ delete r[a];
+ }
+ u += p;
+ a += p;
+ l -= 1;
+ }
+ return r;
+ },
+ fill: function fill(e) {
+ var t;
+ if (arguments.length > 1) {
+ t = arguments[1];
+ }
+ var r;
+ if (arguments.length > 2) {
+ r = arguments[2];
+ }
+ var n = ce.ToObject(this);
+ var o = ce.ToLength(n.length);
+ t = ce.ToInteger(typeof t === 'undefined' ? 0 : t);
+ r = ce.ToInteger(typeof r === 'undefined' ? o : r);
+ var i = t < 0 ? A(o + t, 0) : R(t, o);
+ var a = r < 0 ? o + r : r;
+ for (var u = i; u < o && u < a; ++u) {
+ n[u] = e;
+ }
+ return n;
+ },
+ find: function find(e) {
+ var r = ce.ToObject(this);
+ var n = ce.ToLength(r.length);
+ if (!ce.IsCallable(e)) {
+ throw new TypeError('Array#find: predicate must be a function');
+ }
+ var o = arguments.length > 1 ? arguments[1] : null;
+ for (var i = 0, a; i < n; i++) {
+ a = r[i];
+ if (o) {
+ if (t(e, o, a, i, r)) {
+ return a;
+ }
+ } else if (e(a, i, r)) {
+ return a;
+ }
+ }
+ },
+ findIndex: function findIndex(e) {
+ var r = ce.ToObject(this);
+ var n = ce.ToLength(r.length);
+ if (!ce.IsCallable(e)) {
+ throw new TypeError('Array#findIndex: predicate must be a function');
+ }
+ var o = arguments.length > 1 ? arguments[1] : null;
+ for (var i = 0; i < n; i++) {
+ if (o) {
+ if (t(e, o, r[i], i, r)) {
+ return i;
+ }
+ } else if (e(r[i], i, r)) {
+ return i;
+ }
+ }
+ return -1;
+ },
+ keys: function keys() {
+ return new q(this, 'key');
+ },
+ values: function values() {
+ return new q(this, 'value');
+ },
+ entries: function entries() {
+ return new q(this, 'entry');
+ },
+ };
+ if (Array.prototype.keys && !ce.IsCallable([1].keys().next)) {
+ delete Array.prototype.keys;
+ }
+ if (Array.prototype.entries && !ce.IsCallable([1].entries().next)) {
+ delete Array.prototype.entries;
+ }
+ if (
+ Array.prototype.keys &&
+ Array.prototype.entries &&
+ !Array.prototype.values &&
+ Array.prototype[ie]
+ ) {
+ b(Array.prototype, { values: Array.prototype[ie] });
+ if (re.symbol($.unscopables)) {
+ Array.prototype[$.unscopables].values = true;
+ }
+ }
+ if (c && Array.prototype.values && Array.prototype.values.name !== 'values') {
+ var tt = Array.prototype.values;
+ ne(Array.prototype, 'values', function values() {
+ return ce.Call(tt, this, arguments);
+ });
+ h(Array.prototype, ie, Array.prototype.values, true);
+ }
+ b(Array.prototype, et);
+ if (1 / [true].indexOf(true, -0) < 0) {
+ h(
+ Array.prototype,
+ 'indexOf',
+ function indexOf(e) {
+ var t = E(this, arguments);
+ if (t === 0 && 1 / t < 0) {
+ return 0;
+ }
+ return t;
+ },
+ true
+ );
+ }
+ Me(Array.prototype, function () {
+ return this.values();
+ });
+ if (Object.getPrototypeOf) {
+ Me(Object.getPrototypeOf([].values()));
+ }
+ var rt = (function () {
+ return a(function () {
+ return Array.from({ length: -1 }).length === 0;
+ });
+ })();
+ var nt = (function () {
+ var e = Array.from([0].entries());
+ return e.length === 1 && r(e[0]) && e[0][0] === 0 && e[0][1] === 0;
+ })();
+ if (!rt || !nt) {
+ ne(Array, 'from', Ye.from);
+ }
+ var ot = (function () {
+ return a(function () {
+ return Array.from([0], void 0);
+ });
+ })();
+ if (!ot) {
+ var it = Array.from;
+ ne(Array, 'from', function from(e) {
+ if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {
+ return ce.Call(it, this, arguments);
+ } else {
+ return t(it, this, e);
+ }
+ });
+ }
+ var at = -(Math.pow(2, 32) - 1);
+ var ut = function (e, r) {
+ var n = { length: at };
+ n[r ? (n.length >>> 0) - 1 : 0] = true;
+ return a(function () {
+ t(
+ e,
+ n,
+ function () {
+ throw new RangeError('should not reach here');
+ },
+ []
+ );
+ return true;
+ });
+ };
+ if (!ut(Array.prototype.forEach)) {
+ var ft = Array.prototype.forEach;
+ ne(
+ Array.prototype,
+ 'forEach',
+ function forEach(e) {
+ return ce.Call(ft, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.map)) {
+ var st = Array.prototype.map;
+ ne(
+ Array.prototype,
+ 'map',
+ function map(e) {
+ return ce.Call(st, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.filter)) {
+ var ct = Array.prototype.filter;
+ ne(
+ Array.prototype,
+ 'filter',
+ function filter(e) {
+ return ce.Call(ct, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.some)) {
+ var lt = Array.prototype.some;
+ ne(
+ Array.prototype,
+ 'some',
+ function some(e) {
+ return ce.Call(lt, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.every)) {
+ var pt = Array.prototype.every;
+ ne(
+ Array.prototype,
+ 'every',
+ function every(e) {
+ return ce.Call(pt, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.reduce)) {
+ var vt = Array.prototype.reduce;
+ ne(
+ Array.prototype,
+ 'reduce',
+ function reduce(e) {
+ return ce.Call(vt, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ if (!ut(Array.prototype.reduceRight, true)) {
+ var yt = Array.prototype.reduceRight;
+ ne(
+ Array.prototype,
+ 'reduceRight',
+ function reduceRight(e) {
+ return ce.Call(yt, this.length >= 0 ? this : [], arguments);
+ },
+ true
+ );
+ }
+ var ht = Number('0o10') !== 8;
+ var bt = Number('0b10') !== 2;
+ var gt = y(Ue, function (e) {
+ return Number(e + 0 + e) === 0;
+ });
+ if (ht || bt || gt) {
+ var dt = Number;
+ var mt = /^0b[01]+$/i;
+ var Ot = /^0o[0-7]+$/i;
+ var wt = mt.test.bind(mt);
+ var jt = Ot.test.bind(Ot);
+ var St = function (e) {
+ var t;
+ if (typeof e.valueOf === 'function') {
+ t = e.valueOf();
+ if (re.primitive(t)) {
+ return t;
+ }
+ }
+ if (typeof e.toString === 'function') {
+ t = e.toString();
+ if (re.primitive(t)) {
+ return t;
+ }
+ }
+ throw new TypeError('No default value');
+ };
+ var Tt = $e.test.bind($e);
+ var It = Je.test.bind(Je);
+ var Et = (function () {
+ var e = function Number(t) {
+ var r;
+ if (arguments.length > 0) {
+ r = re.primitive(t) ? t : St(t, 'number');
+ } else {
+ r = 0;
+ }
+ if (typeof r === 'string') {
+ r = ce.Call(Be, r);
+ if (wt(r)) {
+ r = parseInt(C(r, 2), 2);
+ } else if (jt(r)) {
+ r = parseInt(C(r, 2), 8);
+ } else if (Tt(r) || It(r)) {
+ r = NaN;
+ }
+ }
+ var n = this;
+ var o = a(function () {
+ dt.prototype.valueOf.call(n);
+ return true;
+ });
+ if (n instanceof e && !o) {
+ return new dt(r);
+ }
+ return dt(r);
+ };
+ return e;
+ })();
+ Ee(dt, Et, {});
+ b(Et, {
+ NaN: dt.NaN,
+ MAX_VALUE: dt.MAX_VALUE,
+ MIN_VALUE: dt.MIN_VALUE,
+ NEGATIVE_INFINITY: dt.NEGATIVE_INFINITY,
+ POSITIVE_INFINITY: dt.POSITIVE_INFINITY,
+ });
+ Number = Et;
+ m.redefine(S, 'Number', Et);
+ }
+ var Pt = Math.pow(2, 53) - 1;
+ b(Number, {
+ MAX_SAFE_INTEGER: Pt,
+ MIN_SAFE_INTEGER: -Pt,
+ EPSILON: 2.220446049250313e-16,
+ parseInt: S.parseInt,
+ parseFloat: S.parseFloat,
+ isFinite: K,
+ isInteger: function isInteger(e) {
+ return K(e) && ce.ToInteger(e) === e;
+ },
+ isSafeInteger: function isSafeInteger(e) {
+ return Number.isInteger(e) && k(e) <= Number.MAX_SAFE_INTEGER;
+ },
+ isNaN: X,
+ });
+ h(Number, 'parseInt', S.parseInt, Number.parseInt !== S.parseInt);
+ if (
+ [, 1].find(function () {
+ return true;
+ }) === 1
+ ) {
+ ne(Array.prototype, 'find', et.find);
+ }
+ if (
+ [, 1].findIndex(function () {
+ return true;
+ }) !== 0
+ ) {
+ ne(Array.prototype, 'findIndex', et.findIndex);
+ }
+ var Ct = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);
+ var Mt = function ensureEnumerable(e, t) {
+ if (s && Ct(e, t)) {
+ Object.defineProperty(e, t, { enumerable: false });
+ }
+ };
+ var xt = function sliceArgs() {
+ var e = Number(this);
+ var t = arguments.length;
+ var r = t - e;
+ var n = new Array(r < 0 ? 0 : r);
+ for (var o = e; o < t; ++o) {
+ n[o - e] = arguments[o];
+ }
+ return n;
+ };
+ var Nt = function assignTo(e) {
+ return function assignToSource(t, r) {
+ t[r] = e[r];
+ return t;
+ };
+ };
+ var At = function (e, t) {
+ var r = n(Object(t));
+ var o;
+ if (ce.IsCallable(Object.getOwnPropertySymbols)) {
+ o = v(Object.getOwnPropertySymbols(Object(t)), Ct(t));
+ }
+ return p(P(r, o || []), Nt(t), e);
+ };
+ var Rt = {
+ assign: function (e, t) {
+ var r = ce.ToObject(e, 'Cannot convert undefined or null to object');
+ return p(ce.Call(xt, 1, arguments), At, r);
+ },
+ is: function is(e, t) {
+ return ce.SameValue(e, t);
+ },
+ };
+ var _t =
+ Object.assign &&
+ Object.preventExtensions &&
+ (function () {
+ var e = Object.preventExtensions({ 1: 2 });
+ try {
+ Object.assign(e, 'xy');
+ } catch (t) {
+ return e[1] === 'y';
+ }
+ })();
+ if (_t) {
+ ne(Object, 'assign', Rt.assign);
+ }
+ b(Object, Rt);
+ if (s) {
+ var kt = {
+ setPrototypeOf: (function (e, r) {
+ var n;
+ var o = function (e, t) {
+ if (!ce.TypeIsObject(e)) {
+ throw new TypeError('cannot set prototype on a non-object');
+ }
+ if (!(t === null || ce.TypeIsObject(t))) {
+ throw new TypeError('can only set prototype to an object or null' + t);
+ }
+ };
+ var i = function (e, r) {
+ o(e, r);
+ t(n, e, r);
+ return e;
+ };
+ try {
+ n = e.getOwnPropertyDescriptor(e.prototype, r).set;
+ t(n, {}, null);
+ } catch (a) {
+ if (e.prototype !== {}[r]) {
+ return;
+ }
+ n = function (e) {
+ this[r] = e;
+ };
+ i.polyfill = i(i({}, null), e.prototype) instanceof e;
+ }
+ return i;
+ })(Object, '__proto__'),
+ };
+ b(Object, kt);
+ }
+ if (
+ Object.setPrototypeOf &&
+ Object.getPrototypeOf &&
+ Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null &&
+ Object.getPrototypeOf(Object.create(null)) === null
+ ) {
+ (function () {
+ var e = Object.create(null);
+ var t = Object.getPrototypeOf;
+ var r = Object.setPrototypeOf;
+ Object.getPrototypeOf = function (r) {
+ var n = t(r);
+ return n === e ? null : n;
+ };
+ Object.setPrototypeOf = function (t, n) {
+ var o = n === null ? e : n;
+ return r(t, o);
+ };
+ Object.setPrototypeOf.polyfill = false;
+ })();
+ }
+ var Lt = !i(function () {
+ return Object.keys('foo');
+ });
+ if (!Lt) {
+ var Ft = Object.keys;
+ ne(Object, 'keys', function keys(e) {
+ return Ft(ce.ToObject(e));
+ });
+ n = Object.keys;
+ }
+ var Dt = i(function () {
+ return Object.keys(/a/g);
+ });
+ if (Dt) {
+ var zt = Object.keys;
+ ne(Object, 'keys', function keys(e) {
+ if (re.regex(e)) {
+ var t = [];
+ for (var r in e) {
+ if (z(e, r)) {
+ M(t, r);
+ }
+ }
+ return t;
+ }
+ return zt(e);
+ });
+ n = Object.keys;
+ }
+ if (Object.getOwnPropertyNames) {
+ var qt = !i(function () {
+ return Object.getOwnPropertyNames('foo');
+ });
+ if (!qt) {
+ var Wt = typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];
+ var Gt = Object.getOwnPropertyNames;
+ ne(Object, 'getOwnPropertyNames', function getOwnPropertyNames(e) {
+ var t = ce.ToObject(e);
+ if (g(t) === '[object Window]') {
+ try {
+ return Gt(t);
+ } catch (r) {
+ return P([], Wt);
+ }
+ }
+ return Gt(t);
+ });
+ }
+ }
+ if (Object.getOwnPropertyDescriptor) {
+ var Ht = !i(function () {
+ return Object.getOwnPropertyDescriptor('foo', 'bar');
+ });
+ if (!Ht) {
+ var Vt = Object.getOwnPropertyDescriptor;
+ ne(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(e, t) {
+ return Vt(ce.ToObject(e), t);
+ });
+ }
+ }
+ if (Object.seal) {
+ var Bt = !i(function () {
+ return Object.seal('foo');
+ });
+ if (!Bt) {
+ var Ut = Object.seal;
+ ne(Object, 'seal', function seal(e) {
+ if (!ce.TypeIsObject(e)) {
+ return e;
+ }
+ return Ut(e);
+ });
+ }
+ }
+ if (Object.isSealed) {
+ var $t = !i(function () {
+ return Object.isSealed('foo');
+ });
+ if (!$t) {
+ var Jt = Object.isSealed;
+ ne(Object, 'isSealed', function isSealed(e) {
+ if (!ce.TypeIsObject(e)) {
+ return true;
+ }
+ return Jt(e);
+ });
+ }
+ }
+ if (Object.freeze) {
+ var Xt = !i(function () {
+ return Object.freeze('foo');
+ });
+ if (!Xt) {
+ var Kt = Object.freeze;
+ ne(Object, 'freeze', function freeze(e) {
+ if (!ce.TypeIsObject(e)) {
+ return e;
+ }
+ return Kt(e);
+ });
+ }
+ }
+ if (Object.isFrozen) {
+ var Zt = !i(function () {
+ return Object.isFrozen('foo');
+ });
+ if (!Zt) {
+ var Yt = Object.isFrozen;
+ ne(Object, 'isFrozen', function isFrozen(e) {
+ if (!ce.TypeIsObject(e)) {
+ return true;
+ }
+ return Yt(e);
+ });
+ }
+ }
+ if (Object.preventExtensions) {
+ var Qt = !i(function () {
+ return Object.preventExtensions('foo');
+ });
+ if (!Qt) {
+ var er = Object.preventExtensions;
+ ne(Object, 'preventExtensions', function preventExtensions(e) {
+ if (!ce.TypeIsObject(e)) {
+ return e;
+ }
+ return er(e);
+ });
+ }
+ }
+ if (Object.isExtensible) {
+ var tr = !i(function () {
+ return Object.isExtensible('foo');
+ });
+ if (!tr) {
+ var rr = Object.isExtensible;
+ ne(Object, 'isExtensible', function isExtensible(e) {
+ if (!ce.TypeIsObject(e)) {
+ return false;
+ }
+ return rr(e);
+ });
+ }
+ }
+ if (Object.getPrototypeOf) {
+ var nr = !i(function () {
+ return Object.getPrototypeOf('foo');
+ });
+ if (!nr) {
+ var or = Object.getPrototypeOf;
+ ne(Object, 'getPrototypeOf', function getPrototypeOf(e) {
+ return or(ce.ToObject(e));
+ });
+ }
+ }
+ var ir =
+ s &&
+ (function () {
+ var e = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');
+ return e && ce.IsCallable(e.get);
+ })();
+ if (s && !ir) {
+ var ar = function flags() {
+ if (!ce.TypeIsObject(this)) {
+ throw new TypeError('Method called on incompatible type: must be an object.');
+ }
+ var e = '';
+ if (this.global) {
+ e += 'g';
+ }
+ if (this.ignoreCase) {
+ e += 'i';
+ }
+ if (this.multiline) {
+ e += 'm';
+ }
+ if (this.unicode) {
+ e += 'u';
+ }
+ if (this.sticky) {
+ e += 'y';
+ }
+ return e;
+ };
+ m.getter(RegExp.prototype, 'flags', ar);
+ }
+ var ur =
+ s &&
+ a(function () {
+ return String(new RegExp(/a/g, 'i')) === '/a/i';
+ });
+ var fr =
+ oe &&
+ s &&
+ (function () {
+ var e = /./;
+ e[$.match] = false;
+ return RegExp(e) === e;
+ })();
+ var sr = a(function () {
+ return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';
+ });
+ var cr =
+ sr &&
+ a(function () {
+ return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';
+ });
+ if (!sr || !cr) {
+ var lr = RegExp.prototype.toString;
+ h(
+ RegExp.prototype,
+ 'toString',
+ function toString() {
+ var e = ce.RequireObjectCoercible(this);
+ if (re.regex(e)) {
+ return t(lr, e);
+ }
+ var r = ue(e.source);
+ var n = ue(e.flags);
+ return '/' + r + '/' + n;
+ },
+ true
+ );
+ m.preserveToString(RegExp.prototype.toString, lr);
+ }
+ if (s && (!ur || fr)) {
+ var pr = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;
+ var vr = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};
+ var yr = function () {
+ return this.source;
+ };
+ var hr = ce.IsCallable(vr.get) ? vr.get : yr;
+ var br = RegExp;
+ var gr = (function () {
+ return function RegExp(e, t) {
+ var r = ce.IsRegExp(e);
+ var n = this instanceof RegExp;
+ if (!n && r && typeof t === 'undefined' && e.constructor === RegExp) {
+ return e;
+ }
+ var o = e;
+ var i = t;
+ if (re.regex(e)) {
+ o = ce.Call(hr, e);
+ i = typeof t === 'undefined' ? ce.Call(pr, e) : t;
+ return new RegExp(o, i);
+ } else if (r) {
+ o = e.source;
+ i = typeof t === 'undefined' ? e.flags : t;
+ }
+ return new br(e, t);
+ };
+ })();
+ Ee(br, gr, { $input: true });
+ RegExp = gr;
+ m.redefine(S, 'RegExp', gr);
+ }
+ if (s) {
+ var dr = {
+ input: '$_',
+ lastMatch: '$&',
+ lastParen: '$+',
+ leftContext: '$`',
+ rightContext: "$'",
+ };
+ l(n(dr), function (e) {
+ if (e in RegExp && !(dr[e] in RegExp)) {
+ m.getter(RegExp, dr[e], function get() {
+ return RegExp[e];
+ });
+ }
+ });
+ }
+ Ce(RegExp);
+ var mr = 1 / Number.EPSILON;
+ var Or = function roundTiesToEven(e) {
+ return e + mr - mr;
+ };
+ var wr = Math.pow(2, -23);
+ var jr = Math.pow(2, 127) * (2 - wr);
+ var Sr = Math.pow(2, -126);
+ var Tr = Math.E;
+ var Ir = Math.LOG2E;
+ var Er = Math.LOG10E;
+ var Pr = Number.prototype.clz;
+ delete Number.prototype.clz;
+ var Cr = {
+ acosh: function acosh(e) {
+ var t = Number(e);
+ if (X(t) || e < 1) {
+ return NaN;
+ }
+ if (t === 1) {
+ return 0;
+ }
+ if (t === Infinity) {
+ return t;
+ }
+ var r = 1 / (t * t);
+ if (t < 2) {
+ return Y(t - 1 + D(1 - r) * t);
+ }
+ var n = t / 2;
+ return Y(n + D(1 - r) * n - 1) + 1 / Ir;
+ },
+ asinh: function asinh(e) {
+ var t = Number(e);
+ if (t === 0 || !T(t)) {
+ return t;
+ }
+ var r = k(t);
+ var n = r * r;
+ var o = Z(t);
+ if (r < 1) {
+ return o * Y(r + n / (D(n + 1) + 1));
+ }
+ return o * (Y(r / 2 + (D(1 + 1 / n) * r) / 2 - 1) + 1 / Ir);
+ },
+ atanh: function atanh(e) {
+ var t = Number(e);
+ if (t === 0) {
+ return t;
+ }
+ if (t === -1) {
+ return -Infinity;
+ }
+ if (t === 1) {
+ return Infinity;
+ }
+ if (X(t) || t < -1 || t > 1) {
+ return NaN;
+ }
+ var r = k(t);
+ return (Z(t) * Y((2 * r) / (1 - r))) / 2;
+ },
+ cbrt: function cbrt(e) {
+ var t = Number(e);
+ if (t === 0) {
+ return t;
+ }
+ var r = t < 0;
+ var n;
+ if (r) {
+ t = -t;
+ }
+ if (t === Infinity) {
+ n = Infinity;
+ } else {
+ n = L(F(t) / 3);
+ n = (t / (n * n) + 2 * n) / 3;
+ }
+ return r ? -n : n;
+ },
+ clz32: function clz32(e) {
+ var t = Number(e);
+ var r = ce.ToUint32(t);
+ if (r === 0) {
+ return 32;
+ }
+ return Pr ? ce.Call(Pr, r) : 31 - _(F(r + 0.5) * Ir);
+ },
+ cosh: function cosh(e) {
+ var t = Number(e);
+ if (t === 0) {
+ return 1;
+ }
+ if (X(t)) {
+ return NaN;
+ }
+ if (!T(t)) {
+ return Infinity;
+ }
+ var r = L(k(t) - 1);
+ return (r + 1 / (r * Tr * Tr)) * (Tr / 2);
+ },
+ expm1: function expm1(e) {
+ var t = Number(e);
+ if (t === -Infinity) {
+ return -1;
+ }
+ if (!T(t) || t === 0) {
+ return t;
+ }
+ if (k(t) > 0.5) {
+ return L(t) - 1;
+ }
+ var r = t;
+ var n = 0;
+ var o = 1;
+ while (n + r !== n) {
+ n += r;
+ o += 1;
+ r *= t / o;
+ }
+ return n;
+ },
+ hypot: function hypot(e, t) {
+ var r = 0;
+ var n = 0;
+ for (var o = 0; o < arguments.length; ++o) {
+ var i = k(Number(arguments[o]));
+ if (n < i) {
+ r *= (n / i) * (n / i);
+ r += 1;
+ n = i;
+ } else {
+ r += i > 0 ? (i / n) * (i / n) : i;
+ }
+ }
+ return n === Infinity ? Infinity : n * D(r);
+ },
+ log2: function log2(e) {
+ return F(e) * Ir;
+ },
+ log10: function log10(e) {
+ return F(e) * Er;
+ },
+ log1p: Y,
+ sign: Z,
+ sinh: function sinh(e) {
+ var t = Number(e);
+ if (!T(t) || t === 0) {
+ return t;
+ }
+ var r = k(t);
+ if (r < 1) {
+ var n = Math.expm1(r);
+ return (Z(t) * n * (1 + 1 / (n + 1))) / 2;
+ }
+ var o = L(r - 1);
+ return Z(t) * (o - 1 / (o * Tr * Tr)) * (Tr / 2);
+ },
+ tanh: function tanh(e) {
+ var t = Number(e);
+ if (X(t) || t === 0) {
+ return t;
+ }
+ if (t >= 20) {
+ return 1;
+ }
+ if (t <= -20) {
+ return -1;
+ }
+ return (Math.expm1(t) - Math.expm1(-t)) / (L(t) + L(-t));
+ },
+ trunc: function trunc(e) {
+ var t = Number(e);
+ return t < 0 ? -_(-t) : _(t);
+ },
+ imul: function imul(e, t) {
+ var r = ce.ToUint32(e);
+ var n = ce.ToUint32(t);
+ var o = (r >>> 16) & 65535;
+ var i = r & 65535;
+ var a = (n >>> 16) & 65535;
+ var u = n & 65535;
+ return (i * u + (((o * u + i * a) << 16) >>> 0)) | 0;
+ },
+ fround: function fround(e) {
+ var t = Number(e);
+ if (t === 0 || t === Infinity || t === -Infinity || X(t)) {
+ return t;
+ }
+ var r = Z(t);
+ var n = k(t);
+ if (n < Sr) {
+ return r * Or(n / Sr / wr) * Sr * wr;
+ }
+ var o = (1 + wr / Number.EPSILON) * n;
+ var i = o - (o - n);
+ if (i > jr || X(i)) {
+ return r * Infinity;
+ }
+ return r * i;
+ },
+ };
+ var Mr = function withinULPDistance(e, t, r) {
+ return k(1 - e / t) / Number.EPSILON < (r || 8);
+ };
+ b(Math, Cr);
+ h(Math, 'sinh', Cr.sinh, Math.sinh(710) === Infinity);
+ h(Math, 'cosh', Cr.cosh, Math.cosh(710) === Infinity);
+ h(Math, 'log1p', Cr.log1p, Math.log1p(-1e-17) !== -1e-17);
+ h(Math, 'asinh', Cr.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));
+ h(Math, 'asinh', Cr.asinh, Math.asinh(1e300) === Infinity);
+ h(Math, 'atanh', Cr.atanh, Math.atanh(1e-300) === 0);
+ h(Math, 'tanh', Cr.tanh, Math.tanh(-2e-17) !== -2e-17);
+ h(Math, 'acosh', Cr.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);
+ h(Math, 'acosh', Cr.acosh, !Mr(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));
+ h(Math, 'cbrt', Cr.cbrt, !Mr(Math.cbrt(1e-300), 1e-100));
+ h(Math, 'sinh', Cr.sinh, Math.sinh(-2e-17) !== -2e-17);
+ var xr = Math.expm1(10);
+ h(Math, 'expm1', Cr.expm1, xr > 22025.465794806718 || xr < 22025.465794806718);
+ var Nr = Math.round;
+ var Ar =
+ Math.round(0.5 - Number.EPSILON / 4) === 0 && Math.round(-0.5 + Number.EPSILON / 3.99) === 1;
+ var Rr = mr + 1;
+ var _r = 2 * mr - 1;
+ var kr = [Rr, _r].every(function (e) {
+ return Math.round(e) === e;
+ });
+ h(
+ Math,
+ 'round',
+ function round(e) {
+ var t = _(e);
+ var r = t === -1 ? -0 : t + 1;
+ return e - t < 0.5 ? t : r;
+ },
+ !Ar || !kr
+ );
+ m.preserveToString(Math.round, Nr);
+ var Lr = Math.imul;
+ if (Math.imul(4294967295, 5) !== -5) {
+ Math.imul = Cr.imul;
+ m.preserveToString(Math.imul, Lr);
+ }
+ if (Math.imul.length !== 2) {
+ ne(Math, 'imul', function imul(e, t) {
+ return ce.Call(Lr, Math, arguments);
+ });
+ }
+ var Fr = (function () {
+ var e = S.setTimeout;
+ if (typeof e !== 'function' && typeof e !== 'object') {
+ return;
+ }
+ ce.IsPromise = function (e) {
+ if (!ce.TypeIsObject(e)) {
+ return false;
+ }
+ if (typeof e._promise === 'undefined') {
+ return false;
+ }
+ return true;
+ };
+ var r = function (e) {
+ if (!ce.IsConstructor(e)) {
+ throw new TypeError('Bad promise constructor');
+ }
+ var t = this;
+ var r = function (e, r) {
+ if (t.resolve !== void 0 || t.reject !== void 0) {
+ throw new TypeError('Bad Promise implementation!');
+ }
+ t.resolve = e;
+ t.reject = r;
+ };
+ t.resolve = void 0;
+ t.reject = void 0;
+ t.promise = new e(r);
+ if (!(ce.IsCallable(t.resolve) && ce.IsCallable(t.reject))) {
+ throw new TypeError('Bad promise constructor');
+ }
+ };
+ var n;
+ if (typeof window !== 'undefined' && ce.IsCallable(window.postMessage)) {
+ n = function () {
+ var e = [];
+ var t = 'zero-timeout-message';
+ var r = function (r) {
+ M(e, r);
+ window.postMessage(t, '*');
+ };
+ var n = function (r) {
+ if (r.source === window && r.data === t) {
+ r.stopPropagation();
+ if (e.length === 0) {
+ return;
+ }
+ var n = N(e);
+ n();
+ }
+ };
+ window.addEventListener('message', n, true);
+ return r;
+ };
+ }
+ var o = function () {
+ var e = S.Promise;
+ var t = e && e.resolve && e.resolve();
+ return (
+ t &&
+ function (e) {
+ return t.then(e);
+ }
+ );
+ };
+ var i = ce.IsCallable(S.setImmediate)
+ ? S.setImmediate
+ : typeof process === 'object' && process.nextTick
+ ? process.nextTick
+ : o() ||
+ (ce.IsCallable(n)
+ ? n()
+ : function (t) {
+ e(t, 0);
+ });
+ var a = function (e) {
+ return e;
+ };
+ var u = function (e) {
+ throw e;
+ };
+ var f = 0;
+ var s = 1;
+ var c = 2;
+ var l = 0;
+ var p = 1;
+ var v = 2;
+ var y = {};
+ var h = function (e, t, r) {
+ i(function () {
+ g(e, t, r);
+ });
+ };
+ var g = function (e, t, r) {
+ var n, o;
+ if (t === y) {
+ return e(r);
+ }
+ try {
+ n = e(r);
+ o = t.resolve;
+ } catch (i) {
+ n = i;
+ o = t.reject;
+ }
+ o(n);
+ };
+ var d = function (e, t) {
+ var r = e._promise;
+ var n = r.reactionLength;
+ if (n > 0) {
+ h(r.fulfillReactionHandler0, r.reactionCapability0, t);
+ r.fulfillReactionHandler0 = void 0;
+ r.rejectReactions0 = void 0;
+ r.reactionCapability0 = void 0;
+ if (n > 1) {
+ for (var o = 1, i = 0; o < n; o++, i += 3) {
+ h(r[i + l], r[i + v], t);
+ e[i + l] = void 0;
+ e[i + p] = void 0;
+ e[i + v] = void 0;
+ }
+ }
+ }
+ r.result = t;
+ r.state = s;
+ r.reactionLength = 0;
+ };
+ var m = function (e, t) {
+ var r = e._promise;
+ var n = r.reactionLength;
+ if (n > 0) {
+ h(r.rejectReactionHandler0, r.reactionCapability0, t);
+ r.fulfillReactionHandler0 = void 0;
+ r.rejectReactions0 = void 0;
+ r.reactionCapability0 = void 0;
+ if (n > 1) {
+ for (var o = 1, i = 0; o < n; o++, i += 3) {
+ h(r[i + p], r[i + v], t);
+ e[i + l] = void 0;
+ e[i + p] = void 0;
+ e[i + v] = void 0;
+ }
+ }
+ }
+ r.result = t;
+ r.state = c;
+ r.reactionLength = 0;
+ };
+ var O = function (e) {
+ var t = false;
+ var r = function (r) {
+ var n;
+ if (t) {
+ return;
+ }
+ t = true;
+ if (r === e) {
+ return m(e, new TypeError('Self resolution'));
+ }
+ if (!ce.TypeIsObject(r)) {
+ return d(e, r);
+ }
+ try {
+ n = r.then;
+ } catch (o) {
+ return m(e, o);
+ }
+ if (!ce.IsCallable(n)) {
+ return d(e, r);
+ }
+ i(function () {
+ j(e, r, n);
+ });
+ };
+ var n = function (r) {
+ if (t) {
+ return;
+ }
+ t = true;
+ return m(e, r);
+ };
+ return { resolve: r, reject: n };
+ };
+ var w = function (e, r, n, o) {
+ if (e === I) {
+ t(e, r, n, o, y);
+ } else {
+ t(e, r, n, o);
+ }
+ };
+ var j = function (e, t, r) {
+ var n = O(e);
+ var o = n.resolve;
+ var i = n.reject;
+ try {
+ w(r, t, o, i);
+ } catch (a) {
+ i(a);
+ }
+ };
+ var T, I;
+ var E = (function () {
+ var e = function Promise(t) {
+ if (!(this instanceof e)) {
+ throw new TypeError('Constructor Promise requires "new"');
+ }
+ if (this && this._promise) {
+ throw new TypeError('Bad construction');
+ }
+ if (!ce.IsCallable(t)) {
+ throw new TypeError('not a valid resolver');
+ }
+ var r = Ae(this, e, T, {
+ _promise: {
+ result: void 0,
+ state: f,
+ reactionLength: 0,
+ fulfillReactionHandler0: void 0,
+ rejectReactionHandler0: void 0,
+ reactionCapability0: void 0,
+ },
+ });
+ var n = O(r);
+ var o = n.reject;
+ try {
+ t(n.resolve, o);
+ } catch (i) {
+ o(i);
+ }
+ return r;
+ };
+ return e;
+ })();
+ T = E.prototype;
+ var P = function (e, t, r, n) {
+ var o = false;
+ return function (i) {
+ if (o) {
+ return;
+ }
+ o = true;
+ t[e] = i;
+ if (--n.count === 0) {
+ var a = r.resolve;
+ a(t);
+ }
+ };
+ };
+ var C = function (e, t, r) {
+ var n = e.iterator;
+ var o = [];
+ var i = { count: 1 };
+ var a, u;
+ var f = 0;
+ while (true) {
+ try {
+ a = ce.IteratorStep(n);
+ if (a === false) {
+ e.done = true;
+ break;
+ }
+ u = a.value;
+ } catch (s) {
+ e.done = true;
+ throw s;
+ }
+ o[f] = void 0;
+ var c = t.resolve(u);
+ var l = P(f, o, r, i);
+ i.count += 1;
+ w(c.then, c, l, r.reject);
+ f += 1;
+ }
+ if (--i.count === 0) {
+ var p = r.resolve;
+ p(o);
+ }
+ return r.promise;
+ };
+ var x = function (e, t, r) {
+ var n = e.iterator;
+ var o, i, a;
+ while (true) {
+ try {
+ o = ce.IteratorStep(n);
+ if (o === false) {
+ e.done = true;
+ break;
+ }
+ i = o.value;
+ } catch (u) {
+ e.done = true;
+ throw u;
+ }
+ a = t.resolve(i);
+ w(a.then, a, r.resolve, r.reject);
+ }
+ return r.promise;
+ };
+ b(E, {
+ all: function all(e) {
+ var t = this;
+ if (!ce.TypeIsObject(t)) {
+ throw new TypeError('Promise is not object');
+ }
+ var n = new r(t);
+ var o, i;
+ try {
+ o = ce.GetIterator(e);
+ i = { iterator: o, done: false };
+ return C(i, t, n);
+ } catch (a) {
+ var u = a;
+ if (i && !i.done) {
+ try {
+ ce.IteratorClose(o, true);
+ } catch (f) {
+ u = f;
+ }
+ }
+ var s = n.reject;
+ s(u);
+ return n.promise;
+ }
+ },
+ race: function race(e) {
+ var t = this;
+ if (!ce.TypeIsObject(t)) {
+ throw new TypeError('Promise is not object');
+ }
+ var n = new r(t);
+ var o, i;
+ try {
+ o = ce.GetIterator(e);
+ i = { iterator: o, done: false };
+ return x(i, t, n);
+ } catch (a) {
+ var u = a;
+ if (i && !i.done) {
+ try {
+ ce.IteratorClose(o, true);
+ } catch (f) {
+ u = f;
+ }
+ }
+ var s = n.reject;
+ s(u);
+ return n.promise;
+ }
+ },
+ reject: function reject(e) {
+ var t = this;
+ if (!ce.TypeIsObject(t)) {
+ throw new TypeError('Bad promise constructor');
+ }
+ var n = new r(t);
+ var o = n.reject;
+ o(e);
+ return n.promise;
+ },
+ resolve: function resolve(e) {
+ var t = this;
+ if (!ce.TypeIsObject(t)) {
+ throw new TypeError('Bad promise constructor');
+ }
+ if (ce.IsPromise(e)) {
+ var n = e.constructor;
+ if (n === t) {
+ return e;
+ }
+ }
+ var o = new r(t);
+ var i = o.resolve;
+ i(e);
+ return o.promise;
+ },
+ });
+ b(T, {
+ catch: function (e) {
+ return this.then(null, e);
+ },
+ then: function then(e, t) {
+ var n = this;
+ if (!ce.IsPromise(n)) {
+ throw new TypeError('not a promise');
+ }
+ var o = ce.SpeciesConstructor(n, E);
+ var i;
+ var b = arguments.length > 2 && arguments[2] === y;
+ if (b && o === E) {
+ i = y;
+ } else {
+ i = new r(o);
+ }
+ var g = ce.IsCallable(e) ? e : a;
+ var d = ce.IsCallable(t) ? t : u;
+ var m = n._promise;
+ var O;
+ if (m.state === f) {
+ if (m.reactionLength === 0) {
+ m.fulfillReactionHandler0 = g;
+ m.rejectReactionHandler0 = d;
+ m.reactionCapability0 = i;
+ } else {
+ var w = 3 * (m.reactionLength - 1);
+ m[w + l] = g;
+ m[w + p] = d;
+ m[w + v] = i;
+ }
+ m.reactionLength += 1;
+ } else if (m.state === s) {
+ O = m.result;
+ h(g, i, O);
+ } else if (m.state === c) {
+ O = m.result;
+ h(d, i, O);
+ } else {
+ throw new TypeError('unexpected Promise state');
+ }
+ return i.promise;
+ },
+ });
+ y = new r(E);
+ I = T.then;
+ return E;
+ })();
+ if (S.Promise) {
+ delete S.Promise.accept;
+ delete S.Promise.defer;
+ delete S.Promise.prototype.chain;
+ }
+ if (typeof Fr === 'function') {
+ b(S, { Promise: Fr });
+ var Dr = w(S.Promise, function (e) {
+ return e.resolve(42).then(function () {}) instanceof e;
+ });
+ var zr = !i(function () {
+ return S.Promise.reject(42).then(null, 5).then(null, W);
+ });
+ var qr = i(function () {
+ return S.Promise.call(3, W);
+ });
+ var Wr = (function (e) {
+ var t = e.resolve(5);
+ t.constructor = {};
+ var r = e.resolve(t);
+ try {
+ r.then(null, W).then(null, W);
+ } catch (n) {
+ return true;
+ }
+ return t === r;
+ })(S.Promise);
+ var Gr =
+ s &&
+ (function () {
+ var e = 0;
+ var t = Object.defineProperty({}, 'then', {
+ get: function () {
+ e += 1;
+ },
+ });
+ Promise.resolve(t);
+ return e === 1;
+ })();
+ var Hr = function BadResolverPromise(e) {
+ var t = new Promise(e);
+ e(3, function () {});
+ this.then = t.then;
+ this.constructor = BadResolverPromise;
+ };
+ Hr.prototype = Promise.prototype;
+ Hr.all = Promise.all;
+ var Vr = a(function () {
+ return !!Hr.all([1, 2]);
+ });
+ if (!Dr || !zr || !qr || Wr || !Gr || Vr) {
+ Promise = Fr;
+ ne(S, 'Promise', Fr);
+ }
+ if (Promise.all.length !== 1) {
+ var Br = Promise.all;
+ ne(Promise, 'all', function all(e) {
+ return ce.Call(Br, this, arguments);
+ });
+ }
+ if (Promise.race.length !== 1) {
+ var Ur = Promise.race;
+ ne(Promise, 'race', function race(e) {
+ return ce.Call(Ur, this, arguments);
+ });
+ }
+ if (Promise.resolve.length !== 1) {
+ var $r = Promise.resolve;
+ ne(Promise, 'resolve', function resolve(e) {
+ return ce.Call($r, this, arguments);
+ });
+ }
+ if (Promise.reject.length !== 1) {
+ var Jr = Promise.reject;
+ ne(Promise, 'reject', function reject(e) {
+ return ce.Call(Jr, this, arguments);
+ });
+ }
+ Mt(Promise, 'all');
+ Mt(Promise, 'race');
+ Mt(Promise, 'resolve');
+ Mt(Promise, 'reject');
+ Ce(Promise);
+ }
+ var Xr = function (e) {
+ var t = n(
+ p(
+ e,
+ function (e, t) {
+ e[t] = true;
+ return e;
+ },
+ {}
+ )
+ );
+ return e.join(':') === t.join(':');
+ };
+ var Kr = Xr(['z', 'a', 'bb']);
+ var Zr = Xr(['z', 1, 'a', '3', 2]);
+ if (s) {
+ var Yr = function fastkey(e, t) {
+ if (!t && !Kr) {
+ return null;
+ }
+ if (se(e)) {
+ return '^' + ce.ToString(e);
+ } else if (typeof e === 'string') {
+ return '$' + e;
+ } else if (typeof e === 'number') {
+ if (!Zr) {
+ return 'n' + e;
+ }
+ return e;
+ } else if (typeof e === 'boolean') {
+ return 'b' + e;
+ }
+ return null;
+ };
+ var Qr = function emptyObject() {
+ return Object.create ? Object.create(null) : {};
+ };
+ var en = function addIterableToMap(e, n, o) {
+ if (r(o) || re.string(o)) {
+ l(o, function (e) {
+ if (!ce.TypeIsObject(e)) {
+ throw new TypeError('Iterator value ' + e + ' is not an entry object');
+ }
+ n.set(e[0], e[1]);
+ });
+ } else if (o instanceof e) {
+ t(e.prototype.forEach, o, function (e, t) {
+ n.set(t, e);
+ });
+ } else {
+ var i, a;
+ if (!se(o)) {
+ a = n.set;
+ if (!ce.IsCallable(a)) {
+ throw new TypeError('bad map');
+ }
+ i = ce.GetIterator(o);
+ }
+ if (typeof i !== 'undefined') {
+ while (true) {
+ var u = ce.IteratorStep(i);
+ if (u === false) {
+ break;
+ }
+ var f = u.value;
+ try {
+ if (!ce.TypeIsObject(f)) {
+ throw new TypeError('Iterator value ' + f + ' is not an entry object');
+ }
+ t(a, n, f[0], f[1]);
+ } catch (s) {
+ ce.IteratorClose(i, true);
+ throw s;
+ }
+ }
+ }
+ }
+ };
+ var tn = function addIterableToSet(e, n, o) {
+ if (r(o) || re.string(o)) {
+ l(o, function (e) {
+ n.add(e);
+ });
+ } else if (o instanceof e) {
+ t(e.prototype.forEach, o, function (e) {
+ n.add(e);
+ });
+ } else {
+ var i, a;
+ if (!se(o)) {
+ a = n.add;
+ if (!ce.IsCallable(a)) {
+ throw new TypeError('bad set');
+ }
+ i = ce.GetIterator(o);
+ }
+ if (typeof i !== 'undefined') {
+ while (true) {
+ var u = ce.IteratorStep(i);
+ if (u === false) {
+ break;
+ }
+ var f = u.value;
+ try {
+ t(a, n, f);
+ } catch (s) {
+ ce.IteratorClose(i, true);
+ throw s;
+ }
+ }
+ }
+ }
+ };
+ var rn = {
+ Map: (function () {
+ var e = {};
+ var r = function MapEntry(e, t) {
+ this.key = e;
+ this.value = t;
+ this.next = null;
+ this.prev = null;
+ };
+ r.prototype.isRemoved = function isRemoved() {
+ return this.key === e;
+ };
+ var n = function isMap(e) {
+ return !!e._es6map;
+ };
+ var o = function requireMapSlot(e, t) {
+ if (!ce.TypeIsObject(e) || !n(e)) {
+ throw new TypeError(
+ 'Method Map.prototype.' + t + ' called on incompatible receiver ' + ce.ToString(e)
+ );
+ }
+ };
+ var i = function MapIterator(e, t) {
+ o(e, '[[MapIterator]]');
+ this.head = e._head;
+ this.i = this.head;
+ this.kind = t;
+ };
+ i.prototype = {
+ isMapIterator: true,
+ next: function next() {
+ if (!this.isMapIterator) {
+ throw new TypeError('Not a MapIterator');
+ }
+ var e = this.i;
+ var t = this.kind;
+ var r = this.head;
+ if (typeof this.i === 'undefined') {
+ return Ke();
+ }
+ while (e.isRemoved() && e !== r) {
+ e = e.prev;
+ }
+ var n;
+ while (e.next !== r) {
+ e = e.next;
+ if (!e.isRemoved()) {
+ if (t === 'key') {
+ n = e.key;
+ } else if (t === 'value') {
+ n = e.value;
+ } else {
+ n = [e.key, e.value];
+ }
+ this.i = e;
+ return Ke(n);
+ }
+ }
+ this.i = void 0;
+ return Ke();
+ },
+ };
+ Me(i.prototype);
+ var a;
+ var u = function Map() {
+ if (!(this instanceof Map)) {
+ throw new TypeError('Constructor Map requires "new"');
+ }
+ if (this && this._es6map) {
+ throw new TypeError('Bad construction');
+ }
+ var e = Ae(this, Map, a, {
+ _es6map: true,
+ _head: null,
+ _map: G ? new G() : null,
+ _size: 0,
+ _storage: Qr(),
+ });
+ var t = new r(null, null);
+ t.next = t.prev = t;
+ e._head = t;
+ if (arguments.length > 0) {
+ en(Map, e, arguments[0]);
+ }
+ return e;
+ };
+ a = u.prototype;
+ m.getter(a, 'size', function () {
+ if (typeof this._size === 'undefined') {
+ throw new TypeError('size method called on incompatible Map');
+ }
+ return this._size;
+ });
+ b(a, {
+ get: function get(e) {
+ o(this, 'get');
+ var t;
+ var r = Yr(e, true);
+ if (r !== null) {
+ t = this._storage[r];
+ if (t) {
+ return t.value;
+ } else {
+ return;
+ }
+ }
+ if (this._map) {
+ t = V.call(this._map, e);
+ if (t) {
+ return t.value;
+ } else {
+ return;
+ }
+ }
+ var n = this._head;
+ var i = n;
+ while ((i = i.next) !== n) {
+ if (ce.SameValueZero(i.key, e)) {
+ return i.value;
+ }
+ }
+ },
+ has: function has(e) {
+ o(this, 'has');
+ var t = Yr(e, true);
+ if (t !== null) {
+ return typeof this._storage[t] !== 'undefined';
+ }
+ if (this._map) {
+ return B.call(this._map, e);
+ }
+ var r = this._head;
+ var n = r;
+ while ((n = n.next) !== r) {
+ if (ce.SameValueZero(n.key, e)) {
+ return true;
+ }
+ }
+ return false;
+ },
+ set: function set(e, t) {
+ o(this, 'set');
+ var n = this._head;
+ var i = n;
+ var a;
+ var u = Yr(e, true);
+ if (u !== null) {
+ if (typeof this._storage[u] !== 'undefined') {
+ this._storage[u].value = t;
+ return this;
+ } else {
+ a = this._storage[u] = new r(e, t);
+ i = n.prev;
+ }
+ } else if (this._map) {
+ if (B.call(this._map, e)) {
+ V.call(this._map, e).value = t;
+ } else {
+ a = new r(e, t);
+ U.call(this._map, e, a);
+ i = n.prev;
+ }
+ }
+ while ((i = i.next) !== n) {
+ if (ce.SameValueZero(i.key, e)) {
+ i.value = t;
+ return this;
+ }
+ }
+ a = a || new r(e, t);
+ if (ce.SameValue(-0, e)) {
+ a.key = +0;
+ }
+ a.next = this._head;
+ a.prev = this._head.prev;
+ a.prev.next = a;
+ a.next.prev = a;
+ this._size += 1;
+ return this;
+ },
+ delete: function (t) {
+ o(this, 'delete');
+ var r = this._head;
+ var n = r;
+ var i = Yr(t, true);
+ if (i !== null) {
+ if (typeof this._storage[i] === 'undefined') {
+ return false;
+ }
+ n = this._storage[i].prev;
+ delete this._storage[i];
+ } else if (this._map) {
+ if (!B.call(this._map, t)) {
+ return false;
+ }
+ n = V.call(this._map, t).prev;
+ H.call(this._map, t);
+ }
+ while ((n = n.next) !== r) {
+ if (ce.SameValueZero(n.key, t)) {
+ n.key = e;
+ n.value = e;
+ n.prev.next = n.next;
+ n.next.prev = n.prev;
+ this._size -= 1;
+ return true;
+ }
+ }
+ return false;
+ },
+ clear: function clear() {
+ o(this, 'clear');
+ this._map = G ? new G() : null;
+ this._size = 0;
+ this._storage = Qr();
+ var t = this._head;
+ var r = t;
+ var n = r.next;
+ while ((r = n) !== t) {
+ r.key = e;
+ r.value = e;
+ n = r.next;
+ r.next = r.prev = t;
+ }
+ t.next = t.prev = t;
+ },
+ keys: function keys() {
+ o(this, 'keys');
+ return new i(this, 'key');
+ },
+ values: function values() {
+ o(this, 'values');
+ return new i(this, 'value');
+ },
+ entries: function entries() {
+ o(this, 'entries');
+ return new i(this, 'key+value');
+ },
+ forEach: function forEach(e) {
+ o(this, 'forEach');
+ var r = arguments.length > 1 ? arguments[1] : null;
+ var n = this.entries();
+ for (var i = n.next(); !i.done; i = n.next()) {
+ if (r) {
+ t(e, r, i.value[1], i.value[0], this);
+ } else {
+ e(i.value[1], i.value[0], this);
+ }
+ }
+ },
+ });
+ Me(a, a.entries);
+ return u;
+ })(),
+ Set: (function () {
+ var e = function isSet(e) {
+ return e._es6set && typeof e._storage !== 'undefined';
+ };
+ var r = function requireSetSlot(t, r) {
+ if (!ce.TypeIsObject(t) || !e(t)) {
+ throw new TypeError(
+ 'Set.prototype.' + r + ' called on incompatible receiver ' + ce.ToString(t)
+ );
+ }
+ };
+ var o;
+ var i = function Set() {
+ if (!(this instanceof Set)) {
+ throw new TypeError('Constructor Set requires "new"');
+ }
+ if (this && this._es6set) {
+ throw new TypeError('Bad construction');
+ }
+ var e = Ae(this, Set, o, {
+ _es6set: true,
+ '[[SetData]]': null,
+ _storage: Qr(),
+ });
+ if (!e._es6set) {
+ throw new TypeError('bad set');
+ }
+ if (arguments.length > 0) {
+ tn(Set, e, arguments[0]);
+ }
+ return e;
+ };
+ o = i.prototype;
+ var a = function (e) {
+ var t = e;
+ if (t === '^null') {
+ return null;
+ } else if (t === '^undefined') {
+ return void 0;
+ } else {
+ var r = t.charAt(0);
+ if (r === '$') {
+ return C(t, 1);
+ } else if (r === 'n') {
+ return +C(t, 1);
+ } else if (r === 'b') {
+ return t === 'btrue';
+ }
+ }
+ return +t;
+ };
+ var u = function ensureMap(e) {
+ if (!e['[[SetData]]']) {
+ var t = new rn.Map();
+ e['[[SetData]]'] = t;
+ l(n(e._storage), function (e) {
+ var r = a(e);
+ t.set(r, r);
+ });
+ e['[[SetData]]'] = t;
+ }
+ e._storage = null;
+ };
+ m.getter(i.prototype, 'size', function () {
+ r(this, 'size');
+ if (this._storage) {
+ return n(this._storage).length;
+ }
+ u(this);
+ return this['[[SetData]]'].size;
+ });
+ b(i.prototype, {
+ has: function has(e) {
+ r(this, 'has');
+ var t;
+ if (this._storage && (t = Yr(e)) !== null) {
+ return !!this._storage[t];
+ }
+ u(this);
+ return this['[[SetData]]'].has(e);
+ },
+ add: function add(e) {
+ r(this, 'add');
+ var t;
+ if (this._storage && (t = Yr(e)) !== null) {
+ this._storage[t] = true;
+ return this;
+ }
+ u(this);
+ this['[[SetData]]'].set(e, e);
+ return this;
+ },
+ delete: function (e) {
+ r(this, 'delete');
+ var t;
+ if (this._storage && (t = Yr(e)) !== null) {
+ var n = z(this._storage, t);
+ return delete this._storage[t] && n;
+ }
+ u(this);
+ return this['[[SetData]]']['delete'](e);
+ },
+ clear: function clear() {
+ r(this, 'clear');
+ if (this._storage) {
+ this._storage = Qr();
+ }
+ if (this['[[SetData]]']) {
+ this['[[SetData]]'].clear();
+ }
+ },
+ values: function values() {
+ r(this, 'values');
+ u(this);
+ return new f(this['[[SetData]]'].values());
+ },
+ entries: function entries() {
+ r(this, 'entries');
+ u(this);
+ return new f(this['[[SetData]]'].entries());
+ },
+ forEach: function forEach(e) {
+ r(this, 'forEach');
+ var n = arguments.length > 1 ? arguments[1] : null;
+ var o = this;
+ u(o);
+ this['[[SetData]]'].forEach(function (r, i) {
+ if (n) {
+ t(e, n, i, i, o);
+ } else {
+ e(i, i, o);
+ }
+ });
+ },
+ });
+ h(i.prototype, 'keys', i.prototype.values, true);
+ Me(i.prototype, i.prototype.values);
+ var f = function SetIterator(e) {
+ this.it = e;
+ };
+ f.prototype = {
+ isSetIterator: true,
+ next: function next() {
+ if (!this.isSetIterator) {
+ throw new TypeError('Not a SetIterator');
+ }
+ return this.it.next();
+ },
+ };
+ Me(f.prototype);
+ return i;
+ })(),
+ };
+ var nn =
+ S.Set &&
+ !Set.prototype['delete'] &&
+ Set.prototype.remove &&
+ Set.prototype.items &&
+ Set.prototype.map &&
+ Array.isArray(new Set().keys);
+ if (nn) {
+ S.Set = rn.Set;
+ }
+ if (S.Map || S.Set) {
+ var on = a(function () {
+ return new Map([[1, 2]]).get(1) === 2;
+ });
+ if (!on) {
+ S.Map = function Map() {
+ if (!(this instanceof Map)) {
+ throw new TypeError('Constructor Map requires "new"');
+ }
+ var e = new G();
+ if (arguments.length > 0) {
+ en(Map, e, arguments[0]);
+ }
+ delete e.constructor;
+ Object.setPrototypeOf(e, S.Map.prototype);
+ return e;
+ };
+ S.Map.prototype = O(G.prototype);
+ h(S.Map.prototype, 'constructor', S.Map, true);
+ m.preserveToString(S.Map, G);
+ }
+ var an = new Map();
+ var un = (function () {
+ var e = new Map([
+ [1, 0],
+ [2, 0],
+ [3, 0],
+ [4, 0],
+ ]);
+ e.set(-0, e);
+ return e.get(0) === e && e.get(-0) === e && e.has(0) && e.has(-0);
+ })();
+ var fn = an.set(1, 2) === an;
+ if (!un || !fn) {
+ ne(Map.prototype, 'set', function set(e, r) {
+ t(U, this, e === 0 ? 0 : e, r);
+ return this;
+ });
+ }
+ if (!un) {
+ b(
+ Map.prototype,
+ {
+ get: function get(e) {
+ return t(V, this, e === 0 ? 0 : e);
+ },
+ has: function has(e) {
+ return t(B, this, e === 0 ? 0 : e);
+ },
+ },
+ true
+ );
+ m.preserveToString(Map.prototype.get, V);
+ m.preserveToString(Map.prototype.has, B);
+ }
+ var sn = new Set();
+ var cn =
+ Set.prototype['delete'] &&
+ Set.prototype.add &&
+ Set.prototype.has &&
+ (function (e) {
+ e['delete'](0);
+ e.add(-0);
+ return !e.has(0);
+ })(sn);
+ var ln = sn.add(1) === sn;
+ if (!cn || !ln) {
+ var pn = Set.prototype.add;
+ Set.prototype.add = function add(e) {
+ t(pn, this, e === 0 ? 0 : e);
+ return this;
+ };
+ m.preserveToString(Set.prototype.add, pn);
+ }
+ if (!cn) {
+ var vn = Set.prototype.has;
+ Set.prototype.has = function has(e) {
+ return t(vn, this, e === 0 ? 0 : e);
+ };
+ m.preserveToString(Set.prototype.has, vn);
+ var yn = Set.prototype['delete'];
+ Set.prototype['delete'] = function SetDelete(e) {
+ return t(yn, this, e === 0 ? 0 : e);
+ };
+ m.preserveToString(Set.prototype['delete'], yn);
+ }
+ var hn = w(S.Map, function (e) {
+ var t = new e([]);
+ t.set(42, 42);
+ return t instanceof e;
+ });
+ var bn = Object.setPrototypeOf && !hn;
+ var gn = (function () {
+ try {
+ return !(S.Map() instanceof S.Map);
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ })();
+ if (S.Map.length !== 0 || bn || !gn) {
+ S.Map = function Map() {
+ if (!(this instanceof Map)) {
+ throw new TypeError('Constructor Map requires "new"');
+ }
+ var e = new G();
+ if (arguments.length > 0) {
+ en(Map, e, arguments[0]);
+ }
+ delete e.constructor;
+ Object.setPrototypeOf(e, Map.prototype);
+ return e;
+ };
+ S.Map.prototype = G.prototype;
+ h(S.Map.prototype, 'constructor', S.Map, true);
+ m.preserveToString(S.Map, G);
+ }
+ var dn = w(S.Set, function (e) {
+ var t = new e([]);
+ t.add(42, 42);
+ return t instanceof e;
+ });
+ var mn = Object.setPrototypeOf && !dn;
+ var On = (function () {
+ try {
+ return !(S.Set() instanceof S.Set);
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ })();
+ if (S.Set.length !== 0 || mn || !On) {
+ var wn = S.Set;
+ S.Set = function Set() {
+ if (!(this instanceof Set)) {
+ throw new TypeError('Constructor Set requires "new"');
+ }
+ var e = new wn();
+ if (arguments.length > 0) {
+ tn(Set, e, arguments[0]);
+ }
+ delete e.constructor;
+ Object.setPrototypeOf(e, Set.prototype);
+ return e;
+ };
+ S.Set.prototype = wn.prototype;
+ h(S.Set.prototype, 'constructor', S.Set, true);
+ m.preserveToString(S.Set, wn);
+ }
+ var jn = new S.Map();
+ var Sn = !a(function () {
+ return jn.keys().next().done;
+ });
+ if (
+ typeof S.Map.prototype.clear !== 'function' ||
+ new S.Set().size !== 0 ||
+ jn.size !== 0 ||
+ typeof S.Map.prototype.keys !== 'function' ||
+ typeof S.Set.prototype.keys !== 'function' ||
+ typeof S.Map.prototype.forEach !== 'function' ||
+ typeof S.Set.prototype.forEach !== 'function' ||
+ u(S.Map) ||
+ u(S.Set) ||
+ typeof jn.keys().next !== 'function' ||
+ Sn ||
+ !hn
+ ) {
+ b(S, { Map: rn.Map, Set: rn.Set }, true);
+ }
+ if (S.Set.prototype.keys !== S.Set.prototype.values) {
+ h(S.Set.prototype, 'keys', S.Set.prototype.values, true);
+ }
+ Me(Object.getPrototypeOf(new S.Map().keys()));
+ Me(Object.getPrototypeOf(new S.Set().keys()));
+ if (c && S.Set.prototype.has.name !== 'has') {
+ var Tn = S.Set.prototype.has;
+ ne(S.Set.prototype, 'has', function has(e) {
+ return t(Tn, this, e);
+ });
+ }
+ }
+ b(S, rn);
+ Ce(S.Map);
+ Ce(S.Set);
+ }
+ var In = function throwUnlessTargetIsObject(e) {
+ if (!ce.TypeIsObject(e)) {
+ throw new TypeError('target must be an object');
+ }
+ };
+ var En = {
+ apply: function apply() {
+ return ce.Call(ce.Call, null, arguments);
+ },
+ construct: function construct(e, t) {
+ if (!ce.IsConstructor(e)) {
+ throw new TypeError('First argument must be a constructor.');
+ }
+ var r = arguments.length > 2 ? arguments[2] : e;
+ if (!ce.IsConstructor(r)) {
+ throw new TypeError('new.target must be a constructor.');
+ }
+ return ce.Construct(e, t, r, 'internal');
+ },
+ deleteProperty: function deleteProperty(e, t) {
+ In(e);
+ if (s) {
+ var r = Object.getOwnPropertyDescriptor(e, t);
+ if (r && !r.configurable) {
+ return false;
+ }
+ }
+ return delete e[t];
+ },
+ has: function has(e, t) {
+ In(e);
+ return t in e;
+ },
+ };
+ if (Object.getOwnPropertyNames) {
+ Object.assign(En, {
+ ownKeys: function ownKeys(e) {
+ In(e);
+ var t = Object.getOwnPropertyNames(e);
+ if (ce.IsCallable(Object.getOwnPropertySymbols)) {
+ x(t, Object.getOwnPropertySymbols(e));
+ }
+ return t;
+ },
+ });
+ }
+ var Pn = function ConvertExceptionToBoolean(e) {
+ return !i(e);
+ };
+ if (Object.preventExtensions) {
+ Object.assign(En, {
+ isExtensible: function isExtensible(e) {
+ In(e);
+ return Object.isExtensible(e);
+ },
+ preventExtensions: function preventExtensions(e) {
+ In(e);
+ return Pn(function () {
+ return Object.preventExtensions(e);
+ });
+ },
+ });
+ }
+ if (s) {
+ var Cn = function get(e, t, r) {
+ var n = Object.getOwnPropertyDescriptor(e, t);
+ if (!n) {
+ var o = Object.getPrototypeOf(e);
+ if (o === null) {
+ return void 0;
+ }
+ return Cn(o, t, r);
+ }
+ if ('value' in n) {
+ return n.value;
+ }
+ if (n.get) {
+ return ce.Call(n.get, r);
+ }
+ return void 0;
+ };
+ var Mn = function set(e, r, n, o) {
+ var i = Object.getOwnPropertyDescriptor(e, r);
+ if (!i) {
+ var a = Object.getPrototypeOf(e);
+ if (a !== null) {
+ return Mn(a, r, n, o);
+ }
+ i = {
+ value: void 0,
+ writable: true,
+ enumerable: true,
+ configurable: true,
+ };
+ }
+ if ('value' in i) {
+ if (!i.writable) {
+ return false;
+ }
+ if (!ce.TypeIsObject(o)) {
+ return false;
+ }
+ var u = Object.getOwnPropertyDescriptor(o, r);
+ if (u) {
+ return ae.defineProperty(o, r, { value: n });
+ } else {
+ return ae.defineProperty(o, r, {
+ value: n,
+ writable: true,
+ enumerable: true,
+ configurable: true,
+ });
+ }
+ }
+ if (i.set) {
+ t(i.set, o, n);
+ return true;
+ }
+ return false;
+ };
+ Object.assign(En, {
+ defineProperty: function defineProperty(e, t, r) {
+ In(e);
+ return Pn(function () {
+ return Object.defineProperty(e, t, r);
+ });
+ },
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(e, t) {
+ In(e);
+ return Object.getOwnPropertyDescriptor(e, t);
+ },
+ get: function get(e, t) {
+ In(e);
+ var r = arguments.length > 2 ? arguments[2] : e;
+ return Cn(e, t, r);
+ },
+ set: function set(e, t, r) {
+ In(e);
+ var n = arguments.length > 3 ? arguments[3] : e;
+ return Mn(e, t, r, n);
+ },
+ });
+ }
+ if (Object.getPrototypeOf) {
+ var xn = Object.getPrototypeOf;
+ En.getPrototypeOf = function getPrototypeOf(e) {
+ In(e);
+ return xn(e);
+ };
+ }
+ if (Object.setPrototypeOf && En.getPrototypeOf) {
+ var Nn = function (e, t) {
+ var r = t;
+ while (r) {
+ if (e === r) {
+ return true;
+ }
+ r = En.getPrototypeOf(r);
+ }
+ return false;
+ };
+ Object.assign(En, {
+ setPrototypeOf: function setPrototypeOf(e, t) {
+ In(e);
+ if (t !== null && !ce.TypeIsObject(t)) {
+ throw new TypeError('proto must be an object or null');
+ }
+ if (t === ae.getPrototypeOf(e)) {
+ return true;
+ }
+ if (ae.isExtensible && !ae.isExtensible(e)) {
+ return false;
+ }
+ if (Nn(e, t)) {
+ return false;
+ }
+ Object.setPrototypeOf(e, t);
+ return true;
+ },
+ });
+ }
+ var An = function (e, t) {
+ if (!ce.IsCallable(S.Reflect[e])) {
+ h(S.Reflect, e, t);
+ } else {
+ var r = a(function () {
+ S.Reflect[e](1);
+ S.Reflect[e](NaN);
+ S.Reflect[e](true);
+ return true;
+ });
+ if (r) {
+ ne(S.Reflect, e, t);
+ }
+ }
+ };
+ Object.keys(En).forEach(function (e) {
+ An(e, En[e]);
+ });
+ var Rn = S.Reflect.getPrototypeOf;
+ if (c && Rn && Rn.name !== 'getPrototypeOf') {
+ ne(S.Reflect, 'getPrototypeOf', function getPrototypeOf(e) {
+ return t(Rn, S.Reflect, e);
+ });
+ }
+ if (S.Reflect.setPrototypeOf) {
+ if (
+ a(function () {
+ S.Reflect.setPrototypeOf(1, {});
+ return true;
+ })
+ ) {
+ ne(S.Reflect, 'setPrototypeOf', En.setPrototypeOf);
+ }
+ }
+ if (S.Reflect.defineProperty) {
+ if (
+ !a(function () {
+ var e = !S.Reflect.defineProperty(1, 'test', { value: 1 });
+ var t =
+ typeof Object.preventExtensions !== 'function' ||
+ !S.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});
+ return e && t;
+ })
+ ) {
+ ne(S.Reflect, 'defineProperty', En.defineProperty);
+ }
+ }
+ if (S.Reflect.construct) {
+ if (
+ !a(function () {
+ var e = function F() {};
+ return S.Reflect.construct(function () {}, [], e) instanceof e;
+ })
+ ) {
+ ne(S.Reflect, 'construct', En.construct);
+ }
+ }
+ if (String(new Date(NaN)) !== 'Invalid Date') {
+ var _n = Date.prototype.toString;
+ var kn = function toString() {
+ var e = +this;
+ if (e !== e) {
+ return 'Invalid Date';
+ }
+ return ce.Call(_n, this);
+ };
+ ne(Date.prototype, 'toString', kn);
+ }
+ var Ln = {
+ anchor: function anchor(e) {
+ return ce.CreateHTML(this, 'a', 'name', e);
+ },
+ big: function big() {
+ return ce.CreateHTML(this, 'big', '', '');
+ },
+ blink: function blink() {
+ return ce.CreateHTML(this, 'blink', '', '');
+ },
+ bold: function bold() {
+ return ce.CreateHTML(this, 'b', '', '');
+ },
+ fixed: function fixed() {
+ return ce.CreateHTML(this, 'tt', '', '');
+ },
+ fontcolor: function fontcolor(e) {
+ return ce.CreateHTML(this, 'font', 'color', e);
+ },
+ fontsize: function fontsize(e) {
+ return ce.CreateHTML(this, 'font', 'size', e);
+ },
+ italics: function italics() {
+ return ce.CreateHTML(this, 'i', '', '');
+ },
+ link: function link(e) {
+ return ce.CreateHTML(this, 'a', 'href', e);
+ },
+ small: function small() {
+ return ce.CreateHTML(this, 'small', '', '');
+ },
+ strike: function strike() {
+ return ce.CreateHTML(this, 'strike', '', '');
+ },
+ sub: function sub() {
+ return ce.CreateHTML(this, 'sub', '', '');
+ },
+ sup: function sub() {
+ return ce.CreateHTML(this, 'sup', '', '');
+ },
+ };
+ l(Object.keys(Ln), function (e) {
+ var r = String.prototype[e];
+ var n = false;
+ if (ce.IsCallable(r)) {
+ var o = t(r, '', ' " ');
+ var i = P([], o.match(/"/g)).length;
+ n = o !== o.toLowerCase() || i > 2;
+ } else {
+ n = true;
+ }
+ if (n) {
+ ne(String.prototype, e, Ln[e]);
+ }
+ });
+ var Fn = (function () {
+ if (!oe) {
+ return false;
+ }
+ var e =
+ typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null;
+ if (!e) {
+ return false;
+ }
+ if (typeof e($()) !== 'undefined') {
+ return true;
+ }
+ if (e([$()]) !== '[null]') {
+ return true;
+ }
+ var t = { a: $() };
+ t[$()] = true;
+ if (e(t) !== '{}') {
+ return true;
+ }
+ return false;
+ })();
+ var Dn = a(function () {
+ if (!oe) {
+ return true;
+ }
+ return JSON.stringify(Object($())) === '{}' && JSON.stringify([Object($())]) === '[{}]';
+ });
+ if (Fn || !Dn) {
+ var zn = JSON.stringify;
+ ne(JSON, 'stringify', function stringify(e) {
+ if (typeof e === 'symbol') {
+ return;
+ }
+ var n;
+ if (arguments.length > 1) {
+ n = arguments[1];
+ }
+ var o = [e];
+ if (!r(n)) {
+ var i = ce.IsCallable(n) ? n : null;
+ var a = function (e, r) {
+ var n = i ? t(i, this, e, r) : r;
+ if (typeof n !== 'symbol') {
+ if (re.symbol(n)) {
+ return Nt({})(n);
+ } else {
+ return n;
+ }
+ }
+ };
+ o.push(a);
+ } else {
+ o.push(n);
+ }
+ if (arguments.length > 2) {
+ o.push(arguments[2]);
+ }
+ return zn.apply(this, o);
+ });
+ }
+ return S;
+});
//# sourceMappingURL=es6-shim.map
diff --git a/platform/app/public/html-templates/index.html b/platform/app/public/html-templates/index.html
index 9ff1c3e6926..eb53fc851c8 100644
--- a/platform/app/public/html-templates/index.html
+++ b/platform/app/public/html-templates/index.html
@@ -1,4 +1,4 @@
-
+
@@ -6,16 +6,34 @@
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
-
-
-
-
+
+
+
+
-
-
+
+
-
+
+
-
+
-
-
-
-
+
+
+
-
+