<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:81151157-4aa6-41ac-acda-128bb1020041(jetbrains.mps.lang.coderules.constraints)">
  <persistence version="9" />
  <languages>
    <use id="d4615e3b-d671-4ba9-af01-2b78369b0ba7" name="jetbrains.mps.lang.pattern" version="2" />
    <use id="daafa647-f1f7-4b0b-b096-69cd7c8408c0" name="jetbrains.mps.baseLanguage.regexp" version="0" />
    <use id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts" version="0" />
    <use id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem" version="5" />
    <use id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints" version="6" />
    <use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="12" />
    <use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
    <use id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections" version="2" />
    <use id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures" version="0" />
    <devkit ref="00000000-0000-4000-0000-5604ebd4f22c(jetbrains.mps.devkit.aspect.constraints)" />
  </languages>
  <imports>
    <import index="fnmy" ref="r:89c0fb70-0977-4113-a076-5906f9d8630f(jetbrains.mps.baseLanguage.scopes)" />
    <import index="o8zo" ref="r:314576fc-3aee-4386-a0a5-a38348ac317d(jetbrains.mps.scope)" />
    <import index="wq2x" ref="r:83137295-aa87-45e8-b0c0-ede2adf2a396(jetbrains.mps.lang.coderules.structure)" />
    <import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" />
    <import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
    <import index="tpce" ref="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" />
    <import index="tpcn" ref="r:00000000-0000-4000-0000-011c8959028b(jetbrains.mps.lang.structure.behavior)" />
    <import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" />
    <import index="hy7p" ref="r:01ee26d6-df00-4ffb-931c-1ddec5984886(jetbrains.mps.lang.coderules.util)" />
    <import index="i348" ref="r:42a15dec-83a9-4fe1-80d6-3bf898c512bd(jetbrains.mps.lang.coderules.template)" />
    <import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" />
    <import index="x5bw" ref="r:15ea4f4e-2f41-4ce3-b7e4-a4e0737f0171(jetbrains.mps.lang.coderules.behavior)" />
    <import index="ni5j" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.regex(JDK/)" />
    <import index="18ew" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.util(MPS.Core/)" />
  </imports>
  <registry>
    <language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
      <concept id="1080223426719" name="jetbrains.mps.baseLanguage.structure.OrExpression" flags="nn" index="22lmx$" />
      <concept id="1082485599095" name="jetbrains.mps.baseLanguage.structure.BlockStatement" flags="nn" index="9aQIb">
        <child id="1082485599096" name="statements" index="9aQI4" />
      </concept>
      <concept id="1215693861676" name="jetbrains.mps.baseLanguage.structure.BaseAssignmentExpression" flags="nn" index="d038R">
        <child id="1068498886297" name="rValue" index="37vLTx" />
        <child id="1068498886295" name="lValue" index="37vLTJ" />
      </concept>
      <concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
      <concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
      <concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="nn" index="2tJIrI" />
      <concept id="1076505808687" name="jetbrains.mps.baseLanguage.structure.WhileStatement" flags="nn" index="2$JKZl">
        <child id="1076505808688" name="condition" index="2$JKZa" />
      </concept>
      <concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
        <reference id="1188208074048" name="annotation" index="2AI5Lk" />
      </concept>
      <concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ngI" index="2AJDlI">
        <child id="1188208488637" name="annotation" index="2AJF6D" />
      </concept>
      <concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
        <child id="1154032183016" name="body" index="2LFqv$" />
      </concept>
      <concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
        <child id="1197027771414" name="operand" index="2Oq$k0" />
        <child id="1197027833540" name="operation" index="2OqNvi" />
      </concept>
      <concept id="1083260308424" name="jetbrains.mps.baseLanguage.structure.EnumConstantReference" flags="nn" index="Rm8GO">
        <reference id="1083260308426" name="enumConstantDeclaration" index="Rm8GQ" />
        <reference id="1144432896254" name="enumClass" index="1Px2BO" />
      </concept>
      <concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
        <child id="1145553007750" name="creator" index="2ShVmc" />
      </concept>
      <concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
        <child id="1137022507850" name="body" index="2VODD2" />
      </concept>
      <concept id="1182160077978" name="jetbrains.mps.baseLanguage.structure.AnonymousClassCreator" flags="nn" index="YeOm9">
        <child id="1182160096073" name="cls" index="YeSDq" />
      </concept>
      <concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
      <concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
        <reference id="1144433194310" name="classConcept" index="1Pybhc" />
      </concept>
      <concept id="1070533707846" name="jetbrains.mps.baseLanguage.structure.StaticFieldReference" flags="nn" index="10M0yZ">
        <reference id="1144433057691" name="classifier" index="1PxDUh" />
      </concept>
      <concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
      <concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
      <concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu" />
      <concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
        <child id="1068431790190" name="initializer" index="33vP2m" />
      </concept>
      <concept id="1513279640923991009" name="jetbrains.mps.baseLanguage.structure.IGenericClassCreator" flags="ngI" index="366HgL">
        <property id="1513279640906337053" name="inferTypeParams" index="373rjd" />
      </concept>
      <concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
        <reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
      </concept>
      <concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
      <concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
      <concept id="1225271177708" name="jetbrains.mps.baseLanguage.structure.StringType" flags="in" index="17QB3L" />
      <concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
        <child id="5680397130376446158" name="type" index="1tU5fm" />
      </concept>
      <concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
        <child id="1068580123133" name="returnType" index="3clF45" />
        <child id="1068580123134" name="parameter" index="3clF46" />
        <child id="1068580123135" name="body" index="3clF47" />
      </concept>
      <concept id="1068580123165" name="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" flags="ig" index="3clFb_">
        <property id="1178608670077" name="isAbstract" index="1EzhhJ" />
      </concept>
      <concept id="1068580123152" name="jetbrains.mps.baseLanguage.structure.EqualsExpression" flags="nn" index="3clFbC" />
      <concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
        <child id="1068580123156" name="expression" index="3clFbG" />
      </concept>
      <concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
      <concept id="1068580123159" name="jetbrains.mps.baseLanguage.structure.IfStatement" flags="nn" index="3clFbJ">
        <child id="1082485599094" name="ifFalseStatement" index="9aQIa" />
        <child id="1068580123160" name="condition" index="3clFbw" />
        <child id="1068580123161" name="ifTrue" index="3clFbx" />
      </concept>
      <concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
        <child id="1068581517665" name="statement" index="3cqZAp" />
      </concept>
      <concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
        <property id="1068580123138" name="value" index="3clFbU" />
      </concept>
      <concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
        <child id="1068581517676" name="expression" index="3cqZAk" />
      </concept>
      <concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
        <child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
      </concept>
      <concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
      <concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
      <concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
        <child id="1081516765348" name="expression" index="3fr31v" />
      </concept>
      <concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ngI" index="1ndlxa">
        <reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
        <child id="1068499141038" name="actualArgument" index="37wK5m" />
      </concept>
      <concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk" />
      <concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
        <property id="521412098689998745" name="nonStatic" index="2bfB8j" />
        <child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
      </concept>
      <concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
      <concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
        <reference id="1107535924139" name="classifier" index="3uigEE" />
      </concept>
      <concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
        <child id="1081773367579" name="rightExpression" index="3uHU7w" />
        <child id="1081773367580" name="leftExpression" index="3uHU7B" />
      </concept>
      <concept id="7024111702304501416" name="jetbrains.mps.baseLanguage.structure.OrAssignmentExpression" flags="nn" index="3vZ8r8" />
      <concept id="1073239437375" name="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" flags="nn" index="3y3z36" />
      <concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ngI" index="1B3ioH">
        <child id="1178549979242" name="visibility" index="1B3o_S" />
      </concept>
      <concept id="1163668896201" name="jetbrains.mps.baseLanguage.structure.TernaryOperatorExpression" flags="nn" index="3K4zz7">
        <child id="1163668914799" name="condition" index="3K4Cdx" />
        <child id="1163668922816" name="ifTrue" index="3K4E3e" />
        <child id="1163668934364" name="ifFalse" index="3K4GZi" />
      </concept>
      <concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
        <child id="8356039341262087992" name="line" index="1aUNEU" />
      </concept>
      <concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
      <concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
      <concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
      <concept id="1170345865475" name="jetbrains.mps.baseLanguage.structure.AnonymousClass" flags="ig" index="1Y3b0j">
        <reference id="1170346070688" name="classifier" index="1Y3XeK" />
      </concept>
    </language>
    <language id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints">
      <concept id="6702802731807351367" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_CanBeAChild" flags="in" index="9S07l" />
      <concept id="1202989658459" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parentNode" flags="nn" index="nLn13" />
      <concept id="8966504967485224688" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_contextNode" flags="nn" index="2rP1CM" />
      <concept id="1147467115080" name="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" flags="ng" index="EnEH3">
        <reference id="1147467295099" name="applicableProperty" index="EomxK" />
        <child id="1147468630220" name="propertyGetter" index="EtsB7" />
        <child id="1212097481299" name="propertyValidator" index="QCWH9" />
        <child id="1152963095733" name="propertySetter" index="1LXaQT" />
      </concept>
      <concept id="1147467790433" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" flags="in" index="Eqf_E" />
      <concept id="1147468365020" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" flags="nn" index="EsrRn" />
      <concept id="1212096972063" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" flags="in" index="QB0g5" />
      <concept id="5564765827938091039" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Scope" flags="ig" index="3dgokm" />
      <concept id="1163200647017" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" flags="nn" index="3kakTB" />
      <concept id="1159285995602" name="jetbrains.mps.lang.constraints.structure.NodeDefaultSearchScope" flags="ng" index="3EP7_v">
        <child id="1159286114227" name="searchScopeFactory" index="3EP$qY" />
      </concept>
      <concept id="1152959968041" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" flags="in" index="1LLf8_" />
      <concept id="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
        <reference id="1213093996982" name="concept" index="1M2myG" />
        <child id="6702802731807737306" name="canBeChild" index="9Vyp8" />
        <child id="1213098023997" name="property" index="1MhHOB" />
        <child id="1213100494875" name="referent" index="1Mr941" />
        <child id="1213101058038" name="defaultScope" index="1MtirG" />
      </concept>
      <concept id="1148687176410" name="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" flags="ng" index="1N5Pfh">
        <reference id="1148687202698" name="applicableLink" index="1N5Vy1" />
        <child id="1148687345559" name="searchScopeFactory" index="1N6uqs" />
      </concept>
      <concept id="1153138554286" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" flags="nn" index="1Wqviy" />
    </language>
    <language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
      <concept id="2524418899405758586" name="jetbrains.mps.baseLanguage.closures.structure.InferredClosureParameterDeclaration" flags="ig" index="gl6BB" />
      <concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
        <child id="1199569906740" name="parameter" index="1bW2Oz" />
        <child id="1199569916463" name="body" index="1bW5cS" />
      </concept>
    </language>
    <language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
      <concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
        <reference id="1177026940964" name="conceptDeclaration" index="cht4Q" />
      </concept>
      <concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
        <child id="1144104376918" name="parameter" index="1xVPHs" />
      </concept>
      <concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
      <concept id="4693937538533521280" name="jetbrains.mps.lang.smodel.structure.OfConceptOperation" flags="ng" index="v3k3i">
        <child id="4693937538533538124" name="requestedConcept" index="v3oSu" />
      </concept>
      <concept id="2396822768958367367" name="jetbrains.mps.lang.smodel.structure.AbstractTypeCastExpression" flags="nn" index="$5XWr">
        <child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
        <child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
      </concept>
      <concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
      <concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
        <reference id="1145383142433" name="elementConcept" index="2I9WkF" />
      </concept>
      <concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
      <concept id="1154546920561" name="jetbrains.mps.lang.smodel.structure.OperationParm_ConceptList" flags="ng" index="3gmYPX">
        <child id="1154546920563" name="concept" index="3gmYPZ" />
      </concept>
      <concept id="1154546950173" name="jetbrains.mps.lang.smodel.structure.ConceptReference" flags="ng" index="3gn64h">
        <reference id="1154546997487" name="concept" index="3gnhBz" />
      </concept>
      <concept id="1182511038748" name="jetbrains.mps.lang.smodel.structure.Model_NodesIncludingImportedOperation" flags="nn" index="1j9C0f">
        <child id="6750920497477143623" name="conceptArgument" index="3MHPCF" />
      </concept>
      <concept id="1176109685393" name="jetbrains.mps.lang.smodel.structure.Model_RootsIncludingImportedOperation" flags="nn" index="3lApI0">
        <child id="6750920497477143611" name="conceptArgument" index="3MHPDn" />
      </concept>
      <concept id="1171999116870" name="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" flags="nn" index="3w_OXm" />
      <concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
      <concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
      <concept id="1144101972840" name="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" flags="ng" index="1xMEDy">
        <child id="1207343664468" name="conceptArgument" index="ri$Ld" />
      </concept>
      <concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
        <property id="1238684351431" name="asCast" index="1BlNFB" />
      </concept>
      <concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2">
        <reference id="1138405853777" name="concept" index="ehGHo" />
      </concept>
      <concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
        <reference id="1138056395725" name="property" index="3TsBF5" />
      </concept>
      <concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
        <reference id="1138056516764" name="link" index="3Tt5mk" />
      </concept>
      <concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
        <reference id="1138056546658" name="link" index="3TtcxE" />
      </concept>
    </language>
    <language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
      <concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
        <property id="1193676396447" name="virtualPackage" index="3GE5qa" />
      </concept>
      <concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
        <property id="1169194664001" name="name" index="TrG5h" />
      </concept>
    </language>
    <language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
      <concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
        <property id="155656958578482949" name="value" index="3oM_SC" />
      </concept>
      <concept id="2535923850359271782" name="jetbrains.mps.lang.text.structure.Line" flags="nn" index="1PaTwC">
        <child id="2535923850359271783" name="elements" index="1PaTwD" />
      </concept>
    </language>
    <language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
      <concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
        <child id="1204796294226" name="closure" index="23t8la" />
      </concept>
      <concept id="1176906603202" name="jetbrains.mps.baseLanguage.collections.structure.BinaryOperation" flags="nn" index="56pJg">
        <child id="1176906787974" name="rightExpression" index="576Qk" />
      </concept>
      <concept id="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
        <child id="540871147943773366" name="argument" index="25WWJ7" />
      </concept>
      <concept id="1151688443754" name="jetbrains.mps.baseLanguage.collections.structure.ListType" flags="in" index="_YKpA">
        <child id="1151688676805" name="elementType" index="_ZDj9" />
      </concept>
      <concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
        <child id="1151689745422" name="elementType" index="A3Ik2" />
      </concept>
      <concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
      <concept id="1235573135402" name="jetbrains.mps.baseLanguage.collections.structure.SingletonSequenceCreator" flags="nn" index="2HTt$P">
        <child id="1235573175711" name="elementType" index="2HTBi0" />
        <child id="1235573187520" name="singletonValue" index="2HTEbv" />
      </concept>
      <concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
        <child id="1237721435807" name="elementType" index="HW$YZ" />
      </concept>
      <concept id="1160600644654" name="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" flags="nn" index="Tc6Ow" />
      <concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
      <concept id="1160666733551" name="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" flags="nn" index="X8dFx" />
      <concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
      <concept id="1201792049884" name="jetbrains.mps.baseLanguage.collections.structure.TranslateOperation" flags="nn" index="3goQfb" />
      <concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
      <concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
      <concept id="1172254888721" name="jetbrains.mps.baseLanguage.collections.structure.ContainsOperation" flags="nn" index="3JPx81" />
      <concept id="1180964022718" name="jetbrains.mps.baseLanguage.collections.structure.ConcatOperation" flags="nn" index="3QWeyG" />
    </language>
  </registry>
  <node concept="1M2fIO" id="6ntBQ9KM5bM">
    <property role="3GE5qa" value="rule.input" />
    <ref role="1M2myG" to="wq2x:6p0DfM0ia8T" resolve="RuleInputDeclaration" />
    <node concept="3EP7_v" id="6ntBQ9KM5jK" role="1MtirG">
      <node concept="3dgokm" id="6fXjIfxgfU_" role="3EP$qY">
        <node concept="3clFbS" id="6fXjIfxgfUA" role="2VODD2">
          <node concept="3clFbH" id="36tQV5AKtGx" role="3cqZAp" />
          <node concept="3cpWs8" id="36tQV5AKyUH" role="3cqZAp">
            <node concept="3cpWsn" id="36tQV5AKyUI" role="3cpWs9">
              <property role="TrG5h" value="rt" />
              <node concept="3Tqbb2" id="36tQV5AKyUF" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
              </node>
              <node concept="2OqwBi" id="36tQV5AKyUJ" role="33vP2m">
                <node concept="2rP1CM" id="36tQV5AKyUK" role="2Oq$k0" />
                <node concept="2Xjw5R" id="36tQV5AKyUL" role="2OqNvi">
                  <node concept="1xMEDy" id="36tQV5AKyUM" role="1xVPHs">
                    <node concept="chp4Y" id="36tQV5AKyUN" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="36tQV5AKyUO" role="1xVPHs" />
                </node>
              </node>
            </node>
          </node>
          <node concept="3cpWs8" id="36tQV5AKxYj" role="3cqZAp">
            <node concept="3cpWsn" id="36tQV5AKxYk" role="3cpWs9">
              <property role="TrG5h" value="scope" />
              <node concept="3uibUv" id="36tQV5AKxYl" role="1tU5fm">
                <ref role="3uigEE" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
              </node>
              <node concept="2ShNRf" id="36tQV5AKxYm" role="33vP2m">
                <node concept="YeOm9" id="36tQV5AKxYn" role="2ShVmc">
                  <node concept="1Y3b0j" id="36tQV5AKxYo" role="YeSDq">
                    <property role="2bfB8j" value="true" />
                    <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                    <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                    <node concept="2YIFZM" id="36tQV5AKxYp" role="37wK5m">
                      <ref role="37wK5l" to="33ny:~Collections.singletonList(java.lang.Object)" resolve="singletonList" />
                      <ref role="1Pybhc" to="33ny:~Collections" resolve="Collections" />
                      <node concept="2OqwBi" id="36tQV5AKxYq" role="37wK5m">
                        <node concept="2OqwBi" id="36tQV5AKxYr" role="2Oq$k0">
                          <node concept="37vLTw" id="36tQV5AK$eh" role="2Oq$k0">
                            <ref role="3cqZAo" node="36tQV5AKyUI" resolve="rt" />
                          </node>
                          <node concept="3TrEf2" id="36tQV5AK$PU" role="2OqNvi">
                            <ref role="3Tt5mk" to="wq2x:36tQV5AmIsx" resolve="input" />
                          </node>
                        </node>
                        <node concept="3TrEf2" id="36tQV5AKxYu" role="2OqNvi">
                          <ref role="3Tt5mk" to="wq2x:5NuEpF1ihrB" resolve="input" />
                        </node>
                      </node>
                    </node>
                    <node concept="3Tm1VV" id="36tQV5AKxYv" role="1B3o_S" />
                    <node concept="3clFb_" id="36tQV5AKxYw" role="jymVt">
                      <property role="1EzhhJ" value="false" />
                      <property role="TrG5h" value="getName" />
                      <node concept="17QB3L" id="36tQV5AKxYx" role="3clF45" />
                      <node concept="3Tm1VV" id="36tQV5AKxYy" role="1B3o_S" />
                      <node concept="37vLTG" id="36tQV5AKxYz" role="3clF46">
                        <property role="TrG5h" value="child" />
                        <node concept="3Tqbb2" id="36tQV5AKxY$" role="1tU5fm" />
                      </node>
                      <node concept="3clFbS" id="36tQV5AKxY_" role="3clF47">
                        <node concept="3clFbF" id="36tQV5AKxYA" role="3cqZAp">
                          <node concept="2OqwBi" id="36tQV5AKxYB" role="3clFbG">
                            <node concept="1PxgMI" id="36tQV5AKxYC" role="2Oq$k0">
                              <property role="1BlNFB" value="true" />
                              <node concept="37vLTw" id="36tQV5AKxYD" role="1m5AlR">
                                <ref role="3cqZAo" node="36tQV5AKxYz" resolve="child" />
                              </node>
                              <node concept="chp4Y" id="36tQV5AKxYE" role="3oSUPX">
                                <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                              </node>
                            </node>
                            <node concept="3TrcHB" id="36tQV5AKxYF" role="2OqNvi">
                              <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="6tPOoeTmT_0" role="3cqZAp">
            <node concept="37vLTw" id="6tPOoeTmT$Y" role="3clFbG">
              <ref role="3cqZAo" node="36tQV5AKxYk" resolve="scope" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="2vGNdoJFT55">
    <property role="3GE5qa" value="constraint.template" />
    <ref role="1M2myG" to="wq2x:6p0DfM0asBO" resolve="ConstraintDeclaration" />
    <node concept="EnEH3" id="2vGNdoJFT56" role="1MhHOB">
      <ref role="EomxK" to="wq2x:6p0DfM0azKj" resolve="arity" />
      <node concept="Eqf_E" id="2vGNdoJFT58" role="EtsB7">
        <node concept="3clFbS" id="2vGNdoJFT59" role="2VODD2">
          <node concept="3clFbF" id="2vGNdoJFTmc" role="3cqZAp">
            <node concept="2OqwBi" id="2vGNdoJFWAa" role="3clFbG">
              <node concept="2OqwBi" id="2vGNdoJFTDI" role="2Oq$k0">
                <node concept="EsrRn" id="2vGNdoJFTmb" role="2Oq$k0" />
                <node concept="3Tsc0h" id="2vGNdoJFUe5" role="2OqNvi">
                  <ref role="3TtcxE" to="wq2x:1CgWc1TyPxy" resolve="parameters" />
                </node>
              </node>
              <node concept="34oBXx" id="2vGNdoJFZxL" role="2OqNvi" />
            </node>
          </node>
        </node>
      </node>
      <node concept="1LLf8_" id="2vGNdoJFZPZ" role="1LXaQT">
        <node concept="3clFbS" id="2vGNdoJFZQ0" role="2VODD2">
          <node concept="3SKdUt" id="2vGNdoJG0a_" role="3cqZAp">
            <node concept="1PaTwC" id="589APehYwtR" role="1aUNEU">
              <node concept="3oM_SD" id="589APehYwtS" role="1PaTwD">
                <property role="3oM_SC" value="can't" />
              </node>
              <node concept="3oM_SD" id="589APehYwtT" role="1PaTwD">
                <property role="3oM_SC" value="be" />
              </node>
              <node concept="3oM_SD" id="589APehYwtU" role="1PaTwD">
                <property role="3oM_SC" value="set" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="1090FxOSDK0">
    <ref role="1M2myG" to="wq2x:60zk4o7reud" resolve="LogicalContextExpression" />
    <node concept="9S07l" id="1090FxOSDK1" role="9Vyp8">
      <node concept="3clFbS" id="1090FxOSDK2" role="2VODD2">
        <node concept="3clFbF" id="1090FxOSDRl" role="3cqZAp">
          <node concept="2OqwBi" id="1090FxOSEW_" role="3clFbG">
            <node concept="2OqwBi" id="1090FxOSE6N" role="2Oq$k0">
              <node concept="nLn13" id="1090FxOSDRk" role="2Oq$k0" />
              <node concept="2Xjw5R" id="1090FxOSEow" role="2OqNvi">
                <node concept="1xMEDy" id="1090FxOSEoy" role="1xVPHs">
                  <node concept="chp4Y" id="1090FxOSEDO" role="ri$Ld">
                    <ref role="cht4Q" to="wq2x:4EfgX2EvF4i" resolve="ExpressionConstraint" />
                  </node>
                </node>
                <node concept="1xIGOp" id="1090FxOSFFO" role="1xVPHs" />
              </node>
            </node>
            <node concept="3x8VRR" id="1090FxOSFoA" role="2OqNvi" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="1mdVbTRXPKb">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:4EfgX2EvF4i" resolve="ExpressionConstraint" />
    <node concept="9S07l" id="1mdVbTRXPKc" role="9Vyp8">
      <node concept="3clFbS" id="1mdVbTRXPKd" role="2VODD2">
        <node concept="3cpWs8" id="1mdVbTSoaPu" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSoaPv" role="3cpWs9">
            <property role="TrG5h" value="acceptable" />
            <node concept="10P_77" id="1mdVbTSoaPw" role="1tU5fm" />
            <node concept="2OqwBi" id="1mdVbTSoaPx" role="33vP2m">
              <node concept="2OqwBi" id="1mdVbTSoaPy" role="2Oq$k0">
                <node concept="nLn13" id="1mdVbTSoaPz" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSoaP$" role="2OqNvi">
                  <node concept="3gmYPX" id="1mdVbTSoaP_" role="1xVPHs">
                    <node concept="3gn64h" id="1mdVbTSoaPA" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3Qe" resolve="Guard" />
                    </node>
                    <node concept="3gn64h" id="1mdVbTSoaPB" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3TO" resolve="Body" />
                    </node>
                    <node concept="3gn64h" id="5itBwM5wVA8" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:5itBwM5wMtr" resolve="MacroTemplateBody" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="1mdVbTSoaPD" role="1xVPHs" />
                </node>
              </node>
              <node concept="3x8VRR" id="1mdVbTSoaPE" role="2OqNvi" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSoaPF" role="3cqZAp" />
        <node concept="3cpWs8" id="1mdVbTSoaPG" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSoaPH" role="3cpWs9">
            <property role="TrG5h" value="methk" />
            <node concept="3uibUv" id="1mdVbTSoaPI" role="1tU5fm">
              <ref role="3uigEE" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
            </node>
            <node concept="2YIFZM" id="1mdVbTSoaPJ" role="33vP2m">
              <ref role="37wK5l" to="hy7p:746Sd4ujSOx" resolve="templateMethodKind" />
              <ref role="1Pybhc" to="hy7p:746Sd4ujSKb" resolve="RuleTemplateUtil" />
              <node concept="2OqwBi" id="1mdVbTSoaPK" role="37wK5m">
                <node concept="nLn13" id="1mdVbTSoaPL" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSoaPM" role="2OqNvi">
                  <node concept="1xMEDy" id="1mdVbTSoaPN" role="1xVPHs">
                    <node concept="chp4Y" id="1mdVbTSoaPO" role="ri$Ld">
                      <ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="1mdVbTSoaPP" role="3cqZAp">
          <node concept="3vZ8r8" id="1mdVbTSoaPQ" role="3clFbG">
            <node concept="22lmx$" id="1mdVbTSoaPR" role="37vLTx">
              <node concept="3clFbC" id="1mdVbTSoaPS" role="3uHU7w">
                <node concept="Rm8GO" id="1mdVbTSoaPT" role="3uHU7w">
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Aj" resolve="GUARD" />
                </node>
                <node concept="37vLTw" id="1mdVbTSoaPU" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSoaPH" resolve="methk" />
                </node>
              </node>
              <node concept="3clFbC" id="1mdVbTSoaPV" role="3uHU7B">
                <node concept="37vLTw" id="1mdVbTSoaPW" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSoaPH" resolve="methk" />
                </node>
                <node concept="Rm8GO" id="1mdVbTSoaPX" role="3uHU7w">
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Ak" resolve="BODY" />
                </node>
              </node>
            </node>
            <node concept="37vLTw" id="1mdVbTSoaPY" role="37vLTJ">
              <ref role="3cqZAo" node="1mdVbTSoaPv" resolve="acceptable" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSoaPZ" role="3cqZAp" />
        <node concept="3clFbF" id="1mdVbTSoaQ0" role="3cqZAp">
          <node concept="37vLTw" id="1mdVbTSoaQ1" role="3clFbG">
            <ref role="3cqZAo" node="1mdVbTSoaPv" resolve="acceptable" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="1mdVbTRYYZ0">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:1CcQBrQdzwG" resolve="EqualsConstraint" />
    <node concept="9S07l" id="1mdVbTRYYZ1" role="9Vyp8">
      <node concept="3clFbS" id="1mdVbTRYYZ2" role="2VODD2">
        <node concept="3cpWs8" id="1mdVbTSocwF" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSocwG" role="3cpWs9">
            <property role="TrG5h" value="acceptable" />
            <node concept="10P_77" id="1mdVbTSocwH" role="1tU5fm" />
            <node concept="2OqwBi" id="1mdVbTSocwI" role="33vP2m">
              <node concept="2OqwBi" id="1mdVbTSocwJ" role="2Oq$k0">
                <node concept="nLn13" id="1mdVbTSocwK" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSocwL" role="2OqNvi">
                  <node concept="3gmYPX" id="1mdVbTSocwM" role="1xVPHs">
                    <node concept="3gn64h" id="1mdVbTSocwN" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3Qe" resolve="Guard" />
                    </node>
                    <node concept="3gn64h" id="1mdVbTSocwO" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3TO" resolve="Body" />
                    </node>
                    <node concept="3gn64h" id="5itBwM5wTKI" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:5itBwM5wMtr" resolve="MacroTemplateBody" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="1mdVbTSocwQ" role="1xVPHs" />
                </node>
              </node>
              <node concept="3x8VRR" id="1mdVbTSocwR" role="2OqNvi" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSocwS" role="3cqZAp" />
        <node concept="3cpWs8" id="1mdVbTSocwT" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSocwU" role="3cpWs9">
            <property role="TrG5h" value="methk" />
            <node concept="3uibUv" id="1mdVbTSocwV" role="1tU5fm">
              <ref role="3uigEE" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
            </node>
            <node concept="2YIFZM" id="1mdVbTSocwW" role="33vP2m">
              <ref role="37wK5l" to="hy7p:746Sd4ujSOx" resolve="templateMethodKind" />
              <ref role="1Pybhc" to="hy7p:746Sd4ujSKb" resolve="RuleTemplateUtil" />
              <node concept="2OqwBi" id="1mdVbTSocwX" role="37wK5m">
                <node concept="nLn13" id="1mdVbTSocwY" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSocwZ" role="2OqNvi">
                  <node concept="1xMEDy" id="1mdVbTSocx0" role="1xVPHs">
                    <node concept="chp4Y" id="1mdVbTSocx1" role="ri$Ld">
                      <ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="1mdVbTSocx2" role="3cqZAp">
          <node concept="3vZ8r8" id="1mdVbTSocx3" role="3clFbG">
            <node concept="22lmx$" id="1mdVbTSocx4" role="37vLTx">
              <node concept="3clFbC" id="1mdVbTSocx5" role="3uHU7w">
                <node concept="Rm8GO" id="1mdVbTSocx6" role="3uHU7w">
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Aj" resolve="GUARD" />
                </node>
                <node concept="37vLTw" id="1mdVbTSocx7" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSocwU" resolve="methk" />
                </node>
              </node>
              <node concept="3clFbC" id="1mdVbTSocx8" role="3uHU7B">
                <node concept="37vLTw" id="1mdVbTSocx9" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSocwU" resolve="methk" />
                </node>
                <node concept="Rm8GO" id="1mdVbTSocxa" role="3uHU7w">
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Ak" resolve="BODY" />
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                </node>
              </node>
            </node>
            <node concept="37vLTw" id="1mdVbTSocxb" role="37vLTJ">
              <ref role="3cqZAo" node="1mdVbTSocwG" resolve="acceptable" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSocxc" role="3cqZAp" />
        <node concept="3clFbF" id="1mdVbTSocxd" role="3cqZAp">
          <node concept="37vLTw" id="1mdVbTSocxe" role="3clFbG">
            <ref role="3cqZAo" node="1mdVbTSocwG" resolve="acceptable" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="1mdVbTRZ1VT">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:6p0DfM0oBcI" resolve="UnifiesConstraint" />
    <node concept="9S07l" id="1mdVbTRZ1VU" role="9Vyp8">
      <node concept="3clFbS" id="1mdVbTRZ1VV" role="2VODD2">
        <node concept="3cpWs8" id="1mdVbTSnWeh" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSnWei" role="3cpWs9">
            <property role="TrG5h" value="acceptable" />
            <node concept="10P_77" id="1mdVbTSnWec" role="1tU5fm" />
            <node concept="2OqwBi" id="1mdVbTSnWej" role="33vP2m">
              <node concept="2OqwBi" id="1mdVbTSnWek" role="2Oq$k0">
                <node concept="nLn13" id="1mdVbTSnWel" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSnWem" role="2OqNvi">
                  <node concept="3gmYPX" id="1mdVbTSnWen" role="1xVPHs">
                    <node concept="3gn64h" id="1mdVbTSnWeo" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3Qe" resolve="Guard" />
                    </node>
                    <node concept="3gn64h" id="1mdVbTSnWep" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3TO" resolve="Body" />
                    </node>
                    <node concept="3gn64h" id="5itBwM5wYEK" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:5itBwM5wMtr" resolve="MacroTemplateBody" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="1mdVbTSnWer" role="1xVPHs" />
                </node>
              </node>
              <node concept="3x8VRR" id="1mdVbTSnWes" role="2OqNvi" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSo0bt" role="3cqZAp" />
        <node concept="3cpWs8" id="1mdVbTSo18c" role="3cqZAp">
          <node concept="3cpWsn" id="1mdVbTSo18d" role="3cpWs9">
            <property role="TrG5h" value="methk" />
            <node concept="3uibUv" id="1mdVbTSo187" role="1tU5fm">
              <ref role="3uigEE" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
            </node>
            <node concept="2YIFZM" id="1mdVbTSo18e" role="33vP2m">
              <ref role="37wK5l" to="hy7p:746Sd4ujSOx" resolve="templateMethodKind" />
              <ref role="1Pybhc" to="hy7p:746Sd4ujSKb" resolve="RuleTemplateUtil" />
              <node concept="2OqwBi" id="1mdVbTSo18f" role="37wK5m">
                <node concept="nLn13" id="1mdVbTSo18g" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1mdVbTSo18h" role="2OqNvi">
                  <node concept="1xMEDy" id="1mdVbTSo18i" role="1xVPHs">
                    <node concept="chp4Y" id="1mdVbTSo18j" role="ri$Ld">
                      <ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="1mdVbTSo2et" role="3cqZAp">
          <node concept="3vZ8r8" id="1mdVbTSo2Ce" role="3clFbG">
            <node concept="22lmx$" id="1mdVbTSo5zK" role="37vLTx">
              <node concept="3clFbC" id="1mdVbTSo6uw" role="3uHU7w">
                <node concept="Rm8GO" id="1mdVbTSo7iY" role="3uHU7w">
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Aj" resolve="GUARD" />
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                </node>
                <node concept="37vLTw" id="1mdVbTSo5Oz" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSo18d" resolve="methk" />
                </node>
              </node>
              <node concept="3clFbC" id="1mdVbTSo45X" role="3uHU7B">
                <node concept="37vLTw" id="1mdVbTSo2Sk" role="3uHU7B">
                  <ref role="3cqZAo" node="1mdVbTSo18d" resolve="methk" />
                </node>
                <node concept="Rm8GO" id="1mdVbTSo4Yh" role="3uHU7w">
                  <ref role="Rm8GQ" to="i348:4OKkcnfu_Ak" resolve="BODY" />
                  <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                </node>
              </node>
            </node>
            <node concept="37vLTw" id="1mdVbTSo2er" role="37vLTJ">
              <ref role="3cqZAo" node="1mdVbTSnWei" resolve="acceptable" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="1mdVbTSo2K5" role="3cqZAp" />
        <node concept="3clFbF" id="1mdVbTRZ23e" role="3cqZAp">
          <node concept="37vLTw" id="1mdVbTSnWet" role="3clFbG">
            <ref role="3cqZAo" node="1mdVbTSnWei" resolve="acceptable" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="34$A1Mf2tex">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:6p0DfM0ang5" resolve="UserConstraint" />
    <node concept="1N5Pfh" id="34$A1Mf2tey" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:6p0DfM0aywA" resolve="template" />
      <node concept="3dgokm" id="34$A1Mf2teA" role="1N6uqs">
        <node concept="3clFbS" id="34$A1Mf2teC" role="2VODD2">
          <node concept="3cpWs8" id="34$A1Mf4GCa" role="3cqZAp">
            <node concept="3cpWsn" id="34$A1Mf4GCb" role="3cpWs9">
              <property role="TrG5h" value="headContext" />
              <node concept="3Tqbb2" id="34$A1Mf4GC8" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:6p0DfM0a3gA" resolve="Head" />
              </node>
              <node concept="2OqwBi" id="34$A1Mf4GCc" role="33vP2m">
                <node concept="2rP1CM" id="34$A1Mf4GCd" role="2Oq$k0" />
                <node concept="2Xjw5R" id="34$A1Mf4GCe" role="2OqNvi">
                  <node concept="1xMEDy" id="34$A1Mf4GCf" role="1xVPHs">
                    <node concept="chp4Y" id="34$A1Mf4GCg" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:6p0DfM0a3gA" resolve="Head" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbJ" id="34$A1Mf4EvW" role="3cqZAp">
            <node concept="3clFbS" id="34$A1Mf4EvY" role="3clFbx">
              <node concept="3cpWs6" id="34$A1Mf4Hm9" role="3cqZAp">
                <node concept="2ShNRf" id="34$A1Mf4Hzb" role="3cqZAk">
                  <node concept="YeOm9" id="34$A1Mf4Hzc" role="2ShVmc">
                    <node concept="1Y3b0j" id="34$A1Mf4Hzd" role="YeSDq">
                      <property role="2bfB8j" value="true" />
                      <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                      <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                      <node concept="2OqwBi" id="34$A1Mf4TsR" role="37wK5m">
                        <node concept="2OqwBi" id="34$A1Mf4Hze" role="2Oq$k0">
                          <node concept="2OqwBi" id="34$A1Mf4Hzf" role="2Oq$k0">
                            <node concept="37vLTw" id="34$A1Mf4HUb" role="2Oq$k0">
                              <ref role="3cqZAo" node="34$A1Mf4GCb" resolve="headContext" />
                            </node>
                            <node concept="2Xjw5R" id="34$A1Mf4Hzh" role="2OqNvi">
                              <node concept="1xMEDy" id="34$A1Mf4Hzi" role="1xVPHs">
                                <node concept="chp4Y" id="34$A1Mf4Hzj" role="ri$Ld">
                                  <ref role="cht4Q" to="wq2x:7eGEHDlgPKk" resolve="RulesList" />
                                </node>
                              </node>
                            </node>
                          </node>
                          <node concept="2qgKlT" id="34$A1Mf4Hzk" role="2OqNvi">
                            <ref role="37wK5l" to="x5bw:34$A1Mf3_WJ" resolve="handlerClosure" />
                          </node>
                        </node>
                        <node concept="3goQfb" id="34$A1Mf4TZE" role="2OqNvi">
                          <node concept="1bVj0M" id="34$A1Mf4TZG" role="23t8la">
                            <node concept="3clFbS" id="34$A1Mf4TZH" role="1bW5cS">
                              <node concept="3clFbF" id="34$A1Mf4Up5" role="3cqZAp">
                                <node concept="2OqwBi" id="34$A1Mf4UJQ" role="3clFbG">
                                  <node concept="37vLTw" id="34$A1Mf4Up4" role="2Oq$k0">
                                    <ref role="3cqZAo" node="6E5fMGvfKLl" resolve="it" />
                                  </node>
                                  <node concept="3Tsc0h" id="34$A1Mf4VmA" role="2OqNvi">
                                    <ref role="3TtcxE" to="wq2x:1HWyn8jEsaE" resolve="constraint" />
                                  </node>
                                </node>
                              </node>
                            </node>
                            <node concept="gl6BB" id="6E5fMGvfKLl" role="1bW2Oz">
                              <property role="TrG5h" value="it" />
                              <node concept="2jxLKc" id="6E5fMGvfKLm" role="1tU5fm" />
                            </node>
                          </node>
                        </node>
                      </node>
                      <node concept="3Tm1VV" id="34$A1Mf4Hzl" role="1B3o_S" />
                      <node concept="3clFb_" id="34$A1Mf4Hzm" role="jymVt">
                        <property role="1EzhhJ" value="false" />
                        <property role="TrG5h" value="getName" />
                        <node concept="17QB3L" id="34$A1Mf4Hzn" role="3clF45" />
                        <node concept="3Tm1VV" id="34$A1Mf4Hzo" role="1B3o_S" />
                        <node concept="37vLTG" id="34$A1Mf4Hzp" role="3clF46">
                          <property role="TrG5h" value="child" />
                          <node concept="3Tqbb2" id="34$A1Mf4Hzq" role="1tU5fm" />
                        </node>
                        <node concept="3clFbS" id="34$A1Mf4Hzr" role="3clF47">
                          <node concept="3clFbF" id="34$A1Mf4Hzs" role="3cqZAp">
                            <node concept="2OqwBi" id="34$A1Mf4Hzt" role="3clFbG">
                              <node concept="1PxgMI" id="34$A1Mf4Hzu" role="2Oq$k0">
                                <property role="1BlNFB" value="true" />
                                <node concept="chp4Y" id="34$A1Mf4VRH" role="3oSUPX">
                                  <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                                </node>
                                <node concept="37vLTw" id="34$A1Mf4Hzw" role="1m5AlR">
                                  <ref role="3cqZAo" node="34$A1Mf4Hzp" resolve="child" />
                                </node>
                              </node>
                              <node concept="3TrcHB" id="34$A1Mf4Hzx" role="2OqNvi">
                                <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node concept="2OqwBi" id="34$A1Mf4FRX" role="3clFbw">
              <node concept="37vLTw" id="34$A1Mf4GCh" role="2Oq$k0">
                <ref role="3cqZAo" node="34$A1Mf4GCb" resolve="headContext" />
              </node>
              <node concept="3x8VRR" id="34$A1Mf4GoP" role="2OqNvi" />
            </node>
          </node>
          <node concept="3clFbH" id="34$A1Mf4EiK" role="3cqZAp" />
          <node concept="3clFbF" id="34$A1Mf3Rh7" role="3cqZAp">
            <node concept="2ShNRf" id="34$A1Mf3Rh5" role="3clFbG">
              <node concept="YeOm9" id="34$A1Mf3Ry2" role="2ShVmc">
                <node concept="1Y3b0j" id="34$A1Mf3Ry5" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <node concept="2OqwBi" id="34$A1Mf4M41" role="37wK5m">
                    <node concept="2OqwBi" id="34$A1Mf4Ldm" role="2Oq$k0">
                      <node concept="2rP1CM" id="34$A1Mf4KMY" role="2Oq$k0" />
                      <node concept="I4A8Y" id="34$A1Mf4L$4" role="2OqNvi" />
                    </node>
                    <node concept="1j9C0f" id="34$A1Mf4MvR" role="2OqNvi">
                      <node concept="chp4Y" id="30mNApUi$Ju" role="3MHPCF">
                        <ref role="cht4Q" to="wq2x:6p0DfM0asBO" resolve="ConstraintDeclaration" />
                      </node>
                    </node>
                  </node>
                  <node concept="3Tm1VV" id="34$A1Mf3Ry6" role="1B3o_S" />
                  <node concept="3clFb_" id="34$A1Mf3Ryl" role="jymVt">
                    <property role="1EzhhJ" value="false" />
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="34$A1Mf3Rym" role="3clF45" />
                    <node concept="3Tm1VV" id="34$A1Mf3Ryn" role="1B3o_S" />
                    <node concept="37vLTG" id="34$A1Mf3Ryp" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="34$A1Mf3Ryq" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="34$A1Mf3Ryr" role="3clF47">
                      <node concept="3clFbF" id="34$A1Mf3Thk" role="3cqZAp">
                        <node concept="2OqwBi" id="34$A1Mf3TZN" role="3clFbG">
                          <node concept="1PxgMI" id="34$A1Mf3TM6" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="34$A1Mf4Wiq" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="34$A1Mf3Thj" role="1m5AlR">
                              <ref role="3cqZAo" node="34$A1Mf3Ryp" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="34$A1Mf3UsF" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="4jcOV4hwMzQ">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:4jcOV4hu088" resolve="ProvideFeedbackConstraint" />
    <node concept="9S07l" id="4jcOV4hwMzR" role="9Vyp8">
      <node concept="3clFbS" id="4jcOV4hwMzS" role="2VODD2">
        <node concept="3cpWs8" id="4jcOV4hwMIQ" role="3cqZAp">
          <node concept="3cpWsn" id="4jcOV4hwMIR" role="3cpWs9">
            <property role="TrG5h" value="acceptable" />
            <node concept="10P_77" id="4jcOV4hwMIS" role="1tU5fm" />
            <node concept="2OqwBi" id="4jcOV4hwMIT" role="33vP2m">
              <node concept="2OqwBi" id="4jcOV4hwMIU" role="2Oq$k0">
                <node concept="nLn13" id="4jcOV4hwMIV" role="2Oq$k0" />
                <node concept="2Xjw5R" id="4jcOV4hwMIW" role="2OqNvi">
                  <node concept="3gmYPX" id="4jcOV4hwMIX" role="1xVPHs">
                    <node concept="3gn64h" id="4jcOV4hwMIZ" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3TO" resolve="Body" />
                    </node>
                    <node concept="3gn64h" id="5itBwM5wXjQ" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:5itBwM5wMtr" resolve="MacroTemplateBody" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="4jcOV4hwMJ1" role="1xVPHs" />
                </node>
              </node>
              <node concept="3x8VRR" id="4jcOV4hwMJ2" role="2OqNvi" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="4jcOV4hwMJ3" role="3cqZAp" />
        <node concept="3cpWs8" id="4jcOV4hwMJ4" role="3cqZAp">
          <node concept="3cpWsn" id="4jcOV4hwMJ5" role="3cpWs9">
            <property role="TrG5h" value="methk" />
            <node concept="3uibUv" id="4jcOV4hwMJ6" role="1tU5fm">
              <ref role="3uigEE" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
            </node>
            <node concept="2YIFZM" id="4jcOV4hwMJ7" role="33vP2m">
              <ref role="37wK5l" to="hy7p:746Sd4ujSOx" resolve="templateMethodKind" />
              <ref role="1Pybhc" to="hy7p:746Sd4ujSKb" resolve="RuleTemplateUtil" />
              <node concept="2OqwBi" id="4jcOV4hwMJ8" role="37wK5m">
                <node concept="nLn13" id="4jcOV4hwMJ9" role="2Oq$k0" />
                <node concept="2Xjw5R" id="4jcOV4hwMJa" role="2OqNvi">
                  <node concept="1xMEDy" id="4jcOV4hwMJb" role="1xVPHs">
                    <node concept="chp4Y" id="4jcOV4hwMJc" role="ri$Ld">
                      <ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="4jcOV4hwMJd" role="3cqZAp">
          <node concept="3vZ8r8" id="4jcOV4hwMJe" role="3clFbG">
            <node concept="3clFbC" id="4jcOV4hwMJj" role="37vLTx">
              <node concept="37vLTw" id="4jcOV4hwMJk" role="3uHU7B">
                <ref role="3cqZAo" node="4jcOV4hwMJ5" resolve="methk" />
              </node>
              <node concept="Rm8GO" id="4jcOV4hwMJl" role="3uHU7w">
                <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                <ref role="Rm8GQ" to="i348:4OKkcnfu_Ak" resolve="BODY" />
              </node>
            </node>
            <node concept="37vLTw" id="4jcOV4hwMJm" role="37vLTJ">
              <ref role="3cqZAo" node="4jcOV4hwMIR" resolve="acceptable" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="4jcOV4hwMJn" role="3cqZAp" />
        <node concept="3clFbF" id="4jcOV4hwMJo" role="3cqZAp">
          <node concept="37vLTw" id="4jcOV4hwMJp" role="3clFbG">
            <ref role="3cqZAo" node="4jcOV4hwMIR" resolve="acceptable" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="4jcOV4hEFqh">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:4jcOV4hExo0" resolve="FailConstraint" />
    <node concept="9S07l" id="4jcOV4hEFqi" role="9Vyp8">
      <node concept="3clFbS" id="4jcOV4hEFqj" role="2VODD2">
        <node concept="3cpWs8" id="4jcOV4hEF_h" role="3cqZAp">
          <node concept="3cpWsn" id="4jcOV4hEF_i" role="3cpWs9">
            <property role="TrG5h" value="acceptable" />
            <node concept="10P_77" id="4jcOV4hEF_j" role="1tU5fm" />
            <node concept="2OqwBi" id="4jcOV4hEF_k" role="33vP2m">
              <node concept="2OqwBi" id="4jcOV4hEF_l" role="2Oq$k0">
                <node concept="nLn13" id="4jcOV4hEF_m" role="2Oq$k0" />
                <node concept="2Xjw5R" id="4jcOV4hEF_n" role="2OqNvi">
                  <node concept="3gmYPX" id="4jcOV4hEF_o" role="1xVPHs">
                    <node concept="3gn64h" id="4jcOV4hEF_p" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:6p0DfM0a3TO" resolve="Body" />
                    </node>
                    <node concept="3gn64h" id="5itBwM5wWcD" role="3gmYPZ">
                      <ref role="3gnhBz" to="wq2x:5itBwM5wMtr" resolve="MacroTemplateBody" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="4jcOV4hEF_r" role="1xVPHs" />
                </node>
              </node>
              <node concept="3x8VRR" id="4jcOV4hEF_s" role="2OqNvi" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="4jcOV4hEF_t" role="3cqZAp" />
        <node concept="3cpWs8" id="4jcOV4hEF_u" role="3cqZAp">
          <node concept="3cpWsn" id="4jcOV4hEF_v" role="3cpWs9">
            <property role="TrG5h" value="methk" />
            <node concept="3uibUv" id="4jcOV4hEF_w" role="1tU5fm">
              <ref role="3uigEE" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
            </node>
            <node concept="2YIFZM" id="4jcOV4hEF_x" role="33vP2m">
              <ref role="37wK5l" to="hy7p:746Sd4ujSOx" resolve="templateMethodKind" />
              <ref role="1Pybhc" to="hy7p:746Sd4ujSKb" resolve="RuleTemplateUtil" />
              <node concept="2OqwBi" id="4jcOV4hEF_y" role="37wK5m">
                <node concept="nLn13" id="4jcOV4hEF_z" role="2Oq$k0" />
                <node concept="2Xjw5R" id="4jcOV4hEF_$" role="2OqNvi">
                  <node concept="1xMEDy" id="4jcOV4hEF__" role="1xVPHs">
                    <node concept="chp4Y" id="4jcOV4hEF_A" role="ri$Ld">
                      <ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="4jcOV4hEF_B" role="3cqZAp">
          <node concept="3vZ8r8" id="4jcOV4hEF_C" role="3clFbG">
            <node concept="3clFbC" id="4jcOV4hEF_D" role="37vLTx">
              <node concept="37vLTw" id="4jcOV4hEF_E" role="3uHU7B">
                <ref role="3cqZAo" node="4jcOV4hEF_v" resolve="methk" />
              </node>
              <node concept="Rm8GO" id="4jcOV4hEF_F" role="3uHU7w">
                <ref role="1Px2BO" to="i348:4OKkcnfu_Ag" resolve="RuleTemplateMehodKind" />
                <ref role="Rm8GQ" to="i348:4OKkcnfu_Ak" resolve="BODY" />
              </node>
            </node>
            <node concept="37vLTw" id="4jcOV4hEF_G" role="37vLTJ">
              <ref role="3cqZAo" node="4jcOV4hEF_i" resolve="acceptable" />
            </node>
          </node>
        </node>
        <node concept="3clFbH" id="4jcOV4hEF_H" role="3cqZAp" />
        <node concept="3clFbF" id="4jcOV4hEF_I" role="3cqZAp">
          <node concept="37vLTw" id="4jcOV4hEF_J" role="3clFbG">
            <ref role="3cqZAo" node="4jcOV4hEF_i" resolve="acceptable" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="5itBwM5m8KJ">
    <property role="3GE5qa" value="macro.decl" />
    <ref role="1M2myG" to="wq2x:5itBwM5kgmv" resolve="CallMacroParameterReference" />
    <node concept="1N5Pfh" id="5itBwM5mrq0" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:5itBwM5mdnH" resolve="declaration" />
      <node concept="3dgokm" id="5itBwM5mtoA" role="1N6uqs">
        <node concept="3clFbS" id="5itBwM5mtoB" role="2VODD2">
          <node concept="3cpWs8" id="5itBwM5mz1L" role="3cqZAp">
            <node concept="3cpWsn" id="5itBwM5mz1M" role="3cpWs9">
              <property role="TrG5h" value="cmt" />
              <node concept="3Tqbb2" id="5itBwM5myCd" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:5itBwM578SV" resolve="CallMacroTemplate" />
              </node>
              <node concept="2OqwBi" id="5itBwM5mz1N" role="33vP2m">
                <node concept="2rP1CM" id="5itBwM5mz1O" role="2Oq$k0" />
                <node concept="2Xjw5R" id="5itBwM5mz1P" role="2OqNvi">
                  <node concept="1xMEDy" id="5itBwM5mz1Q" role="1xVPHs">
                    <node concept="chp4Y" id="5itBwM5mz1R" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:5itBwM578SV" resolve="CallMacroTemplate" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="5itBwM5mz1S" role="1xVPHs" />
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="5itBwM5m$gy" role="3cqZAp">
            <node concept="2ShNRf" id="5itBwM5m$gu" role="3clFbG">
              <node concept="YeOm9" id="5itBwM5mDok" role="2ShVmc">
                <node concept="1Y3b0j" id="5itBwM5mDon" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="5itBwM5mDoo" role="1B3o_S" />
                  <node concept="2OqwBi" id="5itBwM5n3wt" role="37wK5m">
                    <node concept="37vLTw" id="5itBwM5n3wu" role="2Oq$k0">
                      <ref role="3cqZAo" node="5itBwM5mz1M" resolve="cmt" />
                    </node>
                    <node concept="3Tsc0h" id="5itBwM5n3wv" role="2OqNvi">
                      <ref role="3TtcxE" to="wq2x:5itBwM5irVx" resolve="parameter" />
                    </node>
                  </node>
                  <node concept="3clFb_" id="5itBwM5mDOU" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="5itBwM5mDOV" role="3clF45" />
                    <node concept="3Tm1VV" id="5itBwM5mDOW" role="1B3o_S" />
                    <node concept="37vLTG" id="5itBwM5mDOY" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="5itBwM5mDOZ" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="5itBwM5mDP1" role="3clF47">
                      <node concept="3clFbF" id="5itBwM5mELo" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwM5mH9x" role="3clFbG">
                          <node concept="1PxgMI" id="5itBwM5mFLR" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="5itBwM5mH0C" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="5itBwM5mELn" role="1m5AlR">
                              <ref role="3cqZAo" node="5itBwM5mDOY" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="5itBwM5mHGp" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="5itBwM5mDP2" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="5itBwM6Bi6q">
    <property role="3GE5qa" value="macro.decl" />
    <ref role="1M2myG" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
    <node concept="1N5Pfh" id="5itBwM6BiT3" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:5itBwM6_hXY" resolve="declaration" />
      <node concept="3dgokm" id="5itBwM6BjFH" role="1N6uqs">
        <node concept="3clFbS" id="5itBwM6BjFI" role="2VODD2">
          <node concept="3clFbF" id="3swcsd22TOU" role="3cqZAp">
            <node concept="2ShNRf" id="3swcsd22TOS" role="3clFbG">
              <node concept="1pGfFk" id="3swcsd22UCe" role="2ShVmc">
                <property role="373rjd" value="true" />
                <ref role="37wK5l" to="o8zo:7ipADkTfAzT" resolve="EmptyScope" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="5itBwM7J5mp">
    <property role="3GE5qa" value="macro.code" />
    <ref role="1M2myG" to="wq2x:5itBwM7J4Oh" resolve="ExpandMacroInputReference" />
    <node concept="1N5Pfh" id="5itBwM7J5mz" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:5itBwM7J4Oi" resolve="declaration" />
      <node concept="3dgokm" id="5itBwM7J5mB" role="1N6uqs">
        <node concept="3clFbS" id="5itBwM7J5mD" role="2VODD2">
          <node concept="3cpWs8" id="5itBwM7J5QB" role="3cqZAp">
            <node concept="3cpWsn" id="5itBwM7J5QC" role="3cpWs9">
              <property role="TrG5h" value="tpl" />
              <node concept="3Tqbb2" id="5itBwM7J5Q6" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
              </node>
              <node concept="2OqwBi" id="5itBwM7J5QD" role="33vP2m">
                <node concept="2rP1CM" id="5itBwM7J5QE" role="2Oq$k0" />
                <node concept="2Xjw5R" id="5itBwM7J5QF" role="2OqNvi">
                  <node concept="1xMEDy" id="5itBwM7J5QG" role="1xVPHs">
                    <node concept="chp4Y" id="5itBwM7J5QH" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
                    </node>
                  </node>
                  <node concept="1xIGOp" id="5itBwM7J5QI" role="1xVPHs" />
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="5itBwM7J6YO" role="3cqZAp">
            <node concept="2ShNRf" id="5itBwM7J6YK" role="3clFbG">
              <node concept="YeOm9" id="5itBwM7J8mk" role="2ShVmc">
                <node concept="1Y3b0j" id="5itBwM7J8mn" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="5itBwM7J8mo" role="1B3o_S" />
                  <node concept="2ShNRf" id="5itBwM7J7nz" role="37wK5m">
                    <node concept="2HTt$P" id="5itBwM7J7Am" role="2ShVmc">
                      <node concept="3Tqbb2" id="5itBwM7J7BP" role="2HTBi0" />
                      <node concept="2OqwBi" id="5itBwM7J7Dc" role="2HTEbv">
                        <node concept="2OqwBi" id="5itBwM7J7Dd" role="2Oq$k0">
                          <node concept="37vLTw" id="5itBwM7J7De" role="2Oq$k0">
                            <ref role="3cqZAo" node="5itBwM7J5QC" resolve="tpl" />
                          </node>
                          <node concept="3TrEf2" id="5itBwM7J7Df" role="2OqNvi">
                            <ref role="3Tt5mk" to="wq2x:5itBwM67n1U" resolve="inputSpec" />
                          </node>
                        </node>
                        <node concept="3TrEf2" id="5itBwM7J7Dg" role="2OqNvi">
                          <ref role="3Tt5mk" to="wq2x:5itBwM66hzH" resolve="input" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node concept="3clFb_" id="5itBwM7J8vX" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="5itBwM7J8vY" role="3clF45" />
                    <node concept="3Tm1VV" id="5itBwM7J8vZ" role="1B3o_S" />
                    <node concept="37vLTG" id="5itBwM7J8w1" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="5itBwM7J8w2" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="5itBwM7J8w4" role="3clF47">
                      <node concept="3clFbF" id="5itBwM7J8KV" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwM7J9by" role="3clFbG">
                          <node concept="1PxgMI" id="5itBwM7J8Z6" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="5itBwM7J92f" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="5itBwM7J8KU" role="1m5AlR">
                              <ref role="3cqZAo" node="5itBwM7J8w1" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="5itBwM7J9iG" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="5itBwM7J8w5" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="5itBwM7V9DG">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:5itBwM7QPtN" resolve="ExpandMacroConstraintArgBinding" />
    <node concept="1N5Pfh" id="5itBwM7V9DH" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:5itBwM7QPtQ" resolve="declaration" />
      <node concept="3dgokm" id="5itBwM7V9DV" role="1N6uqs">
        <node concept="3clFbS" id="5itBwM7V9DX" role="2VODD2">
          <node concept="3cpWs8" id="5itBwM7Va4k" role="3cqZAp">
            <node concept="3cpWsn" id="5itBwM7Va4l" role="3cpWs9">
              <property role="TrG5h" value="emc" />
              <node concept="3Tqbb2" id="5itBwM7Va40" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:5itBwM7GBv1" resolve="ExpandMacroConstraint" />
              </node>
              <node concept="2OqwBi" id="5itBwM7Va4m" role="33vP2m">
                <node concept="2rP1CM" id="5itBwM7Va4n" role="2Oq$k0" />
                <node concept="2Xjw5R" id="5itBwM7Va4o" role="2OqNvi">
                  <node concept="1xMEDy" id="5itBwM7Va4p" role="1xVPHs">
                    <node concept="chp4Y" id="5itBwM7Va4q" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:5itBwM7GBv1" resolve="ExpandMacroConstraint" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="5itBwM7V9H9" role="3cqZAp">
            <node concept="2OqwBi" id="5itBwM7VaFG" role="3clFbG">
              <node concept="2OqwBi" id="5itBwM7VagF" role="2Oq$k0">
                <node concept="37vLTw" id="5itBwM7Va4r" role="2Oq$k0">
                  <ref role="3cqZAo" node="5itBwM7Va4l" resolve="emc" />
                </node>
                <node concept="3TrEf2" id="5itBwM7VaqC" role="2OqNvi">
                  <ref role="3Tt5mk" to="wq2x:5itBwM7GBLp" resolve="template" />
                </node>
              </node>
              <node concept="3Tsc0h" id="5itBwM7VaWs" role="2OqNvi">
                <ref role="3TtcxE" to="wq2x:5itBwM6wU6s" resolve="parameter" />
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="5itBwM7VbFJ" role="3cqZAp">
            <node concept="2ShNRf" id="5itBwM7VbFF" role="3clFbG">
              <node concept="YeOm9" id="5itBwM7Vcby" role="2ShVmc">
                <node concept="1Y3b0j" id="5itBwM7Vcb_" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="5itBwM7VcbA" role="1B3o_S" />
                  <node concept="2OqwBi" id="5itBwM7VbVe" role="37wK5m">
                    <node concept="2OqwBi" id="5itBwM7VbVf" role="2Oq$k0">
                      <node concept="37vLTw" id="5itBwM7VbVg" role="2Oq$k0">
                        <ref role="3cqZAo" node="5itBwM7Va4l" resolve="emc" />
                      </node>
                      <node concept="3TrEf2" id="5itBwM7VbVh" role="2OqNvi">
                        <ref role="3Tt5mk" to="wq2x:5itBwM7GBLp" resolve="template" />
                      </node>
                    </node>
                    <node concept="3Tsc0h" id="5itBwM7VbVi" role="2OqNvi">
                      <ref role="3TtcxE" to="wq2x:5itBwM6wU6s" resolve="parameter" />
                    </node>
                  </node>
                  <node concept="3clFb_" id="5itBwM7VceZ" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="5itBwM7Vcf0" role="3clF45" />
                    <node concept="3Tm1VV" id="5itBwM7Vcf1" role="1B3o_S" />
                    <node concept="37vLTG" id="5itBwM7Vcf3" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="5itBwM7Vcf4" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="5itBwM7Vcf6" role="3clF47">
                      <node concept="3clFbF" id="5itBwM7Vct2" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwM7Vd3M" role="3clFbG">
                          <node concept="1PxgMI" id="5itBwM7VcRY" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="5itBwM7VcUN" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="5itBwM7Vct1" role="1m5AlR">
                              <ref role="3cqZAo" node="5itBwM7Vcf3" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="5itBwM7Vddm" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="5itBwM7Vcf7" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="5itBwM9SvUX">
    <property role="3GE5qa" value="macro.decl" />
    <ref role="1M2myG" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
    <node concept="1N5Pfh" id="5itBwM9Sw2u" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:5itBwM6gb4P" resolve="prototype" />
      <node concept="3dgokm" id="5itBwM9SwdM" role="1N6uqs">
        <node concept="3clFbS" id="5itBwM9SwdN" role="2VODD2">
          <node concept="3clFbF" id="5itBwM9SHkG" role="3cqZAp">
            <node concept="2ShNRf" id="5itBwM9SHkC" role="3clFbG">
              <node concept="YeOm9" id="5itBwM9SI3G" role="2ShVmc">
                <node concept="1Y3b0j" id="5itBwM9SI3J" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="2YIFZM" id="5itBwM9UAe5" role="37wK5m">
                    <ref role="37wK5l" node="5itBwM9UyR1" resolve="prototypesScope" />
                    <ref role="1Pybhc" node="5itBwM9UyB4" resolve="ScopeUtil" />
                    <node concept="2rP1CM" id="5itBwM9UAEU" role="37wK5m" />
                  </node>
                  <node concept="3Tm1VV" id="5itBwM9SI3K" role="1B3o_S" />
                  <node concept="3clFb_" id="5itBwM9SIj2" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="5itBwM9SIj3" role="3clF45" />
                    <node concept="3Tm1VV" id="5itBwM9SIj4" role="1B3o_S" />
                    <node concept="37vLTG" id="5itBwM9SIj6" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="5itBwM9SIj7" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="5itBwM9SIj9" role="3clF47">
                      <node concept="3clFbF" id="5itBwM9SJQE" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwM9SKnJ" role="3clFbG">
                          <node concept="1PxgMI" id="5itBwM9SK8h" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="5itBwM9SKeQ" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="5itBwM9SJQD" role="1m5AlR">
                              <ref role="3cqZAo" node="5itBwM9SIj6" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="5itBwM9SKGG" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="5itBwM9SIja" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="312cEu" id="5itBwM9UyB4">
    <property role="3GE5qa" value="macro.decl" />
    <property role="TrG5h" value="ScopeUtil" />
    <node concept="2tJIrI" id="5itBwM9UyN0" role="jymVt" />
    <node concept="2YIFZL" id="5itBwMaugU5" role="jymVt">
      <property role="TrG5h" value="callTemplatesScope" />
      <node concept="37vLTG" id="5itBwMauh5R" role="3clF46">
        <property role="TrG5h" value="contextNode" />
        <node concept="3Tqbb2" id="5itBwMauh7k" role="1tU5fm" />
      </node>
      <node concept="2I9FWS" id="5itBwMaugXE" role="3clF45">
        <ref role="2I9WkF" to="wq2x:5itBwM578SV" resolve="CallMacroTemplate" />
      </node>
      <node concept="3Tm1VV" id="5itBwMaugU8" role="1B3o_S" />
      <node concept="3clFbS" id="5itBwMaugU9" role="3clF47">
        <node concept="3cpWs8" id="5itBwMauhbs" role="3cqZAp">
          <node concept="3cpWsn" id="5itBwMauhbt" role="3cpWs9">
            <property role="TrG5h" value="mts" />
            <node concept="_YKpA" id="5itBwMauhbu" role="1tU5fm">
              <node concept="3Tqbb2" id="5itBwMauhbv" role="_ZDj9">
                <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
              </node>
            </node>
            <node concept="2ShNRf" id="5itBwMauhbw" role="33vP2m">
              <node concept="Tc6Ow" id="5itBwMauhbx" role="2ShVmc">
                <node concept="3Tqbb2" id="5itBwMauhby" role="HW$YZ">
                  <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="5itBwMauhcq" role="3cqZAp">
          <node concept="2OqwBi" id="5itBwMauhcr" role="3clFbG">
            <node concept="37vLTw" id="5itBwMauhcs" role="2Oq$k0">
              <ref role="3cqZAo" node="5itBwMauhbt" resolve="mts" />
            </node>
            <node concept="X8dFx" id="5itBwMauhct" role="2OqNvi">
              <node concept="2OqwBi" id="5itBwMauhcu" role="25WWJ7">
                <node concept="2OqwBi" id="5itBwMauhcv" role="2Oq$k0">
                  <node concept="37vLTw" id="5itBwMauhcw" role="2Oq$k0">
                    <ref role="3cqZAo" node="5itBwMauh5R" resolve="contextNode" />
                  </node>
                  <node concept="I4A8Y" id="5itBwMauhcx" role="2OqNvi" />
                </node>
                <node concept="3lApI0" id="5itBwMauhcy" role="2OqNvi">
                  <node concept="chp4Y" id="30mNApUi$Jn" role="3MHPDn">
                    <ref role="cht4Q" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="5itBwMauia$" role="3cqZAp">
          <node concept="2OqwBi" id="5itBwMauia_" role="3clFbG">
            <node concept="2OqwBi" id="5itBwMauiaA" role="2Oq$k0">
              <node concept="2OqwBi" id="5itBwMauiaB" role="2Oq$k0">
                <node concept="37vLTw" id="5itBwMauiaC" role="2Oq$k0">
                  <ref role="3cqZAo" node="5itBwMauhbt" resolve="mts" />
                </node>
                <node concept="3goQfb" id="5itBwMauiaD" role="2OqNvi">
                  <node concept="1bVj0M" id="5itBwMauiaE" role="23t8la">
                    <node concept="3clFbS" id="5itBwMauiaF" role="1bW5cS">
                      <node concept="3clFbF" id="5itBwMauiaG" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwMauiaH" role="3clFbG">
                          <node concept="37vLTw" id="5itBwMauiaI" role="2Oq$k0">
                            <ref role="3cqZAo" node="6E5fMGvfKLn" resolve="it" />
                          </node>
                          <node concept="3Tsc0h" id="5itBwMaujeX" role="2OqNvi">
                            <ref role="3TtcxE" to="wq2x:1pPth$m5B4Y" resolve="macro" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="gl6BB" id="6E5fMGvfKLn" role="1bW2Oz">
                      <property role="TrG5h" value="it" />
                      <node concept="2jxLKc" id="6E5fMGvfKLo" role="1tU5fm" />
                    </node>
                  </node>
                </node>
              </node>
              <node concept="v3k3i" id="5itBwMauiaM" role="2OqNvi">
                <node concept="chp4Y" id="5itBwMaujoc" role="v3oSu">
                  <ref role="cht4Q" to="wq2x:5itBwM578SV" resolve="CallMacroTemplate" />
                </node>
              </node>
            </node>
            <node concept="ANE8D" id="5itBwMauiaO" role="2OqNvi" />
          </node>
        </node>
      </node>
    </node>
    <node concept="2tJIrI" id="5itBwMaugQK" role="jymVt" />
    <node concept="2YIFZL" id="5itBwM9UyR1" role="jymVt">
      <property role="TrG5h" value="prototypesScope" />
      <node concept="37vLTG" id="5itBwM9U$iC" role="3clF46">
        <property role="TrG5h" value="contextNode" />
        <node concept="3Tqbb2" id="5itBwM9U$mJ" role="1tU5fm" />
      </node>
      <node concept="2I9FWS" id="5itBwM9UzYf" role="3clF45">
        <ref role="2I9WkF" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
      </node>
      <node concept="3Tm1VV" id="5itBwM9UyR4" role="1B3o_S" />
      <node concept="3clFbS" id="5itBwM9UyR5" role="3clF47">
        <node concept="3cpWs8" id="5itBwM9U$Ac" role="3cqZAp">
          <node concept="3cpWsn" id="5itBwM9U$Ad" role="3cpWs9">
            <property role="TrG5h" value="mts" />
            <node concept="_YKpA" id="5itBwM9U$Ae" role="1tU5fm">
              <node concept="3Tqbb2" id="5itBwM9U$Af" role="_ZDj9">
                <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
              </node>
            </node>
            <node concept="2ShNRf" id="5itBwM9U$Ag" role="33vP2m">
              <node concept="Tc6Ow" id="5itBwM9U$Ah" role="2ShVmc">
                <node concept="3Tqbb2" id="5itBwM9U$Ai" role="HW$YZ">
                  <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
                </node>
              </node>
            </node>
          </node>
        </node>
        <node concept="3cpWs8" id="5itBwM9U$Aj" role="3cqZAp">
          <node concept="3cpWsn" id="5itBwM9U$Ak" role="3cpWs9">
            <property role="TrG5h" value="mt" />
            <node concept="3Tqbb2" id="5itBwM9U$Al" role="1tU5fm">
              <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
            </node>
            <node concept="2OqwBi" id="5itBwM9U$Am" role="33vP2m">
              <node concept="37vLTw" id="5itBwM9UfMh" role="2Oq$k0">
                <ref role="3cqZAo" node="5itBwM9U$iC" resolve="contextNode" />
              </node>
              <node concept="2Xjw5R" id="5itBwM9U$An" role="2OqNvi">
                <node concept="1xMEDy" id="5itBwM9U$Ao" role="1xVPHs">
                  <node concept="chp4Y" id="5itBwM9U$Ap" role="ri$Ld">
                    <ref role="cht4Q" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
                  </node>
                </node>
                <node concept="1xIGOp" id="5itBwM9U$Aq" role="1xVPHs" />
              </node>
            </node>
          </node>
        </node>
        <node concept="3clFbJ" id="5itBwM9YAD6" role="3cqZAp">
          <node concept="3clFbS" id="5itBwM9YADn" role="3clFbx">
            <node concept="3clFbF" id="5itBwM9YG_i" role="3cqZAp">
              <node concept="1rXfSq" id="5itBwM9YG_g" role="3clFbG">
                <ref role="37wK5l" node="5itBwM9YBAG" resolve="populateExtended" />
                <node concept="37vLTw" id="5itBwM9YGFU" role="37wK5m">
                  <ref role="3cqZAo" node="5itBwM9U$Ak" resolve="mt" />
                </node>
                <node concept="37vLTw" id="5itBwM9YGT4" role="37wK5m">
                  <ref role="3cqZAo" node="5itBwM9U$Ad" resolve="mts" />
                </node>
              </node>
            </node>
            <node concept="3clFbH" id="5itBwM9YAXN" role="3cqZAp" />
          </node>
          <node concept="2OqwBi" id="5itBwM9YAh_" role="3clFbw">
            <node concept="37vLTw" id="5itBwM9Y_VU" role="2Oq$k0">
              <ref role="3cqZAo" node="5itBwM9U$Ak" resolve="mt" />
            </node>
            <node concept="3x8VRR" id="5itBwM9YAt9" role="2OqNvi" />
          </node>
          <node concept="9aQIb" id="5itBwM9YATB" role="9aQIa">
            <node concept="3clFbS" id="5itBwM9YATC" role="9aQI4">
              <node concept="3clFbF" id="5itBwM9YOXb" role="3cqZAp">
                <node concept="2OqwBi" id="5itBwM9YQgw" role="3clFbG">
                  <node concept="37vLTw" id="5itBwM9YOX9" role="2Oq$k0">
                    <ref role="3cqZAo" node="5itBwM9U$Ad" resolve="mts" />
                  </node>
                  <node concept="X8dFx" id="5itBwM9YRMh" role="2OqNvi">
                    <node concept="2OqwBi" id="5itBwM9YSiO" role="25WWJ7">
                      <node concept="2OqwBi" id="5itBwM9YSiP" role="2Oq$k0">
                        <node concept="37vLTw" id="5itBwM9YSiQ" role="2Oq$k0">
                          <ref role="3cqZAo" node="5itBwM9U$iC" resolve="contextNode" />
                        </node>
                        <node concept="I4A8Y" id="5itBwM9YSiR" role="2OqNvi" />
                      </node>
                      <node concept="3lApI0" id="5itBwM9YSiS" role="2OqNvi">
                        <node concept="chp4Y" id="30mNApUi$Jo" role="3MHPDn">
                          <ref role="cht4Q" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node concept="3clFbH" id="5itBwM9YS$m" role="3cqZAp" />
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="5itBwM9Ugxd" role="3cqZAp">
          <node concept="2OqwBi" id="5itBwM9UnR5" role="3clFbG">
            <node concept="2OqwBi" id="5itBwM9UpTm" role="2Oq$k0">
              <node concept="2OqwBi" id="5itBwM9UkXR" role="2Oq$k0">
                <node concept="37vLTw" id="5itBwM9Ugxb" role="2Oq$k0">
                  <ref role="3cqZAo" node="5itBwM9U$Ad" resolve="mts" />
                </node>
                <node concept="3goQfb" id="5itBwM9UmTO" role="2OqNvi">
                  <node concept="1bVj0M" id="5itBwM9UmTQ" role="23t8la">
                    <node concept="3clFbS" id="5itBwM9UmTR" role="1bW5cS">
                      <node concept="3clFbF" id="5itBwM9Un4k" role="3cqZAp">
                        <node concept="2OqwBi" id="5itBwM9Unlq" role="3clFbG">
                          <node concept="37vLTw" id="5itBwM9Un4j" role="2Oq$k0">
                            <ref role="3cqZAo" node="6E5fMGvfKLp" resolve="it" />
                          </node>
                          <node concept="3Tsc0h" id="5itBwM9UnsK" role="2OqNvi">
                            <ref role="3TtcxE" to="wq2x:5itBwM6ukmz" resolve="prototype" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="gl6BB" id="6E5fMGvfKLp" role="1bW2Oz">
                      <property role="TrG5h" value="it" />
                      <node concept="2jxLKc" id="6E5fMGvfKLq" role="1tU5fm" />
                    </node>
                  </node>
                </node>
              </node>
              <node concept="v3k3i" id="5itBwM9UqAv" role="2OqNvi">
                <node concept="chp4Y" id="5itBwM9UqQU" role="v3oSu">
                  <ref role="cht4Q" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
                </node>
              </node>
            </node>
            <node concept="ANE8D" id="5itBwM9UoDm" role="2OqNvi" />
          </node>
        </node>
      </node>
    </node>
    <node concept="2tJIrI" id="5itBwM9YBkE" role="jymVt" />
    <node concept="2YIFZL" id="5itBwM9YBAG" role="jymVt">
      <property role="TrG5h" value="populateExtended" />
      <node concept="37vLTG" id="5itBwM9YD67" role="3clF46">
        <property role="TrG5h" value="from" />
        <node concept="3Tqbb2" id="5itBwM9YDep" role="1tU5fm">
          <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
        </node>
      </node>
      <node concept="37vLTG" id="5itBwM9YCbh" role="3clF46">
        <property role="TrG5h" value="mts" />
        <node concept="2I9FWS" id="5itBwM9YCjf" role="1tU5fm">
          <ref role="2I9WkF" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
        </node>
      </node>
      <node concept="3cqZAl" id="5itBwM9YCrp" role="3clF45" />
      <node concept="3Tm6S6" id="5itBwM9Zl24" role="1B3o_S" />
      <node concept="3clFbS" id="5itBwM9YBAK" role="3clF47">
        <node concept="3cpWs8" id="5itBwM9YEMf" role="3cqZAp">
          <node concept="3cpWsn" id="5itBwM9YEMg" role="3cpWs9">
            <property role="TrG5h" value="mt" />
            <node concept="3Tqbb2" id="5itBwM9YEJo" role="1tU5fm">
              <ref role="ehGHo" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
            </node>
            <node concept="37vLTw" id="5itBwM9YEMh" role="33vP2m">
              <ref role="3cqZAo" node="5itBwM9YD67" resolve="from" />
            </node>
          </node>
        </node>
        <node concept="3clFbF" id="5itBwM9YFtm" role="3cqZAp">
          <node concept="2OqwBi" id="5itBwM9YFtn" role="3clFbG">
            <node concept="37vLTw" id="5itBwM9YFto" role="2Oq$k0">
              <ref role="3cqZAo" node="5itBwM9YCbh" resolve="mts" />
            </node>
            <node concept="TSZUe" id="5itBwM9YFtp" role="2OqNvi">
              <node concept="37vLTw" id="5itBwM9YFtq" role="25WWJ7">
                <ref role="3cqZAo" node="5itBwM9YEMg" resolve="mt" />
              </node>
            </node>
          </node>
        </node>
        <node concept="2$JKZl" id="5itBwM9YFN5" role="3cqZAp">
          <node concept="3clFbS" id="5itBwM9YFN6" role="2LFqv$">
            <node concept="3clFbF" id="5itBwM9YFN7" role="3cqZAp">
              <node concept="37vLTI" id="5itBwM9YFN8" role="3clFbG">
                <node concept="2OqwBi" id="5itBwM9YFN9" role="37vLTx">
                  <node concept="37vLTw" id="5itBwM9YFNa" role="2Oq$k0">
                    <ref role="3cqZAo" node="5itBwM9YEMg" resolve="mt" />
                  </node>
                  <node concept="3TrEf2" id="5itBwM9YFNb" role="2OqNvi">
                    <ref role="3Tt5mk" to="wq2x:5itBwM9Rt6C" resolve="extends" />
                  </node>
                </node>
                <node concept="37vLTw" id="5itBwM9YFNc" role="37vLTJ">
                  <ref role="3cqZAo" node="5itBwM9YEMg" resolve="mt" />
                </node>
              </node>
            </node>
            <node concept="3clFbF" id="5itBwM9YFNd" role="3cqZAp">
              <node concept="2OqwBi" id="5itBwM9YFNe" role="3clFbG">
                <node concept="37vLTw" id="5itBwM9YFNf" role="2Oq$k0">
                  <ref role="3cqZAo" node="5itBwM9YCbh" resolve="mts" />
                </node>
                <node concept="TSZUe" id="5itBwM9YFNg" role="2OqNvi">
                  <node concept="37vLTw" id="5itBwM9YFNh" role="25WWJ7">
                    <ref role="3cqZAo" node="5itBwM9YEMg" resolve="mt" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="2OqwBi" id="5itBwM9YFNi" role="2$JKZa">
            <node concept="2OqwBi" id="5itBwM9YFNj" role="2Oq$k0">
              <node concept="37vLTw" id="5itBwM9YFNk" role="2Oq$k0">
                <ref role="3cqZAo" node="5itBwM9YEMg" resolve="mt" />
              </node>
              <node concept="3TrEf2" id="5itBwM9YFNl" role="2OqNvi">
                <ref role="3Tt5mk" to="wq2x:5itBwM9Rt6C" resolve="extends" />
              </node>
            </node>
            <node concept="3x8VRR" id="5itBwM9YFNm" role="2OqNvi" />
          </node>
        </node>
      </node>
    </node>
    <node concept="2tJIrI" id="5itBwM9UyZe" role="jymVt" />
    <node concept="3Tm1VV" id="5itBwM9UyB5" role="1B3o_S" />
  </node>
  <node concept="1M2fIO" id="JOGAOsxTE1">
    <property role="3GE5qa" value="term.feature" />
    <ref role="1M2myG" to="wq2x:JOGAOsxTDl" resolve="TermFeatureOverride" />
    <node concept="1N5Pfh" id="1L74NXFMz8i" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:JOGAOsxTDo" resolve="feature" />
      <node concept="3dgokm" id="6fXjIfxgfU1" role="1N6uqs">
        <node concept="3clFbS" id="6fXjIfxgfU2" role="2VODD2">
          <node concept="3cpWs8" id="6fXjIfxgfU3" role="3cqZAp">
            <node concept="3cpWsn" id="6fXjIfxgfU4" role="3cpWs9">
              <property role="TrG5h" value="dfd" />
              <node concept="3Tqbb2" id="6fXjIfxgfU5" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:JOGAOsxaC9" resolve="TermDeclaration" />
              </node>
              <node concept="2OqwBi" id="6fXjIfxgfU6" role="33vP2m">
                <node concept="2OqwBi" id="6fXjIfxgfU7" role="2Oq$k0">
                  <node concept="2rP1CM" id="6fXjIfxgfU8" role="2Oq$k0" />
                  <node concept="2Xjw5R" id="6fXjIfxgfU9" role="2OqNvi">
                    <node concept="1xMEDy" id="6fXjIfxgfUa" role="1xVPHs">
                      <node concept="chp4Y" id="JOGAOsxUUx" role="ri$Ld">
                        <ref role="cht4Q" to="wq2x:JOGAOsxanH" resolve="TermConstructor" />
                      </node>
                    </node>
                    <node concept="1xIGOp" id="6fXjIfxgfUc" role="1xVPHs" />
                  </node>
                </node>
                <node concept="3TrEf2" id="JOGAOsxVjr" role="2OqNvi">
                  <ref role="3Tt5mk" to="wq2x:JOGAOsxaC6" resolve="decl" />
                </node>
              </node>
            </node>
          </node>
          <node concept="3cpWs8" id="6P1UyJpki1Y" role="3cqZAp">
            <node concept="3cpWsn" id="6P1UyJpki21" role="3cpWs9">
              <property role="TrG5h" value="fts" />
              <node concept="A3Dl8" id="6P1UyJpki1V" role="1tU5fm">
                <node concept="3Tqbb2" id="6P1UyJpki5E" role="A3Ik2">
                  <ref role="ehGHo" to="wq2x:JOGAOsxiL_" resolve="TermFeature" />
                </node>
              </node>
              <node concept="2OqwBi" id="6P1UyJpkmE2" role="33vP2m">
                <node concept="2OqwBi" id="6P1UyJpkiEX" role="2Oq$k0">
                  <node concept="37vLTw" id="6P1UyJpkirm" role="2Oq$k0">
                    <ref role="3cqZAo" node="6fXjIfxgfU4" resolve="dfd" />
                  </node>
                  <node concept="2qgKlT" id="6P1UyJpkjTn" role="2OqNvi">
                    <ref role="37wK5l" to="x5bw:4lCLOtww4qi" resolve="prototypesStack" />
                  </node>
                </node>
                <node concept="3goQfb" id="6P1UyJpkp10" role="2OqNvi">
                  <node concept="1bVj0M" id="6P1UyJpkp12" role="23t8la">
                    <node concept="3clFbS" id="6P1UyJpkp13" role="1bW5cS">
                      <node concept="3clFbF" id="6P1UyJpkpe_" role="3cqZAp">
                        <node concept="2OqwBi" id="6P1UyJpkqnf" role="3clFbG">
                          <node concept="2OqwBi" id="6P1UyJpkprY" role="2Oq$k0">
                            <node concept="37vLTw" id="6P1UyJpkpe$" role="2Oq$k0">
                              <ref role="3cqZAo" node="6E5fMGvfKLr" resolve="it" />
                            </node>
                            <node concept="3TrEf2" id="6P1UyJpkpKz" role="2OqNvi">
                              <ref role="3Tt5mk" to="wq2x:JOGAOsxaCc" resolve="template" />
                            </node>
                          </node>
                          <node concept="3Tsc0h" id="6P1UyJpkqCE" role="2OqNvi">
                            <ref role="3TtcxE" to="wq2x:JOGAOsxiLz" resolve="feature" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="gl6BB" id="6E5fMGvfKLr" role="1bW2Oz">
                      <property role="TrG5h" value="it" />
                      <node concept="2jxLKc" id="6E5fMGvfKLs" role="1tU5fm" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="6fXjIfxgfUe" role="3cqZAp">
            <node concept="2ShNRf" id="6fXjIfxgfUf" role="3clFbG">
              <node concept="YeOm9" id="6fXjIfxgfUg" role="2ShVmc">
                <node concept="1Y3b0j" id="6fXjIfxgfUh" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <node concept="37vLTw" id="6P1UyJpkqY3" role="37wK5m">
                    <ref role="3cqZAo" node="6P1UyJpki21" resolve="fts" />
                  </node>
                  <node concept="3Tm1VV" id="6fXjIfxgfUp" role="1B3o_S" />
                  <node concept="3clFb_" id="6fXjIfxgfUq" role="jymVt">
                    <property role="1EzhhJ" value="false" />
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="6fXjIfxgfUr" role="3clF45" />
                    <node concept="3Tm1VV" id="6fXjIfxgfUs" role="1B3o_S" />
                    <node concept="37vLTG" id="6fXjIfxgfUt" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="6fXjIfxgfUu" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="6fXjIfxgfUv" role="3clF47">
                      <node concept="3clFbF" id="6fXjIfxgfUw" role="3cqZAp">
                        <node concept="2OqwBi" id="6fXjIfxgfUx" role="3clFbG">
                          <node concept="1PxgMI" id="6fXjIfxgfUy" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="37vLTw" id="6fXjIfxgfUz" role="1m5AlR">
                              <ref role="3cqZAo" node="6fXjIfxgfUt" resolve="child" />
                            </node>
                            <node concept="chp4Y" id="6fXjIfxgnfa" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="6fXjIfxgfU$" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="4vr5SAprtjH">
    <property role="3GE5qa" value="term" />
    <ref role="1M2myG" to="wq2x:JOGAOsxaC9" resolve="TermDeclaration" />
    <node concept="1N5Pfh" id="4vr5SAprtjI" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:JOGAOsxaCh" resolve="prototype" />
      <node concept="3dgokm" id="4vr5SAprtjM" role="1N6uqs">
        <node concept="3clFbS" id="4vr5SAprtjO" role="2VODD2">
          <node concept="3cpWs8" id="7LI_gNMomFf" role="3cqZAp">
            <node concept="3cpWsn" id="7LI_gNMomFg" role="3cpWs9">
              <property role="TrG5h" value="tt" />
              <node concept="3Tqbb2" id="7LI_gNMomBW" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:JOGAOsxaCw" resolve="TermTable" />
              </node>
              <node concept="2OqwBi" id="1vAI4X$HwLC" role="33vP2m">
                <node concept="2rP1CM" id="1vAI4X$HwuL" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1vAI4X$HxJF" role="2OqNvi">
                  <node concept="1xMEDy" id="1vAI4X$HxJH" role="1xVPHs">
                    <node concept="chp4Y" id="1vAI4X$Hy97" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:JOGAOsxaCw" resolve="TermTable" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3cpWs8" id="7LI_gNMotIS" role="3cqZAp">
            <node concept="3cpWsn" id="7LI_gNMotIT" role="3cpWs9">
              <property role="TrG5h" value="available" />
              <node concept="_YKpA" id="7LI_gNMotpU" role="1tU5fm">
                <node concept="3Tqbb2" id="7LI_gNMotpX" role="_ZDj9">
                  <ref role="ehGHo" to="wq2x:JOGAOsxaC9" resolve="TermDeclaration" />
                </node>
              </node>
              <node concept="2OqwBi" id="7LI_gNMotIU" role="33vP2m">
                <node concept="2OqwBi" id="7LI_gNMotIV" role="2Oq$k0">
                  <node concept="2OqwBi" id="7LI_gNMov5b" role="2Oq$k0">
                    <node concept="2OqwBi" id="7LI_gNMotIW" role="2Oq$k0">
                      <node concept="2ShNRf" id="7LI_gNMotIX" role="2Oq$k0">
                        <node concept="2HTt$P" id="7LI_gNMotIY" role="2ShVmc">
                          <node concept="3Tqbb2" id="7LI_gNMotIZ" role="2HTBi0">
                            <ref role="ehGHo" to="wq2x:JOGAOsxaCw" resolve="TermTable" />
                          </node>
                          <node concept="37vLTw" id="7LI_gNMotJ0" role="2HTEbv">
                            <ref role="3cqZAo" node="7LI_gNMomFg" resolve="tt" />
                          </node>
                        </node>
                      </node>
                      <node concept="3QWeyG" id="7LI_gNMotJ1" role="2OqNvi">
                        <node concept="2OqwBi" id="7LI_gNMotJ2" role="576Qk">
                          <node concept="37vLTw" id="7LI_gNMotJ3" role="2Oq$k0">
                            <ref role="3cqZAo" node="7LI_gNMomFg" resolve="tt" />
                          </node>
                          <node concept="2qgKlT" id="7LI_gNMotJ4" role="2OqNvi">
                            <ref role="37wK5l" to="x5bw:7LI_gNMl5fZ" resolve="extendsStack" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="3goQfb" id="7LI_gNMozlO" role="2OqNvi">
                      <node concept="1bVj0M" id="7LI_gNMozlQ" role="23t8la">
                        <node concept="3clFbS" id="7LI_gNMozlR" role="1bW5cS">
                          <node concept="3clFbF" id="7LI_gNMozlS" role="3cqZAp">
                            <node concept="2OqwBi" id="7LI_gNMozlT" role="3clFbG">
                              <node concept="37vLTw" id="7LI_gNMozlU" role="2Oq$k0">
                                <ref role="3cqZAo" node="6E5fMGvfKLt" resolve="it" />
                              </node>
                              <node concept="3Tsc0h" id="7LI_gNMozlV" role="2OqNvi">
                                <ref role="3TtcxE" to="wq2x:JOGAOsxaCx" resolve="contents" />
                              </node>
                            </node>
                          </node>
                        </node>
                        <node concept="gl6BB" id="6E5fMGvfKLt" role="1bW2Oz">
                          <property role="TrG5h" value="it" />
                          <node concept="2jxLKc" id="6E5fMGvfKLu" role="1tU5fm" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node concept="3zZkjj" id="7LI_gNMotJ5" role="2OqNvi">
                    <node concept="1bVj0M" id="7LI_gNMotJ6" role="23t8la">
                      <node concept="3clFbS" id="7LI_gNMotJ7" role="1bW5cS">
                        <node concept="3clFbF" id="7LI_gNMotJ8" role="3cqZAp">
                          <node concept="1Wc70l" id="7LI_gNMotJ9" role="3clFbG">
                            <node concept="2OqwBi" id="7LI_gNMotJa" role="3uHU7w">
                              <node concept="37vLTw" id="7LI_gNMotJb" role="2Oq$k0">
                                <ref role="3cqZAo" node="6E5fMGvfKLv" resolve="it" />
                              </node>
                              <node concept="3TrcHB" id="7LI_gNMotJc" role="2OqNvi">
                                <ref role="3TsBF5" to="wq2x:4vr5SApqc6O" resolve="open" />
                              </node>
                            </node>
                            <node concept="3y3z36" id="7LI_gNMotJd" role="3uHU7B">
                              <node concept="37vLTw" id="7LI_gNMotJe" role="3uHU7B">
                                <ref role="3cqZAo" node="6E5fMGvfKLv" resolve="it" />
                              </node>
                              <node concept="3kakTB" id="7LI_gNMotJf" role="3uHU7w" />
                            </node>
                          </node>
                        </node>
                      </node>
                      <node concept="gl6BB" id="6E5fMGvfKLv" role="1bW2Oz">
                        <property role="TrG5h" value="it" />
                        <node concept="2jxLKc" id="6E5fMGvfKLw" role="1tU5fm" />
                      </node>
                    </node>
                  </node>
                </node>
                <node concept="ANE8D" id="7LI_gNMotJi" role="2OqNvi" />
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="4vr5SAprAV$" role="3cqZAp">
            <node concept="2ShNRf" id="4vr5SAprAVw" role="3clFbG">
              <node concept="YeOm9" id="4vr5SAprCap" role="2ShVmc">
                <node concept="1Y3b0j" id="4vr5SAprCas" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="4vr5SAprCat" role="1B3o_S" />
                  <node concept="37vLTw" id="7LI_gNMouvf" role="37wK5m">
                    <ref role="3cqZAo" node="7LI_gNMotIT" resolve="available" />
                  </node>
                  <node concept="3clFb_" id="4vr5SAprCmQ" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="4vr5SAprCmR" role="3clF45" />
                    <node concept="3Tm1VV" id="4vr5SAprCmS" role="1B3o_S" />
                    <node concept="37vLTG" id="4vr5SAprCmU" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="4vr5SAprCmV" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="4vr5SAprCmX" role="3clF47">
                      <node concept="3clFbF" id="4vr5SAprC_k" role="3cqZAp">
                        <node concept="2OqwBi" id="4vr5SAprD8G" role="3clFbG">
                          <node concept="1PxgMI" id="4vr5SAprCX0" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="4vr5SAprCZN" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="4vr5SAprC_j" role="1m5AlR">
                              <ref role="3cqZAo" node="4vr5SAprCmU" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="4vr5SAprDhl" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="4vr5SAprCmY" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="7LI_gNMkOg$">
    <property role="3GE5qa" value="term" />
    <ref role="1M2myG" to="wq2x:JOGAOsxaCw" resolve="TermTable" />
    <node concept="1N5Pfh" id="7LI_gNMkOgI" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:7LI_gNMkNTa" resolve="extended" />
      <node concept="3dgokm" id="7LI_gNMkOgK" role="1N6uqs">
        <node concept="3clFbS" id="7LI_gNMkOgL" role="2VODD2">
          <node concept="3cpWs8" id="7LI_gNMl0bw" role="3cqZAp">
            <node concept="3cpWsn" id="7LI_gNMl0bx" role="3cpWs9">
              <property role="TrG5h" value="available" />
              <node concept="_YKpA" id="7LI_gNMkZZy" role="1tU5fm">
                <node concept="3Tqbb2" id="7LI_gNMkZZ_" role="_ZDj9" />
              </node>
              <node concept="2OqwBi" id="7LI_gNMl0by" role="33vP2m">
                <node concept="2OqwBi" id="7LI_gNMl2bZ" role="2Oq$k0">
                  <node concept="2OqwBi" id="7LI_gNMl0bz" role="2Oq$k0">
                    <node concept="2OqwBi" id="7LI_gNMl0b$" role="2Oq$k0">
                      <node concept="2rP1CM" id="7LI_gNMl0b_" role="2Oq$k0" />
                      <node concept="I4A8Y" id="7LI_gNMl0bA" role="2OqNvi" />
                    </node>
                    <node concept="3lApI0" id="7LI_gNMl0bB" role="2OqNvi">
                      <node concept="chp4Y" id="30mNApUi$Jp" role="3MHPDn">
                        <ref role="cht4Q" to="wq2x:JOGAOsxaCw" resolve="TermTable" />
                      </node>
                    </node>
                  </node>
                  <node concept="3zZkjj" id="7LI_gNMl3TH" role="2OqNvi">
                    <node concept="1bVj0M" id="7LI_gNMl3TJ" role="23t8la">
                      <node concept="3clFbS" id="7LI_gNMl3TK" role="1bW5cS">
                        <node concept="3clFbF" id="7LI_gNMl46B" role="3cqZAp">
                          <node concept="3y3z36" id="7LI_gNMl4mf" role="3clFbG">
                            <node concept="3kakTB" id="7LI_gNMl4Ah" role="3uHU7w" />
                            <node concept="37vLTw" id="7LI_gNMl46A" role="3uHU7B">
                              <ref role="3cqZAo" node="6E5fMGvfKLx" resolve="it" />
                            </node>
                          </node>
                        </node>
                      </node>
                      <node concept="gl6BB" id="6E5fMGvfKLx" role="1bW2Oz">
                        <property role="TrG5h" value="it" />
                        <node concept="2jxLKc" id="6E5fMGvfKLy" role="1tU5fm" />
                      </node>
                    </node>
                  </node>
                </node>
                <node concept="ANE8D" id="7LI_gNMl0bC" role="2OqNvi" />
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="7LI_gNMkU6A" role="3cqZAp">
            <node concept="2ShNRf" id="7LI_gNMkU6y" role="3clFbG">
              <node concept="YeOm9" id="7LI_gNMkUGy" role="2ShVmc">
                <node concept="1Y3b0j" id="7LI_gNMkUG_" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="7LI_gNMkUGA" role="1B3o_S" />
                  <node concept="37vLTw" id="7LI_gNMl0bD" role="37wK5m">
                    <ref role="3cqZAo" node="7LI_gNMl0bx" resolve="available" />
                  </node>
                  <node concept="3clFb_" id="7LI_gNMkUMk" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="7LI_gNMkUMl" role="3clF45" />
                    <node concept="3Tm1VV" id="7LI_gNMkUMm" role="1B3o_S" />
                    <node concept="37vLTG" id="7LI_gNMkUMo" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="7LI_gNMkUMp" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="7LI_gNMkUMr" role="3clF47">
                      <node concept="3clFbF" id="7LI_gNMkUUh" role="3cqZAp">
                        <node concept="2OqwBi" id="7LI_gNMkVj$" role="3clFbG">
                          <node concept="1PxgMI" id="7LI_gNMkV9U" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="7LI_gNMkVcr" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="7LI_gNMkUUg" role="1m5AlR">
                              <ref role="3cqZAo" node="7LI_gNMkUMo" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="7LI_gNMkVth" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="7LI_gNMkUMs" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="2MpDLe9BDeD">
    <property role="3GE5qa" value="rule" />
    <ref role="1M2myG" to="wq2x:1laj_RSpLVV" resolve="OriginSpec" />
    <node concept="9S07l" id="2MpDLe9BDeE" role="9Vyp8">
      <node concept="3clFbS" id="2MpDLe9BDeF" role="2VODD2">
        <node concept="3clFbF" id="2MpDLe9BDiB" role="3cqZAp">
          <node concept="1Wc70l" id="2MpDLe9BFzQ" role="3clFbG">
            <node concept="2OqwBi" id="2MpDLe9BMvu" role="3uHU7w">
              <node concept="2OqwBi" id="2MpDLe9BFLt" role="2Oq$k0">
                <node concept="nLn13" id="2MpDLe9BF_c" role="2Oq$k0" />
                <node concept="2Xjw5R" id="2MpDLe9BLQz" role="2OqNvi">
                  <node concept="1xMEDy" id="2MpDLe9BLQ_" role="1xVPHs">
                    <node concept="chp4Y" id="2MpDLe9BLWP" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
                    </node>
                  </node>
                </node>
              </node>
              <node concept="3x8VRR" id="2MpDLe9BMN9" role="2OqNvi" />
            </node>
            <node concept="2OqwBi" id="2MpDLe9BDWF" role="3uHU7B">
              <node concept="2OqwBi" id="2MpDLe9BDuD" role="2Oq$k0">
                <node concept="nLn13" id="2MpDLe9BDiA" role="2Oq$k0" />
                <node concept="2Xjw5R" id="2MpDLe9BDCc" role="2OqNvi">
                  <node concept="1xMEDy" id="2MpDLe9BDCe" role="1xVPHs">
                    <node concept="chp4Y" id="2MpDLe9BDG8" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
                    </node>
                  </node>
                </node>
              </node>
              <node concept="3w_OXm" id="2MpDLe9BE7e" role="2OqNvi" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="554EtBIsJkX">
    <property role="3GE5qa" value="term.feature" />
    <ref role="1M2myG" to="wq2x:JOGAOsxiL_" resolve="TermFeature" />
    <node concept="EnEH3" id="554EtBIsJkY" role="1MhHOB">
      <ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
      <node concept="QB0g5" id="554EtBIsJl0" role="QCWH9">
        <node concept="3clFbS" id="554EtBIsJl1" role="2VODD2">
          <node concept="3clFbJ" id="1vAI4X$UeSD" role="3cqZAp">
            <node concept="3clFbS" id="1vAI4X$UeTb" role="3clFbx">
              <node concept="3cpWs8" id="554EtBIsJPn" role="3cqZAp">
                <node concept="3cpWsn" id="554EtBIsJPq" role="3cpWs9">
                  <property role="TrG5h" value="owner" />
                  <node concept="3Tqbb2" id="554EtBIsJPm" role="1tU5fm">
                    <ref role="ehGHo" to="wq2x:JOGAOsxaC9" resolve="TermDeclaration" />
                  </node>
                  <node concept="2OqwBi" id="554EtBIsKR9" role="33vP2m">
                    <node concept="EsrRn" id="554EtBIsKCF" role="2Oq$k0" />
                    <node concept="2Xjw5R" id="554EtBIsL4S" role="2OqNvi">
                      <node concept="1xMEDy" id="554EtBIsL4U" role="1xVPHs">
                        <node concept="chp4Y" id="554EtBIsL7e" role="ri$Ld">
                          <ref role="cht4Q" to="wq2x:JOGAOsxaC9" resolve="TermDeclaration" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node concept="3clFbJ" id="554EtBIsL9j" role="3cqZAp">
                <node concept="3clFbS" id="554EtBIsL9l" role="3clFbx">
                  <node concept="3cpWs8" id="554EtBItr1I" role="3cqZAp">
                    <node concept="3cpWsn" id="554EtBItr1L" role="3cpWs9">
                      <property role="TrG5h" value="inheritedFeatures" />
                      <node concept="A3Dl8" id="554EtBItr1F" role="1tU5fm">
                        <node concept="17QB3L" id="554EtBItsbc" role="A3Ik2" />
                      </node>
                      <node concept="2OqwBi" id="554EtBItpqh" role="33vP2m">
                        <node concept="2OqwBi" id="554EtBItpqi" role="2Oq$k0">
                          <node concept="2OqwBi" id="554EtBItpqj" role="2Oq$k0">
                            <node concept="37vLTw" id="554EtBItpqk" role="2Oq$k0">
                              <ref role="3cqZAo" node="554EtBIsJPq" resolve="owner" />
                            </node>
                            <node concept="2qgKlT" id="554EtBItpql" role="2OqNvi">
                              <ref role="37wK5l" to="x5bw:4lCLOtww4qi" resolve="prototypesStack" />
                            </node>
                          </node>
                          <node concept="3goQfb" id="554EtBItpqm" role="2OqNvi">
                            <node concept="1bVj0M" id="554EtBItpqn" role="23t8la">
                              <node concept="3clFbS" id="554EtBItpqo" role="1bW5cS">
                                <node concept="3clFbF" id="554EtBItpqp" role="3cqZAp">
                                  <node concept="2OqwBi" id="554EtBItpqq" role="3clFbG">
                                    <node concept="2OqwBi" id="554EtBItpqr" role="2Oq$k0">
                                      <node concept="37vLTw" id="554EtBItpqs" role="2Oq$k0">
                                        <ref role="3cqZAo" node="6E5fMGvfKLz" resolve="it" />
                                      </node>
                                      <node concept="3TrEf2" id="554EtBItpqt" role="2OqNvi">
                                        <ref role="3Tt5mk" to="wq2x:JOGAOsxaCc" resolve="template" />
                                      </node>
                                    </node>
                                    <node concept="3Tsc0h" id="554EtBItpqu" role="2OqNvi">
                                      <ref role="3TtcxE" to="wq2x:JOGAOsxiLz" resolve="feature" />
                                    </node>
                                  </node>
                                </node>
                              </node>
                              <node concept="gl6BB" id="6E5fMGvfKLz" role="1bW2Oz">
                                <property role="TrG5h" value="it" />
                                <node concept="2jxLKc" id="6E5fMGvfKL$" role="1tU5fm" />
                              </node>
                            </node>
                          </node>
                        </node>
                        <node concept="3$u5V9" id="554EtBItpqx" role="2OqNvi">
                          <node concept="1bVj0M" id="554EtBItpqy" role="23t8la">
                            <node concept="3clFbS" id="554EtBItpqz" role="1bW5cS">
                              <node concept="3clFbF" id="554EtBItpq$" role="3cqZAp">
                                <node concept="3K4zz7" id="554EtBIukQr" role="3clFbG">
                                  <node concept="10Nm6u" id="554EtBIulDZ" role="3K4GZi" />
                                  <node concept="3y3z36" id="554EtBIujMx" role="3K4Cdx">
                                    <node concept="EsrRn" id="554EtBIukfc" role="3uHU7w" />
                                    <node concept="37vLTw" id="554EtBIujl0" role="3uHU7B">
                                      <ref role="3cqZAo" node="6E5fMGvfKL_" resolve="it" />
                                    </node>
                                  </node>
                                  <node concept="2OqwBi" id="554EtBItpq_" role="3K4E3e">
                                    <node concept="37vLTw" id="554EtBItpqA" role="2Oq$k0">
                                      <ref role="3cqZAo" node="6E5fMGvfKL_" resolve="it" />
                                    </node>
                                    <node concept="3TrcHB" id="554EtBItpqB" role="2OqNvi">
                                      <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                                    </node>
                                  </node>
                                </node>
                              </node>
                            </node>
                            <node concept="gl6BB" id="6E5fMGvfKL_" role="1bW2Oz">
                              <property role="TrG5h" value="it" />
                              <node concept="2jxLKc" id="6E5fMGvfKLA" role="1tU5fm" />
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node concept="3cpWs6" id="554EtBIsLHB" role="3cqZAp">
                    <node concept="3fqX7Q" id="554EtBItpqe" role="3cqZAk">
                      <node concept="2OqwBi" id="554EtBItpqg" role="3fr31v">
                        <node concept="3JPx81" id="554EtBItpqE" role="2OqNvi">
                          <node concept="1Wqviy" id="554EtBItpqF" role="25WWJ7" />
                        </node>
                        <node concept="37vLTw" id="554EtBItvL1" role="2Oq$k0">
                          <ref role="3cqZAo" node="554EtBItr1L" resolve="inheritedFeatures" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node concept="3y3z36" id="554EtBIsLvw" role="3clFbw">
                  <node concept="10Nm6u" id="554EtBIsLA2" role="3uHU7w" />
                  <node concept="37vLTw" id="554EtBIsLa7" role="3uHU7B">
                    <ref role="3cqZAo" node="554EtBIsJPq" resolve="owner" />
                  </node>
                </node>
              </node>
              <node concept="3cpWs6" id="554EtBItqmo" role="3cqZAp">
                <node concept="3clFbT" id="554EtBItqnc" role="3cqZAk">
                  <property role="3clFbU" value="true" />
                </node>
              </node>
              <node concept="3clFbH" id="1vAI4X$UieB" role="3cqZAp" />
            </node>
            <node concept="1Wc70l" id="1vAI4X$Ueoe" role="3clFbw">
              <node concept="3fqX7Q" id="1vAI4X$Ueof" role="3uHU7w">
                <node concept="2YIFZM" id="1vAI4X$Ueog" role="3fr31v">
                  <ref role="37wK5l" to="18ew:~JavaNameUtil.isJavaReserved(java.lang.String)" resolve="isJavaReserved" />
                  <ref role="1Pybhc" to="18ew:~JavaNameUtil" resolve="JavaNameUtil" />
                  <node concept="1Wqviy" id="1vAI4X$Ueoh" role="37wK5m" />
                </node>
              </node>
              <node concept="2OqwBi" id="1vAI4X$Ueoi" role="3uHU7B">
                <node concept="2OqwBi" id="1vAI4X$Ueoj" role="2Oq$k0">
                  <node concept="liA8E" id="1vAI4X$Ueok" role="2OqNvi">
                    <ref role="37wK5l" to="ni5j:~Pattern.matcher(java.lang.CharSequence)" resolve="matcher" />
                    <node concept="1Wqviy" id="1vAI4X$Ueol" role="37wK5m" />
                  </node>
                  <node concept="10M0yZ" id="1vAI4X$Ueom" role="2Oq$k0">
                    <ref role="1PxDUh" to="18ew:~JavaNameUtil" resolve="JavaNameUtil" />
                    <ref role="3cqZAo" to="18ew:~JavaNameUtil.VALID_ID_PATTERN" resolve="VALID_ID_PATTERN" />
                  </node>
                </node>
                <node concept="liA8E" id="1vAI4X$Ueon" role="2OqNvi">
                  <ref role="37wK5l" to="ni5j:~Matcher.matches()" resolve="matches" />
                </node>
              </node>
            </node>
            <node concept="9aQIb" id="1vAI4X$UgZS" role="9aQIa">
              <node concept="3clFbS" id="1vAI4X$UgZT" role="9aQI4">
                <node concept="3cpWs6" id="1vAI4X$Uh_t" role="3cqZAp">
                  <node concept="3clFbT" id="1vAI4X$UhLR" role="3cqZAk" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="3swcsd1iBGn">
    <property role="3GE5qa" value="macro.decl" />
    <ref role="1M2myG" to="wq2x:3swcsd1iBEb" resolve="ExpandMacroParameterUsageReference" />
    <node concept="1N5Pfh" id="3swcsd1iC09" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:3swcsd1iBFV" resolve="parameterUsage" />
      <node concept="3dgokm" id="3swcsd1iC3p" role="1N6uqs">
        <node concept="3clFbS" id="3swcsd1iC3q" role="2VODD2">
          <node concept="3clFbF" id="3swcsd1iC8C" role="3cqZAp">
            <node concept="2ShNRf" id="3swcsd1iC8A" role="3clFbG">
              <node concept="YeOm9" id="3swcsd1iDMO" role="2ShVmc">
                <node concept="1Y3b0j" id="3swcsd1iDMR" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <property role="373rjd" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="2OqwBi" id="3swcsd1iKoL" role="37wK5m">
                    <node concept="2OqwBi" id="3swcsd1iKoM" role="2Oq$k0">
                      <node concept="2rP1CM" id="3swcsd1iKoN" role="2Oq$k0" />
                      <node concept="2Xjw5R" id="3swcsd1iKoO" role="2OqNvi">
                        <node concept="1xMEDy" id="3swcsd1iKoP" role="1xVPHs">
                          <node concept="chp4Y" id="3swcsd1iKoQ" role="ri$Ld">
                            <ref role="cht4Q" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
                          </node>
                        </node>
                        <node concept="1xIGOp" id="3swcsd1iKoR" role="1xVPHs" />
                      </node>
                    </node>
                    <node concept="3Tsc0h" id="3swcsd1iKoS" role="2OqNvi">
                      <ref role="3TtcxE" to="wq2x:3swcsd18ZGX" resolve="parameter" />
                    </node>
                  </node>
                  <node concept="3Tm1VV" id="3swcsd1iDMS" role="1B3o_S" />
                  <node concept="3clFb_" id="3swcsd1iDUg" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="3swcsd1iDUh" role="3clF45" />
                    <node concept="3Tm1VV" id="3swcsd1iDUi" role="1B3o_S" />
                    <node concept="37vLTG" id="3swcsd1iDUk" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="3swcsd1iDUl" role="1tU5fm">
                        <ref role="ehGHo" to="wq2x:3swcsd17JEl" resolve="ExpandMacroParameterUsage" />
                      </node>
                    </node>
                    <node concept="3clFbS" id="3swcsd1iDUn" role="3clF47">
                      <node concept="3clFbF" id="3swcsd1iFmK" role="3cqZAp">
                        <node concept="2OqwBi" id="3swcsd1iFCr" role="3clFbG">
                          <node concept="37vLTw" id="3swcsd1iFmH" role="2Oq$k0">
                            <ref role="3cqZAo" node="3swcsd1iDUk" resolve="child" />
                          </node>
                          <node concept="3TrcHB" id="3swcsd1iIeS" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="3swcsd1iDUo" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node concept="1M2fIO" id="1ufy3d9uGUS">
    <property role="3GE5qa" value="constraint" />
    <ref role="1M2myG" to="wq2x:1ufy3d9uzFb" resolve="CallMacroConstraintArgumentBinding" />
    <node concept="1N5Pfh" id="1ufy3d9uGX4" role="1Mr941">
      <ref role="1N5Vy1" to="wq2x:1ufy3d9uzVX" resolve="declaration" />
      <node concept="3dgokm" id="1ufy3d9uGX5" role="1N6uqs">
        <node concept="3clFbS" id="1ufy3d9uGX6" role="2VODD2">
          <node concept="3cpWs8" id="1ufy3d9uGX7" role="3cqZAp">
            <node concept="3cpWsn" id="1ufy3d9uGX8" role="3cpWs9">
              <property role="TrG5h" value="mc" />
              <node concept="3Tqbb2" id="1ufy3d9uGX9" role="1tU5fm">
                <ref role="ehGHo" to="wq2x:5itBwM7LtBf" resolve="CallMacroConstraint" />
              </node>
              <node concept="2OqwBi" id="1ufy3d9uGXa" role="33vP2m">
                <node concept="2rP1CM" id="1ufy3d9uGXb" role="2Oq$k0" />
                <node concept="2Xjw5R" id="1ufy3d9uGXc" role="2OqNvi">
                  <node concept="1xMEDy" id="1ufy3d9uGXd" role="1xVPHs">
                    <node concept="chp4Y" id="1ufy3d9uGXe" role="ri$Ld">
                      <ref role="cht4Q" to="wq2x:5itBwM7LtBf" resolve="CallMacroConstraint" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node concept="3clFbF" id="1ufy3d9uGXl" role="3cqZAp">
            <node concept="2ShNRf" id="1ufy3d9uGXm" role="3clFbG">
              <node concept="YeOm9" id="1ufy3d9uGXn" role="2ShVmc">
                <node concept="1Y3b0j" id="1ufy3d9uGXo" role="YeSDq">
                  <property role="2bfB8j" value="true" />
                  <ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
                  <ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
                  <node concept="3Tm1VV" id="1ufy3d9uGXp" role="1B3o_S" />
                  <node concept="2OqwBi" id="1ufy3d9uGXq" role="37wK5m">
                    <node concept="2OqwBi" id="1ufy3d9uGXr" role="2Oq$k0">
                      <node concept="37vLTw" id="1ufy3d9uGXs" role="2Oq$k0">
                        <ref role="3cqZAo" node="1ufy3d9uGX8" resolve="mc" />
                      </node>
                      <node concept="3TrEf2" id="1ufy3d9uGXt" role="2OqNvi">
                        <ref role="3Tt5mk" to="wq2x:5itBwM7LtYS" resolve="template" />
                      </node>
                    </node>
                    <node concept="3Tsc0h" id="1ufy3d9uGXu" role="2OqNvi">
                      <ref role="3TtcxE" to="wq2x:5itBwM5irVx" resolve="parameter" />
                    </node>
                  </node>
                  <node concept="3clFb_" id="1ufy3d9uGXv" role="jymVt">
                    <property role="TrG5h" value="getName" />
                    <node concept="17QB3L" id="1ufy3d9uGXw" role="3clF45" />
                    <node concept="3Tm1VV" id="1ufy3d9uGXx" role="1B3o_S" />
                    <node concept="37vLTG" id="1ufy3d9uGXy" role="3clF46">
                      <property role="TrG5h" value="child" />
                      <node concept="3Tqbb2" id="1ufy3d9uGXz" role="1tU5fm" />
                    </node>
                    <node concept="3clFbS" id="1ufy3d9uGX$" role="3clF47">
                      <node concept="3clFbF" id="1ufy3d9uGX_" role="3cqZAp">
                        <node concept="2OqwBi" id="1ufy3d9uGXA" role="3clFbG">
                          <node concept="1PxgMI" id="1ufy3d9uGXB" role="2Oq$k0">
                            <property role="1BlNFB" value="true" />
                            <node concept="chp4Y" id="1ufy3d9uGXC" role="3oSUPX">
                              <ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
                            </node>
                            <node concept="37vLTw" id="1ufy3d9uGXD" role="1m5AlR">
                              <ref role="3cqZAo" node="1ufy3d9uGXy" resolve="child" />
                            </node>
                          </node>
                          <node concept="3TrcHB" id="1ufy3d9uGXE" role="2OqNvi">
                            <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node concept="2AHcQZ" id="1ufy3d9uGXF" role="2AJF6D">
                      <ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
</model>

