New feature: specify stage for a handler, produce multiple programs from the typechecking model. Stages are specified as strings.

This commit is contained in:
Fedor Isakov 2017-02-07 17:18:48 +01:00
parent 61fd80014d
commit dd41e08381
14 changed files with 1635 additions and 859 deletions

View File

@ -222,7 +222,7 @@
<property role="TrG5h" value="LogicalValue" />
<property role="3GE5qa" value="logical" />
<property role="EcuMT" value="8829335963591331603" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalClause" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalItem" />
<node concept="1TJgyj" id="7E86$tKsqnr" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="code" />
@ -232,7 +232,7 @@
</node>
</node>
<node concept="1TIwiD" id="7E86$tKsl45">
<property role="TrG5h" value="LogicalClause" />
<property role="TrG5h" value="LogicalItem" />
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<property role="3GE5qa" value="logical" />
@ -244,7 +244,7 @@
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<property role="EcuMT" value="8829335963591431101" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalClause" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalItem" />
<node concept="1TJgyj" id="7E86$tKsJfa" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="index" />
@ -382,7 +382,7 @@
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="AssignedLogicalVariable" />
<property role="EcuMT" value="5131913661993028914" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalClause" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalItem" />
<node concept="1TJgyj" id="4sSe4$p4oON" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="variable" />
@ -395,7 +395,7 @@
<property role="20kJfa" value="value" />
<property role="20lbJX" value="1" />
<property role="IQ2ns" value="5131913661993028917" />
<ref role="20lvS9" node="7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" node="7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
</model>

View File

@ -206,7 +206,7 @@
<node concept="H_c77" id="7y50OW6ZKLy" role="1tU5fm" />
</node>
<node concept="3uibUv" id="7y50OW6ZKHy" role="3clF45">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="3clFbS" id="7y50OW6ZKyD" role="3clF47">
<node concept="3SKdUt" id="7y50OW707GY" role="3cqZAp">
@ -235,11 +235,11 @@
<node concept="3cpWsn" id="7y50OW6ZS1A" role="3cpWs9">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="7y50OW6ZS1r" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="2ShNRf" id="7y50OW6ZS1B" role="33vP2m">
<node concept="1pGfFk" id="7y50OW6ZS1C" role="2ShVmc">
<ref role="37wK5l" to="fqlx:1hX44vNlSOK" resolve="TypeTemplateCollection" />
<ref role="37wK5l" to="fqlx:1hX44vNlSOK" resolve="TypeTemplateIndex" />
<node concept="2OqwBi" id="7y50OW6ZS1D" role="37wK5m">
<node concept="37vLTw" id="7y50OW6ZS1E" role="2Oq$k0">
<ref role="3cqZAo" node="7y50OW6ZLiB" resolve="typeAspect" />
@ -288,7 +288,7 @@
<node concept="3cpWsn" id="4nxCIBqykWr" role="3cpWs9">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="4nxCIBqykWp" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="2OqwBi" id="7y50OW6ZN_k" role="33vP2m">
<node concept="2WthIp" id="7y50OW6ZN_n" role="2Oq$k0" />

View File

@ -539,7 +539,6 @@
<child id="2546654756694997556" name="reference" index="92FcQ" />
<child id="3106559687488913694" name="line" index="2XjZqd" />
</concept>
<concept id="6832197706140896242" name="jetbrains.mps.baseLanguage.javadoc.structure.FieldDocComment" flags="ng" index="z59LJ" />
<concept id="5349172909345501395" name="jetbrains.mps.baseLanguage.javadoc.structure.BaseDocComment" flags="ng" index="P$AiS">
<child id="8465538089690331502" name="body" index="TZ5H$" />
</concept>
@ -4867,15 +4866,23 @@
</node>
</node>
<node concept="3clFbH" id="3GlpCDS$txu" role="3cqZAp" />
<node concept="3SKdUt" id="20Ay2VfaTtY" role="3cqZAp">
<node concept="3SKdUq" id="20Ay2VfaTu0" role="3SKWNk">
<property role="3SKdUp" value="FIXME: process alternative stage programs" />
</node>
</node>
<node concept="3clFbF" id="3GlpCDS$28T" role="3cqZAp">
<node concept="37vLTI" id="3GlpCDS$62q" role="3clFbG">
<node concept="2OqwBi" id="3GlpCDS$dYU" role="37vLTx">
<node concept="37vLTw" id="3GlpCDS$7Is" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="templatesApplication" />
</node>
<node concept="liA8E" id="3GlpCDS$ffN" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
<node concept="2OqwBi" id="20Ay2VeYW0L" role="37vLTx">
<node concept="2OqwBi" id="3GlpCDS$dYU" role="2Oq$k0">
<node concept="37vLTw" id="3GlpCDS$7Is" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="templatesApplication" />
</node>
<node concept="liA8E" id="3GlpCDS$ffN" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getPrograms" />
</node>
</node>
<node concept="1uHKPH" id="20Ay2VeYX2h" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="3GlpCDS$3mx" role="37vLTJ">
<node concept="Xjq3P" id="3GlpCDS$28R" role="2Oq$k0" />
@ -5055,20 +5062,42 @@
</node>
</node>
<node concept="2tJIrI" id="1pPth$lAXYe" role="jymVt" />
<node concept="3clFb_" id="4n$Qn$06q0s" role="jymVt">
<property role="TrG5h" value="typecheckingTemplates" />
<node concept="3uibUv" id="4n$Qn$06siZ" role="3clF45">
<ref role="3uigEE" to="hano:3Qp4N06byjn" resolve="TypecheckingTemplates" />
<node concept="3clFb_" id="20Ay2VeR9qk" role="jymVt">
<property role="TrG5h" value="ruleTemplates" />
<node concept="_YKpA" id="20Ay2VeRJdJ" role="3clF45">
<node concept="3uibUv" id="20Ay2VeRJdK" role="_ZDj9">
<ref role="3uigEE" to="hano:6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
<node concept="3Tm1VV" id="4n$Qn$06q0v" role="1B3o_S" />
<node concept="3clFbS" id="4n$Qn$06q0w" role="3clF47">
<node concept="3clFbF" id="3GlpCDS$vWC" role="3cqZAp">
<node concept="2OqwBi" id="3GlpCDS$wiq" role="3clFbG">
<node concept="37vLTw" id="3GlpCDS$vWB" role="2Oq$k0">
<node concept="3Tm1VV" id="20Ay2VeR9qm" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeR9qn" role="3clF47">
<node concept="3clFbF" id="20Ay2VeR9qo" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeR9qp" role="3clFbG">
<node concept="37vLTw" id="20Ay2VeR9qq" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="templatesApplication" />
</node>
<node concept="liA8E" id="3GlpCDS$wze" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyUJO" resolve="getTypecheckingTemplates" />
<node concept="liA8E" id="20Ay2VeRSl4" role="2OqNvi">
<ref role="37wK5l" to="hano:20Ay2VeRQ3T" resolve="getRuleTemplateIndexes" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="20Ay2VeQP0v" role="jymVt" />
<node concept="3clFb_" id="20Ay2VeQRdx" role="jymVt">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="20Ay2VeQTnC" role="3clF45">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="3Tm1VV" id="20Ay2VeQRd$" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeQRd_" role="3clF47">
<node concept="3clFbF" id="20Ay2VeR2UY" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeR3gC" role="3clFbG">
<node concept="37vLTw" id="20Ay2VeR2UX" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="templatesApplication" />
</node>
<node concept="liA8E" id="20Ay2VeR3tI" role="2OqNvi">
<ref role="37wK5l" to="hano:20Ay2VeQGBR" resolve="getTypeTemplates" />
</node>
</node>
</node>
@ -5086,30 +5115,22 @@
<node concept="3Tqbb2" id="4n$QnzZUkUK" role="1tU5fm" />
<node concept="3Tmbuc" id="4n$QnzZUhrt" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4n$Qn$030M5" role="jymVt" />
<node concept="312cEg" id="1pPth$lE8Xs" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="program" />
<property role="3TUv4t" value="false" />
<node concept="z59LJ" id="4n$Qn$03dz5" role="lGtFl">
<node concept="TZ5HA" id="4n$Qn$03dz6" role="TZ5H$">
<node concept="1dT_AC" id="4n$Qn$03dz7" role="1dT_Ay">
<property role="1dT_AB" value="TODO: make protected after the JCHR stuff is dropped. " />
</node>
</node>
</node>
<node concept="3uibUv" id="4n$QnzZY0GB" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
<node concept="3Tm1VV" id="4n$Qn$032KX" role="1B3o_S" />
<node concept="3Tmbuc" id="20Ay2VePzlV" role="1B3o_S" />
</node>
<node concept="312cEg" id="3F6vMxqlTiX" role="jymVt">
<property role="TrG5h" value="expressionSolver" />
<node concept="3uibUv" id="5jCHAT2xOdU" role="1tU5fm">
<ref role="3uigEE" to="w7la:~AbstractSolver" resolve="AbstractSolver" />
</node>
<node concept="3Tm1VV" id="3F6vMxq$S9w" role="1B3o_S" />
<node concept="3Tmbuc" id="20Ay2VeP$92" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4n$Qn$05Vns" role="jymVt" />
<node concept="312cEg" id="3GlpCDSzA$E" role="jymVt">
@ -5207,13 +5228,13 @@
<ref role="3cqZAo" node="1pPth$lEDHT" resolve="prev" />
</node>
<node concept="liA8E" id="3GlpCDSBigR" role="2OqNvi">
<ref role="37wK5l" node="4n$Qn$06q0s" resolve="typecheckingTemplates" />
<ref role="37wK5l" node="20Ay2VeQRdx" resolve="typeTemplates" />
</node>
</node>
<node concept="2OqwBi" id="52a_GfIRSOs" role="37vLTJ">
<node concept="Xjq3P" id="52a_GfIRRQ5" role="2Oq$k0" />
<node concept="2OwXpG" id="52a_GfIRTqi" role="2OqNvi">
<ref role="2Oxat5" node="52a_GfIRPkU" resolve="typecheckingTemplates" />
<ref role="2Oxat5" node="52a_GfIRPkU" resolve="typeTemplates" />
</node>
</node>
</node>
@ -5972,10 +5993,10 @@
</node>
</node>
<node concept="312cEg" id="52a_GfIRPkU" role="jymVt">
<property role="TrG5h" value="typecheckingTemplates" />
<property role="TrG5h" value="typeTemplates" />
<node concept="3Tmbuc" id="52a_GfIRPkV" role="1B3o_S" />
<node concept="3uibUv" id="52a_GfIRPkW" role="1tU5fm">
<ref role="3uigEE" to="hano:3Qp4N06byjn" resolve="TypecheckingTemplates" />
<node concept="3uibUv" id="20Ay2VeRvPe" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="2tJIrI" id="4n$Qn$00oMe" role="jymVt" />
@ -6044,16 +6065,16 @@
<node concept="3clFbS" id="1pPth$lC2Ub" role="3clF47">
<node concept="3cpWs8" id="WJyfsgmAF8" role="3cqZAp">
<node concept="3cpWsn" id="WJyfsgmAEX" role="3cpWs9">
<property role="TrG5h" value="typecheckingTemplates" />
<node concept="3uibUv" id="WJyfsgmAF7" role="1tU5fm">
<ref role="3uigEE" to="hano:3Qp4N06byjn" resolve="TypecheckingTemplates" />
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="20Ay2VeRyyJ" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="2OqwBi" id="52a_GfIS0yY" role="33vP2m">
<node concept="37vLTw" id="52a_GfIS0yZ" role="2Oq$k0">
<ref role="3cqZAo" node="1pPth$lGafk" resolve="prev" />
</node>
<node concept="2OwXpG" id="52a_GfIS0z0" role="2OqNvi">
<ref role="2Oxat5" node="52a_GfIRPkU" resolve="typecheckingTemplates" />
<ref role="2Oxat5" node="52a_GfIRPkU" resolve="typeTemplates" />
</node>
</node>
</node>
@ -6115,13 +6136,8 @@
<node concept="2ShNRf" id="WJyfsgmAFr" role="33vP2m">
<node concept="1pGfFk" id="WJyfsgmAFs" role="2ShVmc">
<ref role="37wK5l" to="nz6g:Ya9Z$kRaR0" resolve="RecoverySession" />
<node concept="2OqwBi" id="WJyfsgmAFt" role="37wK5m">
<node concept="37vLTw" id="WJyfsgmAFu" role="2Oq$k0">
<ref role="3cqZAo" node="WJyfsgmAEX" resolve="typecheckingTemplates" />
</node>
<node concept="liA8E" id="WJyfsgmAFv" role="2OqNvi">
<ref role="37wK5l" to="hano:4n$Qn$018my" resolve="typeTemplates" />
</node>
<node concept="37vLTw" id="WJyfsgmAFu" role="37wK5m">
<ref role="3cqZAo" node="WJyfsgmAEX" resolve="typeTemplates" />
</node>
</node>
</node>
@ -28399,10 +28415,10 @@
</node>
<node concept="2tJIrI" id="4n$QnzZQmw6" role="jymVt" />
<node concept="3clFbW" id="3YJ7yg2MSlk" role="jymVt">
<node concept="37vLTG" id="3YJ7yg2MSw3" role="3clF46">
<property role="TrG5h" value="templates" />
<node concept="3uibUv" id="3YJ7yg2MSUr" role="1tU5fm">
<ref role="3uigEE" to="hano:3Qp4N06byjn" resolve="TypecheckingTemplates" />
<node concept="37vLTG" id="20Ay2VeR4H3" role="3clF46">
<property role="TrG5h" value="ruleTemplateIndex" />
<node concept="3uibUv" id="20Ay2VeR5CJ" role="1tU5fm">
<ref role="3uigEE" to="hano:6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
<node concept="37vLTG" id="6i42QSsgg1v" role="3clF46">
@ -28414,19 +28430,6 @@
<node concept="3cqZAl" id="3YJ7yg2MSlm" role="3clF45" />
<node concept="3Tm1VV" id="3YJ7yg2MSln" role="1B3o_S" />
<node concept="3clFbS" id="3YJ7yg2MSlo" role="3clF47">
<node concept="3clFbF" id="3YJ7yg2MSWr" role="3cqZAp">
<node concept="37vLTI" id="3YJ7yg2MSWt" role="3clFbG">
<node concept="2OqwBi" id="3YJ7yg2MToX" role="37vLTJ">
<node concept="Xjq3P" id="3YJ7yg2MTCx" role="2Oq$k0" />
<node concept="2OwXpG" id="3YJ7yg2MTp0" role="2OqNvi">
<ref role="2Oxat5" node="3YJ7yg2MSWn" resolve="templates" />
</node>
</node>
<node concept="37vLTw" id="3YJ7yg2MSWx" role="37vLTx">
<ref role="3cqZAo" node="3YJ7yg2MSw3" resolve="templates" />
</node>
</node>
</node>
<node concept="3clFbF" id="6i42QSsghp8" role="3cqZAp">
<node concept="37vLTI" id="6i42QSsghpa" role="3clFbG">
<node concept="2OqwBi" id="6i42QSsgi1O" role="37vLTJ">
@ -28440,6 +28443,19 @@
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeR5DA" role="3cqZAp">
<node concept="37vLTI" id="20Ay2VeR5DC" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeR6l9" role="37vLTJ">
<node concept="Xjq3P" id="20Ay2VeR6$H" role="2Oq$k0" />
<node concept="2OwXpG" id="20Ay2VeR6lc" role="2OqNvi">
<ref role="2Oxat5" node="20Ay2VeR5Dy" resolve="ruleTemplateIndex" />
</node>
</node>
<node concept="37vLTw" id="20Ay2VeR5DG" role="37vLTx">
<ref role="3cqZAo" node="20Ay2VeR4H3" resolve="ruleTemplateIndex" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="3YJ7yg2MRSP" role="jymVt" />
@ -28606,13 +28622,8 @@
</node>
</node>
<node concept="2OqwBi" id="3YJ7yg2N55f" role="1DdaDG">
<node concept="2OqwBi" id="3YJ7yg2N55g" role="2Oq$k0">
<node concept="37vLTw" id="3YJ7yg2N55h" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2MSWn" resolve="templates" />
</node>
<node concept="liA8E" id="3YJ7yg2N55i" role="2OqNvi">
<ref role="37wK5l" to="hano:4n$Qn$016xJ" resolve="ruleTemplates" />
</node>
<node concept="37vLTw" id="20Ay2VeR8np" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeR5Dy" resolve="ruleTemplateIndex" />
</node>
<node concept="liA8E" id="3YJ7yg2N55j" role="2OqNvi">
<ref role="37wK5l" to="hano:6fdr4UgfuGk" resolve="allTemplates" />
@ -28646,13 +28657,6 @@
</node>
</node>
<node concept="2tJIrI" id="4n$QnzZQmsZ" role="jymVt" />
<node concept="312cEg" id="3YJ7yg2MSWn" role="jymVt">
<property role="TrG5h" value="templates" />
<node concept="3Tm6S6" id="3YJ7yg2MSWo" role="1B3o_S" />
<node concept="3uibUv" id="3YJ7yg2MSWq" role="1tU5fm">
<ref role="3uigEE" to="hano:3Qp4N06byjn" resolve="TypecheckingTemplates" />
</node>
</node>
<node concept="312cEg" id="6i42QSsghp4" role="jymVt">
<property role="TrG5h" value="mpsProject" />
<node concept="3Tm6S6" id="6i42QSsghp5" role="1B3o_S" />
@ -28660,6 +28664,13 @@
<ref role="3uigEE" to="z1c4:~MPSProject" resolve="MPSProject" />
</node>
</node>
<node concept="312cEg" id="20Ay2VeR5Dy" role="jymVt">
<property role="TrG5h" value="ruleTemplateIndex" />
<node concept="3Tm6S6" id="20Ay2VeR5Dz" role="1B3o_S" />
<node concept="3uibUv" id="20Ay2VeR5D_" role="1tU5fm">
<ref role="3uigEE" to="hano:6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
</node>
<node concept="sE7Ow" id="3YJ7yg2LgPI">
<property role="TrG5h" value="FindApplicableTemplates" />
@ -28924,13 +28935,16 @@
<node concept="2ShNRf" id="3YJ7yg2Px8m" role="37wK5m">
<node concept="1pGfFk" id="3YJ7yg2Px8n" role="2ShVmc">
<ref role="37wK5l" node="3YJ7yg2MSlk" resolve="ApplicableTemplatesFinder" />
<node concept="2OqwBi" id="3YJ7yg2Px8o" role="37wK5m">
<node concept="37vLTw" id="3YJ7yg2Px8p" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2LIaA" resolve="collectRules" />
</node>
<node concept="liA8E" id="3YJ7yg2Px8q" role="2OqNvi">
<ref role="37wK5l" node="4n$Qn$06q0s" resolve="typecheckingTemplates" />
<node concept="2OqwBi" id="20Ay2VeRTl$" role="37wK5m">
<node concept="2OqwBi" id="3YJ7yg2Px8o" role="2Oq$k0">
<node concept="37vLTw" id="3YJ7yg2Px8p" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2LIaA" resolve="collectRules" />
</node>
<node concept="liA8E" id="3YJ7yg2Px8q" role="2OqNvi">
<ref role="37wK5l" node="20Ay2VeR9qk" resolve="ruleTemplates" />
</node>
</node>
<node concept="1uHKPH" id="20Ay2VeRUfB" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="6i42QSsh1CS" role="37wK5m">
<node concept="2WthIp" id="6i42QSsh1CV" role="2Oq$k0" />

View File

@ -304,6 +304,7 @@
<concept id="1114729360583" name="jetbrains.mps.lang.generator.structure.CopySrcListMacro" flags="ln" index="2b32R4">
<child id="1168278589236" name="sourceNodesQuery" index="2P8S$" />
</concept>
<concept id="1202776937179" name="jetbrains.mps.lang.generator.structure.AbandonInput_RuleConsequence" flags="lg" index="b5Tf3" />
<concept id="1095416546421" name="jetbrains.mps.lang.generator.structure.MappingConfiguration" flags="ig" index="bUwia">
<child id="1219952894531" name="dropRootRule" index="aQYdv" />
<child id="1200911492601" name="mappingLabel" index="2rTMjI" />
@ -1425,6 +1426,72 @@
</node>
</node>
</node>
<node concept="3aamgX" id="20Ay2Vex8EY" role="3acgRq">
<ref role="30HIoZ" to="wq2x:20Ay2VefOBs" resolve="ConstraintLogicalClause" />
<node concept="gft3U" id="20Ay2Vexac2" role="1lVwrX">
<node concept="3clFbH" id="20Ay2Vexac8" role="gfFT$">
<node concept="1sPUBX" id="20Ay2Vexacc" role="lGtFl">
<ref role="v9R2y" node="18kNIl0mEy6" resolve="constraint_statement" />
<node concept="3NFfHV" id="20Ay2VexaJi" role="1sPUBK">
<node concept="3clFbS" id="20Ay2VexaJj" role="2VODD2">
<node concept="3clFbF" id="20Ay2VexaML" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VexaYc" role="3clFbG">
<node concept="30H73N" id="20Ay2VexaMK" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2Vexb8I" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VefOBA" resolve="constraint" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="20Ay2Ve_jmT" role="3acgRq">
<ref role="30HIoZ" to="wq2x:20Ay2Vei7FH" resolve="TemplateLogicalClause" />
<node concept="1Koe21" id="20Ay2Ve_nWm" role="1lVwrX">
<node concept="3clFbS" id="20Ay2Ve_nWs" role="1Koe22">
<node concept="3clFbH" id="20Ay2Ve_nWu" role="3cqZAp">
<node concept="raruj" id="20Ay2Ve_nWw" role="lGtFl" />
<node concept="2b32R4" id="20Ay2VeCLm3" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VeCLm5" role="2P8S$">
<node concept="3clFbS" id="20Ay2VeCLm6" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeCLm7" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeCLm8" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeCLm9" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VeCLma" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeCLmb" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2Vei7FI" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2VeCLmc" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="20Ay2VexgkL" role="3acgRq">
<ref role="30HIoZ" to="wq2x:20Ay2VepLqo" resolve="CodeLogicalClause" />
<node concept="b5Tf3" id="20Ay2Ve_l5G" role="1lVwrX" />
</node>
<node concept="3aamgX" id="20Ay2VewH3T" role="3acgRq">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="gft3U" id="20Ay2VewI8z" role="1lVwrX">
<node concept="3clFbH" id="20Ay2VewI8D" role="gfFT$">
<node concept="1sPUBX" id="20Ay2VewMOd" role="lGtFl">
<ref role="v9R2y" node="20Ay2VewuOL" resolve="ruleComponent_statements" />
</node>
</node>
</node>
</node>
<node concept="1puMqW" id="4vbeH84AAvf" role="1puA0r">
<ref role="1puQsG" node="4vbeH84AvBw" resolve="init_tracking" />
</node>
@ -2425,13 +2492,13 @@
</node>
<node concept="3clFbH" id="2JQZWxFfkAi" role="3cqZAp" />
<node concept="3clFbH" id="4vbeH84EHGl" role="3cqZAp">
<node concept="1WS0z7" id="4vbeH84EHGp" role="lGtFl">
<node concept="3JmXsc" id="4vbeH84EHGr" role="3Jn$fo">
<node concept="3clFbS" id="4vbeH84EHGt" role="2VODD2">
<node concept="3clFbF" id="4vbeH84EI2a" role="3cqZAp">
<node concept="2OqwBi" id="4vbeH84EI6Y" role="3clFbG">
<node concept="30H73N" id="4vbeH84EI29" role="2Oq$k0" />
<node concept="3Tsc0h" id="4vbeH84EIqU" role="2OqNvi">
<node concept="2b32R4" id="20Ay2VeJxwN" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VeJxwP" role="2P8S$">
<node concept="3clFbS" id="20Ay2VeJxwQ" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeJxwR" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeJxwS" role="3clFbG">
<node concept="30H73N" id="20Ay2VeJxwT" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VeJxwU" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bCfL5" resolve="head" />
</node>
</node>
@ -2439,34 +2506,15 @@
</node>
</node>
</node>
<node concept="2b32R4" id="4vbeH84EHRj" role="lGtFl">
<node concept="3JmXsc" id="4vbeH84EHRl" role="2P8S$">
<node concept="3clFbS" id="4vbeH84EHRn" role="2VODD2">
<node concept="3clFbF" id="4vbeH84EIY9" role="3cqZAp">
<node concept="2OqwBi" id="4vbeH84EL6B" role="3clFbG">
<node concept="2OqwBi" id="4vbeH84EJ3p" role="2Oq$k0">
<node concept="30H73N" id="4vbeH84EIY8" role="2Oq$k0" />
<node concept="3TrEf2" id="4vbeH84EKkz" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="4vbeH84ELWf" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4vbeH84ENIt" role="3cqZAp">
<node concept="1WS0z7" id="4vbeH84ENIu" role="lGtFl">
<node concept="3JmXsc" id="4vbeH84ENIv" role="3Jn$fo">
<node concept="3clFbS" id="4vbeH84ENIw" role="2VODD2">
<node concept="3clFbF" id="4vbeH84ENIx" role="3cqZAp">
<node concept="2OqwBi" id="4vbeH84ENIy" role="3clFbG">
<node concept="30H73N" id="4vbeH84ENIz" role="2Oq$k0" />
<node concept="3Tsc0h" id="4vbeH84EOjs" role="2OqNvi">
<node concept="2b32R4" id="20Ay2VeJzzL" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VeJzzN" role="2P8S$">
<node concept="3clFbS" id="20Ay2VeJzzO" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeJzzP" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeJzzQ" role="3clFbG">
<node concept="30H73N" id="20Ay2VeJzzR" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VeJzzS" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bFM2v" resolve="guard" />
</node>
</node>
@ -2474,25 +2522,6 @@
</node>
</node>
</node>
<node concept="2b32R4" id="4vbeH84ENI_" role="lGtFl">
<node concept="3JmXsc" id="4vbeH84ENIA" role="2P8S$">
<node concept="3clFbS" id="4vbeH84ENIB" role="2VODD2">
<node concept="3clFbF" id="4vbeH84ENIC" role="3cqZAp">
<node concept="2OqwBi" id="4vbeH84ENID" role="3clFbG">
<node concept="2OqwBi" id="4vbeH84ENIE" role="2Oq$k0">
<node concept="30H73N" id="4vbeH84ENIF" role="2Oq$k0" />
<node concept="3TrEf2" id="4vbeH84ENIG" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="4vbeH84ENIH" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="32fHqDf9pC8" role="3cqZAp">
<node concept="1W57fq" id="32fHqDf9yj5" role="lGtFl">
@ -2512,28 +2541,18 @@
</node>
</node>
</node>
<node concept="2b32R4" id="32fHqDf9rf$" role="lGtFl">
<node concept="3JmXsc" id="32fHqDf9rfA" role="2P8S$">
<node concept="3clFbS" id="32fHqDf9rfC" role="2VODD2">
<node concept="3clFbF" id="32fHqDf9rYd" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfafJa" role="3clFbG">
<node concept="2OqwBi" id="32fHqDf9vKZ" role="2Oq$k0">
<node concept="2OqwBi" id="32fHqDf9sFy" role="2Oq$k0">
<node concept="2OqwBi" id="32fHqDf9s1Y" role="2Oq$k0">
<node concept="30H73N" id="32fHqDf9rYc" role="2Oq$k0" />
<node concept="3Tsc0h" id="32fHqDf9s8l" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="1uHKPH" id="32fHqDf9tE8" role="2OqNvi" />
</node>
<node concept="3TrEf2" id="32fHqDf9vX0" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
<node concept="29HgVG" id="20Ay2Vez$Y4" role="lGtFl">
<node concept="3NFfHV" id="20Ay2Vez_V4" role="3NFExx">
<node concept="3clFbS" id="20Ay2Vez_V5" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezEJM" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VezEJP" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VezEJQ" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VezEJR" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VezEJS" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="3Tsc0h" id="32fHqDfag6A" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
<node concept="1uHKPH" id="20Ay2VezEJT" role="2OqNvi" />
</node>
</node>
</node>
@ -2553,21 +2572,11 @@
</node>
</node>
<node concept="3clFbH" id="32fHqDf9EyT" role="3cqZAp">
<node concept="2b32R4" id="32fHqDf9RYx" role="lGtFl">
<node concept="3JmXsc" id="32fHqDf9RYz" role="2P8S$">
<node concept="3clFbS" id="32fHqDf9RY_" role="2VODD2">
<node concept="3clFbF" id="32fHqDf9Sf2" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDf9Szg" role="3clFbG">
<node concept="2OqwBi" id="32fHqDf9SiQ" role="2Oq$k0">
<node concept="30H73N" id="32fHqDf9Sf1" role="2Oq$k0" />
<node concept="3TrEf2" id="32fHqDf9SoI" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="32fHqDf9STm" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
<node concept="29HgVG" id="20Ay2VezI$6" role="lGtFl">
<node concept="3NFfHV" id="20Ay2VezI$v" role="3NFExx">
<node concept="3clFbS" id="20Ay2VezI$w" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezIDw" role="3cqZAp">
<node concept="30H73N" id="20Ay2VezIDv" role="3clFbG" />
</node>
</node>
</node>
@ -3929,11 +3938,207 @@
</node>
</node>
<node concept="2tJIrI" id="4MqhgXUhW$N" role="jymVt" />
<node concept="3clFb_" id="20Ay2Vf3Krv" role="jymVt">
<property role="TrG5h" value="handlingStages" />
<property role="1EzhhJ" value="false" />
<node concept="_YKpA" id="20Ay2Vf3Krw" role="3clF45">
<node concept="_YKpA" id="20Ay2Vf4Q6$" role="_ZDj9">
<node concept="3uibUv" id="20Ay2Vf4QWl" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="20Ay2Vf3Kry" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2Vf3KrV" role="3clF47">
<node concept="3cpWs8" id="20Ay2Vf3Pqy" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2Vf3Pqz" role="3cpWs9">
<property role="TrG5h" value="stagesMap" />
<node concept="3uibUv" id="20Ay2Vf3Pqc" role="1tU5fm">
<ref role="3uigEE" to="33ny:~TreeMap" resolve="TreeMap" />
<node concept="17QB3L" id="20Ay2Vf3Pqm" role="11_B2D" />
<node concept="_YKpA" id="20Ay2Vf3Pqk" role="11_B2D">
<node concept="3uibUv" id="20Ay2Vf3Pql" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="2ShNRf" id="20Ay2Vf3Pq$" role="33vP2m">
<node concept="1pGfFk" id="20Ay2Vf3Pq_" role="2ShVmc">
<ref role="37wK5l" to="33ny:~TreeMap.&lt;init&gt;()" resolve="TreeMap" />
<node concept="17QB3L" id="20Ay2Vf3PqA" role="1pMfVU" />
<node concept="_YKpA" id="20Ay2Vf3PqB" role="1pMfVU">
<node concept="3uibUv" id="20Ay2Vf3PqC" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1DcWWT" id="20Ay2Vf3Rdm" role="3cqZAp">
<node concept="3clFbS" id="20Ay2Vf3Rdp" role="2LFqv$">
<node concept="3clFbJ" id="20Ay2Vf3Uu3" role="3cqZAp">
<node concept="3clFbS" id="20Ay2Vf3Uu5" role="3clFbx">
<node concept="3clFbF" id="20Ay2Vf41Lk" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2Vf43Gz" role="3clFbG">
<node concept="37vLTw" id="20Ay2Vf41Li" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Pqz" resolve="stagesMap" />
</node>
<node concept="liA8E" id="20Ay2Vf45ff" role="2OqNvi">
<ref role="37wK5l" to="33ny:~TreeMap.put(java.lang.Object,java.lang.Object):java.lang.Object" resolve="put" />
<node concept="2OqwBi" id="20Ay2Vf47fB" role="37wK5m">
<node concept="37vLTw" id="20Ay2Vf46oZ" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Rdq" resolve="htpl" />
</node>
<node concept="liA8E" id="20Ay2Vf482A" role="2OqNvi">
<ref role="37wK5l" to="i348:20Ay2Vf1i5R" resolve="stage" />
</node>
</node>
<node concept="2ShNRf" id="20Ay2Vf491p" role="37wK5m">
<node concept="Tc6Ow" id="20Ay2Vf490W" role="2ShVmc">
<node concept="3uibUv" id="20Ay2Vf490X" role="HW$YZ">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="20Ay2Vf418n" role="3clFbw">
<node concept="2OqwBi" id="20Ay2Vf418p" role="3fr31v">
<node concept="37vLTw" id="20Ay2Vf418q" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Pqz" resolve="stagesMap" />
</node>
<node concept="liA8E" id="20Ay2Vf418r" role="2OqNvi">
<ref role="37wK5l" to="33ny:~TreeMap.containsKey(java.lang.Object):boolean" resolve="containsKey" />
<node concept="2OqwBi" id="20Ay2Vf418s" role="37wK5m">
<node concept="37vLTw" id="20Ay2Vf418t" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Rdq" resolve="htpl" />
</node>
<node concept="liA8E" id="20Ay2Vf418u" role="2OqNvi">
<ref role="37wK5l" to="i348:20Ay2Vf1i5R" resolve="stage" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2Vf49Um" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2Vf4hlJ" role="3clFbG">
<node concept="2OqwBi" id="20Ay2Vf4b3V" role="2Oq$k0">
<node concept="37vLTw" id="20Ay2Vf49Uk" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Pqz" resolve="stagesMap" />
</node>
<node concept="liA8E" id="20Ay2Vf4cAB" role="2OqNvi">
<ref role="37wK5l" to="33ny:~TreeMap.get(java.lang.Object):java.lang.Object" resolve="get" />
<node concept="2OqwBi" id="20Ay2Vf4ep7" role="37wK5m">
<node concept="37vLTw" id="20Ay2Vf4dKn" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Rdq" resolve="htpl" />
</node>
<node concept="liA8E" id="20Ay2Vf4fc6" role="2OqNvi">
<ref role="37wK5l" to="i348:20Ay2Vf1i5R" resolve="stage" />
</node>
</node>
</node>
</node>
<node concept="TSZUe" id="20Ay2Vf4j0T" role="2OqNvi">
<node concept="37vLTw" id="20Ay2Vf4jj6" role="25WWJ7">
<ref role="3cqZAo" node="20Ay2Vf3Rdq" resolve="htpl" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="20Ay2Vf3Rdq" role="1Duv9x">
<property role="TrG5h" value="htpl" />
<node concept="3uibUv" id="20Ay2Vf3Rdu" role="1tU5fm">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
<node concept="37vLTw" id="20Ay2Vf3Rdv" role="1DdaDG">
<ref role="3cqZAo" node="4MqhgXUajmq" resolve="handlerTemplates" />
</node>
</node>
<node concept="3clFbH" id="20Ay2Vf3NtG" role="3cqZAp" />
<node concept="3cpWs8" id="20Ay2Vf4xo$" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2Vf4xo_" role="3cpWs9">
<property role="TrG5h" value="stages" />
<node concept="_YKpA" id="20Ay2Vf4xow" role="1tU5fm">
<node concept="_YKpA" id="20Ay2Vf4S9v" role="_ZDj9">
<node concept="3uibUv" id="20Ay2Vf4S9w" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="2ShNRf" id="20Ay2Vf4xoA" role="33vP2m">
<node concept="Tc6Ow" id="20Ay2Vf4xoB" role="2ShVmc">
<node concept="_YKpA" id="20Ay2Vf4Sq1" role="HW$YZ">
<node concept="3uibUv" id="20Ay2Vf4Sq2" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1DcWWT" id="20Ay2Vf4srC" role="3cqZAp">
<node concept="3clFbS" id="20Ay2Vf4srF" role="2LFqv$">
<node concept="3clFbF" id="20Ay2Vf4zIj" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2Vf4$lz" role="3clFbG">
<node concept="37vLTw" id="20Ay2Vf4zIh" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf4xo_" resolve="stages" />
</node>
<node concept="TSZUe" id="20Ay2Vf4$QP" role="2OqNvi">
<node concept="2OqwBi" id="20Ay2Vf4RA_" role="25WWJ7">
<node concept="37vLTw" id="20Ay2Vf4Rrg" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf4srG" resolve="e" />
</node>
<node concept="liA8E" id="20Ay2Vf4RVW" role="2OqNvi">
<ref role="37wK5l" to="33ny:~Map$Entry.getValue():java.lang.Object" resolve="getValue" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="20Ay2Vf4srG" role="1Duv9x">
<property role="TrG5h" value="e" />
<node concept="3uibUv" id="20Ay2Vf4srK" role="1tU5fm">
<ref role="3uigEE" to="33ny:~Map$Entry" resolve="Map.Entry" />
<node concept="17QB3L" id="20Ay2Vf4srL" role="11_B2D" />
<node concept="_YKpA" id="20Ay2Vf4srM" role="11_B2D">
<node concept="3uibUv" id="20Ay2Vf4srN" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="20Ay2Vf4srO" role="1DdaDG">
<node concept="37vLTw" id="20Ay2Vf4srP" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2Vf3Pqz" resolve="stagesMap" />
</node>
<node concept="liA8E" id="20Ay2Vf4srQ" role="2OqNvi">
<ref role="37wK5l" to="33ny:~TreeMap.entrySet():java.util.Set" resolve="entrySet" />
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2Vf4SEx" role="3cqZAp">
<node concept="37vLTw" id="20Ay2Vf4SEv" role="3clFbG">
<ref role="3cqZAo" node="20Ay2Vf4xo_" resolve="stages" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="20Ay2Vf3KrW" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="20Ay2Vf3KND" role="jymVt" />
<node concept="3clFb_" id="4MqhgXUaj4Y" role="jymVt">
<property role="TrG5h" value="handlerTemplates" />
<property role="1EzhhJ" value="false" />
<node concept="A3Dl8" id="4MqhgXUaj4Z" role="3clF45">
<node concept="3uibUv" id="4MqhgXUaj50" role="A3Ik2">
<node concept="_YKpA" id="20Ay2VeZNsB" role="3clF45">
<node concept="3uibUv" id="20Ay2VeZNsD" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
@ -4112,7 +4317,7 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="4MqhgXUajHF" role="jymVt" />
<node concept="2tJIrI" id="20Ay2Vf4BEv" role="jymVt" />
<node concept="312cEg" id="4MqhgXUajmq" role="jymVt">
<property role="TrG5h" value="handlerTemplates" />
<node concept="3Tm6S6" id="4MqhgXUajmr" role="1B3o_S" />
@ -5477,14 +5682,14 @@
</node>
</node>
<node concept="3clFbH" id="452KZTbwWS0" role="3cqZAp" />
<node concept="3clFbH" id="5MHpiylJzbX" role="3cqZAp">
<node concept="1WS0z7" id="5MHpiylJzbY" role="lGtFl">
<node concept="3JmXsc" id="5MHpiylJzbZ" role="3Jn$fo">
<node concept="3clFbS" id="5MHpiylJzc0" role="2VODD2">
<node concept="3clFbF" id="5MHpiylJzc1" role="3cqZAp">
<node concept="2OqwBi" id="5MHpiylJzc2" role="3clFbG">
<node concept="30H73N" id="5MHpiylJzc3" role="2Oq$k0" />
<node concept="3Tsc0h" id="5MHpiylJzc4" role="2OqNvi">
<node concept="3clFbH" id="20Ay2VezLAf" role="3cqZAp">
<node concept="2b32R4" id="20Ay2VeJlJt" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VeJlJv" role="2P8S$">
<node concept="3clFbS" id="20Ay2VeJlJw" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeJlJx" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeJlJy" role="3clFbG">
<node concept="30H73N" id="20Ay2VeJlJz" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VeJlJ$" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bCfL5" resolve="head" />
</node>
</node>
@ -5492,34 +5697,15 @@
</node>
</node>
</node>
<node concept="2b32R4" id="5MHpiylJzc5" role="lGtFl">
<node concept="3JmXsc" id="5MHpiylJzc6" role="2P8S$">
<node concept="3clFbS" id="5MHpiylJzc7" role="2VODD2">
<node concept="3clFbF" id="5MHpiylJzc8" role="3cqZAp">
<node concept="2OqwBi" id="5MHpiylJzc9" role="3clFbG">
<node concept="2OqwBi" id="5MHpiylJzca" role="2Oq$k0">
<node concept="30H73N" id="5MHpiylJzcb" role="2Oq$k0" />
<node concept="3TrEf2" id="5MHpiylJzcc" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="5MHpiylJzcd" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5MHpiylJzce" role="3cqZAp">
<node concept="1WS0z7" id="5MHpiylJzcf" role="lGtFl">
<node concept="3JmXsc" id="5MHpiylJzcg" role="3Jn$fo">
<node concept="3clFbS" id="5MHpiylJzch" role="2VODD2">
<node concept="3clFbF" id="5MHpiylJzci" role="3cqZAp">
<node concept="2OqwBi" id="5MHpiylJzcj" role="3clFbG">
<node concept="30H73N" id="5MHpiylJzck" role="2Oq$k0" />
<node concept="3Tsc0h" id="5MHpiylJzcl" role="2OqNvi">
<node concept="3clFbH" id="20Ay2VezLAu" role="3cqZAp">
<node concept="2b32R4" id="20Ay2VeJpKj" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VeJpKl" role="2P8S$">
<node concept="3clFbS" id="20Ay2VeJpKm" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeJpKn" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeJpKo" role="3clFbG">
<node concept="30H73N" id="20Ay2VeJpKp" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VeJpKq" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bFM2v" resolve="guard" />
</node>
</node>
@ -5527,141 +5713,102 @@
</node>
</node>
</node>
<node concept="2b32R4" id="5MHpiylJzcm" role="lGtFl">
<node concept="3JmXsc" id="5MHpiylJzcn" role="2P8S$">
<node concept="3clFbS" id="5MHpiylJzco" role="2VODD2">
<node concept="3clFbF" id="5MHpiylJzcp" role="3cqZAp">
<node concept="2OqwBi" id="5MHpiylJzcq" role="3clFbG">
<node concept="2OqwBi" id="5MHpiylJzcr" role="2Oq$k0">
<node concept="30H73N" id="5MHpiylJzcs" role="2Oq$k0" />
<node concept="3TrEf2" id="5MHpiylJzct" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="5MHpiylJzcu" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="32fHqDfa60B" role="3cqZAp">
<node concept="1W57fq" id="32fHqDfa60C" role="lGtFl">
<node concept="3IZrLx" id="32fHqDfa60D" role="3IZSJc">
<node concept="3clFbS" id="32fHqDfa60E" role="2VODD2">
<node concept="3clFbF" id="32fHqDfa60F" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfa60G" role="3clFbG">
<node concept="2OqwBi" id="32fHqDfa60H" role="2Oq$k0">
<node concept="30H73N" id="32fHqDfa60I" role="2Oq$k0" />
<node concept="3Tsc0h" id="32fHqDfa60J" role="2OqNvi">
<node concept="3clFbH" id="20Ay2VezLAH" role="3cqZAp">
<node concept="1W57fq" id="20Ay2VezLAI" role="lGtFl">
<node concept="3IZrLx" id="20Ay2VezLAJ" role="3IZSJc">
<node concept="3clFbS" id="20Ay2VezLAK" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezLAL" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VezLAM" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VezLAN" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VezLAO" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VezLAP" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="3GX2aA" id="32fHqDfa60K" role="2OqNvi" />
<node concept="3GX2aA" id="20Ay2VezLAQ" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="2b32R4" id="32fHqDfa60L" role="lGtFl">
<node concept="3JmXsc" id="32fHqDfa60M" role="2P8S$">
<node concept="3clFbS" id="32fHqDfa60N" role="2VODD2">
<node concept="3clFbF" id="32fHqDfa60O" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfaay9" role="3clFbG">
<node concept="2OqwBi" id="32fHqDfa60P" role="2Oq$k0">
<node concept="2OqwBi" id="32fHqDfa60Q" role="2Oq$k0">
<node concept="2OqwBi" id="32fHqDfa60R" role="2Oq$k0">
<node concept="30H73N" id="32fHqDfa60S" role="2Oq$k0" />
<node concept="3Tsc0h" id="32fHqDfa60T" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="1uHKPH" id="32fHqDfa60U" role="2OqNvi" />
</node>
<node concept="3TrEf2" id="32fHqDfa60V" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
<node concept="29HgVG" id="20Ay2VezLAR" role="lGtFl">
<node concept="3NFfHV" id="20Ay2VezLAS" role="3NFExx">
<node concept="3clFbS" id="20Ay2VezLAT" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezLAU" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VezLAW" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VezLAX" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VezLAY" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VezLAZ" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="3Tsc0h" id="32fHqDfaaVa" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
<node concept="1uHKPH" id="20Ay2VezLB0" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="9aQIb" id="32fHqDfa60W" role="3cqZAp">
<node concept="3clFbS" id="32fHqDfa60X" role="9aQI4">
<node concept="3clFbF" id="32fHqDfa60Y" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfa60Z" role="3clFbG">
<node concept="37vLTw" id="32fHqDfa610" role="2Oq$k0">
<node concept="9aQIb" id="20Ay2VezLB2" role="3cqZAp">
<node concept="3clFbS" id="20Ay2VezLB3" role="9aQI4">
<node concept="3clFbF" id="20Ay2VezLB4" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VezLB5" role="3clFbG">
<node concept="37vLTw" id="20Ay2VezLB6" role="2Oq$k0">
<ref role="3cqZAo" node="5MHpiylJzbS" resolve="builder" />
</node>
<node concept="liA8E" id="32fHqDfa611" role="2OqNvi">
<node concept="liA8E" id="20Ay2VezLB7" role="2OqNvi">
<ref role="37wK5l" to="nz6g:32fHqDf8Vx1" resolve="appendAlternation" />
</node>
</node>
</node>
<node concept="3clFbH" id="32fHqDfa612" role="3cqZAp">
<node concept="2b32R4" id="32fHqDfa613" role="lGtFl">
<node concept="3JmXsc" id="32fHqDfa614" role="2P8S$">
<node concept="3clFbS" id="32fHqDfa615" role="2VODD2">
<node concept="3clFbF" id="32fHqDfa616" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfa617" role="3clFbG">
<node concept="2OqwBi" id="32fHqDfa618" role="2Oq$k0">
<node concept="30H73N" id="32fHqDfa619" role="2Oq$k0" />
<node concept="3TrEf2" id="32fHqDfa61a" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="32fHqDfa61b" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
<node concept="3clFbH" id="20Ay2VezLB8" role="3cqZAp">
<node concept="29HgVG" id="20Ay2VezLB9" role="lGtFl">
<node concept="3NFfHV" id="20Ay2VezLBa" role="3NFExx">
<node concept="3clFbS" id="20Ay2VezLBb" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezLBc" role="3cqZAp">
<node concept="30H73N" id="20Ay2VezLBe" role="3clFbG" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1W57fq" id="32fHqDfa61c" role="lGtFl">
<node concept="3IZrLx" id="32fHqDfa61d" role="3IZSJc">
<node concept="3clFbS" id="32fHqDfa61e" role="2VODD2">
<node concept="3clFbF" id="32fHqDfa61f" role="3cqZAp">
<node concept="3eOSWO" id="32fHqDfa61g" role="3clFbG">
<node concept="3cmrfG" id="32fHqDfa61h" role="3uHU7w">
<node concept="1W57fq" id="20Ay2VezLBg" role="lGtFl">
<node concept="3IZrLx" id="20Ay2VezLBh" role="3IZSJc">
<node concept="3clFbS" id="20Ay2VezLBi" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezLBj" role="3cqZAp">
<node concept="3eOSWO" id="20Ay2VezLBk" role="3clFbG">
<node concept="3cmrfG" id="20Ay2VezLBl" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="2OqwBi" id="32fHqDfa61i" role="3uHU7B">
<node concept="2OqwBi" id="32fHqDfa61j" role="2Oq$k0">
<node concept="30H73N" id="32fHqDfa61k" role="2Oq$k0" />
<node concept="3Tsc0h" id="32fHqDfa61l" role="2OqNvi">
<node concept="2OqwBi" id="20Ay2VezLBm" role="3uHU7B">
<node concept="2OqwBi" id="20Ay2VezLBn" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VezLBo" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VezLBp" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="34oBXx" id="32fHqDfa61m" role="2OqNvi" />
<node concept="34oBXx" id="20Ay2VezLBq" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1WS0z7" id="32fHqDfa61n" role="lGtFl">
<node concept="3JmXsc" id="32fHqDfa61o" role="3Jn$fo">
<node concept="3clFbS" id="32fHqDfa61p" role="2VODD2">
<node concept="3clFbF" id="32fHqDfa61q" role="3cqZAp">
<node concept="2OqwBi" id="32fHqDfa61r" role="3clFbG">
<node concept="2OqwBi" id="32fHqDfa61s" role="2Oq$k0">
<node concept="30H73N" id="32fHqDfa61t" role="2Oq$k0" />
<node concept="3Tsc0h" id="32fHqDfa61u" role="2OqNvi">
<node concept="1WS0z7" id="20Ay2VezLBr" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VezLBs" role="3Jn$fo">
<node concept="3clFbS" id="20Ay2VezLBt" role="2VODD2">
<node concept="3clFbF" id="20Ay2VezLBu" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VezLBv" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VezLBw" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VezLBx" role="2Oq$k0" />
<node concept="3Tsc0h" id="20Ay2VezLBy" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1ffsG7bIxDv" resolve="body" />
</node>
</node>
<node concept="7r0gD" id="32fHqDfa61v" role="2OqNvi">
<node concept="3cmrfG" id="32fHqDfa61w" role="7T0AP">
<node concept="7r0gD" id="20Ay2VezLBz" role="2OqNvi">
<node concept="3cmrfG" id="20Ay2VezLB$" role="7T0AP">
<property role="3cmrfH" value="1" />
</node>
</node>
@ -5671,6 +5818,7 @@
</node>
</node>
</node>
<node concept="3clFbH" id="20Ay2VezK2i" role="3cqZAp" />
<node concept="3clFbH" id="1ffsG7bPEbM" role="3cqZAp" />
<node concept="3clFbF" id="5MHpiylJzcK" role="3cqZAp">
<node concept="2ShNRf" id="5MHpiylJzcL" role="3clFbG">
@ -7150,7 +7298,7 @@
<node concept="2OqwBi" id="5JTOzCRePkU" role="2Oq$k0">
<node concept="30H73N" id="5JTOzCRePgj" role="2Oq$k0" />
<node concept="3TrEf2" id="5JTOzCRePMo" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
</node>
<node concept="1mIQ4w" id="5JTOzCReQsJ" role="2OqNvi">
@ -7173,7 +7321,7 @@
<ref role="1m5ApE" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
<node concept="2OqwBi" id="5JTOzCReRa1" role="1m5AlR">
<node concept="3TrEf2" id="5JTOzCReRa4" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
<node concept="30H73N" id="5JTOzCReRa5" role="2Oq$k0" />
</node>
@ -7197,7 +7345,7 @@
<node concept="3clFbF" id="5JTOzCReUpd" role="3cqZAp">
<node concept="2OqwBi" id="5JTOzCReUpe" role="3clFbG">
<node concept="3TrEf2" id="5JTOzCReUpf" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
<node concept="30H73N" id="5JTOzCReUpg" role="2Oq$k0" />
</node>
@ -14939,7 +15087,7 @@
</node>
<node concept="hTh3S" id="2UGjFq4pBMc" role="1xVPHs">
<node concept="3gn64h" id="2UGjFq4pBMd" role="hTh3Z">
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
</node>
@ -15140,7 +15288,7 @@
</node>
<node concept="hTh3S" id="1sCZQVeROpg" role="1xVPHs">
<node concept="3gn64h" id="1sCZQVeROGK" role="hTh3Z">
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
</node>
@ -15220,7 +15368,7 @@
</node>
<node concept="hTh3S" id="1sCZQVf6Tqo" role="1xVPHs">
<node concept="3gn64h" id="1sCZQVf6Tqp" role="hTh3Z">
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="3gnhBz" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
</node>
@ -21352,6 +21500,54 @@
</node>
</node>
<node concept="2tJIrI" id="4MqhgXUN2yr" role="jymVt" />
<node concept="3clFb_" id="20Ay2Vf1jGw" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="stage" />
<node concept="3Tm1VV" id="20Ay2Vf1jGy" role="1B3o_S" />
<node concept="17QB3L" id="20Ay2Vf1jGz" role="3clF45" />
<node concept="3clFbS" id="20Ay2Vf1jG$" role="3clF47">
<node concept="3clFbF" id="20Ay2Vf1mvH" role="3cqZAp">
<node concept="Xl_RD" id="20Ay2Vf1mvG" role="3clFbG">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="20Ay2Vf1mw6" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="20Ay2Vf1mw7" role="3zH0cK">
<node concept="3clFbS" id="20Ay2Vf1mw8" role="2VODD2">
<node concept="3clFbF" id="20Ay2Vf1nBD" role="3cqZAp">
<node concept="3K4zz7" id="20Ay2Vf1ph_" role="3clFbG">
<node concept="2OqwBi" id="20Ay2Vf1pDn" role="3K4E3e">
<node concept="30H73N" id="20Ay2Vf1pti" role="2Oq$k0" />
<node concept="3TrcHB" id="20Ay2Vf1pVp" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:20Ay2Vf1h9X" resolve="stage" />
</node>
</node>
<node concept="Xl_RD" id="20Ay2Vf1qb_" role="3K4GZi">
<property role="Xl_RC" value=".initial" />
</node>
<node concept="3y3z36" id="20Ay2Vf1oUD" role="3K4Cdx">
<node concept="10Nm6u" id="20Ay2Vf1p9$" role="3uHU7w" />
<node concept="2OqwBi" id="20Ay2Vf1nPg" role="3uHU7B">
<node concept="30H73N" id="20Ay2Vf1nBC" role="2Oq$k0" />
<node concept="3TrcHB" id="20Ay2Vf1o9o" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:20Ay2Vf1h9X" resolve="stage" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="20Ay2Vf1jG_" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="20Ay2Vf1l6U" role="jymVt" />
<node concept="3clFb_" id="4MqhgXUa3oY" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="primarySymbols" />
@ -21665,5 +21861,123 @@
</node>
</node>
</node>
<node concept="jVnub" id="20Ay2VewuOL">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="ruleComponent_statements" />
<node concept="3aamgX" id="20Ay2Vewv1x" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="1Koe21" id="20Ay2Vewzgd" role="1lVwrX">
<node concept="3clFbS" id="20Ay2VewzsG" role="1Koe22">
<node concept="raruj" id="20Ay2VewzsI" role="lGtFl" />
<node concept="2b32R4" id="20Ay2VewzxJ" role="lGtFl">
<node concept="3JmXsc" id="20Ay2VewzxL" role="2P8S$">
<node concept="3clFbS" id="20Ay2VewzxM" role="2VODD2">
<node concept="3clFbF" id="20Ay2VewzAF" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2Vew$jZ" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VewzMA" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VewzAE" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VewzWf" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2Vew$We" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="30G5F_" id="20Ay2Veww6Y" role="30HLyM">
<node concept="3clFbS" id="20Ay2Veww6Z" role="2VODD2">
<node concept="3clFbF" id="20Ay2Vewwe8" role="3cqZAp">
<node concept="1Wc70l" id="20Ay2VeB9Uc" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeBaVE" role="3uHU7w">
<node concept="2OqwBi" id="20Ay2VeBakn" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VeBa7a" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeBaCd" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
<node concept="3w_OXm" id="20Ay2VeBbfS" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="20Ay2Vewx4f" role="3uHU7B">
<node concept="2OqwBi" id="20Ay2Vewwr5" role="2Oq$k0">
<node concept="30H73N" id="20Ay2Vewwe7" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2Veww_T" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3x8VRR" id="20Ay2VewxIO" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="20Ay2Vex72i" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="1Koe21" id="20Ay2Vex72j" role="1lVwrX">
<node concept="3clFbS" id="20Ay2Vex72k" role="1Koe22">
<node concept="raruj" id="20Ay2Vex72l" role="lGtFl" />
<node concept="2b32R4" id="20Ay2Vex72m" role="lGtFl">
<node concept="3JmXsc" id="20Ay2Vex72n" role="2P8S$">
<node concept="3clFbS" id="20Ay2Vex72o" role="2VODD2">
<node concept="3clFbF" id="20Ay2Vex72p" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VexcmY" role="3clFbG">
<node concept="2OqwBi" id="20Ay2Vex72r" role="2Oq$k0">
<node concept="30H73N" id="20Ay2Vex72s" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2Vex8y2" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2VexcGn" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:20Ay2VefOqD" resolve="clauses" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="30G5F_" id="20Ay2Vex72v" role="30HLyM">
<node concept="3clFbS" id="20Ay2Vex72w" role="2VODD2">
<node concept="3clFbF" id="20Ay2Vex72x" role="3cqZAp">
<node concept="1Wc70l" id="20Ay2VeBc4x" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeBd8Q" role="3uHU7w">
<node concept="2OqwBi" id="20Ay2VeBctk" role="2Oq$k0">
<node concept="30H73N" id="20Ay2VeBcg7" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeBcCs" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3w_OXm" id="20Ay2VeBdPB" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="20Ay2Vex72y" role="3uHU7B">
<node concept="2OqwBi" id="20Ay2Vex72z" role="2Oq$k0">
<node concept="30H73N" id="20Ay2Vex72$" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2Vex7wG" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
<node concept="3x8VRR" id="20Ay2Vexe_L" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="j$LIH" id="20Ay2VewAbF" role="jxRDz">
<node concept="1lLz0L" id="20Ay2VewAod" role="1lHHLF">
<property role="1lMjX7" value="error" />
<property role="1lLB17" value="invalid usage" />
</node>
</node>
</node>
</model>

View File

@ -261,67 +261,6 @@
<concept id="1165530316231" name="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" flags="nn" index="1v1jN8" />
</language>
</registry>
<node concept="3FK_9_" id="6p0DfM0ptZb">
<property role="TrG5h" value="Statement_wrap_AbstractConstraint_EmitConstraintStatement" />
<node concept="1X3_iC" id="4hPXq9Jmeug" role="lGtFl">
<property role="3V$3am" value="actionsBuilder" />
<property role="3V$3ak" value="aee9cad2-acd4-4608-aef2-0004f6a1cdbd/1112056943463/1112058057696" />
<node concept="3FOIzC" id="6p0DfM0pu2x" role="8Wnug">
<ref role="3FOWKa" to="tpee:fzclF8l" resolve="Statement" />
<node concept="tYCnQ" id="6p0DfM0pu5V" role="tZc4B">
<ref role="uz4UX" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
<node concept="yEb5T" id="7ksQUDZnVz2" role="uz6Si">
<ref role="yEYPM" to="wq2x:6p0DfM0ajMA" resolve="AbstractConstraint" />
<node concept="yEnE0" id="7ksQUDZnVz4" role="yEVE$">
<node concept="3clFbS" id="7ksQUDZnVz6" role="2VODD2">
<node concept="3cpWs8" id="7ksQUDZnWXh" role="3cqZAp">
<node concept="3cpWsn" id="7ksQUDZnWXi" role="3cpWs9">
<property role="TrG5h" value="ecs" />
<node concept="3Tqbb2" id="7ksQUDZnWXg" role="1tU5fm">
<ref role="ehGHo" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
</node>
<node concept="2ShNRf" id="7ksQUDZnWXj" role="33vP2m">
<node concept="3zrR0B" id="7ksQUDZnWXk" role="2ShVmc">
<node concept="3Tqbb2" id="7ksQUDZnWXl" role="3zrR0E">
<ref role="ehGHo" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7ksQUDZnVAO" role="3cqZAp">
<node concept="2OqwBi" id="7ksQUDZo4uh" role="3clFbG">
<node concept="2OqwBi" id="7ksQUDZnX4a" role="2Oq$k0">
<node concept="37vLTw" id="7ksQUDZnWXm" role="2Oq$k0">
<ref role="3cqZAo" node="7ksQUDZnWXi" resolve="ecs" />
</node>
<node concept="3TrEf2" id="7ksQUDZo41F" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0ajKO" resolve="constraint" />
</node>
</node>
<node concept="2oxUTD" id="7ksQUDZo4GA" role="2OqNvi">
<node concept="yECNy" id="7ksQUDZo4Kn" role="2oxUTC" />
</node>
</node>
</node>
<node concept="3clFbF" id="7ksQUDZo4PF" role="3cqZAp">
<node concept="37vLTw" id="7ksQUDZo4PD" role="3clFbG">
<ref role="3cqZAo" node="7ksQUDZnWXi" resolve="ecs" />
</node>
</node>
</node>
</node>
<node concept="xBawi" id="4hPXq9Jmeuf" role="lGtFl">
<ref role="xBaxx" to="vxmb:4hPXq9Jmetn" />
</node>
</node>
</node>
<node concept="xBawi" id="4hPXq9Jmetm" role="lGtFl">
<ref role="xBaxx" to="vxmb:4hPXq9Jmetj" resolve="Statement_Contribution" />
</node>
</node>
</node>
</node>
<node concept="3FK_9_" id="2E5lcNmZaq$">
<property role="TrG5h" value="Expression_subst_LogicExpressionWrapper" />
<node concept="1X3_iC" id="4hPXq9Jmew5" role="lGtFl">
@ -370,7 +309,7 @@
<ref role="3cqZAo" node="7ksQUDZr_QK" resolve="lew" />
</node>
<node concept="3TrEf2" id="7ksQUDZrA3Y" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
</node>
<node concept="2oxUTD" id="7ksQUDZrAs8" role="2OqNvi">

View File

@ -225,6 +225,7 @@
<property id="1214560368769" name="emptyNoTargetText" index="39s7Ar" />
<property id="1139852716018" name="noTargetText" index="1$x2rV" />
<property id="1140017977771" name="readOnly" index="1Intyy" />
<property id="1140114345053" name="allowEmptyText" index="1O74Pk" />
<reference id="1140103550593" name="relationDeclaration" index="1NtTu8" />
</concept>
<concept id="7667708318090725848" name="jetbrains.mps.lang.editor.structure.IndentLayoutIndentAnchorStyleClassItem" flags="ln" index="1Bsynf" />
@ -891,16 +892,8 @@
<ref role="1k5W1q" to="tpen:hgVS8CF" resolve="KeyWord" />
</node>
</node>
<node concept="3F0ifn" id="6p0DfM0cTrR" role="3EZMnx">
<property role="3F0ifm" value="{" />
<ref role="1k5W1q" to="tpen:hFD5onb" resolve="LeftBrace" />
</node>
<node concept="PMmxH" id="3g$8GQC8l_I" role="3EZMnx">
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleCompomentCode" />
</node>
<node concept="3F0ifn" id="6p0DfM0cTsP" role="3EZMnx">
<property role="3F0ifm" value="}" />
<ref role="1k5W1q" to="tpen:hFD5_7H" resolve="RightBrace" />
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleComponentCode" />
</node>
<node concept="l2Vlx" id="6p0DfM0cTe3" role="2iSdaV" />
</node>
@ -983,16 +976,8 @@
</node>
</node>
<node concept="l2Vlx" id="6p0DfM0cXIN" role="2iSdaV" />
<node concept="3F0ifn" id="6p0DfM0d9xz" role="3EZMnx">
<property role="3F0ifm" value="{" />
<ref role="1k5W1q" to="tpen:hFD5onb" resolve="LeftBrace" />
</node>
<node concept="PMmxH" id="3g$8GQC8lMp" role="3EZMnx">
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleCompomentCode" />
</node>
<node concept="3F0ifn" id="6p0DfM0d9QY" role="3EZMnx">
<property role="3F0ifm" value="}" />
<ref role="1k5W1q" to="tpen:hFD5_7H" resolve="RightBrace" />
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleComponentCode" />
</node>
<node concept="1Bt7hp" id="6ntBQ9KE8a9" role="3F10Kt">
<property role="VOm3f" value="true" />
@ -1002,6 +987,11 @@
<node concept="24kQdi" id="6p0DfM0dr8L">
<ref role="1XX52x" to="wq2x:7eGEHDlgPKk" resolve="Handler" />
<node concept="3EZMnI" id="6p0DfM0drav" role="2wV5jI">
<node concept="3F0A7n" id="20Ay2Vf2Tqw" role="3EZMnx">
<property role="1$x2rV" value="initial" />
<property role="1O74Pk" value="true" />
<ref role="1NtTu8" to="wq2x:20Ay2Vf1h9X" resolve="stage" />
</node>
<node concept="PMmxH" id="6p0DfM0drif" role="3EZMnx">
<ref role="PMmxG" to="tpco:2wZex4PafBj" resolve="alias" />
<ref role="1k5W1q" to="tpen:hgVS8CF" resolve="KeyWord" />
@ -1060,21 +1050,14 @@
<property role="3F0ifm" value="with guard" />
<ref role="1k5W1q" to="tpen:hgVS8CF" resolve="KeyWord" />
</node>
<node concept="3F0ifn" id="6p0DfM0dHlY" role="3EZMnx">
<property role="3F0ifm" value="{" />
<ref role="1k5W1q" to="tpen:hFD5onb" resolve="LeftBrace" />
</node>
<node concept="PMmxH" id="3g$8GQC8lAb" role="3EZMnx">
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleCompomentCode" />
</node>
<node concept="3F0ifn" id="6p0DfM0dHmW" role="3EZMnx">
<property role="3F0ifm" value="}" />
<ref role="1k5W1q" to="tpen:hFD5_7H" resolve="RightBrace" />
<ref role="PMmxG" node="3g$8GQC8l_C" resolve="RuleComponentCode" />
</node>
<node concept="l2Vlx" id="6p0DfM0dH8E" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="6p0DfM0e8jv">
<property role="3GE5qa" value="rule.clause" />
<ref role="1XX52x" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
<node concept="3EZMnI" id="6p0DfM0ecFC" role="2wV5jI">
<node concept="3F0ifn" id="7ksQUDZwl17" role="3EZMnx">
@ -1416,7 +1399,7 @@
</node>
</node>
<node concept="3F1sOY" id="6p0DfM0pRb0" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="1NtTu8" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
<node concept="3F0ifn" id="7nuzzkr4kdr" role="3EZMnx">
<property role="3F0ifm" value="»" />
@ -2515,7 +2498,7 @@
</node>
</node>
<node concept="PKFIW" id="3g$8GQC8l_C">
<property role="TrG5h" value="RuleCompomentCode" />
<property role="TrG5h" value="RuleComponentCode" />
<ref role="1XX52x" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="3EZMnI" id="3g$8GQC8l_D" role="2wV5jI">
<property role="S$Qs1" value="true" />
@ -2532,8 +2515,65 @@
<property role="VOm3f" value="true" />
</node>
<node concept="l2Vlx" id="3g$8GQC8l_G" role="2iSdaV" />
<node concept="3F1sOY" id="3g$8GQC8l_H" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:6p0DfM0a5m9" resolve="code" />
<node concept="3EZMnI" id="20Ay2Vehrx_" role="3EZMnx">
<node concept="VPM3Z" id="20Ay2VehrxB" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="20Ay2VehrxE" role="2iSdaV" />
<node concept="3F0ifn" id="20Ay2VehrzY" role="3EZMnx">
<property role="3F0ifm" value="&gt;&gt;" />
<ref role="1k5W1q" to="tpco:3VARyd8XcQs" resolve="Comment" />
<node concept="VPM3Z" id="20Ay2VehGIk" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="VPxyj" id="20Ay2VehGK6" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
</node>
<node concept="3EZMnI" id="20Ay2VehGEg" role="3EZMnx">
<node concept="3F0ifn" id="20Ay2VejM3i" role="3EZMnx">
<property role="3F0ifm" value="{" />
<ref role="1k5W1q" to="tpen:hFD5onb" resolve="LeftBrace" />
</node>
<node concept="VPM3Z" id="20Ay2VehGEi" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="1Bsynf" id="20Ay2VehGGl" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="l2Vlx" id="20Ay2VehGEl" role="2iSdaV" />
<node concept="3F1sOY" id="3g$8GQC8l_H" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:6p0DfM0a5m9" resolve="code" />
<node concept="lj46D" id="20Ay2Veko8P" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="20Ay2VekoaB" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F0ifn" id="20Ay2VejM3u" role="3EZMnx">
<property role="3F0ifm" value="}" />
<ref role="1k5W1q" to="tpen:hFD5_7H" resolve="RightBrace" />
</node>
</node>
<node concept="pkWqt" id="20Ay2VekXwd" role="pqm2j">
<node concept="3clFbS" id="20Ay2VekXwe" role="2VODD2">
<node concept="3clFbF" id="20Ay2VekXBs" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VekYCd" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VekXOp" role="2Oq$k0">
<node concept="pncrf" id="20Ay2VekXBr" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VekY89" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3x8VRR" id="20Ay2VekZnK" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3F1sOY" id="20Ay2VegChs" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
</node>
@ -3992,6 +4032,7 @@
</node>
<node concept="3F0ifn" id="3TnYLtqgR3E" role="3EZMnx">
<property role="3F0ifm" value="}" />
<ref role="1k5W1q" to="tpen:hFD5_7H" resolve="RightBrace" />
<node concept="pVoyu" id="3TnYLtqgR77" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
@ -5133,7 +5174,7 @@
<ref role="3cqZAo" node="4hPXq9Jmevc" resolve="lew" />
</node>
<node concept="3TrEf2" id="4hPXq9Jmevr" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
</node>
<node concept="2oxUTD" id="4hPXq9Jmevs" role="2OqNvi">
@ -5690,5 +5731,119 @@
<node concept="l2Vlx" id="6p0DfM0g5sg" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="20Ay2VefOqG">
<property role="3GE5qa" value="rule.clause" />
<ref role="1XX52x" to="wq2x:20Ay2VefOqC" resolve="LogicalClauseList" />
<node concept="3EZMnI" id="20Ay2VefOqI" role="2wV5jI">
<node concept="3F2HdR" id="20Ay2VefOqP" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="wq2x:20Ay2VefOqD" resolve="clauses" />
<node concept="l2Vlx" id="20Ay2VefOqR" role="2czzBx" />
<node concept="tppnM" id="20Ay2VefOqU" role="sWeuL">
<node concept="ljvvj" id="20Ay2VefOqW" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="lj46D" id="20Ay2VefOun" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="l2Vlx" id="20Ay2VefOqL" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="20Ay2VefOBt">
<property role="3GE5qa" value="rule.clause" />
<ref role="1XX52x" to="wq2x:20Ay2VefOBs" resolve="ConstraintLogicalClause" />
<node concept="3EZMnI" id="20Ay2VefOBv" role="2wV5jI">
<node concept="3F1sOY" id="20Ay2VefOBC" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:20Ay2VefOBA" resolve="constraint" />
</node>
<node concept="l2Vlx" id="20Ay2VefOBy" role="2iSdaV" />
<node concept="pVoyu" id="20Ay2Vemsct" role="3F10Kt">
<property role="VOm3f" value="true" />
<node concept="3nzxsE" id="20Ay2Vemscv" role="3n$kyP">
<node concept="3clFbS" id="20Ay2Vemscw" role="2VODD2">
<node concept="3clFbF" id="20Ay2VemsjH" role="3cqZAp">
<node concept="3eOSWO" id="20Ay2Vemv9W" role="3clFbG">
<node concept="3cmrfG" id="20Ay2Vemva2" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="2OqwBi" id="20Ay2VemswE" role="3uHU7B">
<node concept="pncrf" id="20Ay2VemsjG" role="2Oq$k0" />
<node concept="2bSWHS" id="20Ay2VemsX4" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="20Ay2Vei7Gb">
<property role="3GE5qa" value="rule.clause" />
<ref role="1XX52x" to="wq2x:20Ay2Vei7FH" resolve="TemplateLogicalClause" />
<node concept="3EZMnI" id="20Ay2Vei7Gd" role="2wV5jI">
<node concept="3F0ifn" id="20Ay2Vei7Gk" role="3EZMnx">
<property role="3F0ifm" value="%&gt;" />
<ref role="1k5W1q" node="7LZcKzBE07j" resolve="EmitConstraint" />
</node>
<node concept="3EZMnI" id="20Ay2VeizvC" role="3EZMnx">
<node concept="VPM3Z" id="20Ay2VeizvE" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="1Bsynf" id="20Ay2Veizxz" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="l2Vlx" id="20Ay2VeizvH" role="2iSdaV" />
<node concept="3F1sOY" id="20Ay2Vei7Gy" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:20Ay2Vei7FI" resolve="code" />
<node concept="lj46D" id="20Ay2VelQOH" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="20Ay2VelQOI" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
<node concept="3F0ifn" id="20Ay2Vei7Gq" role="3EZMnx">
<property role="3F0ifm" value="&lt;%" />
<ref role="1k5W1q" node="7LZcKzBE07j" resolve="EmitConstraint" />
</node>
<node concept="l2Vlx" id="20Ay2Vei7Gg" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="20Ay2VepLqr">
<property role="3GE5qa" value="rule.clause" />
<ref role="1XX52x" to="wq2x:20Ay2VepLqo" resolve="CodeLogicalClause" />
<node concept="3EZMnI" id="20Ay2Veroeu" role="2wV5jI">
<node concept="3EZMnI" id="20Ay2Vet$TR" role="3EZMnx">
<node concept="VPM3Z" id="20Ay2Vet$TT" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="20Ay2Vet$TW" role="2iSdaV" />
<node concept="3F0ifn" id="20Ay2VeroeM" role="3EZMnx">
<property role="3F0ifm" value="&gt;&gt;&gt;" />
</node>
</node>
<node concept="3EZMnI" id="20Ay2VepLqt" role="3EZMnx">
<node concept="3F0ifn" id="20Ay2Veq75a" role="3EZMnx" />
<node concept="3F1sOY" id="20Ay2VepLqA" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:20Ay2VepLqp" resolve="code" />
<node concept="lj46D" id="20Ay2VepLqB" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F0ifn" id="20Ay2Veq75w" role="3EZMnx" />
<node concept="l2Vlx" id="20Ay2VepLqw" role="2iSdaV" />
<node concept="1Bsynf" id="20Ay2VerVep" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3vyZuw" id="20Ay2VepLss" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="l2Vlx" id="20Ay2Vet$V9" role="2iSdaV" />
</node>
</node>
</model>

View File

@ -17,6 +17,7 @@
<import index="wq2x" ref="r:83137295-aa87-45e8-b0c0-ede2adf2a396(jetbrains.mps.lang.typesystem2.structure)" />
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" />
<import index="hy7p" ref="r:01ee26d6-df00-4ffb-931c-1ddec5984886(jetbrains.mps.lang.typesystem2.util)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -24,6 +25,10 @@
<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="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" />
@ -57,10 +62,19 @@
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</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="1144226303539" name="jetbrains.mps.baseLanguage.structure.ForeachStatement" flags="nn" index="1DcWWT">
<child id="1144226360166" name="iterable" index="1DdaDG" />
</concept>
<concept id="1144230876926" name="jetbrains.mps.baseLanguage.structure.AbstractForStatement" flags="nn" index="1DupvO">
<child id="1144230900587" name="variable" index="1Duv9x" />
</concept>
<concept id="6329021646629104957" name="jetbrains.mps.baseLanguage.structure.TextCommentPart" flags="nn" index="3SKdUq">
<property id="6329021646629104958" name="text" index="3SKdUp" />
</concept>
@ -69,6 +83,12 @@
</concept>
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
</language>
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
<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="d7a92d38-f7db-40d0-8431-763b0c3c9f20" name="jetbrains.mps.lang.intentions">
<concept id="1192794744107" name="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" flags="ig" index="2S6QgY" />
<concept id="1192794782375" name="jetbrains.mps.lang.intentions.structure.DescriptionBlock" flags="in" index="2S6ZIM" />
@ -76,6 +96,7 @@
<concept id="1192795911897" name="jetbrains.mps.lang.intentions.structure.ExecuteBlock" flags="in" index="2Sbjvc" />
<concept id="1192796902958" name="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" flags="nn" index="2Sf5sV" />
<concept id="2522969319638091381" name="jetbrains.mps.lang.intentions.structure.BaseIntentionDeclaration" flags="ig" index="2ZfUlf">
<property id="2522969319638091386" name="isAvailableInChildNodes" index="2ZfUl0" />
<reference id="2522969319638198290" name="forConcept" index="2ZfgGC" />
<child id="2522969319638198291" name="executeFunction" index="2ZfgGD" />
<child id="2522969319638093995" name="isApplicableFunction" index="2ZfVeh" />
@ -92,10 +113,19 @@
<concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
<child id="1144104376918" name="parameter" index="1xVPHs" />
</concept>
<concept id="1140725362528" name="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" flags="nn" index="2oxUTD">
<child id="1140725362529" name="linkTarget" index="2oxUTC" />
</concept>
<concept id="1138757581985" name="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" flags="nn" index="zfrQC">
<reference id="1139880128956" name="concept" index="1A9B2P" />
</concept>
<concept id="2396822768958367367" name="jetbrains.mps.lang.smodel.structure.AbstractTypeCastExpression" flags="nn" index="$5XWr">
<reference id="6733348108486823428" name="concept" index="1m5ApE" />
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
</concept>
<concept id="1139184414036" name="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" flags="nn" index="WFELt">
<reference id="1139877738879" name="concept" index="1A0vxQ" />
</concept>
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
@ -118,6 +148,7 @@
<concept id="1140131837776" name="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" flags="nn" index="1P9Npp">
<child id="1140131861877" name="replacementNode" index="1P9ThW" />
</concept>
<concept id="1140133623887" name="jetbrains.mps.lang.smodel.structure.Node_DeleteOperation" flags="nn" index="1PgB_6" />
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
<property id="1238684351431" name="asCast" index="1BlNFB" />
</concept>
@ -127,6 +158,9 @@
<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>
<concept id="1228341669568" name="jetbrains.mps.lang.smodel.structure.Node_DetachOperation" flags="nn" index="3YRAZt" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
@ -137,6 +171,17 @@
<property id="1169194664001" name="name" index="TrG5h" />
</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="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
<child id="540871147943773366" name="argument" index="25WWJ7" />
</concept>
<concept id="1235566831861" name="jetbrains.mps.baseLanguage.collections.structure.AllOperation" flags="nn" index="2HxqBE" />
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
</language>
</registry>
<node concept="2S6QgY" id="1CgWc1TyAgc">
<property role="TrG5h" value="AddComment" />
@ -314,5 +359,321 @@
</node>
</node>
</node>
<node concept="2S6QgY" id="20Ay2VeL1Cn">
<property role="TrG5h" value="ReplaceWithConstraintLogicalClause" />
<property role="2ZfUl0" value="true" />
<ref role="2ZfgGC" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="2S6ZIM" id="20Ay2VeL1Co" role="2ZfVej">
<node concept="3clFbS" id="20Ay2VeL1Cp" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeL1L$" role="3cqZAp">
<node concept="Xl_RD" id="20Ay2VeL1Lz" role="3clFbG">
<property role="Xl_RC" value="Replace With Modern Construct (ConstraintLogicalClause)" />
</node>
</node>
</node>
</node>
<node concept="2Sbjvc" id="20Ay2VeL1Cq" role="2ZfgGD">
<node concept="3clFbS" id="20Ay2VeL1Cr" role="2VODD2">
<node concept="3cpWs8" id="20Ay2VeLfRl" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeLfRm" role="3cpWs9">
<property role="TrG5h" value="cl" />
<node concept="3Tqbb2" id="20Ay2VeLfRg" role="1tU5fm">
<ref role="ehGHo" to="wq2x:20Ay2VefOqC" resolve="LogicalClauseList" />
</node>
<node concept="2OqwBi" id="20Ay2VeLfRn" role="33vP2m">
<node concept="2OqwBi" id="20Ay2VeLfRo" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeLfRp" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeLfRq" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
<node concept="zfrQC" id="20Ay2VeLz22" role="2OqNvi">
<ref role="1A9B2P" to="wq2x:20Ay2VefOqC" resolve="LogicalClauseList" />
</node>
</node>
</node>
</node>
<node concept="1DcWWT" id="20Ay2VeLkkV" role="3cqZAp">
<node concept="3clFbS" id="20Ay2VeLkkY" role="2LFqv$">
<node concept="3cpWs8" id="20Ay2VeLMbj" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeLMbk" role="3cpWs9">
<property role="TrG5h" value="clc" />
<node concept="3Tqbb2" id="20Ay2VeLMbi" role="1tU5fm">
<ref role="ehGHo" to="wq2x:20Ay2VefOBs" resolve="ConstraintLogicalClause" />
</node>
<node concept="2ShNRf" id="20Ay2VeLMbl" role="33vP2m">
<node concept="3zrR0B" id="20Ay2VeLMbm" role="2ShVmc">
<node concept="3Tqbb2" id="20Ay2VeLMbn" role="3zrR0E">
<ref role="ehGHo" to="wq2x:20Ay2VefOBs" resolve="ConstraintLogicalClause" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeLMCY" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeLNu6" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeLN6t" role="2Oq$k0">
<node concept="37vLTw" id="20Ay2VeLMYA" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeLMbk" resolve="clc" />
</node>
<node concept="3TrEf2" id="20Ay2VeLNdX" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VefOBA" resolve="constraint" />
</node>
</node>
<node concept="2oxUTD" id="20Ay2VeLNIW" role="2OqNvi">
<node concept="2OqwBi" id="20Ay2VeLP8P" role="2oxUTC">
<node concept="2OqwBi" id="20Ay2VeLO_e" role="2Oq$k0">
<node concept="1PxgMI" id="20Ay2VeLOj$" role="2Oq$k0">
<ref role="1m5ApE" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
<node concept="37vLTw" id="20Ay2VeLNLk" role="1m5AlR">
<ref role="3cqZAo" node="20Ay2VeLkkZ" resolve="stmt" />
</node>
</node>
<node concept="3TrEf2" id="20Ay2VeLONk" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0ajKO" resolve="constraint" />
</node>
</node>
<node concept="3YRAZt" id="20Ay2VeLPsW" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeLMpx" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeLMpz" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeLMp$" role="2Oq$k0">
<node concept="37vLTw" id="20Ay2VeLMp_" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeLfRm" resolve="cl" />
</node>
<node concept="3Tsc0h" id="20Ay2VeLMpA" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:20Ay2VefOqD" resolve="clauses" />
</node>
</node>
<node concept="TSZUe" id="20Ay2VeLMpB" role="2OqNvi">
<node concept="37vLTw" id="20Ay2VeLMpC" role="25WWJ7">
<ref role="3cqZAo" node="20Ay2VeLMbk" resolve="clc" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="20Ay2VeLkkZ" role="1Duv9x">
<property role="TrG5h" value="stmt" />
<node concept="3Tqbb2" id="20Ay2VeLm0n" role="1tU5fm">
<ref role="ehGHo" to="tpee:fzclF8l" resolve="Statement" />
</node>
</node>
<node concept="2OqwBi" id="20Ay2VeLkl4" role="1DdaDG">
<node concept="2OqwBi" id="20Ay2VeLkl5" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeLkl6" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeLkl7" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2VeLkl8" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeLRoK" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeLTVj" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeLT65" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeLRoI" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeLTAp" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="1PgB_6" id="20Ay2VeLUv5" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="2SaL7w" id="20Ay2VeL4ap" role="2ZfVeh">
<node concept="3clFbS" id="20Ay2VeL4aq" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeL4hA" role="3cqZAp">
<node concept="1Wc70l" id="20Ay2VeLbef" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeLc$w" role="3uHU7B">
<node concept="2OqwBi" id="20Ay2VeLbOV" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeLbAO" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeLca$" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3x8VRR" id="20Ay2VeLdnR" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="20Ay2VeL8zb" role="3uHU7w">
<node concept="2OqwBi" id="20Ay2VeL55M" role="2Oq$k0">
<node concept="2OqwBi" id="20Ay2VeL4uz" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeL4h_" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeL4H0" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2VeL5Kq" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
<node concept="2HxqBE" id="20Ay2VeLahb" role="2OqNvi">
<node concept="1bVj0M" id="20Ay2VeLahd" role="23t8la">
<node concept="3clFbS" id="20Ay2VeLahe" role="1bW5cS">
<node concept="3clFbF" id="20Ay2VeLa$L" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeLaQ8" role="3clFbG">
<node concept="37vLTw" id="20Ay2VeLa$K" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeLahf" resolve="it" />
</node>
<node concept="1mIQ4w" id="20Ay2VeLdK2" role="2OqNvi">
<node concept="chp4Y" id="20Ay2VeLe5e" role="cj9EA">
<ref role="cht4Q" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="20Ay2VeLahf" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="20Ay2VeLahg" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2S6QgY" id="20Ay2VeLZGB">
<property role="TrG5h" value="ReplaceWithTemplateLogicalClause" />
<property role="2ZfUl0" value="true" />
<ref role="2ZfgGC" to="wq2x:6p0DfM0a3d3" resolve="RuleComponent" />
<node concept="2S6ZIM" id="20Ay2VeLZGC" role="2ZfVej">
<node concept="3clFbS" id="20Ay2VeLZGD" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeLZPE" role="3cqZAp">
<node concept="Xl_RD" id="20Ay2VeLZPD" role="3clFbG">
<property role="Xl_RC" value="Replace With Modern Construct (TemplateLogicalClause)" />
</node>
</node>
</node>
</node>
<node concept="2Sbjvc" id="20Ay2VeLZGE" role="2ZfgGD">
<node concept="3clFbS" id="20Ay2VeLZGF" role="2VODD2">
<node concept="3cpWs8" id="20Ay2VeMkm1" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeMkm2" role="3cpWs9">
<property role="TrG5h" value="lcl" />
<node concept="3Tqbb2" id="20Ay2VeMklY" role="1tU5fm">
<ref role="ehGHo" to="wq2x:20Ay2VefOqC" resolve="LogicalClauseList" />
</node>
<node concept="2OqwBi" id="20Ay2VeMkm3" role="33vP2m">
<node concept="2OqwBi" id="20Ay2VeMkm4" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeMkm5" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeMkm6" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2VegCfd" resolve="logic" />
</node>
</node>
<node concept="zfrQC" id="20Ay2VeMkm7" role="2OqNvi">
<ref role="1A9B2P" to="wq2x:20Ay2VefOqC" resolve="LogicalClauseList" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="20Ay2VeMpaH" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeMpaI" role="3cpWs9">
<property role="TrG5h" value="tlc" />
<node concept="3Tqbb2" id="20Ay2VeMpaB" role="1tU5fm">
<ref role="ehGHo" to="wq2x:20Ay2Vei7FH" resolve="TemplateLogicalClause" />
</node>
<node concept="2OqwBi" id="20Ay2VeMpaJ" role="33vP2m">
<node concept="2OqwBi" id="20Ay2VeMpaK" role="2Oq$k0">
<node concept="37vLTw" id="20Ay2VeMpaL" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeMkm2" resolve="lcl" />
</node>
<node concept="3Tsc0h" id="20Ay2VeMpaM" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:20Ay2VefOqD" resolve="clauses" />
</node>
</node>
<node concept="WFELt" id="20Ay2VeMpaN" role="2OqNvi">
<ref role="1A0vxQ" to="wq2x:20Ay2Vei7FH" resolve="TemplateLogicalClause" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeMjdo" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeMqce" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeMpJS" role="2Oq$k0">
<node concept="37vLTw" id="20Ay2VeMpaO" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeMpaI" resolve="tlc" />
</node>
<node concept="3TrEf2" id="20Ay2VeMpRn" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:20Ay2Vei7FI" resolve="code" />
</node>
</node>
<node concept="2oxUTD" id="20Ay2VeMqvv" role="2OqNvi">
<node concept="2OqwBi" id="20Ay2VeMraw" role="2oxUTC">
<node concept="2OqwBi" id="20Ay2VeMqJL" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeMqyM" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeMqRr" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3YRAZt" id="20Ay2VeMrL9" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2SaL7w" id="20Ay2VeM2ev" role="2ZfVeh">
<node concept="3clFbS" id="20Ay2VeM2ew" role="2VODD2">
<node concept="3clFbF" id="20Ay2VeM2lG" role="3cqZAp">
<node concept="1Wc70l" id="20Ay2VeM5Ca" role="3clFbG">
<node concept="3fqX7Q" id="20Ay2VeMizV" role="3uHU7w">
<node concept="2OqwBi" id="20Ay2VeMizX" role="3fr31v">
<node concept="2OqwBi" id="20Ay2VeMizY" role="2Oq$k0">
<node concept="2OqwBi" id="20Ay2VeMizZ" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeMi$0" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeMi$1" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="20Ay2VeMi$2" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
<node concept="2HxqBE" id="20Ay2VeMi$3" role="2OqNvi">
<node concept="1bVj0M" id="20Ay2VeMi$4" role="23t8la">
<node concept="3clFbS" id="20Ay2VeMi$5" role="1bW5cS">
<node concept="3clFbF" id="20Ay2VeMi$6" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeMi$7" role="3clFbG">
<node concept="37vLTw" id="20Ay2VeMi$8" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeMi$b" resolve="it" />
</node>
<node concept="1mIQ4w" id="20Ay2VeMi$9" role="2OqNvi">
<node concept="chp4Y" id="20Ay2VeMi$a" role="cj9EA">
<ref role="cht4Q" to="wq2x:6p0DfM0a6KG" resolve="EmitConstraintStatement" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="20Ay2VeMi$b" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="20Ay2VeMi$c" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="20Ay2VeM5Ce" role="3uHU7B">
<node concept="2OqwBi" id="20Ay2VeM5Cf" role="2Oq$k0">
<node concept="2Sf5sV" id="20Ay2VeM5Cg" role="2Oq$k0" />
<node concept="3TrEf2" id="20Ay2VeM5Ch" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0a5m9" resolve="code" />
</node>
</node>
<node concept="3x8VRR" id="20Ay2VeM5Ci" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -74,6 +74,11 @@
<property role="34LRSv" value="handler" />
<property role="EcuMT" value="8335224865066015764" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyi" id="20Ay2Vf1h9X" role="1TKVEl">
<property role="IQ2nx" value="2316688792951788157" />
<property role="TrG5h" value="stage" />
<ref role="AX2Wp" to="tpck:fKAOsGN" resolve="string" />
</node>
<node concept="1TJgyj" id="6p0DfM0bRQj" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="rule" />
@ -138,7 +143,7 @@
<node concept="1TJgyj" id="6p0DfM0a5m9" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="code" />
<property role="20lbJX" value="1" />
<property role="20lbJX" value="0..1" />
<property role="IQ2ns" value="7368070394766972297" />
<ref role="20lvS9" to="tpee:fzclF80" resolve="StatementList" />
</node>
@ -152,6 +157,12 @@
<property role="IQ2ns" value="965748826975413053" />
<ref role="20lvS9" node="PB1R3Y7Ed7" resolve="RulePartParameterDeclaration" />
</node>
<node concept="1TJgyj" id="20Ay2VegCfd" role="1TKVEi">
<property role="IQ2ns" value="2316688792939037645" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="logic" />
<ref role="20lvS9" node="20Ay2VefOqC" resolve="LogicalClauseList" />
</node>
</node>
<node concept="1TIwiD" id="6p0DfM0a3gA">
<property role="TrG5h" value="Head" />
@ -179,6 +190,7 @@
<node concept="1TIwiD" id="6p0DfM0a6KG">
<property role="TrG5h" value="EmitConstraintStatement" />
<property role="EcuMT" value="7368070394766978092" />
<property role="3GE5qa" value="rule.clause" />
<ref role="1TJDcQ" to="tpee:fzclF8l" resolve="Statement" />
<node concept="1TJgyj" id="6p0DfM0ajKO" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
@ -213,7 +225,7 @@
<property role="20kJfa" value="argument" />
<property role="20lbJX" value="1..n" />
<property role="IQ2ns" value="7368070394768117915" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
<node concept="1TIwiD" id="6p0DfM0asb7">
@ -296,14 +308,14 @@
<property role="20kJfa" value="assignee" />
<property role="20lbJX" value="1" />
<property role="IQ2ns" value="7368070394770793388" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
<node concept="1TJgyj" id="6p0DfM0oEna" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="value" />
<property role="20lbJX" value="1" />
<property role="IQ2ns" value="7368070394770793930" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
<node concept="1TIwiD" id="6p0DfM0pKSO">
@ -312,10 +324,10 @@
<ref role="1TJDcQ" to="tpee:fz3vP1J" resolve="Expression" />
<node concept="1TJgyj" id="6p0DfM0pQge" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="clause" />
<property role="20kJfa" value="content" />
<property role="20lbJX" value="1" />
<property role="IQ2ns" value="7368070394771104782" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
<node concept="1TIwiD" id="2E5lcNn01_F">
@ -336,7 +348,7 @@
<property role="20kJfa" value="assignedType" />
<property role="20lbJX" value="1" />
<property role="IQ2ns" value="3063948360252667312" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
<node concept="1TIwiD" id="2E5lcNn5kn6">
@ -470,7 +482,7 @@
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="variable" />
<property role="IQ2ns" value="6928531011217290187" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="20lvS9" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
</node>
</node>
<node concept="1TIwiD" id="60B5zVESBMM">
@ -1126,7 +1138,7 @@
<property role="EcuMT" value="2037618519496446007" />
<property role="3GE5qa" value="type.term" />
<property role="TrG5h" value="TypeTerm" />
<ref role="1TJDcQ" to="5j4j:7E86$tKsl45" resolve="LogicalClause" />
<ref role="1TJDcQ" to="5j4j:7E86$tKsl45" resolve="LogicalItem" />
<node concept="1TJgyj" id="1L74NXEmI65" role="1TKVEi">
<property role="IQ2ns" value="2037618519496647045" />
<property role="20lmBu" value="aggregation" />
@ -1395,5 +1407,65 @@
</node>
<node concept="asaX9" id="4MEOIDFfpT7" role="lGtFl" />
</node>
<node concept="1TIwiD" id="20Ay2VefOqC">
<property role="EcuMT" value="2316688792938825384" />
<property role="3GE5qa" value="rule.clause" />
<property role="TrG5h" value="LogicalClauseList" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="20Ay2VefOqD" role="1TKVEi">
<property role="IQ2ns" value="2316688792938825385" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="clauses" />
<property role="20lbJX" value="0..n" />
<ref role="20lvS9" node="20Ay2VefOqF" resolve="LogicalClause" />
</node>
</node>
<node concept="1TIwiD" id="20Ay2VefOqF">
<property role="EcuMT" value="2316688792938825387" />
<property role="3GE5qa" value="rule.clause" />
<property role="TrG5h" value="LogicalClause" />
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
<node concept="1TIwiD" id="20Ay2VefOBs">
<property role="EcuMT" value="2316688792938826204" />
<property role="3GE5qa" value="rule.clause" />
<property role="TrG5h" value="ConstraintLogicalClause" />
<ref role="1TJDcQ" node="20Ay2VefOqF" resolve="LogicalClause" />
<node concept="1TJgyj" id="20Ay2VefOBA" role="1TKVEi">
<property role="IQ2ns" value="2316688792938826214" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="constraint" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="6p0DfM0ajMA" resolve="AbstractConstraint" />
</node>
</node>
<node concept="1TIwiD" id="20Ay2Vei7FH">
<property role="EcuMT" value="2316688792939428589" />
<property role="3GE5qa" value="rule.clause" />
<property role="TrG5h" value="TemplateLogicalClause" />
<ref role="1TJDcQ" node="20Ay2VefOqF" resolve="LogicalClause" />
<node concept="1TJgyj" id="20Ay2Vei7FI" role="1TKVEi">
<property role="IQ2ns" value="2316688792939428590" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="code" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fzclF80" resolve="StatementList" />
</node>
</node>
<node concept="1TIwiD" id="20Ay2VepLqo">
<property role="EcuMT" value="2316688792941434520" />
<property role="3GE5qa" value="rule.clause" />
<property role="TrG5h" value="CodeLogicalClause" />
<ref role="1TJDcQ" node="20Ay2VefOqF" resolve="LogicalClause" />
<node concept="1TJgyj" id="20Ay2VepLqp" role="1TKVEi">
<property role="IQ2ns" value="2316688792941434521" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="code" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fzclF80" resolve="StatementList" />
</node>
</node>
</model>

View File

@ -978,7 +978,7 @@
<ref role="1YBMHb" node="7dgRGU4_Y5a" resolve="logicalExpression" />
</node>
<node concept="3TrEf2" id="7dgRGU4AkE3" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="clause" />
<ref role="3Tt5mk" to="wq2x:6p0DfM0pQge" resolve="content" />
</node>
</node>
</node>

View File

@ -2909,7 +2909,7 @@
<node concept="37vLTG" id="4JJCDImSW1u" role="3clF46">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="Ya9Z$kQMuo" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="3cqZAl" id="4JJCDImSW0B" role="3clF45" />
@ -3409,7 +3409,7 @@
<property role="TrG5h" value="typeTemplates" />
<node concept="3Tm6S6" id="Ya9Z$kQMM1" role="1B3o_S" />
<node concept="3uibUv" id="Ya9Z$kQMM3" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="2tJIrI" id="10IUAVUm$ge" role="jymVt" />
@ -3596,7 +3596,7 @@
<node concept="37vLTG" id="Ya9Z$kRaRp" role="3clF46">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="Ya9Z$kRaSY" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="3cqZAl" id="Ya9Z$kRaR2" role="3clF45" />
@ -4607,7 +4607,7 @@
<property role="TrG5h" value="typeTemplates" />
<node concept="3Tm6S6" id="Ya9Z$kRaUS" role="1B3o_S" />
<node concept="3uibUv" id="Ya9Z$kRaUU" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="2tJIrI" id="2V8TwD0SnCd" role="jymVt" />

View File

@ -445,6 +445,7 @@
<child id="1197687026896" name="keyType" index="3rHrn6" />
<child id="1197687035757" name="valueType" index="3rHtpV" />
</concept>
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="1165530316231" name="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" flags="nn" index="1v1jN8" />
<concept id="7125221305512719026" name="jetbrains.mps.baseLanguage.collections.structure.CollectionType" flags="in" index="3vKaQO" />
<concept id="1225711141656" name="jetbrains.mps.baseLanguage.collections.structure.ListElementAccessExpression" flags="nn" index="1y4W85">
@ -2944,7 +2945,7 @@
<node concept="37vLTG" id="4JJCDIn5KUu" role="3clF46">
<property role="TrG5h" value="ttc" />
<node concept="3uibUv" id="4JJCDIn5L5k" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="37vLTG" id="6i42QSsjBGG" role="3clF46">
@ -5572,7 +5573,7 @@
<node concept="37vLTG" id="4n$QnzZQNRY" role="3clF46">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="4n$QnzZQOc$" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="3cqZAl" id="4n$QnzZQN$U" role="3clF45" />
@ -5647,36 +5648,6 @@
</node>
</node>
<node concept="2tJIrI" id="4boqC9dMlM3" role="jymVt" />
<node concept="3clFb_" id="4n$Qn$016xJ" role="jymVt">
<property role="TrG5h" value="ruleTemplates" />
<node concept="3uibUv" id="4n$Qn$016XZ" role="3clF45">
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
<node concept="3Tm1VV" id="4n$Qn$016xM" role="1B3o_S" />
<node concept="3clFbS" id="4n$Qn$016xN" role="3clF47">
<node concept="3clFbF" id="4n$Qn$017XA" role="3cqZAp">
<node concept="37vLTw" id="4n$Qn$017X_" role="3clFbG">
<ref role="3cqZAo" node="4n$QnzZQOdB" resolve="ruleTemplates" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4n$Qn$0165J" role="jymVt" />
<node concept="3clFb_" id="4n$Qn$018my" role="jymVt">
<property role="TrG5h" value="typeTemplates" />
<node concept="3uibUv" id="4n$Qn$018N8" role="3clF45">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
</node>
<node concept="3Tm1VV" id="4n$Qn$018m_" role="1B3o_S" />
<node concept="3clFbS" id="4n$Qn$018mA" role="3clF47">
<node concept="3clFbF" id="4n$Qn$01ae$" role="3cqZAp">
<node concept="37vLTw" id="4n$Qn$01aey" role="3clFbG">
<ref role="3cqZAo" node="4n$QnzZQOM1" resolve="typeTemplates" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4n$Qn$018Z0" role="jymVt" />
<node concept="3clFb_" id="4n$QnzZQPpe" role="jymVt">
<property role="TrG5h" value="collectRules" />
<property role="DiZV1" value="false" />
@ -5816,223 +5787,6 @@
<node concept="3Tm6S6" id="7rWjIq$IdnS" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="7nkyKX7n5cc" role="jymVt" />
<node concept="2YIFZL" id="3Qp4N06bynQ" role="jymVt">
<property role="TrG5h" value="getRuleManifest" />
<node concept="3Tm1VV" id="1ggxSI7$AC_" role="1B3o_S" />
<node concept="3uibUv" id="3Qp4N06bynS" role="3clF45">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
<node concept="37vLTG" id="3Qp4N06bynT" role="3clF46">
<property role="TrG5h" value="model" />
<node concept="H_c77" id="3Qp4N06bynU" role="1tU5fm" />
</node>
<node concept="3clFbS" id="3Qp4N06bynV" role="3clF47">
<node concept="3cpWs8" id="3Qp4N06bynW" role="3cqZAp">
<node concept="3cpWsn" id="3Qp4N06bynX" role="3cpWs9">
<property role="TrG5h" value="fqClassName" />
<node concept="17QB3L" id="3Qp4N06bynY" role="1tU5fm" />
<node concept="2YIFZM" id="3Qp4N06bynZ" role="33vP2m">
<ref role="37wK5l" to="18ew:~JavaNameUtil.fqClassName(org.jetbrains.mps.openapi.model.SModel,java.lang.String):java.lang.String" resolve="fqClassName" />
<ref role="1Pybhc" to="18ew:~JavaNameUtil" resolve="JavaNameUtil" />
<node concept="37vLTw" id="3Qp4N06byo0" role="37wK5m">
<ref role="3cqZAo" node="3Qp4N06bynT" resolve="model" />
</node>
<node concept="Xl_RD" id="3Qp4N06byo1" role="37wK5m">
<property role="Xl_RC" value="RuleTemplateManifest" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="3Qp4N06byo2" role="3cqZAp">
<node concept="3cpWsn" id="3Qp4N06byo3" role="3cpWs9">
<property role="TrG5h" value="manifest" />
<node concept="3uibUv" id="3Qp4N06byo4" role="1tU5fm">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
<node concept="10Nm6u" id="3Qp4N06byo5" role="33vP2m" />
</node>
</node>
<node concept="SfApY" id="3Qp4N06byo6" role="3cqZAp">
<node concept="3clFbS" id="3Qp4N06byo7" role="SfCbr">
<node concept="3cpWs8" id="3Qp4N06byo8" role="3cqZAp">
<node concept="3cpWsn" id="3Qp4N06byo9" role="3cpWs9">
<property role="TrG5h" value="clazz" />
<node concept="3uibUv" id="3Qp4N06byoa" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Class" resolve="Class" />
<node concept="3uibUv" id="3Qp4N06byob" role="11_B2D">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
</node>
<node concept="10QFUN" id="3Qp4N06byoc" role="33vP2m">
<node concept="3uibUv" id="3Qp4N06byod" role="10QFUM">
<ref role="3uigEE" to="wyt6:~Class" resolve="Class" />
<node concept="3uibUv" id="3Qp4N06byoe" role="11_B2D">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
</node>
<node concept="2YIFZM" id="3Qp4N06byof" role="10QFUP">
<ref role="37wK5l" to="wyt6:~Class.forName(java.lang.String):java.lang.Class" resolve="forName" />
<ref role="1Pybhc" to="wyt6:~Class" resolve="Class" />
<node concept="37vLTw" id="3Qp4N06byog" role="37wK5m">
<ref role="3cqZAo" node="3Qp4N06bynX" resolve="fqClassName" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3Qp4N06byoh" role="3cqZAp">
<node concept="37vLTI" id="3Qp4N06byoi" role="3clFbG">
<node concept="2OqwBi" id="3Qp4N06byoj" role="37vLTx">
<node concept="37vLTw" id="3Qp4N06byok" role="2Oq$k0">
<ref role="3cqZAo" node="3Qp4N06byo9" resolve="clazz" />
</node>
<node concept="liA8E" id="3Qp4N06byol" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Class.newInstance():java.lang.Object" resolve="newInstance" />
</node>
</node>
<node concept="37vLTw" id="3Qp4N06byom" role="37vLTJ">
<ref role="3cqZAo" node="3Qp4N06byo3" resolve="manifest" />
</node>
</node>
</node>
</node>
<node concept="TDmWw" id="3Qp4N06byon" role="TEbGg">
<node concept="3clFbS" id="3Qp4N06byoo" role="TDEfX">
<node concept="34ab3g" id="3Qp4N06byop" role="3cqZAp">
<property role="35gtTG" value="error" />
<property role="34fQS0" value="true" />
<node concept="Xl_RD" id="3Qp4N06byoq" role="34bqiv">
<property role="Xl_RC" value="WTF" />
</node>
<node concept="37vLTw" id="3Qp4N06byor" role="34bMjA">
<ref role="3cqZAo" node="3Qp4N06byos" resolve="e" />
</node>
</node>
</node>
<node concept="3cpWsn" id="3Qp4N06byos" role="TDEfY">
<property role="TrG5h" value="e" />
<node concept="3uibUv" id="3Qp4N06byot" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Exception" resolve="Exception" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="3Qp4N06byou" role="3cqZAp">
<node concept="37vLTw" id="3Qp4N06byov" role="3cqZAk">
<ref role="3cqZAo" node="3Qp4N06byo3" resolve="manifest" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="3Qp4N06byow" role="jymVt" />
<node concept="2YIFZL" id="4JJCDImS1nx" role="jymVt">
<property role="TrG5h" value="getTypeManifest" />
<node concept="3Tm1VV" id="4JJCDImS1ny" role="1B3o_S" />
<node concept="3uibUv" id="4JJCDImSaGW" role="3clF45">
<ref role="3uigEE" to="psr6:2N2MQGCMVqD" resolve="AbstractTypeManifest" />
</node>
<node concept="37vLTG" id="4JJCDImS1n$" role="3clF46">
<property role="TrG5h" value="model" />
<node concept="H_c77" id="4JJCDImS1n_" role="1tU5fm" />
</node>
<node concept="3clFbS" id="4JJCDImS1nA" role="3clF47">
<node concept="3cpWs8" id="4JJCDImS1nB" role="3cqZAp">
<node concept="3cpWsn" id="4JJCDImS1nC" role="3cpWs9">
<property role="TrG5h" value="fqClassName" />
<node concept="17QB3L" id="4JJCDImS1nD" role="1tU5fm" />
<node concept="2YIFZM" id="4JJCDImS1nE" role="33vP2m">
<ref role="37wK5l" to="18ew:~JavaNameUtil.fqClassName(org.jetbrains.mps.openapi.model.SModel,java.lang.String):java.lang.String" resolve="fqClassName" />
<ref role="1Pybhc" to="18ew:~JavaNameUtil" resolve="JavaNameUtil" />
<node concept="37vLTw" id="4JJCDImS1nF" role="37wK5m">
<ref role="3cqZAo" node="4JJCDImS1n$" resolve="model" />
</node>
<node concept="Xl_RD" id="4JJCDImS1nG" role="37wK5m">
<property role="Xl_RC" value="TypeManifest" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4JJCDImS1nH" role="3cqZAp">
<node concept="3cpWsn" id="4JJCDImS1nI" role="3cpWs9">
<property role="TrG5h" value="manifest" />
<node concept="3uibUv" id="4JJCDImSaoV" role="1tU5fm">
<ref role="3uigEE" to="psr6:2N2MQGCMVqD" resolve="AbstractTypeManifest" />
</node>
<node concept="10Nm6u" id="4JJCDImS1nK" role="33vP2m" />
</node>
</node>
<node concept="SfApY" id="4JJCDImS1nL" role="3cqZAp">
<node concept="3clFbS" id="4JJCDImS1nM" role="SfCbr">
<node concept="3cpWs8" id="4JJCDImS1nN" role="3cqZAp">
<node concept="3cpWsn" id="4JJCDImS1nO" role="3cpWs9">
<property role="TrG5h" value="clazz" />
<node concept="3uibUv" id="4JJCDImS1nP" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Class" resolve="Class" />
<node concept="3uibUv" id="4JJCDImS9SL" role="11_B2D">
<ref role="3uigEE" to="psr6:2N2MQGCMVqD" resolve="AbstractTypeManifest" />
</node>
</node>
<node concept="10QFUN" id="4JJCDImS1nR" role="33vP2m">
<node concept="3uibUv" id="4JJCDImS1nS" role="10QFUM">
<ref role="3uigEE" to="wyt6:~Class" resolve="Class" />
<node concept="3uibUv" id="4JJCDImSa8f" role="11_B2D">
<ref role="3uigEE" to="psr6:2N2MQGCMVqD" resolve="AbstractTypeManifest" />
</node>
</node>
<node concept="2YIFZM" id="4JJCDImS1nU" role="10QFUP">
<ref role="37wK5l" to="wyt6:~Class.forName(java.lang.String):java.lang.Class" resolve="forName" />
<ref role="1Pybhc" to="wyt6:~Class" resolve="Class" />
<node concept="37vLTw" id="4JJCDImS1nV" role="37wK5m">
<ref role="3cqZAo" node="4JJCDImS1nC" resolve="fqClassName" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4JJCDImS1nW" role="3cqZAp">
<node concept="37vLTI" id="4JJCDImS1nX" role="3clFbG">
<node concept="2OqwBi" id="4JJCDImS1nY" role="37vLTx">
<node concept="37vLTw" id="4JJCDImS1nZ" role="2Oq$k0">
<ref role="3cqZAo" node="4JJCDImS1nO" resolve="clazz" />
</node>
<node concept="liA8E" id="4JJCDImS1o0" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Class.newInstance():java.lang.Object" resolve="newInstance" />
</node>
</node>
<node concept="37vLTw" id="4JJCDImS1o1" role="37vLTJ">
<ref role="3cqZAo" node="4JJCDImS1nI" resolve="manifest" />
</node>
</node>
</node>
</node>
<node concept="TDmWw" id="4JJCDImS1o2" role="TEbGg">
<node concept="3clFbS" id="4JJCDImS1o3" role="TDEfX">
<node concept="34ab3g" id="4JJCDImS1o4" role="3cqZAp">
<property role="35gtTG" value="error" />
<property role="34fQS0" value="true" />
<node concept="Xl_RD" id="4JJCDImS1o5" role="34bqiv">
<property role="Xl_RC" value="WTF" />
</node>
<node concept="37vLTw" id="4JJCDImS1o6" role="34bMjA">
<ref role="3cqZAo" node="4JJCDImS1o7" resolve="e" />
</node>
</node>
</node>
<node concept="3cpWsn" id="4JJCDImS1o7" role="TDEfY">
<property role="TrG5h" value="e" />
<node concept="3uibUv" id="4JJCDImS1o8" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Exception" resolve="Exception" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="4JJCDImS1o9" role="3cqZAp">
<node concept="37vLTw" id="4JJCDImS1oa" role="3cqZAk">
<ref role="3cqZAo" node="4JJCDImS1nI" resolve="manifest" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4JJCDImS1nw" role="jymVt" />
<node concept="312cEg" id="4n$QnzZQOdB" role="jymVt">
<property role="TrG5h" value="ruleTemplates" />
@ -6046,11 +5800,10 @@
<property role="TrG5h" value="typeTemplates" />
<node concept="3Tm6S6" id="4n$QnzZQOM2" role="1B3o_S" />
<node concept="3uibUv" id="4n$QnzZQOM4" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateCollection" />
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="2tJIrI" id="4n$Qn$015nh" role="jymVt" />
<node concept="3Tm1VV" id="3Qp4N06byox" role="1B3o_S" />
</node>
<node concept="312cEu" id="3GlpCDSxTG7">
<property role="TrG5h" value="TemplateApplicator" />
@ -6174,22 +5927,6 @@
</node>
</node>
<node concept="3clFbH" id="3GlpCDSyihG" role="3cqZAp" />
<node concept="3cpWs8" id="3Qp4N06byj_" role="3cqZAp">
<node concept="3cpWsn" id="3Qp4N06byjA" role="3cpWs9">
<property role="TrG5h" value="ruleManifest" />
<node concept="3uibUv" id="3Qp4N06byjB" role="1tU5fm">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
<node concept="2OqwBi" id="4hh0cTRc1ax" role="33vP2m">
<node concept="37vLTw" id="4hh0cTRbUSf" role="2Oq$k0">
<ref role="3cqZAo" node="4hh0cTRbUS7" resolve="typesAspect" />
</node>
<node concept="liA8E" id="4hh0cTRc3il" role="2OqNvi">
<ref role="37wK5l" to="fqlx:2hteS6ClmfS" resolve="createRuleManifest" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4JJCDIn5aJ9" role="3cqZAp">
<node concept="3cpWsn" id="4JJCDIn5aJa" role="3cpWs9">
<property role="TrG5h" value="typeManifest" />
@ -6206,7 +5943,23 @@
</node>
</node>
</node>
<node concept="3clFbH" id="3GlpCDSyqbf" role="3cqZAp" />
<node concept="3cpWs8" id="3Qp4N06byj_" role="3cqZAp">
<node concept="3cpWsn" id="3Qp4N06byjA" role="3cpWs9">
<property role="TrG5h" value="ruleManifest" />
<node concept="3uibUv" id="3Qp4N06byjB" role="1tU5fm">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
</node>
<node concept="2OqwBi" id="4hh0cTRc1ax" role="33vP2m">
<node concept="37vLTw" id="4hh0cTRbUSf" role="2Oq$k0">
<ref role="3cqZAo" node="4hh0cTRbUS7" resolve="typesAspect" />
</node>
<node concept="liA8E" id="4hh0cTRc3il" role="2OqNvi">
<ref role="37wK5l" to="fqlx:2hteS6ClmfS" resolve="createRuleManifest" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="20Ay2VePN4Q" role="3cqZAp" />
<node concept="3clFbJ" id="3GlpCDSyqKe" role="3cqZAp">
<node concept="3clFbS" id="3GlpCDSyqKg" role="3clFbx">
<node concept="3cpWs6" id="3GlpCDSysRS" role="3cqZAp">
@ -6227,7 +5980,7 @@
</node>
</node>
<node concept="3clFbC" id="3GlpCDSyrPA" role="3uHU7B">
<node concept="37vLTw" id="3GlpCDSyrk4" role="3uHU7B">
<node concept="37vLTw" id="20Ay2VeQcVl" role="3uHU7B">
<ref role="3cqZAo" node="3Qp4N06byjA" resolve="ruleManifest" />
</node>
<node concept="10Nm6u" id="3GlpCDSysgF" role="3uHU7w" />
@ -6253,113 +6006,193 @@
</node>
</node>
</node>
<node concept="3clFbH" id="6X5F0Ngi7oR" role="3cqZAp" />
<node concept="3clFbF" id="4n$Qn$063ph" role="3cqZAp">
<node concept="37vLTI" id="4n$Qn$06bxN" role="3clFbG">
<node concept="2OqwBi" id="4n$Qn$064xP" role="37vLTJ">
<node concept="Xjq3P" id="4n$Qn$063pf" role="2Oq$k0" />
<node concept="2OwXpG" id="4n$Qn$065U8" role="2OqNvi">
<ref role="2Oxat5" node="4n$Qn$05ZDg" resolve="typecheckingTemplates" />
<node concept="3clFbF" id="20Ay2VeQItT" role="3cqZAp">
<node concept="37vLTI" id="20Ay2VeQKFe" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeQJs0" role="37vLTJ">
<node concept="Xjq3P" id="20Ay2VeQItR" role="2Oq$k0" />
<node concept="2OwXpG" id="20Ay2VeQKky" role="2OqNvi">
<ref role="2Oxat5" node="20Ay2VeQFsB" resolve="typeTemplatesIndex" />
</node>
</node>
<node concept="2ShNRf" id="4n$Qn$06c_m" role="37vLTx">
<node concept="1pGfFk" id="4n$Qn$06c_n" role="2ShVmc">
<ref role="37wK5l" node="4n$QnzZQN$S" resolve="TypecheckingTemplates" />
<node concept="2ShNRf" id="4n$Qn$06c_o" role="37wK5m">
<node concept="1pGfFk" id="4n$Qn$06c_p" role="2ShVmc">
<ref role="37wK5l" node="429xoypKDd_" resolve="RuleTemplateIndex" />
<node concept="37vLTw" id="4n$Qn$06c_q" role="37wK5m">
<ref role="3cqZAo" node="3Qp4N06byjA" resolve="ruleManifest" />
</node>
</node>
</node>
<node concept="2ShNRf" id="4n$Qn$06c_r" role="37wK5m">
<node concept="1pGfFk" id="4n$Qn$06c_s" role="2ShVmc">
<ref role="37wK5l" to="fqlx:1hX44vNlSOK" resolve="TypeTemplateCollection" />
<node concept="37vLTw" id="4n$Qn$06c_t" role="37wK5m">
<ref role="3cqZAo" node="4JJCDIn5aJa" resolve="typeManifest" />
</node>
</node>
<node concept="2ShNRf" id="20Ay2VeQLF6" role="37vLTx">
<node concept="1pGfFk" id="20Ay2VeQLF7" role="2ShVmc">
<ref role="37wK5l" to="fqlx:1hX44vNlSOK" resolve="TypeTemplateIndex" />
<node concept="37vLTw" id="20Ay2VeQLF8" role="37wK5m">
<ref role="3cqZAo" node="4JJCDIn5aJa" resolve="typeManifest" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3GlpCDSuSeY" role="3cqZAp" />
<node concept="3cpWs8" id="5rhZO$U04lo" role="3cqZAp">
<node concept="3cpWsn" id="5rhZO$U04lp" role="3cpWs9">
<property role="TrG5h" value="programBuilder" />
<node concept="3uibUv" id="5rhZO$U04lq" role="1tU5fm">
<ref role="3uigEE" to="7n8k:5rhZO$TYZJM" resolve="ChrProgramBuilder" />
</node>
<node concept="2ShNRf" id="5rhZO$U064C" role="33vP2m">
<node concept="1pGfFk" id="5rhZO$U062B" role="2ShVmc">
<ref role="37wK5l" to="7n8k:5rhZO$TZ9Ji" resolve="ChrProgramBuilder" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4n$QnzZQVbT" role="3cqZAp" />
<node concept="3cpWs8" id="3GlpCDSyDrn" role="3cqZAp">
<node concept="3cpWsn" id="3GlpCDSyDro" role="3cpWs9">
<node concept="3clFbH" id="20Ay2VeQMI_" role="3cqZAp" />
<node concept="3cpWs8" id="20Ay2VeYIFN" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeYIFO" role="3cpWs9">
<property role="TrG5h" value="result" />
<node concept="3uibUv" id="3GlpCDSyDrm" role="1tU5fm">
<node concept="3uibUv" id="20Ay2VeYIFP" role="1tU5fm">
<ref role="3uigEE" node="7Oc59RSEjdb" resolve="Result" />
</node>
<node concept="2OqwBi" id="3GlpCDSyDrp" role="33vP2m">
<node concept="37vLTw" id="3GlpCDSyDrq" role="2Oq$k0">
<ref role="3cqZAo" node="4n$Qn$05ZDg" resolve="typecheckingTemplates" />
</node>
<node concept="liA8E" id="3GlpCDSyDrr" role="2OqNvi">
<ref role="37wK5l" node="4n$QnzZQTZA" resolve="applyTemplates" />
<node concept="37vLTw" id="3GlpCDSyDrs" role="37wK5m">
<ref role="3cqZAo" node="3GlpCDSybFH" resolve="node" />
<node concept="2YIFZM" id="20Ay2VeYKjw" role="33vP2m">
<ref role="37wK5l" node="7Oc59RSEjeq" resolve="OK" />
<ref role="1Pybhc" node="7Oc59RSEjdb" resolve="Result" />
</node>
</node>
</node>
<node concept="1DcWWT" id="20Ay2VeQlvu" role="3cqZAp">
<node concept="3clFbS" id="20Ay2VeQlvx" role="2LFqv$">
<node concept="3cpWs8" id="20Ay2VeRM0W" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeRM0X" role="3cpWs9">
<property role="TrG5h" value="index" />
<node concept="3uibUv" id="20Ay2VeRM0U" role="1tU5fm">
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
<node concept="37vLTw" id="3GlpCDSyDrt" role="37wK5m">
<ref role="3cqZAo" node="5rhZO$U04lp" resolve="programBuilder" />
<node concept="2ShNRf" id="20Ay2VeRM0Y" role="33vP2m">
<node concept="1pGfFk" id="20Ay2VeRM0Z" role="2ShVmc">
<ref role="37wK5l" node="20Ay2VeQfgI" resolve="RuleTemplateIndex" />
<node concept="37vLTw" id="20Ay2VeRM10" role="37wK5m">
<ref role="3cqZAo" node="20Ay2VeQlvy" resolve="hstage" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeRM7K" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeRMRS" role="3clFbG">
<node concept="37vLTw" id="20Ay2VeRM7I" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeRLgD" resolve="ruleTemplateIndices" />
</node>
<node concept="TSZUe" id="20Ay2VeRNZq" role="2OqNvi">
<node concept="37vLTw" id="20Ay2VeROqu" role="25WWJ7">
<ref role="3cqZAo" node="20Ay2VeRM0X" resolve="index" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="20Ay2VeYQCU" role="3cqZAp" />
<node concept="3cpWs8" id="20Ay2VeYySK" role="3cqZAp">
<node concept="3cpWsn" id="20Ay2VeYySL" role="3cpWs9">
<property role="TrG5h" value="templates" />
<node concept="3uibUv" id="20Ay2VeYySG" role="1tU5fm">
<ref role="3uigEE" node="3Qp4N06byjn" resolve="TypecheckingTemplates" />
</node>
<node concept="2ShNRf" id="20Ay2VeYySM" role="33vP2m">
<node concept="1pGfFk" id="20Ay2VeYySN" role="2ShVmc">
<ref role="37wK5l" node="4n$QnzZQN$S" resolve="TypecheckingTemplates" />
<node concept="37vLTw" id="20Ay2VeYySO" role="37wK5m">
<ref role="3cqZAo" node="20Ay2VeRM0X" resolve="index" />
</node>
<node concept="37vLTw" id="20Ay2VeYySP" role="37wK5m">
<ref role="3cqZAo" node="20Ay2VeQFsB" resolve="typeTemplatesIndex" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="20Ay2VeYz2W" role="3cqZAp" />
<node concept="3cpWs8" id="5rhZO$U04lo" role="3cqZAp">
<node concept="3cpWsn" id="5rhZO$U04lp" role="3cpWs9">
<property role="TrG5h" value="programBuilder" />
<node concept="3uibUv" id="5rhZO$U04lq" role="1tU5fm">
<ref role="3uigEE" to="7n8k:5rhZO$TYZJM" resolve="ChrProgramBuilder" />
</node>
<node concept="2ShNRf" id="5rhZO$U064C" role="33vP2m">
<node concept="1pGfFk" id="5rhZO$U062B" role="2ShVmc">
<ref role="37wK5l" to="7n8k:5rhZO$TZ9Ji" resolve="ChrProgramBuilder" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="20Ay2VeYKOr" role="3cqZAp">
<node concept="37vLTI" id="20Ay2VeYLj_" role="3clFbG">
<node concept="2OqwBi" id="20Ay2VeYLqx" role="37vLTx">
<node concept="37vLTw" id="20Ay2VeYLkq" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeYIFO" resolve="result" />
</node>
<node concept="liA8E" id="20Ay2VeYLzv" role="2OqNvi">
<ref role="37wK5l" node="7nkyKX7v7xb" resolve="and" />
<node concept="2OqwBi" id="20Ay2VeYLC1" role="37wK5m">
<node concept="37vLTw" id="20Ay2VeYLC2" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeYySL" resolve="templates" />
</node>
<node concept="liA8E" id="20Ay2VeYLC3" role="2OqNvi">
<ref role="37wK5l" node="4n$QnzZQTZA" resolve="applyTemplates" />
<node concept="37vLTw" id="20Ay2VeYLC4" role="37wK5m">
<ref role="3cqZAo" node="3GlpCDSybFH" resolve="node" />
</node>
<node concept="37vLTw" id="20Ay2VeYLC5" role="37wK5m">
<ref role="3cqZAo" node="5rhZO$U04lp" resolve="programBuilder" />
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="20Ay2VeYKOp" role="37vLTJ">
<ref role="3cqZAo" node="20Ay2VeYIFO" resolve="result" />
</node>
</node>
</node>
<node concept="3clFbJ" id="3GlpCDSyIxU" role="3cqZAp">
<node concept="3clFbS" id="3GlpCDSyIxW" role="3clFbx">
<node concept="3clFbF" id="4n$QnzZY8SI" role="3cqZAp">
<node concept="2OqwBi" id="20Ay2VeYAT2" role="3clFbG">
<node concept="2OqwBi" id="4n$QnzZYalf" role="2Oq$k0">
<node concept="Xjq3P" id="4n$QnzZY8SG" role="2Oq$k0" />
<node concept="2OwXpG" id="4n$QnzZYbBl" role="2OqNvi">
<ref role="2Oxat5" node="1pPth$lE8Xs" resolve="programs" />
</node>
</node>
<node concept="TSZUe" id="20Ay2VeYC19" role="2OqNvi">
<node concept="2OqwBi" id="20Ay2VeYCPl" role="25WWJ7">
<node concept="37vLTw" id="20Ay2VeYCPm" role="2Oq$k0">
<ref role="3cqZAo" node="5rhZO$U04lp" resolve="programBuilder" />
</node>
<node concept="liA8E" id="20Ay2VeYCPn" role="2OqNvi">
<ref role="37wK5l" to="7n8k:5rhZO$TZiL1" resolve="toProgram" />
<node concept="37vLTw" id="20Ay2VeYCPo" role="37wK5m">
<ref role="3cqZAo" node="3GlpCDSyCnQ" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="20Ay2VeYPAK" role="3cqZAp" />
</node>
<node concept="2OqwBi" id="3GlpCDSyJQY" role="3clFbw">
<node concept="37vLTw" id="3GlpCDSyJgA" role="2Oq$k0">
<ref role="3cqZAo" node="20Ay2VeYIFO" resolve="result" />
</node>
<node concept="liA8E" id="3GlpCDSyKrQ" role="2OqNvi">
<ref role="37wK5l" node="7Oc59RS_hsj" resolve="isSuccessful" />
</node>
</node>
<node concept="9aQIb" id="20Ay2VeYPrV" role="9aQIa">
<node concept="3clFbS" id="20Ay2VeYPrW" role="9aQI4">
<node concept="3zACq4" id="20Ay2VeYPAo" role="3cqZAp" />
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="20Ay2VeQlvy" role="1Duv9x">
<property role="TrG5h" value="hstage" />
<node concept="_YKpA" id="20Ay2Vf4IRI" role="1tU5fm">
<node concept="3uibUv" id="20Ay2Vf4JAh" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="2OqwBi" id="20Ay2VeQlvB" role="1DdaDG">
<node concept="37vLTw" id="20Ay2VeQlvC" role="2Oq$k0">
<ref role="3cqZAo" node="3Qp4N06byjA" resolve="ruleManifest" />
</node>
<node concept="liA8E" id="20Ay2VeQlvD" role="2OqNvi">
<ref role="37wK5l" to="i348:20Ay2VeQ4QK" resolve="handlingStages" />
</node>
</node>
</node>
<node concept="3clFbH" id="5rhZO$U0np3" role="3cqZAp" />
<node concept="3clFbJ" id="3GlpCDSyIxU" role="3cqZAp">
<node concept="3clFbS" id="3GlpCDSyIxW" role="3clFbx">
<node concept="3clFbF" id="4n$QnzZY8SI" role="3cqZAp">
<node concept="37vLTI" id="4n$QnzZYd5N" role="3clFbG">
<node concept="2OqwBi" id="4n$QnzZYalf" role="37vLTJ">
<node concept="Xjq3P" id="4n$QnzZY8SG" role="2Oq$k0" />
<node concept="2OwXpG" id="4n$QnzZYbBl" role="2OqNvi">
<ref role="2Oxat5" node="1pPth$lE8Xs" resolve="program" />
</node>
</node>
<node concept="2OqwBi" id="4n$QnzZYen8" role="37vLTx">
<node concept="37vLTw" id="4n$QnzZYen9" role="2Oq$k0">
<ref role="3cqZAo" node="5rhZO$U04lp" resolve="programBuilder" />
</node>
<node concept="liA8E" id="4n$QnzZYena" role="2OqNvi">
<ref role="37wK5l" to="7n8k:5rhZO$TZiL1" resolve="toProgram" />
<node concept="37vLTw" id="3GlpCDSyDo2" role="37wK5m">
<ref role="3cqZAo" node="3GlpCDSyCnQ" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="3GlpCDSyJQY" role="3clFbw">
<node concept="37vLTw" id="3GlpCDSyJgA" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSyDro" resolve="result" />
</node>
<node concept="liA8E" id="3GlpCDSyKrQ" role="2OqNvi">
<ref role="37wK5l" node="7Oc59RS_hsj" resolve="isSuccessful" />
</node>
</node>
</node>
<node concept="3clFbH" id="3GlpCDSy_7G" role="3cqZAp" />
<node concept="3clFbF" id="3GlpCDSyH5p" role="3cqZAp">
<node concept="37vLTw" id="3GlpCDSyH5n" role="3clFbG">
<ref role="3cqZAo" node="3GlpCDSyDro" resolve="result" />
<ref role="3cqZAo" node="20Ay2VeYIFO" resolve="result" />
</node>
</node>
</node>
@ -6373,15 +6206,17 @@
</node>
<node concept="2tJIrI" id="3GlpCDSyN7T" role="jymVt" />
<node concept="3clFb_" id="3GlpCDSyO$P" role="jymVt">
<property role="TrG5h" value="getProgram" />
<node concept="3uibUv" id="3GlpCDSyOZB" role="3clF45">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
<property role="TrG5h" value="getPrograms" />
<node concept="_YKpA" id="20Ay2VeYwM6" role="3clF45">
<node concept="3uibUv" id="20Ay2VeYwM7" role="_ZDj9">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
</node>
<node concept="3Tm1VV" id="3GlpCDSyO$S" role="1B3o_S" />
<node concept="3clFbS" id="3GlpCDSyO$T" role="3clF47">
<node concept="3clFbF" id="3GlpCDSyQWA" role="3cqZAp">
<node concept="37vLTw" id="3GlpCDSyQW_" role="3clFbG">
<ref role="3cqZAo" node="1pPth$lE8Xs" resolve="program" />
<ref role="3cqZAo" node="1pPth$lE8Xs" resolve="programs" />
</node>
</node>
</node>
@ -6402,30 +6237,56 @@
</node>
</node>
<node concept="2tJIrI" id="3GlpCDSyNwR" role="jymVt" />
<node concept="3clFb_" id="3GlpCDSyUJO" role="jymVt">
<property role="TrG5h" value="getTypecheckingTemplates" />
<node concept="3uibUv" id="3GlpCDSyVb9" role="3clF45">
<ref role="3uigEE" node="3Qp4N06byjn" resolve="TypecheckingTemplates" />
<node concept="3clFb_" id="20Ay2VeQGBR" role="jymVt">
<property role="TrG5h" value="getTypeTemplates" />
<node concept="3uibUv" id="20Ay2VeQHvL" role="3clF45">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
<node concept="3Tm1VV" id="3GlpCDSyUJR" role="1B3o_S" />
<node concept="3clFbS" id="3GlpCDSyUJS" role="3clF47">
<node concept="3clFbF" id="3GlpCDSyWmn" role="3cqZAp">
<node concept="37vLTw" id="3GlpCDSyWmm" role="3clFbG">
<ref role="3cqZAo" node="4n$Qn$05ZDg" resolve="typecheckingTemplates" />
<node concept="3Tm1VV" id="20Ay2VeQGBU" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeQGBV" role="3clF47">
<node concept="3clFbF" id="20Ay2VeQIpw" role="3cqZAp">
<node concept="37vLTw" id="20Ay2VeQIpv" role="3clFbG">
<ref role="3cqZAo" node="20Ay2VeQFsB" resolve="typeTemplatesIndex" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="3GlpCDSyUte" role="jymVt" />
<node concept="2tJIrI" id="20Ay2VeRPfT" role="jymVt" />
<node concept="3clFb_" id="20Ay2VeRQ3T" role="jymVt">
<property role="TrG5h" value="getRuleTemplateIndexes" />
<node concept="_YKpA" id="20Ay2VeRQPA" role="3clF45">
<node concept="3uibUv" id="20Ay2VeRR8l" role="_ZDj9">
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
<node concept="3Tm1VV" id="20Ay2VeRQ3W" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeRQ3X" role="3clF47">
<node concept="3clFbF" id="20Ay2VeRS6M" role="3cqZAp">
<node concept="37vLTw" id="20Ay2VeRS6L" role="3clFbG">
<ref role="3cqZAo" node="20Ay2VeRLgD" resolve="ruleTemplateIndices" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="20Ay2VeQG4$" role="jymVt" />
<node concept="312cEg" id="1pPth$lE8Xs" role="jymVt">
<property role="34CwA1" value="false" />
<property role="eg7rD" value="false" />
<property role="TrG5h" value="program" />
<property role="TrG5h" value="programs" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="4n$QnzZY0GB" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
<node concept="_YKpA" id="20Ay2VeYy5g" role="1tU5fm">
<node concept="3uibUv" id="20Ay2VeYy5h" role="_ZDj9">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
</node>
<node concept="3Tm6S6" id="3GlpCDSyB5g" role="1B3o_S" />
<node concept="2ShNRf" id="20Ay2VeYyxo" role="33vP2m">
<node concept="Tc6Ow" id="20Ay2VeYywP" role="2ShVmc">
<node concept="3uibUv" id="20Ay2VeYywQ" role="HW$YZ">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
</node>
</node>
</node>
<node concept="312cEg" id="3F6vMxqlTiX" role="jymVt">
<property role="TrG5h" value="expressionSolver" />
@ -6434,11 +6295,27 @@
</node>
<node concept="3Tm6S6" id="3GlpCDSyB5p" role="1B3o_S" />
</node>
<node concept="312cEg" id="4n$Qn$05ZDg" role="jymVt">
<property role="TrG5h" value="typecheckingTemplates" />
<node concept="3Tm6S6" id="3GlpCDSyBhj" role="1B3o_S" />
<node concept="3uibUv" id="4n$Qn$061OS" role="1tU5fm">
<ref role="3uigEE" node="3Qp4N06byjn" resolve="TypecheckingTemplates" />
<node concept="312cEg" id="20Ay2VeQFsB" role="jymVt">
<property role="TrG5h" value="typeTemplatesIndex" />
<node concept="3Tm6S6" id="20Ay2VeQFsC" role="1B3o_S" />
<node concept="3uibUv" id="20Ay2VeQG0r" role="1tU5fm">
<ref role="3uigEE" to="fqlx:1hX44vNlSIA" resolve="TypeTemplateIndex" />
</node>
</node>
<node concept="312cEg" id="20Ay2VeRLgD" role="jymVt">
<property role="TrG5h" value="ruleTemplateIndices" />
<node concept="3Tm6S6" id="20Ay2VeRLgE" role="1B3o_S" />
<node concept="_YKpA" id="20Ay2VeRLT1" role="1tU5fm">
<node concept="3uibUv" id="20Ay2VeRLUw" role="_ZDj9">
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
<node concept="2ShNRf" id="20Ay2VeRLYG" role="33vP2m">
<node concept="Tc6Ow" id="20Ay2VeRLY9" role="2ShVmc">
<node concept="3uibUv" id="20Ay2VeRLYa" role="HW$YZ">
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="3GlpCDSxTG8" role="1B3o_S" />
@ -8092,6 +7969,11 @@
</node>
</node>
<node concept="3clFbH" id="6$7vuu2uVEy" role="3cqZAp" />
<node concept="3SKdUt" id="20Ay2VfaCNZ" role="3cqZAp">
<node concept="3SKdUq" id="20Ay2VfaCO1" role="3SKWNk">
<property role="3SKdUp" value="FIXME: process alternative stage programs" />
</node>
</node>
<node concept="3cpWs8" id="6QH_LDtbV5I" role="3cqZAp">
<node concept="3cpWsn" id="6QH_LDtbV5J" role="3cpWs9">
<property role="TrG5h" value="config" />
@ -8101,13 +7983,16 @@
<node concept="2YIFZM" id="6QH_LDtbV5L" role="33vP2m">
<ref role="1Pybhc" to="w7la:~EvaluationSession" resolve="EvaluationSession" />
<ref role="37wK5l" to="w7la:~EvaluationSession.newSession(jetbrains.mps.logic.reactor.program.Program):jetbrains.mps.logic.reactor.evaluation.EvaluationSession$Config" resolve="newSession" />
<node concept="2OqwBi" id="6QH_LDtbV5M" role="37wK5m">
<node concept="37vLTw" id="6QH_LDtbV5N" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV58" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV5O" role="2OqNvi">
<ref role="37wK5l" node="3GlpCDSyO$P" resolve="getProgram" />
<node concept="2OqwBi" id="20Ay2VeYSrr" role="37wK5m">
<node concept="2OqwBi" id="6QH_LDtbV5M" role="2Oq$k0">
<node concept="37vLTw" id="6QH_LDtbV5N" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV58" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV5O" role="2OqNvi">
<ref role="37wK5l" node="3GlpCDSyO$P" resolve="getPrograms" />
</node>
</node>
<node concept="1uHKPH" id="20Ay2VeYTLR" role="2OqNvi" />
</node>
</node>
</node>
@ -8257,17 +8142,12 @@
<node concept="2ShNRf" id="6QH_LDtbV73" role="33vP2m">
<node concept="1pGfFk" id="6QH_LDtbV74" role="2ShVmc">
<ref role="37wK5l" to="nz6g:Ya9Z$kRaR0" resolve="RecoverySession" />
<node concept="2OqwBi" id="6QH_LDtbV75" role="37wK5m">
<node concept="2OqwBi" id="6QH_LDtbV76" role="2Oq$k0">
<node concept="37vLTw" id="6QH_LDtbV77" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV58" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV78" role="2OqNvi">
<ref role="37wK5l" node="3GlpCDSyUJO" resolve="getTypecheckingTemplates" />
</node>
<node concept="2OqwBi" id="6QH_LDtbV76" role="37wK5m">
<node concept="37vLTw" id="6QH_LDtbV77" role="2Oq$k0">
<ref role="3cqZAo" node="6QH_LDtbV58" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV79" role="2OqNvi">
<ref role="37wK5l" node="4n$Qn$018my" resolve="typeTemplates" />
<node concept="liA8E" id="20Ay2VeRrq_" role="2OqNvi">
<ref role="37wK5l" node="20Ay2VeQGBR" resolve="getTypeTemplates" />
</node>
</node>
</node>
@ -8410,27 +8290,29 @@
<node concept="312cEu" id="6fdr4UgftiG">
<property role="TrG5h" value="RuleTemplateIndex" />
<node concept="2tJIrI" id="6fdr4UgftDX" role="jymVt" />
<node concept="3clFbW" id="429xoypKDd_" role="jymVt">
<node concept="37vLTG" id="429xoypKDSO" role="3clF46">
<property role="TrG5h" value="ruleTemplateManifest" />
<node concept="3uibUv" id="429xoypKDSP" role="1tU5fm">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
<node concept="3clFbW" id="20Ay2VeQfgI" role="jymVt">
<node concept="37vLTG" id="20Ay2VeQgBm" role="3clF46">
<property role="TrG5h" value="handlingStage" />
<node concept="_YKpA" id="20Ay2Vf4Gti" role="1tU5fm">
<node concept="3uibUv" id="20Ay2Vf4GA7" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="3cqZAl" id="429xoypKDdB" role="3clF45" />
<node concept="3Tm1VV" id="429xoypKDdC" role="1B3o_S" />
<node concept="3clFbS" id="429xoypKDdD" role="3clF47">
<node concept="3clFbF" id="429xoypKIWF" role="3cqZAp">
<node concept="1rXfSq" id="429xoypKIWD" role="3clFbG">
<node concept="3cqZAl" id="20Ay2VeQfgL" role="3clF45" />
<node concept="3Tm1VV" id="20Ay2VeQfgM" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeQfgN" role="3clF47">
<node concept="3clFbF" id="20Ay2VeQfgO" role="3cqZAp">
<node concept="1rXfSq" id="20Ay2VeQfgP" role="3clFbG">
<ref role="37wK5l" node="12yN8Dyvyy6" resolve="collectTemplates" />
<node concept="37vLTw" id="4MqhgXU9wAL" role="37wK5m">
<ref role="3cqZAo" node="429xoypKDSO" resolve="ruleTemplateManifest" />
<node concept="37vLTw" id="20Ay2VeQh_g" role="37wK5m">
<ref role="3cqZAo" node="20Ay2VeQgBm" resolve="handlingStage" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="429xoypKCs8" role="jymVt" />
<node concept="2tJIrI" id="20Ay2VeQfgH" role="jymVt" />
<node concept="2tJIrI" id="4MqhgXU$$4Z" role="jymVt" />
<node concept="3clFb_" id="6fdr4UgfuGk" role="jymVt">
<property role="TrG5h" value="allTemplates" />
@ -8940,9 +8822,11 @@
<node concept="3clFb_" id="12yN8Dyvyy6" role="jymVt">
<property role="TrG5h" value="collectTemplates" />
<node concept="37vLTG" id="4MqhgXU9tzq" role="3clF46">
<property role="TrG5h" value="ruleTemplateManifest" />
<node concept="3uibUv" id="4MqhgXU9v5a" role="1tU5fm">
<ref role="3uigEE" to="i348:4OKkcnfu_xe" resolve="AbstractRuleTemplateManifest" />
<property role="TrG5h" value="handlingStage" />
<node concept="_YKpA" id="20Ay2Vf4GKi" role="1tU5fm">
<node concept="3uibUv" id="20Ay2Vf4HjU" role="_ZDj9">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="3cqZAl" id="12yN8Dyvyy8" role="3clF45" />
@ -9058,13 +8942,8 @@
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
<node concept="2OqwBi" id="4MqhgXUaOd$" role="1DdaDG">
<node concept="37vLTw" id="4MqhgXUaOd_" role="2Oq$k0">
<ref role="3cqZAo" node="4MqhgXU9tzq" resolve="ruleTemplateManifest" />
</node>
<node concept="liA8E" id="4MqhgXUaOdA" role="2OqNvi">
<ref role="37wK5l" to="i348:4MqhgXUaiLz" resolve="handlerTemplates" />
</node>
<node concept="37vLTw" id="4MqhgXUaOd_" role="1DdaDG">
<ref role="3cqZAo" node="4MqhgXU9tzq" resolve="handlingStage" />
</node>
</node>
</node>

View File

@ -290,7 +290,7 @@
</node>
</node>
<node concept="312cEu" id="1hX44vNlSIA">
<property role="TrG5h" value="TypeTemplateCollection" />
<property role="TrG5h" value="TypeTemplateIndex" />
<node concept="2tJIrI" id="1hX44vNlSNY" role="jymVt" />
<node concept="3clFbW" id="1hX44vNlSOK" role="jymVt">
<node concept="3cqZAl" id="1hX44vNlSOM" role="3clF45" />
@ -482,7 +482,7 @@
<ref role="37wK5l" to="psr6:1pPth$m7IW6" resolve="collectTypeTables" />
<node concept="2ShNRf" id="1hX44vNnpfM" role="37wK5m">
<node concept="HV5vD" id="1hX44vNnpfN" role="2ShVmc">
<ref role="HV5vE" node="1hX44vNlSRx" resolve="TypeTemplateCollection.Collector" />
<ref role="HV5vE" node="1hX44vNlSRx" resolve="TypeTemplateIndex.Collector" />
</node>
</node>
</node>

View File

@ -226,6 +226,9 @@
<concept id="1176906603202" name="jetbrains.mps.baseLanguage.collections.structure.BinaryOperation" flags="nn" index="56pJg">
<child id="1176906787974" name="rightExpression" index="576Qk" />
</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>
@ -462,11 +465,25 @@
<property role="TrG5h" value="AbstractRuleTemplateManifest" />
<property role="1sVAO0" value="true" />
<node concept="2tJIrI" id="1ggxSI7z1Os" role="jymVt" />
<node concept="3clFb_" id="20Ay2VeQ4QK" role="jymVt">
<property role="TrG5h" value="handlingStages" />
<property role="1EzhhJ" value="true" />
<node concept="_YKpA" id="20Ay2VeQ4RT" role="3clF45">
<node concept="_YKpA" id="20Ay2Vf4KeD" role="_ZDj9">
<node concept="3uibUv" id="20Ay2Vf4Kpw" role="_ZDj9">
<ref role="3uigEE" node="4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="20Ay2VeQ4QN" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeQ4QO" role="3clF47" />
</node>
<node concept="2tJIrI" id="20Ay2VeQ4EW" role="jymVt" />
<node concept="3clFb_" id="4MqhgXUaiLz" role="jymVt">
<property role="TrG5h" value="handlerTemplates" />
<property role="1EzhhJ" value="true" />
<node concept="A3Dl8" id="4MqhgXUaiMs" role="3clF45">
<node concept="3uibUv" id="4MqhgXUaiMN" role="A3Ik2">
<node concept="_YKpA" id="20Ay2VeZMvJ" role="3clF45">
<node concept="3uibUv" id="20Ay2VeZMvL" role="_ZDj9">
<ref role="3uigEE" node="4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
@ -2041,6 +2058,15 @@
<node concept="3clFbS" id="4MqhgXUN1Pi" role="3clF47" />
</node>
<node concept="2tJIrI" id="4MqhgXUN1OI" role="jymVt" />
<node concept="3clFb_" id="20Ay2Vf1i5R" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="stage" />
<node concept="3clFbS" id="20Ay2Vf1i5U" role="3clF47" />
<node concept="3Tm1VV" id="20Ay2Vf1i5V" role="1B3o_S" />
<node concept="17QB3L" id="20Ay2Vf1hOi" role="3clF45" />
</node>
<node concept="2tJIrI" id="20Ay2Vf1hyH" role="jymVt" />
<node concept="3clFb_" id="4MqhgXU9lmo" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="primarySymbols" />
@ -2067,5 +2093,22 @@
<node concept="2tJIrI" id="4MqhgXUaiOu" role="jymVt" />
<node concept="3Tm1VV" id="4MqhgXU9fm4" role="1B3o_S" />
</node>
<node concept="3HP615" id="20Ay2VeQ4I0">
<property role="TrG5h" value="HandlingStage" />
<node concept="2tJIrI" id="20Ay2VeQ4IM" role="jymVt" />
<node concept="3clFb_" id="20Ay2VeQ4JB" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="handlerTemplates" />
<node concept="_YKpA" id="20Ay2VeQ4Kx" role="3clF45">
<node concept="3uibUv" id="20Ay2VeQ4Ld" role="_ZDj9">
<ref role="3uigEE" node="4MqhgXU9fm3" resolve="HandlerTemplate" />
</node>
</node>
<node concept="3Tm1VV" id="20Ay2VeQ4JE" role="1B3o_S" />
<node concept="3clFbS" id="20Ay2VeQ4JF" role="3clF47" />
</node>
<node concept="2tJIrI" id="20Ay2VeQ4IR" role="jymVt" />
<node concept="3Tm1VV" id="20Ay2VeQ4I1" role="1B3o_S" />
</node>
</model>

View File

@ -230,6 +230,7 @@
<child id="1197687026896" name="keyType" index="3rHrn6" />
<child id="1197687035757" name="valueType" index="3rHtpV" />
</concept>
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="1197932370469" name="jetbrains.mps.baseLanguage.collections.structure.MapElement" flags="nn" index="3EllGN">
<child id="1197932505799" name="map" index="3ElQJh" />
<child id="1197932525128" name="key" index="3ElVtu" />
@ -701,13 +702,16 @@
<node concept="2YIFZM" id="6QH_LDtbV5L" role="33vP2m">
<ref role="37wK5l" to="w7la:~EvaluationSession.newSession(jetbrains.mps.logic.reactor.program.Program):jetbrains.mps.logic.reactor.evaluation.EvaluationSession$Config" resolve="newSession" />
<ref role="1Pybhc" to="w7la:~EvaluationSession" resolve="EvaluationSession" />
<node concept="2OqwBi" id="6QH_LDtbV5M" role="37wK5m">
<node concept="37vLTw" id="6QH_LDtbV5N" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV5O" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
<node concept="2OqwBi" id="20Ay2VeYY60" role="37wK5m">
<node concept="2OqwBi" id="6QH_LDtbV5M" role="2Oq$k0">
<node concept="37vLTw" id="6QH_LDtbV5N" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV5O" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getPrograms" />
</node>
</node>
<node concept="1uHKPH" id="20Ay2VeYZUR" role="2OqNvi" />
</node>
</node>
</node>
@ -865,17 +869,12 @@
<node concept="2ShNRf" id="6QH_LDtbV73" role="33vP2m">
<node concept="1pGfFk" id="6QH_LDtbV74" role="2ShVmc">
<ref role="37wK5l" to="nz6g:Ya9Z$kRaR0" resolve="RecoverySession" />
<node concept="2OqwBi" id="6QH_LDtbV75" role="37wK5m">
<node concept="2OqwBi" id="6QH_LDtbV76" role="2Oq$k0">
<node concept="37vLTw" id="6QH_LDtbV77" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV78" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyUJO" resolve="getTypecheckingTemplates" />
</node>
<node concept="2OqwBi" id="6QH_LDtbV76" role="37wK5m">
<node concept="37vLTw" id="6QH_LDtbV77" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="6QH_LDtbV79" role="2OqNvi">
<ref role="37wK5l" to="hano:4n$Qn$018my" resolve="typeTemplates" />
<node concept="liA8E" id="20Ay2VeRAou" role="2OqNvi">
<ref role="37wK5l" to="hano:20Ay2VeQGBR" resolve="getTypeTemplates" />
</node>
</node>
</node>