Skip to content

Commit

Permalink
[641] Add support for expressions in constraints
Browse files Browse the repository at this point in the history
Bug: eclipse-syson#641
Signed-off-by: Gwendal Daniel <gwendal.daniel@obeosoft.com>
  • Loading branch information
gdaniel committed Aug 14, 2024
1 parent 8ac3235 commit b91829a
Show file tree
Hide file tree
Showing 19 changed files with 2,970 additions and 1,526 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ The second one called "New ExhibitState with referenced State" shows a dialog al
- https://github.com/eclipse-syson/syson/issues/639[#639] [diagrams] Handle properties keywords in label of Usage element.
- https://github.com/eclipse-syson/syson/issues/639[#639] [diagrams] Allow direct edit of properties of Usage elements.
The supported properties are `in`, `out`, `inout`, `abstract`, `variation`, `readonly`, `derived`, `end`, `ordered`, and `nonunique`.
- https://github.com/eclipse-syson/syson/issues/641[#641] [general-view] Add support for expressions in constraints.

=== New features

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
package org.eclipse.syson.sysml.impl;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
Expand Down Expand Up @@ -67,13 +68,16 @@ public Feature getTargetFeature() {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
* @generated NOT
*/
public Feature basicGetTargetFeature() {
// TODO: implement this method to return the 'Target Feature' reference
// -> do not perform proxy resolution
// Ensure that you remove @generated or mark it @generated NOT
return null;
List<Feature> parameters = this.getParameter();
return this.getMember().stream()
.filter(Feature.class::isInstance)
.filter(element -> !parameters.contains(element))
.map(Feature.class::cast)
.findFirst()
.orElse(null);
}

/**
Expand All @@ -97,8 +101,9 @@ public Feature sourceTargetFeature() {
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SysmlPackage.FEATURE_CHAIN_EXPRESSION__TARGET_FEATURE:
if (resolve)
if (resolve) {
return this.getTargetFeature();
}
return this.basicGetTargetFeature();
}
return super.eGet(featureID, resolve, coreType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.eclipse.syson.sysml.Feature;
import org.eclipse.syson.sysml.Step;
import org.eclipse.syson.sysml.SysmlPackage;
import org.eclipse.syson.sysml.Type;
import org.eclipse.syson.sysml.Usage;

/**
Expand Down Expand Up @@ -75,10 +76,23 @@ public EList<Behavior> getBehavior() {
*/
@Override
public EList<Feature> getParameter() {
List<Usage> data = new ArrayList<>();

// TODO handle chaining feature (see pilot)
List<Feature> data = this.getOwnedFeature().stream()
.filter(this::isParameter)
.toList();
// The list should contain the inherited parameters, it is not the case for now.
return new EcoreEList.UnmodifiableEList<>(this, SysmlPackage.eINSTANCE.getStep_Parameter(), data.size(), data.toArray());
}

/**
* @generated NOT
*/
private boolean isParameter(Feature feature) {
Type owningType = feature.getOwningType();
return (owningType instanceof Behavior || owningType instanceof Step) && feature.getDirection() != null;
}

/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
Expand Down
5 changes: 5 additions & 0 deletions backend/services/syson-services/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@
<version>1.15.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ null
':>>'
':'
'='
'.'
'<='
'>='
'<'
'>'
'=='
'|'
'/'
','
Expand Down Expand Up @@ -144,6 +150,12 @@ null
null
null
null
null
null
null
null
null
null
WS
Boolean
Integer
Expand Down Expand Up @@ -280,7 +292,13 @@ subsettingExpression
redefinitionExpression
typingExpression
valueExpression
literalExpression
measurementExpression
constraintExpression
operand
featureChainExpression
featureReference
operatorExpression
transitionExpression
triggerExpression
triggerExpressionName
Expand All @@ -291,4 +309,4 @@ name


atn:
[4, 1, 128, 217, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 1, 0, 3, 0, 56, 8, 0, 1, 0, 3, 0, 59, 8, 0, 1, 0, 3, 0, 62, 8, 0, 1, 0, 3, 0, 65, 8, 0, 1, 0, 3, 0, 68, 8, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 74, 8, 1, 1, 1, 3, 1, 77, 8, 1, 1, 1, 3, 1, 80, 8, 1, 1, 1, 3, 1, 83, 8, 1, 1, 1, 3, 1, 86, 8, 1, 1, 1, 3, 1, 89, 8, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 109, 8, 9, 1, 9, 1, 9, 1, 9, 1, 10, 3, 10, 115, 8, 10, 1, 10, 3, 10, 118, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 128, 8, 14, 1, 14, 3, 14, 131, 8, 14, 1, 14, 3, 14, 134, 8, 14, 1, 14, 3, 14, 137, 8, 14, 1, 14, 1, 14, 3, 14, 141, 8, 14, 1, 14, 3, 14, 144, 8, 14, 3, 14, 146, 8, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 163, 8, 18, 1, 19, 4, 19, 166, 8, 19, 11, 19, 12, 19, 167, 1, 20, 3, 20, 171, 8, 20, 1, 20, 3, 20, 174, 8, 20, 1, 20, 3, 20, 177, 8, 20, 1, 21, 1, 21, 1, 21, 5, 21, 182, 8, 21, 10, 21, 12, 21, 185, 9, 21, 1, 22, 1, 22, 3, 22, 189, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 5, 24, 199, 8, 24, 10, 24, 12, 24, 202, 9, 24, 1, 25, 1, 25, 1, 25, 5, 25, 207, 8, 25, 10, 25, 12, 25, 210, 9, 25, 1, 26, 4, 26, 213, 8, 26, 11, 26, 12, 26, 214, 1, 26, 0, 0, 27, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 0, 5, 3, 0, 70, 70, 72, 72, 93, 93, 2, 0, 4, 4, 16, 16, 1, 0, 15, 18, 1, 0, 3, 3, 5, 0, 1, 1, 5, 8, 13, 13, 85, 85, 91, 91, 222, 0, 55, 1, 0, 0, 0, 2, 73, 1, 0, 0, 0, 4, 90, 1, 0, 0, 0, 6, 92, 1, 0, 0, 0, 8, 94, 1, 0, 0, 0, 10, 96, 1, 0, 0, 0, 12, 98, 1, 0, 0, 0, 14, 100, 1, 0, 0, 0, 16, 102, 1, 0, 0, 0, 18, 104, 1, 0, 0, 0, 20, 114, 1, 0, 0, 0, 22, 119, 1, 0, 0, 0, 24, 121, 1, 0, 0, 0, 26, 123, 1, 0, 0, 0, 28, 145, 1, 0, 0, 0, 30, 147, 1, 0, 0, 0, 32, 150, 1, 0, 0, 0, 34, 153, 1, 0, 0, 0, 36, 156, 1, 0, 0, 0, 38, 165, 1, 0, 0, 0, 40, 170, 1, 0, 0, 0, 42, 178, 1, 0, 0, 0, 44, 186, 1, 0, 0, 0, 46, 190, 1, 0, 0, 0, 48, 194, 1, 0, 0, 0, 50, 203, 1, 0, 0, 0, 52, 212, 1, 0, 0, 0, 54, 56, 3, 2, 1, 0, 55, 54, 1, 0, 0, 0, 55, 56, 1, 0, 0, 0, 56, 58, 1, 0, 0, 0, 57, 59, 3, 16, 8, 0, 58, 57, 1, 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 61, 1, 0, 0, 0, 60, 62, 3, 52, 26, 0, 61, 60, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 64, 1, 0, 0, 0, 63, 65, 3, 18, 9, 0, 64, 63, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 67, 1, 0, 0, 0, 66, 68, 3, 20, 10, 0, 67, 66, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 3, 28, 14, 0, 70, 71, 5, 0, 0, 1, 71, 1, 1, 0, 0, 0, 72, 74, 3, 4, 2, 0, 73, 72, 1, 0, 0, 0, 73, 74, 1, 0, 0, 0, 74, 76, 1, 0, 0, 0, 75, 77, 3, 6, 3, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 79, 1, 0, 0, 0, 78, 80, 3, 8, 4, 0, 79, 78, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 82, 1, 0, 0, 0, 81, 83, 3, 10, 5, 0, 82, 81, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 85, 1, 0, 0, 0, 84, 86, 3, 12, 6, 0, 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 88, 1, 0, 0, 0, 87, 89, 3, 14, 7, 0, 88, 87, 1, 0, 0, 0, 88, 89, 1, 0, 0, 0, 89, 3, 1, 0, 0, 0, 90, 91, 7, 0, 0, 0, 91, 5, 1, 0, 0, 0, 92, 93, 5, 21, 0, 0, 93, 7, 1, 0, 0, 0, 94, 95, 5, 126, 0, 0, 95, 9, 1, 0, 0, 0, 96, 97, 5, 101, 0, 0, 97, 11, 1, 0, 0, 0, 98, 99, 5, 45, 0, 0, 99, 13, 1, 0, 0, 0, 100, 101, 5, 52, 0, 0, 101, 15, 1, 0, 0, 0, 102, 103, 5, 105, 0, 0, 103, 17, 1, 0, 0, 0, 104, 108, 5, 1, 0, 0, 105, 106, 3, 26, 13, 0, 106, 107, 5, 2, 0, 0, 107, 109, 1, 0, 0, 0, 108, 105, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 111, 3, 26, 13, 0, 111, 112, 5, 3, 0, 0, 112, 19, 1, 0, 0, 0, 113, 115, 3, 22, 11, 0, 114, 113, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 117, 1, 0, 0, 0, 116, 118, 3, 24, 12, 0, 117, 116, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 21, 1, 0, 0, 0, 119, 120, 5, 91, 0, 0, 120, 23, 1, 0, 0, 0, 121, 122, 5, 85, 0, 0, 122, 25, 1, 0, 0, 0, 123, 124, 7, 1, 0, 0, 124, 27, 1, 0, 0, 0, 125, 128, 3, 30, 15, 0, 126, 128, 3, 32, 16, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 130, 1, 0, 0, 0, 129, 131, 3, 34, 17, 0, 130, 129, 1, 0, 0, 0, 130, 131, 1, 0, 0, 0, 131, 133, 1, 0, 0, 0, 132, 134, 3, 36, 18, 0, 133, 132, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 146, 1, 0, 0, 0, 135, 137, 3, 34, 17, 0, 136, 135, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 140, 1, 0, 0, 0, 138, 141, 3, 30, 15, 0, 139, 141, 3, 32, 16, 0, 140, 138, 1, 0, 0, 0, 140, 139, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 143, 1, 0, 0, 0, 142, 144, 3, 36, 18, 0, 143, 142, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 146, 1, 0, 0, 0, 145, 127, 1, 0, 0, 0, 145, 136, 1, 0, 0, 0, 146, 29, 1, 0, 0, 0, 147, 148, 5, 5, 0, 0, 148, 149, 3, 50, 25, 0, 149, 31, 1, 0, 0, 0, 150, 151, 5, 6, 0, 0, 151, 152, 3, 50, 25, 0, 152, 33, 1, 0, 0, 0, 153, 154, 5, 7, 0, 0, 154, 155, 3, 50, 25, 0, 155, 35, 1, 0, 0, 0, 156, 157, 5, 8, 0, 0, 157, 162, 7, 2, 0, 0, 158, 159, 5, 1, 0, 0, 159, 160, 3, 38, 19, 0, 160, 161, 5, 3, 0, 0, 161, 163, 1, 0, 0, 0, 162, 158, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 37, 1, 0, 0, 0, 164, 166, 8, 3, 0, 0, 165, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 39, 1, 0, 0, 0, 169, 171, 3, 42, 21, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 173, 1, 0, 0, 0, 172, 174, 3, 46, 23, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 176, 1, 0, 0, 0, 175, 177, 3, 48, 24, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 41, 1, 0, 0, 0, 178, 183, 3, 44, 22, 0, 179, 180, 5, 9, 0, 0, 180, 182, 3, 44, 22, 0, 181, 179, 1, 0, 0, 0, 182, 185, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 43, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 186, 188, 3, 52, 26, 0, 187, 189, 3, 34, 17, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 45, 1, 0, 0, 0, 190, 191, 5, 1, 0, 0, 191, 192, 3, 36, 18, 0, 192, 193, 5, 3, 0, 0, 193, 47, 1, 0, 0, 0, 194, 195, 5, 10, 0, 0, 195, 200, 3, 50, 25, 0, 196, 197, 5, 11, 0, 0, 197, 199, 3, 50, 25, 0, 198, 196, 1, 0, 0, 0, 199, 202, 1, 0, 0, 0, 200, 198, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 49, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 203, 208, 3, 52, 26, 0, 204, 205, 5, 12, 0, 0, 205, 207, 3, 52, 26, 0, 206, 204, 1, 0, 0, 0, 207, 210, 1, 0, 0, 0, 208, 206, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 51, 1, 0, 0, 0, 210, 208, 1, 0, 0, 0, 211, 213, 8, 4, 0, 0, 212, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 53, 1, 0, 0, 0, 31, 55, 58, 61, 64, 67, 73, 76, 79, 82, 85, 88, 108, 114, 117, 127, 130, 133, 136, 140, 143, 145, 162, 167, 170, 173, 176, 183, 188, 200, 208, 214]
[4, 1, 134, 257, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 1, 0, 3, 0, 68, 8, 0, 1, 0, 3, 0, 71, 8, 0, 1, 0, 3, 0, 74, 8, 0, 1, 0, 3, 0, 77, 8, 0, 1, 0, 3, 0, 80, 8, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 86, 8, 1, 1, 1, 3, 1, 89, 8, 1, 1, 1, 3, 1, 92, 8, 1, 1, 1, 3, 1, 95, 8, 1, 1, 1, 3, 1, 98, 8, 1, 1, 1, 3, 1, 101, 8, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 121, 8, 9, 1, 9, 1, 9, 1, 9, 1, 10, 3, 10, 127, 8, 10, 1, 10, 3, 10, 130, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 140, 8, 14, 1, 14, 3, 14, 143, 8, 14, 1, 14, 3, 14, 146, 8, 14, 1, 14, 3, 14, 149, 8, 14, 1, 14, 1, 14, 3, 14, 153, 8, 14, 1, 14, 3, 14, 156, 8, 14, 3, 14, 158, 8, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 175, 8, 18, 1, 19, 1, 19, 1, 20, 4, 20, 180, 8, 20, 11, 20, 12, 20, 181, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 193, 8, 22, 1, 22, 3, 22, 196, 8, 22, 1, 23, 1, 23, 1, 23, 3, 23, 201, 8, 23, 1, 24, 4, 24, 204, 8, 24, 11, 24, 12, 24, 205, 1, 25, 1, 25, 1, 26, 3, 26, 211, 8, 26, 1, 26, 3, 26, 214, 8, 26, 1, 26, 3, 26, 217, 8, 26, 1, 27, 1, 27, 1, 27, 5, 27, 222, 8, 27, 10, 27, 12, 27, 225, 9, 27, 1, 28, 1, 28, 3, 28, 229, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 239, 8, 30, 10, 30, 12, 30, 242, 9, 30, 1, 31, 1, 31, 1, 31, 5, 31, 247, 8, 31, 10, 31, 12, 31, 250, 9, 31, 1, 32, 4, 32, 253, 8, 32, 11, 32, 12, 32, 254, 1, 32, 0, 0, 33, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 0, 7, 3, 0, 76, 76, 78, 78, 99, 99, 2, 0, 4, 4, 22, 22, 1, 0, 21, 24, 1, 0, 3, 3, 1, 0, 9, 14, 1, 0, 10, 14, 5, 0, 1, 1, 5, 8, 19, 19, 91, 91, 97, 97, 260, 0, 67, 1, 0, 0, 0, 2, 85, 1, 0, 0, 0, 4, 102, 1, 0, 0, 0, 6, 104, 1, 0, 0, 0, 8, 106, 1, 0, 0, 0, 10, 108, 1, 0, 0, 0, 12, 110, 1, 0, 0, 0, 14, 112, 1, 0, 0, 0, 16, 114, 1, 0, 0, 0, 18, 116, 1, 0, 0, 0, 20, 126, 1, 0, 0, 0, 22, 131, 1, 0, 0, 0, 24, 133, 1, 0, 0, 0, 26, 135, 1, 0, 0, 0, 28, 157, 1, 0, 0, 0, 30, 159, 1, 0, 0, 0, 32, 162, 1, 0, 0, 0, 34, 165, 1, 0, 0, 0, 36, 168, 1, 0, 0, 0, 38, 176, 1, 0, 0, 0, 40, 179, 1, 0, 0, 0, 42, 183, 1, 0, 0, 0, 44, 195, 1, 0, 0, 0, 46, 197, 1, 0, 0, 0, 48, 203, 1, 0, 0, 0, 50, 207, 1, 0, 0, 0, 52, 210, 1, 0, 0, 0, 54, 218, 1, 0, 0, 0, 56, 226, 1, 0, 0, 0, 58, 230, 1, 0, 0, 0, 60, 234, 1, 0, 0, 0, 62, 243, 1, 0, 0, 0, 64, 252, 1, 0, 0, 0, 66, 68, 3, 2, 1, 0, 67, 66, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 70, 1, 0, 0, 0, 69, 71, 3, 16, 8, 0, 70, 69, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 73, 1, 0, 0, 0, 72, 74, 3, 64, 32, 0, 73, 72, 1, 0, 0, 0, 73, 74, 1, 0, 0, 0, 74, 76, 1, 0, 0, 0, 75, 77, 3, 18, 9, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 79, 1, 0, 0, 0, 78, 80, 3, 20, 10, 0, 79, 78, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 82, 3, 28, 14, 0, 82, 83, 5, 0, 0, 1, 83, 1, 1, 0, 0, 0, 84, 86, 3, 4, 2, 0, 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 88, 1, 0, 0, 0, 87, 89, 3, 6, 3, 0, 88, 87, 1, 0, 0, 0, 88, 89, 1, 0, 0, 0, 89, 91, 1, 0, 0, 0, 90, 92, 3, 8, 4, 0, 91, 90, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 94, 1, 0, 0, 0, 93, 95, 3, 10, 5, 0, 94, 93, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 97, 1, 0, 0, 0, 96, 98, 3, 12, 6, 0, 97, 96, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 100, 1, 0, 0, 0, 99, 101, 3, 14, 7, 0, 100, 99, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101, 3, 1, 0, 0, 0, 102, 103, 7, 0, 0, 0, 103, 5, 1, 0, 0, 0, 104, 105, 5, 27, 0, 0, 105, 7, 1, 0, 0, 0, 106, 107, 5, 132, 0, 0, 107, 9, 1, 0, 0, 0, 108, 109, 5, 107, 0, 0, 109, 11, 1, 0, 0, 0, 110, 111, 5, 51, 0, 0, 111, 13, 1, 0, 0, 0, 112, 113, 5, 58, 0, 0, 113, 15, 1, 0, 0, 0, 114, 115, 5, 111, 0, 0, 115, 17, 1, 0, 0, 0, 116, 120, 5, 1, 0, 0, 117, 118, 3, 26, 13, 0, 118, 119, 5, 2, 0, 0, 119, 121, 1, 0, 0, 0, 120, 117, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 123, 3, 26, 13, 0, 123, 124, 5, 3, 0, 0, 124, 19, 1, 0, 0, 0, 125, 127, 3, 22, 11, 0, 126, 125, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 129, 1, 0, 0, 0, 128, 130, 3, 24, 12, 0, 129, 128, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 21, 1, 0, 0, 0, 131, 132, 5, 97, 0, 0, 132, 23, 1, 0, 0, 0, 133, 134, 5, 91, 0, 0, 134, 25, 1, 0, 0, 0, 135, 136, 7, 1, 0, 0, 136, 27, 1, 0, 0, 0, 137, 140, 3, 30, 15, 0, 138, 140, 3, 32, 16, 0, 139, 137, 1, 0, 0, 0, 139, 138, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 142, 1, 0, 0, 0, 141, 143, 3, 34, 17, 0, 142, 141, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0, 143, 145, 1, 0, 0, 0, 144, 146, 3, 36, 18, 0, 145, 144, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 158, 1, 0, 0, 0, 147, 149, 3, 34, 17, 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 153, 3, 30, 15, 0, 151, 153, 3, 32, 16, 0, 152, 150, 1, 0, 0, 0, 152, 151, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 155, 1, 0, 0, 0, 154, 156, 3, 36, 18, 0, 155, 154, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 158, 1, 0, 0, 0, 157, 139, 1, 0, 0, 0, 157, 148, 1, 0, 0, 0, 158, 29, 1, 0, 0, 0, 159, 160, 5, 5, 0, 0, 160, 161, 3, 62, 31, 0, 161, 31, 1, 0, 0, 0, 162, 163, 5, 6, 0, 0, 163, 164, 3, 62, 31, 0, 164, 33, 1, 0, 0, 0, 165, 166, 5, 7, 0, 0, 166, 167, 3, 62, 31, 0, 167, 35, 1, 0, 0, 0, 168, 169, 5, 8, 0, 0, 169, 174, 3, 38, 19, 0, 170, 171, 5, 1, 0, 0, 171, 172, 3, 40, 20, 0, 172, 173, 5, 3, 0, 0, 173, 175, 1, 0, 0, 0, 174, 170, 1, 0, 0, 0, 174, 175, 1, 0, 0, 0, 175, 37, 1, 0, 0, 0, 176, 177, 7, 2, 0, 0, 177, 39, 1, 0, 0, 0, 178, 180, 8, 3, 0, 0, 179, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 41, 1, 0, 0, 0, 183, 184, 3, 44, 22, 0, 184, 185, 3, 50, 25, 0, 185, 186, 3, 44, 22, 0, 186, 43, 1, 0, 0, 0, 187, 192, 3, 38, 19, 0, 188, 189, 5, 1, 0, 0, 189, 190, 3, 40, 20, 0, 190, 191, 5, 3, 0, 0, 191, 193, 1, 0, 0, 0, 192, 188, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 196, 1, 0, 0, 0, 194, 196, 3, 46, 23, 0, 195, 187, 1, 0, 0, 0, 195, 194, 1, 0, 0, 0, 196, 45, 1, 0, 0, 0, 197, 200, 3, 48, 24, 0, 198, 199, 5, 9, 0, 0, 199, 201, 3, 46, 23, 0, 200, 198, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 47, 1, 0, 0, 0, 202, 204, 8, 4, 0, 0, 203, 202, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 205, 206, 1, 0, 0, 0, 206, 49, 1, 0, 0, 0, 207, 208, 7, 5, 0, 0, 208, 51, 1, 0, 0, 0, 209, 211, 3, 54, 27, 0, 210, 209, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 213, 1, 0, 0, 0, 212, 214, 3, 58, 29, 0, 213, 212, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 216, 1, 0, 0, 0, 215, 217, 3, 60, 30, 0, 216, 215, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 53, 1, 0, 0, 0, 218, 223, 3, 56, 28, 0, 219, 220, 5, 15, 0, 0, 220, 222, 3, 56, 28, 0, 221, 219, 1, 0, 0, 0, 222, 225, 1, 0, 0, 0, 223, 221, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 55, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 226, 228, 3, 64, 32, 0, 227, 229, 3, 34, 17, 0, 228, 227, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 57, 1, 0, 0, 0, 230, 231, 5, 1, 0, 0, 231, 232, 3, 36, 18, 0, 232, 233, 5, 3, 0, 0, 233, 59, 1, 0, 0, 0, 234, 235, 5, 16, 0, 0, 235, 240, 3, 62, 31, 0, 236, 237, 5, 17, 0, 0, 237, 239, 3, 62, 31, 0, 238, 236, 1, 0, 0, 0, 239, 242, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 61, 1, 0, 0, 0, 242, 240, 1, 0, 0, 0, 243, 248, 3, 64, 32, 0, 244, 245, 5, 18, 0, 0, 245, 247, 3, 64, 32, 0, 246, 244, 1, 0, 0, 0, 247, 250, 1, 0, 0, 0, 248, 246, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 63, 1, 0, 0, 0, 250, 248, 1, 0, 0, 0, 251, 253, 8, 6, 0, 0, 252, 251, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 65, 1, 0, 0, 0, 35, 67, 70, 73, 76, 79, 85, 88, 91, 94, 97, 100, 120, 126, 129, 139, 142, 145, 148, 152, 155, 157, 174, 181, 192, 195, 200, 205, 210, 213, 216, 223, 228, 240, 248, 254]
Loading

0 comments on commit b91829a

Please sign in to comment.