add unquantified type annotations to lambda calculus

This commit is contained in:
grigorii.kirgizov 2018-12-04 17:08:49 +03:00 committed by Fedor Isakov
parent debaa390e2
commit 54af10dad0
5 changed files with 1761 additions and 34 deletions

View File

@ -133,8 +133,11 @@
<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" />
</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="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
@ -807,5 +810,29 @@
<node concept="2tJIrI" id="7_zMfd$r3oW" role="jymVt" />
<node concept="3Tm1VV" id="7_zMfd$r3oo" role="1B3o_S" />
</node>
<node concept="1M2fIO" id="JqEP$8gEkk">
<property role="3GE5qa" value="expr" />
<ref role="1M2myG" to="8tt8:JqEP$8fvrm" resolve="AnnVar" />
<node concept="EnEH3" id="JqEP$8gEkl" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="Eqf_E" id="JqEP$8gEkn" role="EtsB7">
<node concept="3clFbS" id="JqEP$8gEko" role="2VODD2">
<node concept="3clFbF" id="JqEP$8gEBA" role="3cqZAp">
<node concept="2OqwBi" id="JqEP$8gGmi" role="3clFbG">
<node concept="2OqwBi" id="JqEP$8gES1" role="2Oq$k0">
<node concept="EsrRn" id="JqEP$8gEB_" role="2Oq$k0" />
<node concept="3TrEf2" id="JqEP$8gFj9" role="2OqNvi">
<ref role="3Tt5mk" to="8tt8:JqEP$8fvrp" resolve="var" />
</node>
</node>
<node concept="3TrcHB" id="JqEP$8gGLe" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -824,5 +824,49 @@
<node concept="l2Vlx" id="6_p$mL233Yq" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="JqEP$8fvqr">
<property role="3GE5qa" value="expr" />
<ref role="1XX52x" to="8tt8:JqEP$8fvqm" resolve="AnnExpr" />
<node concept="3EZMnI" id="JqEP$8fvqt" role="2wV5jI">
<node concept="3F0ifn" id="JqEP$8fvqB" role="3EZMnx">
<property role="3F0ifm" value="(" />
</node>
<node concept="3F1sOY" id="JqEP$8fvr6" role="3EZMnx">
<ref role="1NtTu8" to="8tt8:JqEP$8fvqp" resolve="expr" />
</node>
<node concept="3F0ifn" id="JqEP$8fvqZ" role="3EZMnx">
<property role="3F0ifm" value="::" />
</node>
<node concept="3F1sOY" id="JqEP$8fvrf" role="3EZMnx">
<ref role="1NtTu8" to="8tt8:JqEP$8fvrd" resolve="ann" />
</node>
<node concept="3F0ifn" id="JqEP$8fvqJ" role="3EZMnx">
<property role="3F0ifm" value=")" />
</node>
<node concept="l2Vlx" id="JqEP$8fvqw" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="JqEP$8fvrr">
<property role="3GE5qa" value="expr" />
<ref role="1XX52x" to="8tt8:JqEP$8fvrm" resolve="AnnVar" />
<node concept="3EZMnI" id="JqEP$8fvrt" role="2wV5jI">
<node concept="3F0ifn" id="JqEP$8fvrK" role="3EZMnx">
<property role="3F0ifm" value="(" />
</node>
<node concept="3F1sOY" id="JqEP$8gHP4" role="3EZMnx">
<ref role="1NtTu8" to="8tt8:JqEP$8fvrp" resolve="var" />
</node>
<node concept="3F0ifn" id="JqEP$8fvsq" role="3EZMnx">
<property role="3F0ifm" value="::" />
</node>
<node concept="3F1sOY" id="JqEP$8fvsK" role="3EZMnx">
<ref role="1NtTu8" to="8tt8:JqEP$8fvrd" resolve="ann" />
</node>
<node concept="3F0ifn" id="JqEP$8fvrQ" role="3EZMnx">
<property role="3F0ifm" value=")" />
</node>
<node concept="l2Vlx" id="JqEP$8fvrw" role="2iSdaV" />
</node>
</node>
</model>

View File

@ -17,7 +17,9 @@
<child id="1071489727083" name="linkDeclaration" index="1TKVEi" />
<child id="1071489727084" name="propertyDeclaration" index="1TKVEl" />
</concept>
<concept id="1169125989551" name="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" flags="ig" index="PlHQZ" />
<concept id="1169125989551" name="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" flags="ig" index="PlHQZ">
<child id="1169127546356" name="extends" index="PrDN$" />
</concept>
<concept id="1169127622168" name="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" flags="ig" index="PrWs8">
<reference id="1169127628841" name="intfc" index="PrY4T" />
</concept>
@ -349,5 +351,54 @@
<ref role="20lvS9" node="7_8aRkgDGPJ" resolve="Expr" />
</node>
</node>
<node concept="PlHQZ" id="JqEP$8fvoa">
<property role="EcuMT" value="854183478218847754" />
<property role="3GE5qa" value="expr" />
<property role="TrG5h" value="Annotated" />
<node concept="PrWs8" id="JqEP$8fvob" role="PrDN$">
<ref role="PrY4T" node="3TFdEPZf9SZ" resolve="Typeable" />
</node>
<node concept="1TJgyj" id="JqEP$8fvrd" role="1TKVEi">
<property role="IQ2ns" value="854183478218847949" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="ann" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="3_qfG1EP6Nw" resolve="Type" />
</node>
</node>
<node concept="1TIwiD" id="JqEP$8fvqm">
<property role="EcuMT" value="854183478218847894" />
<property role="3GE5qa" value="expr" />
<property role="TrG5h" value="AnnExpr" />
<property role="34LRSv" value="annotation" />
<ref role="1TJDcQ" node="7_8aRkgDGPJ" resolve="Expr" />
<node concept="PrWs8" id="JqEP$8fvqn" role="PzmwI">
<ref role="PrY4T" node="JqEP$8fvoa" resolve="Annotated" />
</node>
<node concept="1TJgyj" id="JqEP$8fvqp" role="1TKVEi">
<property role="IQ2ns" value="854183478218847897" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="expr" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="7_8aRkgDGPJ" resolve="Expr" />
</node>
</node>
<node concept="1TIwiD" id="JqEP$8fvrm">
<property role="EcuMT" value="854183478218847958" />
<property role="3GE5qa" value="expr" />
<property role="TrG5h" value="AnnVar" />
<property role="34LRSv" value="Annotated var" />
<ref role="1TJDcQ" node="7_8aRkgDGPo" resolve="Var" />
<node concept="PrWs8" id="JqEP$8fvrn" role="PzmwI">
<ref role="PrY4T" node="JqEP$8fvoa" resolve="Annotated" />
</node>
<node concept="1TJgyj" id="JqEP$8fvrp" role="1TKVEi">
<property role="IQ2ns" value="854183478218847961" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="var" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="7_8aRkgDGPo" resolve="Var" />
</node>
</node>
</model>

View File

@ -19,17 +19,40 @@
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="af858d84-85f2-42f4-a854-0b3c6b5cd482" name="samples.lambdacalc">
<concept id="854183478218847754" name="samples.lambdacalc.structure.Annotated" flags="ng" index="3TPPj">
<child id="854183478218847949" name="ann" index="3TPQk" />
</concept>
<concept id="854183478218847958" name="samples.lambdacalc.structure.AnnVar" flags="ng" index="3TPQf">
<child id="854183478218847961" name="var" index="3TPQ0" />
</concept>
<concept id="854183478218847894" name="samples.lambdacalc.structure.AnnExpr" flags="ng" index="3TPRf">
<child id="854183478218847897" name="expr" index="3TPR0" />
</concept>
<concept id="1784752312119229448" name="samples.lambdacalc.structure.Fix" flags="ng" index="2facFd" />
<concept id="8747055848970356251" name="samples.lambdacalc.structure.VarRef" flags="ng" index="t0$VC">
<reference id="8747055848970356252" name="def" index="t0$VJ" />
</concept>
<concept id="3749787170939265030" name="samples.lambdacalc.structure.VarType" flags="ng" index="2BbKIm">
<property id="3749787170939266901" name="name" index="2BbKN5" />
</concept>
<concept id="7591258541060276116" name="samples.lambdacalc.structure.IfThenElse" flags="ng" index="FlqVS">
<child id="7591258541060276154" name="neg" index="FlqVm" />
<child id="7591258541060276151" name="pos" index="FlqVr" />
<child id="7591258541060276145" name="cond" index="FlqVt" />
</concept>
<concept id="4132684604212800783" name="samples.lambdacalc.structure.FunType" flags="ng" index="1jz_ff">
<child id="4132684604212800793" name="argType" index="1jz_fp" />
<child id="4132684604212800805" name="resType" index="1jz_f_" />
</concept>
<concept id="8739282858702982512" name="samples.lambdacalc.structure.App" flags="ng" index="1DVIo5">
<child id="8739282858702982513" name="fun" index="1DVIo4" />
<child id="8739282858702982525" name="arg" index="1DVIo8" />
@ -56,6 +79,10 @@
<concept id="8739282858702985614" name="samples.lambdacalc.structure.LetClause" flags="ng" index="1DVJbV">
<child id="2654091495521629866" name="binding" index="j9CMd" />
</concept>
<concept id="1192808835813875324" name="samples.lambdacalc.structure.ForallType" flags="ng" index="3JbUGG">
<child id="1192808835813913262" name="type" index="3JbKvY" />
</concept>
<concept id="4774429934441520217" name="samples.lambdacalc.structure.BoolType" flags="ng" index="3P8Jbz" />
<concept id="4774429934441545239" name="samples.lambdacalc.structure.False" flags="ng" index="3P8L2H" />
<concept id="4774429934441530831" name="samples.lambdacalc.structure.True" flags="ng" index="3P8MHP" />
</language>
@ -478,6 +505,23 @@
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8jcEt" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8jcEv" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8jcEx" role="1DVIrJ">
<property role="TrG5h" value="r" />
</node>
<node concept="1DVIrU" id="JqEP$8jcFx" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8jcFy" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8jcFz" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8jcFB" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8jcFz" resolve="x" />
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="6_p$mL23mCW" role="1DVIru">
<node concept="1DVIrG" id="6_p$mL23mCY" role="j9CMd">
<node concept="1DVIoH" id="6_p$mL23mD0" role="1DVIrJ">
@ -906,5 +950,557 @@
</node>
</node>
</node>
<node concept="1DVIrt" id="JqEP$8gcM$">
<property role="TrG5h" value="DemoAnno" />
<node concept="1DVJbV" id="JqEP$8j8gB" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8j8gD" role="j9CMd">
<node concept="3TPQf" id="JqEP$8jjsc" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8jjse" role="3TPQ0">
<property role="TrG5h" value="id" />
</node>
<node concept="3JbUGG" id="JqEP$8knDS" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8jjsl" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8jjsu" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8jjsF" role="1jz_f_">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8j8hz" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8j8h$" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8j8hD" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8j8hF" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8j8hM" role="3TPQk">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
<node concept="t0$VC" id="JqEP$8j8hP" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8j8hD" resolve="x" />
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8jjjl" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8jjjn" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8jjjp" role="1DVIrJ">
<property role="TrG5h" value="id1" />
</node>
<node concept="3TPRf" id="JqEP$8jjl6" role="1DVIrD">
<node concept="1DVIrU" id="JqEP$8jjlf" role="3TPR0">
<node concept="1DVIrB" id="JqEP$8jjlg" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8jjll" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8jjln" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8jjlu" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="t0$VC" id="JqEP$8jjlx" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8jjll" resolve="x" />
</node>
</node>
<node concept="1jz_ff" id="JqEP$8jjlz" role="3TPQk">
<node concept="2BbKIm" id="JqEP$8jjlG" role="1jz_fp">
<property role="2BbKN5" value="B" />
</node>
<node concept="2BbKIm" id="JqEP$8jjlJ" role="1jz_f_">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="JqEP$8rwqT" role="lGtFl">
<property role="3V$3am" value="clause" />
<property role="3V$3ak" value="af858d84-85f2-42f4-a854-0b3c6b5cd482/8739282858702982568/8739282858702982571" />
<node concept="1DVJbV" id="JqEP$8rvXr" role="8Wnug">
<node concept="1DVIrG" id="JqEP$8rvXs" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8rvXt" role="1DVIrJ">
<property role="TrG5h" value="id1" />
</node>
<node concept="3TPRf" id="JqEP$8rvXu" role="1DVIrD">
<node concept="1DVIrU" id="JqEP$8rvXv" role="3TPR0">
<node concept="1DVIrB" id="JqEP$8rvXw" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8rvXx" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8rvXy" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="3JbUGG" id="JqEP$8rw1h" role="3TPQk">
<node concept="2BbKIm" id="JqEP$8rw1n" role="3JbKvY">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="3TPRf" id="JqEP$8rw2c" role="1DVIrw">
<node concept="t0$VC" id="JqEP$8rw2l" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8rvXx" resolve="x" />
</node>
<node concept="3JbUGG" id="JqEP$8rw2o" role="3TPQk">
<node concept="2BbKIm" id="JqEP$8rw2u" role="3JbKvY">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="3JbUGG" id="JqEP$8rw1a" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8rvX_" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8rvXA" role="1jz_fp">
<property role="2BbKN5" value="B" />
</node>
<node concept="2BbKIm" id="JqEP$8rvXB" role="1jz_f_">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8owBU" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8owBV" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8owBW" role="1DVIrJ">
<property role="TrG5h" value="id2" />
</node>
<node concept="1DVIrU" id="JqEP$8owBY" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8owBZ" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8owC0" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8owC1" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8owC2" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="3TPRf" id="JqEP$8oJ3p" role="1DVIrw">
<node concept="t0$VC" id="JqEP$8oJ3y" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8owC0" resolve="x" />
</node>
<node concept="2BbKIm" id="JqEP$8oJ3_" role="3TPQk">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8oYk0" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8oYk1" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8oYk2" role="1DVIrJ">
<property role="TrG5h" value="id3" />
</node>
<node concept="1DVIrU" id="JqEP$8oYk3" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8oYk4" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8oYk5" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8oYk6" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8oYk7" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="3TPRf" id="JqEP$8oYk8" role="1DVIrw">
<node concept="t0$VC" id="JqEP$8oYk9" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8oYk5" resolve="x" />
</node>
<node concept="2BbKIm" id="JqEP$8oYka" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rpnw" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rpnx" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8rpny" role="1DVIrJ">
<property role="TrG5h" value="id4" />
</node>
<node concept="1DVIrU" id="JqEP$8rpnz" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rpn$" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8rpn_" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8rpnA" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rpnB" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="3TPRf" id="JqEP$8rpnC" role="1DVIrw">
<node concept="t0$VC" id="JqEP$8rpnD" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8rpn_" resolve="x" />
</node>
<node concept="3P8Jbz" id="JqEP$8rppv" role="3TPQk" />
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rppO" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rppP" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8rppQ" role="1DVIrJ">
<property role="TrG5h" value="id5" />
</node>
<node concept="1DVIrU" id="JqEP$8rppR" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rppS" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8rppT" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8rppU" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="3P8Jbz" id="JqEP$8rprY" role="3TPQk" />
</node>
</node>
<node concept="3TPRf" id="JqEP$8rppW" role="1DVIrw">
<node concept="t0$VC" id="JqEP$8rppX" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8rppT" resolve="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rps1" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rq1b" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rq1c" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8rq1d" role="1DVIrJ">
<property role="TrG5h" value="f3" />
</node>
<node concept="1DVIrU" id="JqEP$8rq1e" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rq1f" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8rq1g" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8rq1h" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rq4u" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="FlqVS" id="JqEP$8rq1j" role="1DVIrw">
<node concept="3P8L2H" id="JqEP$8rq1k" role="FlqVr" />
<node concept="3P8MHP" id="JqEP$8rq1l" role="FlqVm" />
<node concept="t0$VC" id="JqEP$8rq1m" role="FlqVt">
<ref role="t0$VJ" node="JqEP$8rq1g" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8hIVG" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8hIVH" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8hIVI" role="1DVIrJ">
<property role="TrG5h" value="f4" />
</node>
<node concept="1DVIrU" id="JqEP$8hIVJ" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8hIVK" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8hIVL" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8hIVM" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="1jz_ff" id="JqEP$8hIWA" role="3TPQk">
<node concept="3P8Jbz" id="JqEP$8hIWJ" role="1jz_fp" />
<node concept="3P8Jbz" id="JqEP$8hIWM" role="1jz_f_" />
</node>
</node>
</node>
<node concept="FlqVS" id="JqEP$8hIVO" role="1DVIrw">
<node concept="3P8L2H" id="JqEP$8hIVP" role="FlqVr" />
<node concept="3P8MHP" id="JqEP$8hIVQ" role="FlqVm" />
<node concept="t0$VC" id="JqEP$8rq54" role="FlqVt">
<ref role="t0$VJ" node="JqEP$8hIVL" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rq9i" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rq9j" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8rq9k" role="1DVIrJ">
<property role="TrG5h" value="f5" />
</node>
<node concept="1DVIrU" id="JqEP$8rq9l" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rq9m" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8rq9n" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8rq9o" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rqcZ" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="FlqVS" id="JqEP$8rq9s" role="1DVIrw">
<node concept="3P8L2H" id="JqEP$8rq9t" role="FlqVr" />
<node concept="3P8MHP" id="JqEP$8rq9u" role="FlqVm" />
<node concept="1DVIo5" id="JqEP$8rq5i" role="FlqVt">
<node concept="t0$VC" id="JqEP$8rq5j" role="1DVIo4">
<ref role="t0$VJ" node="JqEP$8rq9n" resolve="x" />
</node>
<node concept="3P8MHP" id="JqEP$8rq5b" role="1DVIo8" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8gcM_" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8gcMA" role="j9CMd">
<node concept="1DVIoH" id="JqEP$8gcMB" role="1DVIrJ">
<property role="TrG5h" value="f6" />
</node>
<node concept="1DVIrU" id="JqEP$8gcMH" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8gcMI" role="1DVIr_">
<node concept="3TPQf" id="JqEP$8gcMN" role="1DVIrA">
<node concept="1DVIoH" id="JqEP$8gcMP" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rwAr" role="3TPQk">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
<node concept="FlqVS" id="JqEP$8gcMZ" role="1DVIrw">
<node concept="3TPRf" id="JqEP$8rwAu" role="FlqVr">
<node concept="t0$VC" id="JqEP$8rwAB" role="3TPR0">
<ref role="t0$VJ" node="JqEP$8gcMN" resolve="x" />
</node>
<node concept="2BbKIm" id="JqEP$8rwAE" role="3TPQk">
<property role="2BbKN5" value="B" />
</node>
</node>
<node concept="3P8MHP" id="JqEP$8gcP5" role="FlqVm" />
<node concept="t0$VC" id="JqEP$8gVr5" role="FlqVt">
<ref role="t0$VJ" node="JqEP$8gcMN" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rpGM" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rpGN" role="j9CMd">
<node concept="1DVIrH" id="JqEP$8rpGO" role="1DVIrD">
<node concept="1DVIrG" id="JqEP$8rpGP" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8rpGQ" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8rpGR" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="3JbUGG" id="JqEP$8rpGS" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8rpGT" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8rpGU" role="1jz_fp">
<property role="2BbKN5" value="B" />
</node>
<node concept="2BbKIm" id="JqEP$8rpGV" role="1jz_f_">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8rpGW" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rpGX" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8rpGY" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8rpGZ" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8rpGY" resolve="x" />
</node>
</node>
</node>
<node concept="1DVIrH" id="JqEP$8rpH0" role="1DVIrk">
<node concept="1DVIo5" id="JqEP$8rpH1" role="1DVIrk">
<node concept="t0$VC" id="JqEP$8rpH2" role="1DVIo4">
<ref role="t0$VJ" node="JqEP$8rpH5" resolve="y" />
</node>
<node concept="t0$VC" id="JqEP$8rpH3" role="1DVIo8">
<ref role="t0$VJ" node="JqEP$8rpGQ" resolve="x" />
</node>
</node>
<node concept="1DVIrG" id="JqEP$8rpH4" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8rpH5" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8rpH6" role="3TPQ0">
<property role="TrG5h" value="y" />
</node>
<node concept="3JbUGG" id="JqEP$8rpH7" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8rpH8" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8rpH9" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8rpHa" role="1jz_f_">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8rpHb" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rpHc" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8rpHd" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8rpHe" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8rpHd" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVIoH" id="JqEP$8rpHf" role="1DVIrJ">
<property role="TrG5h" value="g1" />
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8jf5d" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8jf5f" role="j9CMd">
<node concept="1DVIrH" id="JqEP$8jf6w" role="1DVIrD">
<node concept="1DVIrG" id="JqEP$8jf6A" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8jf6Q" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8jf6S" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="3JbUGG" id="JqEP$8owyt" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8jf6Z" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8jf78" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8jf7b" role="1jz_f_">
<property role="2BbKN5" value="B" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8jf89" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8jf8a" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8jf8b" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8jf8f" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8jf8b" resolve="x" />
</node>
</node>
</node>
<node concept="1DVIrH" id="JqEP$8jf7e" role="1DVIrk">
<node concept="1DVIo5" id="JqEP$8jf8n" role="1DVIrk">
<node concept="t0$VC" id="JqEP$8jf8h" role="1DVIo4">
<ref role="t0$VJ" node="JqEP$8jf7q" resolve="y" />
</node>
<node concept="t0$VC" id="JqEP$8jf8m" role="1DVIo8">
<ref role="t0$VJ" node="JqEP$8jf6Q" resolve="x" />
</node>
</node>
<node concept="1DVIrG" id="JqEP$8jf7k" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8jf7q" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8jf7s" role="3TPQ0">
<property role="TrG5h" value="y" />
</node>
<node concept="3JbUGG" id="JqEP$8owy$" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8jf7A" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8jf7J" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8jf7M" role="1jz_f_">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8jf7P" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8jf7Q" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8jf7R" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8jf7V" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8jf7R" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVIoH" id="JqEP$8jf6u" role="1DVIrJ">
<property role="TrG5h" value="g2" />
</node>
</node>
</node>
<node concept="1DVJbV" id="JqEP$8rpWn" role="1DVIru">
<node concept="1DVIrG" id="JqEP$8rpWo" role="j9CMd">
<node concept="1DVIrH" id="JqEP$8rpWp" role="1DVIrD">
<node concept="1DVIrG" id="JqEP$8rpWq" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8rpWr" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8rpWs" role="3TPQ0">
<property role="TrG5h" value="x" />
</node>
<node concept="3JbUGG" id="JqEP$8rpWt" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8rpWu" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8rpWv" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8rpWw" role="1jz_f_">
<property role="2BbKN5" value="bool" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8rpWx" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rpWy" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8rpWz" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="3P8MHP" id="JqEP$8rpZM" role="1DVIrw" />
</node>
</node>
<node concept="1DVIrH" id="JqEP$8rpW_" role="1DVIrk">
<node concept="1DVIo5" id="JqEP$8rpWA" role="1DVIrk">
<node concept="t0$VC" id="JqEP$8rpZR" role="1DVIo4">
<ref role="t0$VJ" node="JqEP$8rpWr" resolve="x" />
</node>
<node concept="t0$VC" id="JqEP$8rpZW" role="1DVIo8">
<ref role="t0$VJ" node="JqEP$8rpWE" resolve="y" />
</node>
</node>
<node concept="1DVIrG" id="JqEP$8rpWD" role="1DVIrE">
<node concept="3TPQf" id="JqEP$8rpWE" role="1DVIrJ">
<node concept="1DVIoH" id="JqEP$8rpWF" role="3TPQ0">
<property role="TrG5h" value="y" />
</node>
<node concept="3JbUGG" id="JqEP$8rpWG" role="3TPQk">
<node concept="1jz_ff" id="JqEP$8rpWH" role="3JbKvY">
<node concept="2BbKIm" id="JqEP$8rpWI" role="1jz_fp">
<property role="2BbKN5" value="A" />
</node>
<node concept="2BbKIm" id="JqEP$8rpWJ" role="1jz_f_">
<property role="2BbKN5" value="A" />
</node>
</node>
</node>
</node>
<node concept="1DVIrU" id="JqEP$8rpWK" role="1DVIrD">
<node concept="1DVIrB" id="JqEP$8rpWL" role="1DVIr_">
<node concept="1DVIoH" id="JqEP$8rpWM" role="1DVIrA">
<property role="TrG5h" value="x" />
</node>
</node>
<node concept="t0$VC" id="JqEP$8rpWN" role="1DVIrw">
<ref role="t0$VJ" node="JqEP$8rpWM" resolve="x" />
</node>
</node>
</node>
</node>
</node>
<node concept="1DVIoH" id="JqEP$8rpWO" role="1DVIrJ">
<property role="TrG5h" value="g3" />
</node>
</node>
</node>
</node>
</model>