Handle case of query rules in PreambleInfo

Also process expand macro input for rule hash,
so that changed query rules (like one in testlang) get into
RulesDiff and could be updated with Preamble processing.
This commit is contained in:
Grigorii Kirgizov 2020-11-09 13:17:15 +03:00
parent 15cfd8a51b
commit 1254ebd632
4 changed files with 507 additions and 189 deletions

View File

@ -14644,6 +14644,19 @@
</node>
</node>
<node concept="3clFbH" id="7WFMSEvhd5r" role="3cqZAp" />
<node concept="3clFbF" id="6VRLMeOezub" role="3cqZAp">
<node concept="2OqwBi" id="6VRLMeOezKr" role="3clFbG">
<node concept="37vLTw" id="6VRLMeOezu9" role="2Oq$k0">
<ref role="3cqZAo" node="5itBwM6VIn8" resolve="builder" />
</node>
<node concept="liA8E" id="6VRLMeOfp9t" role="2OqNvi">
<ref role="37wK5l" to="i348:6VRLMeOeOlh" resolve="processMacroInput" />
<node concept="37vLTw" id="6VRLMeOfpcV" role="37wK5m">
<ref role="3cqZAo" node="5itBwM6XBIn" resolve="input" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6VInw" role="3cqZAp">
<node concept="37vLTw" id="5itBwM6VInx" role="3clFbG">
<ref role="3cqZAo" node="5itBwM6VIn8" resolve="builder" />

View File

@ -75,7 +75,6 @@
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<child id="1068431790190" name="initializer" index="33vP2m" />
@ -139,6 +138,7 @@
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="1073239437375" name="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" flags="nn" index="3y3z36" />
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
@ -246,6 +246,7 @@
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
<concept id="3358009230509553641" name="jetbrains.mps.baseLanguage.collections.structure.LinkedListType" flags="in" index="2BANLN" />
<concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
<child id="1237721435807" name="elementType" index="HW$YZ" />
@ -255,6 +256,7 @@
<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" />
<concept id="1171391069720" name="jetbrains.mps.baseLanguage.collections.structure.GetIndexOfOperation" flags="nn" index="2WmjW8" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1201792049884" name="jetbrains.mps.baseLanguage.collections.structure.TranslateOperation" flags="nn" index="3goQfb" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
<concept id="1172254888721" name="jetbrains.mps.baseLanguage.collections.structure.ContainsOperation" flags="nn" index="3JPx81" />
@ -839,7 +841,16 @@
</node>
</node>
</node>
<node concept="3clFbH" id="5BtuWK5zF3R" role="3cqZAp" />
<node concept="3cpWs8" id="6xVZN2upvmT" role="3cqZAp">
<node concept="3cpWsn" id="6xVZN2upvmU" role="3cpWs9">
<property role="TrG5h" value="rulesTemplate" />
<node concept="3Tqbb2" id="6xVZN2upvmV" role="1tU5fm">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="10Nm6u" id="7L9cSENFXPa" role="33vP2m" />
</node>
</node>
<node concept="3clFbH" id="7L9cSENFSBk" role="3cqZAp" />
<node concept="3cpWs8" id="5BtuWK5zd88" role="3cqZAp">
<node concept="3cpWsn" id="5BtuWK5zd8b" role="3cpWs9">
<property role="TrG5h" value="root" />
@ -852,13 +863,12 @@
</node>
<node concept="3clFbJ" id="5BtuWK5zaCW" role="3cqZAp">
<node concept="3clFbS" id="5BtuWK5zaCY" role="3clFbx">
<node concept="3cpWs8" id="6xVZN2upvmT" role="3cqZAp">
<node concept="3cpWsn" id="6xVZN2upvmU" role="3cpWs9">
<property role="TrG5h" value="rt" />
<node concept="3Tqbb2" id="6xVZN2upvmV" role="1tU5fm">
<ref role="ehGHo" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
<node concept="3clFbF" id="7L9cSENFTOw" role="3cqZAp">
<node concept="37vLTI" id="7L9cSENFUbG" role="3clFbG">
<node concept="37vLTw" id="7L9cSENFTOu" role="37vLTJ">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
<node concept="2OqwBi" id="6xVZN2upvmW" role="33vP2m">
<node concept="2OqwBi" id="6xVZN2upvmW" role="37vLTx">
<node concept="13iPFW" id="5BtuWK5zKGu" role="2Oq$k0" />
<node concept="2Xjw5R" id="6xVZN2upvmY" role="2OqNvi">
<node concept="1xMEDy" id="6xVZN2upvmZ" role="1xVPHs">
@ -874,7 +884,7 @@
<node concept="37vLTI" id="5BtuWK5zosk" role="3clFbG">
<node concept="2OqwBi" id="5BtuWK5zoUH" role="37vLTx">
<node concept="37vLTw" id="5BtuWK5zoHh" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rt" />
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
<node concept="3TrcHB" id="5BtuWK5zpNk" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
@ -885,69 +895,6 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="6xVZN2upvXl" role="3cqZAp">
<node concept="3cpWsn" id="6xVZN2upvXo" role="3cpWs9">
<property role="TrG5h" value="rtRules" />
<node concept="2OqwBi" id="6xVZN2upvn2" role="33vP2m">
<node concept="37vLTw" id="6xVZN2upvn3" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rt" />
</node>
<node concept="2Rf3mk" id="6xVZN2upvn4" role="2OqNvi">
<node concept="1xMEDy" id="6xVZN2upvn5" role="1xVPHs">
<node concept="chp4Y" id="6xVZN2upvn6" role="ri$Ld">
<ref role="cht4Q" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="6xVZN2upwMB" role="1tU5fm">
<node concept="3Tqbb2" id="6xVZN2upvXj" role="A3Ik2">
<ref role="ehGHo" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6xVZN2ut40K" role="3cqZAp">
<node concept="3cpWsn" id="6xVZN2ut40N" role="3cpWs9">
<property role="TrG5h" value="order" />
<node concept="10Oyi0" id="6xVZN2ut40I" role="1tU5fm" />
<node concept="2OqwBi" id="6xVZN2upDG4" role="33vP2m">
<node concept="37vLTw" id="6xVZN2upDlF" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvXo" resolve="rtRules" />
</node>
<node concept="2WmjW8" id="6xVZN2upEfp" role="2OqNvi">
<node concept="13iPFW" id="5BtuWK5zKL6" role="25WWJ7" />
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="5BtuWK5zzbS" role="3cqZAp">
<node concept="3clFbS" id="5BtuWK5zzbU" role="3clFbx">
<node concept="3clFbF" id="5BtuWK5zAPr" role="3cqZAp">
<node concept="d57v9" id="5BtuWK5zC0x" role="3clFbG">
<node concept="3cpWs3" id="5BtuWK5zDAJ" role="37vLTx">
<node concept="37vLTw" id="5BtuWK5zDE$" role="3uHU7w">
<ref role="3cqZAo" node="6xVZN2ut40N" resolve="order" />
</node>
<node concept="Xl_RD" id="5BtuWK5zC9_" role="3uHU7B">
<property role="Xl_RC" value="#" />
</node>
</node>
<node concept="37vLTw" id="5BtuWK5zAPp" role="37vLTJ">
<ref role="3cqZAo" node="5BtuWK5z21$" resolve="ruleName" />
</node>
</node>
</node>
</node>
<node concept="3eOSWO" id="5BtuWK5zAEy" role="3clFbw">
<node concept="3cmrfG" id="5BtuWK5zAEA" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="37vLTw" id="5BtuWK5zzgK" role="3uHU7B">
<ref role="3cqZAo" node="6xVZN2ut40N" resolve="order" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="5BtuWK5zcen" role="3clFbw">
<node concept="1mIQ4w" id="5BtuWK5zcmq" role="2OqNvi">
@ -971,6 +918,23 @@
</node>
</node>
<node concept="3clFbS" id="5BtuWK5zd1P" role="3eOfB_">
<node concept="3clFbF" id="7L9cSENFUit" role="3cqZAp">
<node concept="37vLTI" id="7L9cSENFUiu" role="3clFbG">
<node concept="37vLTw" id="7L9cSENFUiv" role="37vLTJ">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
<node concept="2OqwBi" id="7L9cSENFUiw" role="37vLTx">
<node concept="13iPFW" id="7L9cSENFUix" role="2Oq$k0" />
<node concept="2Xjw5R" id="7L9cSENFUiy" role="2OqNvi">
<node concept="1xMEDy" id="7L9cSENFUiz" role="1xVPHs">
<node concept="chp4Y" id="7L9cSENFU$c" role="ri$Ld">
<ref role="cht4Q" to="wq2x:7P_FdVQ_S6B" resolve="QueryTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5BtuWK5zpUC" role="3cqZAp">
<node concept="37vLTI" id="5BtuWK5zqtg" role="3clFbG">
<node concept="3cpWs3" id="5BtuWK5zuJu" role="37vLTx">
@ -978,15 +942,8 @@
<property role="Xl_RC" value="query." />
</node>
<node concept="2OqwBi" id="5BtuWK5zs$V" role="3uHU7w">
<node concept="2OqwBi" id="5BtuWK5zrju" role="2Oq$k0">
<node concept="13iPFW" id="5BtuWK5zKMo" role="2Oq$k0" />
<node concept="2Xjw5R" id="5BtuWK5zs4p" role="2OqNvi">
<node concept="1xMEDy" id="5BtuWK5zs4r" role="1xVPHs">
<node concept="chp4Y" id="5BtuWK5zs9U" role="ri$Ld">
<ref role="cht4Q" to="wq2x:7P_FdVQ_S6B" resolve="QueryTemplate" />
</node>
</node>
</node>
<node concept="37vLTw" id="7L9cSENFUIG" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
<node concept="3TrcHB" id="5kd4gAC11El" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
@ -1001,6 +958,77 @@
</node>
</node>
</node>
<node concept="3clFbH" id="7L9cSENFW$5" role="3cqZAp" />
<node concept="3clFbJ" id="7L9cSENFWKp" role="3cqZAp">
<node concept="3clFbS" id="7L9cSENFWKr" role="3clFbx">
<node concept="3cpWs8" id="6xVZN2upvXl" role="3cqZAp">
<node concept="3cpWsn" id="6xVZN2upvXo" role="3cpWs9">
<property role="TrG5h" value="rtRules" />
<node concept="2OqwBi" id="6VRLMeOrQCR" role="33vP2m">
<node concept="2OqwBi" id="6xVZN2upvn2" role="2Oq$k0">
<node concept="37vLTw" id="7L9cSENFVJu" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
<node concept="2Rf3mk" id="6xVZN2upvn4" role="2OqNvi">
<node concept="1xMEDy" id="6xVZN2upvn5" role="1xVPHs">
<node concept="chp4Y" id="6xVZN2upvn6" role="ri$Ld">
<ref role="cht4Q" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
</node>
</node>
</node>
</node>
<node concept="ANE8D" id="6VRLMeOrSvq" role="2OqNvi" />
</node>
<node concept="A3Dl8" id="6xVZN2upwMB" role="1tU5fm">
<node concept="3Tqbb2" id="6xVZN2upvXj" role="A3Ik2">
<ref role="ehGHo" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="5BtuWK5zzbS" role="3cqZAp">
<node concept="3clFbS" id="5BtuWK5zzbU" role="3clFbx">
<node concept="3clFbF" id="5BtuWK5zAPr" role="3cqZAp">
<node concept="d57v9" id="5BtuWK5zC0x" role="3clFbG">
<node concept="3cpWs3" id="5BtuWK5zDAJ" role="37vLTx">
<node concept="Xl_RD" id="5BtuWK5zC9_" role="3uHU7B">
<property role="Xl_RC" value="#" />
</node>
<node concept="2OqwBi" id="6xVZN2upDG4" role="3uHU7w">
<node concept="37vLTw" id="6xVZN2upDlF" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvXo" resolve="rtRules" />
</node>
<node concept="2WmjW8" id="6xVZN2upEfp" role="2OqNvi">
<node concept="13iPFW" id="5BtuWK5zKL6" role="25WWJ7" />
</node>
</node>
</node>
<node concept="37vLTw" id="5BtuWK5zAPp" role="37vLTJ">
<ref role="3cqZAo" node="5BtuWK5z21$" resolve="ruleName" />
</node>
</node>
</node>
</node>
<node concept="3eOSWO" id="5BtuWK5zAEy" role="3clFbw">
<node concept="3cmrfG" id="5BtuWK5zAEA" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="2OqwBi" id="6VRLMeOrTdN" role="3uHU7B">
<node concept="37vLTw" id="6VRLMeOrSOP" role="2Oq$k0">
<ref role="3cqZAo" node="6xVZN2upvXo" resolve="rtRules" />
</node>
<node concept="34oBXx" id="6VRLMeOrTlE" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="7L9cSENFWYr" role="3clFbw">
<node concept="10Nm6u" id="7L9cSENFX3R" role="3uHU7w" />
<node concept="37vLTw" id="7L9cSENFWPx" role="3uHU7B">
<ref role="3cqZAo" node="6xVZN2upvmU" resolve="rulesTemplate" />
</node>
</node>
</node>
<node concept="3clFbH" id="6xVZN2uq2cq" role="3cqZAp" />
<node concept="3cpWs6" id="5BtuWK5zEEV" role="3cqZAp">
<node concept="37vLTw" id="5BtuWK5zF06" role="3cqZAk">

View File

@ -8075,6 +8075,19 @@
</node>
</node>
</node>
<node concept="3clFbF" id="7L9cSENHzpO" role="3cqZAp">
<node concept="2OqwBi" id="7L9cSENHzCY" role="3clFbG">
<node concept="2GrUjf" id="7L9cSENHzpM" role="2Oq$k0">
<ref role="2Gs0qQ" node="6OXbTDzFl4V" resolve="builder" />
</node>
<node concept="liA8E" id="7L9cSENHzYC" role="2OqNvi">
<ref role="37wK5l" to="i348:7L9cSENGVlN" resolve="setQuery" />
<node concept="3clFbT" id="7L9cSENH$5H" role="37wK5m">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="6OXbTDzFwae" role="2GsD0m">
<ref role="3cqZAo" node="6OXbTDzFnYJ" resolve="builders" />
@ -14780,34 +14793,138 @@
</node>
</node>
<node concept="3clFbS" id="5HxDM7DcDze" role="3clF47">
<node concept="3clFbF" id="5HxDM7DcHy$" role="3cqZAp">
<node concept="1Wc70l" id="5HxDM7DcI8X" role="3clFbG">
<node concept="2ZW3vV" id="5HxDM7DcHJ7" role="3uHU7B">
<node concept="3uibUv" id="5HxDM7DcHM1" role="2ZW6by">
<ref role="3uigEE" to="i348:7nPD14OaO1O" resolve="RuleEx" />
</node>
<node concept="37vLTw" id="5HxDM7DcHyy" role="2ZW6bz">
<node concept="3cpWs8" id="7L9cSENH$qU" role="3cqZAp">
<node concept="3cpWsn" id="7L9cSENH$qV" role="3cpWs9">
<property role="TrG5h" value="rex" />
<node concept="3uibUv" id="7L9cSENH$qW" role="1tU5fm">
<ref role="3uigEE" to="i348:7nPD14OaO1O" resolve="RuleEx" />
</node>
<node concept="10QFUN" id="7L9cSENH$yJ" role="33vP2m">
<node concept="37vLTw" id="7L9cSENH$yI" role="10QFUP">
<ref role="3cqZAo" node="5HxDM7DcDzc" resolve="rule" />
</node>
</node>
<node concept="2OqwBi" id="5HxDM7DcJPm" role="3uHU7w">
<node concept="37vLTw" id="5HxDM7DcJ3e" role="2Oq$k0">
<ref role="3cqZAo" node="5HxDM7DcEb5" resolve="originRefs" />
<node concept="3uibUv" id="7L9cSENH$yH" role="10QFUM">
<ref role="3uigEE" to="i348:7nPD14OaO1O" resolve="RuleEx" />
</node>
<node concept="3JPx81" id="5HxDM7DcL6E" role="2OqNvi">
<node concept="2OqwBi" id="5HxDM7DcIwH" role="25WWJ7">
<node concept="1eOMI4" id="5HxDM7DcIfz" role="2Oq$k0">
<node concept="10QFUN" id="5HxDM7DcIfy" role="1eOMHV">
<node concept="37vLTw" id="5HxDM7DcIfx" role="10QFUP">
<ref role="3cqZAo" node="5HxDM7DcDzc" resolve="rule" />
</node>
<node concept="3uibUv" id="5HxDM7DcIkV" role="10QFUM">
<ref role="3uigEE" to="i348:7nPD14OaO1O" resolve="RuleEx" />
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="7L9cSENFKra" role="3cqZAp">
<node concept="3clFbS" id="7L9cSENFKrc" role="3clFbx">
<node concept="3SKdUt" id="7L9cSENHZPb" role="3cqZAp">
<node concept="1PaTwC" id="7L9cSENHZPc" role="1aUNEU">
<node concept="3oM_SD" id="7L9cSENHZPd" role="1PaTwD">
<property role="3oM_SC" value="only" />
</node>
<node concept="3oM_SD" id="7L9cSENI19o" role="1PaTwD">
<property role="3oM_SC" value="query" />
</node>
<node concept="3oM_SD" id="7L9cSENI19F" role="1PaTwD">
<property role="3oM_SC" value="rules" />
</node>
<node concept="3oM_SD" id="7L9cSENI1ay" role="1PaTwD">
<property role="3oM_SC" value="not" />
</node>
<node concept="3oM_SD" id="7L9cSENI1aR" role="1PaTwD">
<property role="3oM_SC" value="depending" />
</node>
<node concept="3oM_SD" id="7L9cSENI1bd" role="1PaTwD">
<property role="3oM_SC" value="on" />
</node>
<node concept="3oM_SD" id="7L9cSENI1cd" role="1PaTwD">
<property role="3oM_SC" value="query" />
</node>
<node concept="3oM_SD" id="7L9cSENI1cC" role="1PaTwD">
<property role="3oM_SC" value="input" />
</node>
<node concept="3oM_SD" id="7L9cSENI1d1" role="1PaTwD">
<property role="3oM_SC" value="count" />
</node>
</node>
</node>
<node concept="3SKdUt" id="7L9cSENIjR2" role="3cqZAp">
<node concept="1PaTwC" id="7L9cSENIjR3" role="1aUNEU">
<node concept="3oM_SD" id="7L9cSENIjR4" role="1PaTwD">
<property role="3oM_SC" value="(i.e." />
</node>
<node concept="3oM_SD" id="7L9cSENIk3x" role="1PaTwD">
<property role="3oM_SC" value="rules" />
</node>
<node concept="3oM_SD" id="7L9cSENIk3G" role="1PaTwD">
<property role="3oM_SC" value="with" />
</node>
<node concept="3oM_SD" id="7L9cSENIk3K" role="1PaTwD">
<property role="3oM_SC" value="stable" />
</node>
<node concept="3oM_SD" id="7L9cSENIk3P" role="1PaTwD">
<property role="3oM_SC" value="rule" />
</node>
<node concept="3oM_SD" id="7L9cSENIk43" role="1PaTwD">
<property role="3oM_SC" value="hash)" />
</node>
</node>
</node>
<node concept="3cpWs6" id="7L9cSENHDNY" role="3cqZAp">
<node concept="2OqwBi" id="7L9cSENI27_" role="3cqZAk">
<node concept="2OqwBi" id="7L9cSENHVsE" role="2Oq$k0">
<node concept="37vLTw" id="7L9cSENHTYK" role="2Oq$k0">
<ref role="3cqZAo" node="7L9cSENH$qV" resolve="rex" />
</node>
<node concept="liA8E" id="7L9cSENI74N" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.tag()" resolve="tag" />
</node>
</node>
<node concept="liA8E" id="7L9cSENI35Q" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object)" resolve="equals" />
<node concept="2OqwBi" id="7L9cSENI9EP" role="37wK5m">
<node concept="37vLTw" id="7L9cSENI92n" role="2Oq$k0">
<ref role="3cqZAo" node="7L9cSENH$qV" resolve="rex" />
</node>
<node concept="liA8E" id="7L9cSENIa6k" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.uniqueTag()" resolve="uniqueTag" />
</node>
</node>
<node concept="liA8E" id="5HxDM7DcII1" role="2OqNvi">
<ref role="37wK5l" to="i348:6tnA4677QqC" resolve="originRef" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="7L9cSENH$Tk" role="3clFbw">
<node concept="37vLTw" id="7L9cSENH$$L" role="2Oq$k0">
<ref role="3cqZAo" node="7L9cSENH$qV" resolve="rex" />
</node>
<node concept="liA8E" id="7L9cSENH_40" role="2OqNvi">
<ref role="37wK5l" to="i348:7L9cSENG5u4" resolve="isQuery" />
</node>
</node>
<node concept="9aQIb" id="7L9cSENH_5j" role="9aQIa">
<node concept="3clFbS" id="7L9cSENH_5k" role="9aQI4">
<node concept="3SKdUt" id="7L9cSENHXIb" role="3cqZAp">
<node concept="1PaTwC" id="7L9cSENHXIc" role="1aUNEU">
<node concept="3oM_SD" id="7L9cSENHXId" role="1PaTwD">
<property role="3oM_SC" value="null" />
</node>
<node concept="3oM_SD" id="7L9cSENHY_0" role="1PaTwD">
<property role="3oM_SC" value="origin" />
</node>
<node concept="3oM_SD" id="7L9cSENHY_W" role="1PaTwD">
<property role="3oM_SC" value="passes" />
</node>
</node>
</node>
<node concept="3cpWs6" id="7L9cSENH_MB" role="3cqZAp">
<node concept="2OqwBi" id="5HxDM7DcJPm" role="3cqZAk">
<node concept="37vLTw" id="5HxDM7DcJ3e" role="2Oq$k0">
<ref role="3cqZAo" node="5HxDM7DcEb5" resolve="originRefs" />
</node>
<node concept="3JPx81" id="5HxDM7DcL6E" role="2OqNvi">
<node concept="2OqwBi" id="5HxDM7DcIwH" role="25WWJ7">
<node concept="liA8E" id="5HxDM7DcII1" role="2OqNvi">
<ref role="37wK5l" to="i348:6tnA4677QqC" resolve="originRef" />
</node>
<node concept="37vLTw" id="7L9cSENHQFa" role="2Oq$k0">
<ref role="3cqZAo" node="7L9cSENH$qV" resolve="rex" />
</node>
</node>
</node>
</node>
</node>

View File

@ -2815,6 +2815,21 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="7L9cSENG5s4" role="jymVt" />
<node concept="3clFb_" id="7L9cSENG5u4" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="isQuery" />
<node concept="3clFbS" id="7L9cSENG5u7" role="3clF47" />
<node concept="3Tm1VV" id="7L9cSENG5tk" role="1B3o_S" />
<node concept="10P_77" id="7L9cSENG5u1" role="3clF45" />
<node concept="P$JXv" id="7L9cSENG5vr" role="lGtFl">
<node concept="TZ5HA" id="7L9cSENG5vs" role="TZ5H$">
<node concept="1dT_AC" id="7L9cSENG5vt" role="1dT_Ay">
<property role="1dT_AB" value="Returns true if this rule is a part of query template" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="7nPD14OaO2E" role="jymVt" />
<node concept="3Tm1VV" id="7nPD14OaO1P" role="1B3o_S" />
<node concept="3uibUv" id="7nPD14OaO2v" role="1zkMxy">
@ -3104,6 +3119,31 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="7L9cSENGM0W" role="jymVt" />
<node concept="3clFb_" id="7L9cSENGVlN" role="jymVt">
<property role="TrG5h" value="setQuery" />
<node concept="37vLTG" id="7L9cSENH1rk" role="3clF46">
<property role="TrG5h" value="isQuery" />
<node concept="10P_77" id="7L9cSENH3um" role="1tU5fm" />
</node>
<node concept="3clFbS" id="7L9cSENGVlQ" role="3clF47">
<node concept="3clFbF" id="7L9cSENH6ea" role="3cqZAp">
<node concept="37vLTI" id="7L9cSENHlym" role="3clFbG">
<node concept="37vLTw" id="7L9cSENHlBl" role="37vLTx">
<ref role="3cqZAo" node="7L9cSENH1rk" resolve="isQuery" />
</node>
<node concept="2OqwBi" id="7L9cSENH6iO" role="37vLTJ">
<node concept="Xjq3P" id="7L9cSENH6e9" role="2Oq$k0" />
<node concept="2OwXpG" id="7L9cSENHleV" role="2OqNvi">
<ref role="2Oxat5" node="7L9cSENHg33" resolve="isQuery" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="7L9cSENGQ8w" role="1B3o_S" />
<node concept="3cqZAl" id="7L9cSENGSsI" role="3clF45" />
</node>
<node concept="2tJIrI" id="1eEe91OXlkK" role="jymVt" />
<node concept="3clFb_" id="32fHqDf8Vx1" role="jymVt">
<property role="TrG5h" value="appendAlternation" />
@ -3565,6 +3605,36 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="6VRLMeOe$0O" role="jymVt" />
<node concept="3clFb_" id="6VRLMeOeOlh" role="jymVt">
<property role="TrG5h" value="processMacroInput" />
<node concept="37vLTG" id="6VRLMeOf0mw" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="6VRLMeOfpk0" role="1tU5fm" />
</node>
<node concept="3clFbS" id="6VRLMeOeOlk" role="3clF47">
<node concept="3clFbF" id="6VRLMeOfs12" role="3cqZAp">
<node concept="2OqwBi" id="6VRLMeOfs6v" role="3clFbG">
<node concept="37vLTw" id="6VRLMeOfs11" role="2Oq$k0">
<ref role="3cqZAo" node="16lXiqgJQmy" resolve="usedData" />
</node>
<node concept="liA8E" id="6VRLMeOfsYM" role="2OqNvi">
<ref role="37wK5l" node="4VNF0fT39lC" resolve="doProcessUsedData" />
<node concept="37vLTw" id="6VRLMeOft84" role="37wK5m">
<ref role="3cqZAo" node="6VRLMeOf0mw" resolve="input" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6VRLMeOftjP" role="3cqZAp">
<node concept="Xjq3P" id="6VRLMeOftjN" role="3clFbG" />
</node>
</node>
<node concept="3Tm1VV" id="6VRLMeOeFDV" role="1B3o_S" />
<node concept="3uibUv" id="6VRLMeOeMah" role="3clF45">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="2tJIrI" id="77AxcO4ZrEu" role="jymVt" />
<node concept="3clFb_" id="7nkyKX7mcq7" role="jymVt">
<property role="TrG5h" value="hasHead" />
@ -3770,94 +3840,106 @@
</node>
</node>
</node>
<node concept="3SKdUt" id="cmlg9NIU6c" role="3cqZAp">
<node concept="1PaTwC" id="cmlg9NIU6d" role="1aUNEU">
<node concept="3oM_SD" id="cmlg9NIU6f" role="1PaTwD">
<property role="3oM_SC" value="a" />
<node concept="3clFbJ" id="7L9cSEO0nHm" role="3cqZAp">
<node concept="3clFbS" id="7L9cSEO0nHo" role="3clFbx">
<node concept="3SKdUt" id="cmlg9NIU6c" role="3cqZAp">
<node concept="1PaTwC" id="cmlg9NIU6d" role="1aUNEU">
<node concept="3oM_SD" id="cmlg9NIU6f" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="cmlg9NIZc7" role="1PaTwD">
<property role="3oM_SC" value="rule" />
</node>
<node concept="3oM_SD" id="cmlg9NIZca" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="cmlg9NIZce" role="1PaTwD">
<property role="3oM_SC" value="uniquely" />
</node>
<node concept="3oM_SD" id="cmlg9NIZcF" role="1PaTwD">
<property role="3oM_SC" value="identified" />
</node>
<node concept="3oM_SD" id="cmlg9NIZd9" role="1PaTwD">
<property role="3oM_SC" value="by" />
</node>
<node concept="3oM_SD" id="cmlg9NIZdg" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="cmlg9NIZgO" role="1PaTwD">
<property role="3oM_SC" value="tuple:" />
</node>
<node concept="3oM_SD" id="cmlg9NIZgx" role="1PaTwD">
<property role="3oM_SC" value="&lt;tag," />
</node>
<node concept="3oM_SD" id="cmlg9NIZh6" role="1PaTwD">
<property role="3oM_SC" value="suffix," />
</node>
<node concept="3oM_SD" id="cmlg9NJblO" role="1PaTwD">
<property role="3oM_SC" value="usedDataHash&gt;" />
</node>
</node>
</node>
<node concept="3oM_SD" id="cmlg9NIZc7" role="1PaTwD">
<property role="3oM_SC" value="rule" />
<node concept="3SKdUt" id="6n6HVW5bjWQ" role="3cqZAp">
<node concept="1PaTwC" id="6n6HVW5bjWR" role="1aUNEU">
<node concept="3oM_SD" id="6n6HVW5bjWS" role="1PaTwD">
<property role="3oM_SC" value="for" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy1" role="1PaTwD">
<property role="3oM_SC" value="computation" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy4" role="1PaTwD">
<property role="3oM_SC" value="of" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy8" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpyP" role="1PaTwD">
<property role="3oM_SC" value="hash" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpyV" role="1PaTwD">
<property role="3oM_SC" value="see" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpza" role="1PaTwD">
<property role="3oM_SC" value="processUsedData" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpzU" role="1PaTwD">
<property role="3oM_SC" value="method" />
</node>
</node>
</node>
<node concept="3oM_SD" id="cmlg9NIZca" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="cmlg9NIZce" role="1PaTwD">
<property role="3oM_SC" value="uniquely" />
</node>
<node concept="3oM_SD" id="cmlg9NIZcF" role="1PaTwD">
<property role="3oM_SC" value="identified" />
</node>
<node concept="3oM_SD" id="cmlg9NIZd9" role="1PaTwD">
<property role="3oM_SC" value="by" />
</node>
<node concept="3oM_SD" id="cmlg9NIZdg" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="cmlg9NIZgO" role="1PaTwD">
<property role="3oM_SC" value="tuple:" />
</node>
<node concept="3oM_SD" id="cmlg9NIZgx" role="1PaTwD">
<property role="3oM_SC" value="&lt;tag," />
</node>
<node concept="3oM_SD" id="cmlg9NIZh6" role="1PaTwD">
<property role="3oM_SC" value="suffix," />
</node>
<node concept="3oM_SD" id="cmlg9NJblO" role="1PaTwD">
<property role="3oM_SC" value="usedDataHash&gt;" />
<node concept="3clFbF" id="cmlg9Nz1Kg" role="3cqZAp">
<node concept="2OqwBi" id="cmlg9Nz1Kh" role="3clFbG">
<node concept="2OqwBi" id="cmlg9Nz1Ki" role="2Oq$k0">
<node concept="liA8E" id="cmlg9Nz1Kj" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~StringBuilder.append(java.lang.String)" resolve="append" />
<node concept="Xl_RD" id="cmlg9Nz1Kk" role="37wK5m">
<property role="Xl_RC" value="_" />
</node>
</node>
<node concept="37vLTw" id="cmlg9Nz1Kl" role="2Oq$k0">
<ref role="3cqZAo" node="6$HuwhrxNoF" resolve="sb" />
</node>
</node>
<node concept="liA8E" id="cmlg9Nz1Km" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~StringBuilder.append(int)" resolve="append" />
<node concept="2OqwBi" id="16lXiqgK$t1" role="37wK5m">
<node concept="37vLTw" id="16lXiqgK$kU" role="2Oq$k0">
<ref role="3cqZAo" node="16lXiqgJQmy" resolve="usedData" />
</node>
<node concept="liA8E" id="16lXiqgK_eS" role="2OqNvi">
<ref role="37wK5l" node="16lXiqgJDiN" resolve="hashCode" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="6n6HVW5bjWQ" role="3cqZAp">
<node concept="1PaTwC" id="6n6HVW5bjWR" role="1aUNEU">
<node concept="3oM_SD" id="6n6HVW5bjWS" role="1PaTwD">
<property role="3oM_SC" value="for" />
<node concept="2OqwBi" id="7L9cSEO0sXt" role="3clFbw">
<node concept="37vLTw" id="7L9cSEO0sKJ" role="2Oq$k0">
<ref role="3cqZAo" node="16lXiqgJQmy" resolve="usedData" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy1" role="1PaTwD">
<property role="3oM_SC" value="computation" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy4" role="1PaTwD">
<property role="3oM_SC" value="of" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpy8" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpyP" role="1PaTwD">
<property role="3oM_SC" value="hash" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpyV" role="1PaTwD">
<property role="3oM_SC" value="see" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpza" role="1PaTwD">
<property role="3oM_SC" value="processUsedData" />
</node>
<node concept="3oM_SD" id="6n6HVW5bpzU" role="1PaTwD">
<property role="3oM_SC" value="method" />
</node>
</node>
</node>
<node concept="3clFbF" id="cmlg9Nz1Kg" role="3cqZAp">
<node concept="2OqwBi" id="cmlg9Nz1Kh" role="3clFbG">
<node concept="2OqwBi" id="cmlg9Nz1Ki" role="2Oq$k0">
<node concept="liA8E" id="cmlg9Nz1Kj" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~StringBuilder.append(java.lang.String)" resolve="append" />
<node concept="Xl_RD" id="cmlg9Nz1Kk" role="37wK5m">
<property role="Xl_RC" value="_" />
</node>
</node>
<node concept="37vLTw" id="cmlg9Nz1Kl" role="2Oq$k0">
<ref role="3cqZAo" node="6$HuwhrxNoF" resolve="sb" />
</node>
</node>
<node concept="liA8E" id="cmlg9Nz1Km" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~StringBuilder.append(int)" resolve="append" />
<node concept="2OqwBi" id="16lXiqgK$t1" role="37wK5m">
<node concept="37vLTw" id="16lXiqgK$kU" role="2Oq$k0">
<ref role="3cqZAo" node="16lXiqgJQmy" resolve="usedData" />
</node>
<node concept="liA8E" id="16lXiqgK_eS" role="2OqNvi">
<ref role="37wK5l" node="16lXiqgJDiN" resolve="hashCode" />
</node>
</node>
<node concept="liA8E" id="7L9cSEO171I" role="2OqNvi">
<ref role="37wK5l" node="7L9cSEO0P4q" resolve="hasChanges" />
</node>
</node>
</node>
@ -3877,6 +3959,36 @@
<node concept="2tJIrI" id="1lzLQ0zudT2" role="jymVt" />
<node concept="312cEu" id="16lXiqgJa$D" role="jymVt">
<property role="TrG5h" value="UsedDataRecorder" />
<node concept="2tJIrI" id="7L9cSEO0yY4" role="jymVt" />
<node concept="Wx3nA" id="7L9cSEO0FrF" role="jymVt">
<property role="TrG5h" value="EMPTY_HASH" />
<node concept="3Tm6S6" id="7L9cSEO0BL6" role="1B3o_S" />
<node concept="10Oyi0" id="7L9cSEO0Fhl" role="1tU5fm" />
<node concept="3cmrfG" id="7L9cSEO0GhS" role="33vP2m">
<property role="3cmrfH" value="19" />
</node>
</node>
<node concept="2tJIrI" id="7L9cSEO0INJ" role="jymVt" />
<node concept="3clFb_" id="7L9cSEO0P4q" role="jymVt">
<property role="TrG5h" value="hasChanges" />
<node concept="3clFbS" id="7L9cSEO0P4t" role="3clF47">
<node concept="3clFbF" id="7L9cSEO0RI2" role="3cqZAp">
<node concept="3y3z36" id="7L9cSEO0Tn2" role="3clFbG">
<node concept="37vLTw" id="7L9cSEO0TTB" role="3uHU7w">
<ref role="3cqZAo" node="7L9cSEO0FrF" resolve="EMPTY_HASH" />
</node>
<node concept="2OqwBi" id="7L9cSEO0ROc" role="3uHU7B">
<node concept="Xjq3P" id="7L9cSEO0RI1" role="2Oq$k0" />
<node concept="liA8E" id="7L9cSEO0RTX" role="2OqNvi">
<ref role="37wK5l" node="16lXiqgJDiN" resolve="hashCode" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="7L9cSEO0MhN" role="1B3o_S" />
<node concept="10P_77" id="7L9cSEO0OU4" role="3clF45" />
</node>
<node concept="2tJIrI" id="16lXiqgKDfM" role="jymVt" />
<node concept="3clFbW" id="16lXiqgKG08" role="jymVt">
<node concept="37vLTG" id="4VNF0fT3wg2" role="3clF46">
@ -5186,8 +5298,9 @@
<property role="TrG5h" value="usedDataHash" />
<node concept="3Tm6S6" id="cmlg9Nyqh3" role="1B3o_S" />
<node concept="10Oyi0" id="cmlg9NyC3Q" role="1tU5fm" />
<node concept="3cmrfG" id="cmlg9NyQ5B" role="33vP2m">
<property role="3cmrfH" value="19" />
<node concept="10M0yZ" id="7L9cSEO0WtW" role="33vP2m">
<ref role="3cqZAo" node="7L9cSEO0FrF" resolve="EMPTY_HASH" />
<ref role="1PxDUh" node="16lXiqgJa$D" resolve="RuleBuilder.UsedDataRecorder" />
</node>
</node>
<node concept="312cEg" id="5yr01fEduwQ" role="jymVt">
@ -5368,6 +5481,9 @@
<node concept="37vLTw" id="7eGEHDlc$dB" role="37wK5m">
<ref role="3cqZAo" node="7eGEHDlc$cp" resolve="kind" />
</node>
<node concept="37vLTw" id="7L9cSEO00EH" role="37wK5m">
<ref role="3cqZAo" node="7L9cSENHg33" resolve="isQuery" />
</node>
<node concept="37vLTw" id="cmlg9NSNUN" role="37wK5m">
<ref role="3cqZAo" node="6xVZN2uAbNZ" resolve="basetag" />
</node>
@ -5828,6 +5944,12 @@
<node concept="3Tm6S6" id="6xVZN2uA62G" role="1B3o_S" />
<node concept="17QB3L" id="6xVZN2uAbM7" role="1tU5fm" />
</node>
<node concept="312cEg" id="7L9cSENHg33" role="jymVt">
<property role="TrG5h" value="isQuery" />
<node concept="3Tm6S6" id="7L9cSENH9Wm" role="1B3o_S" />
<node concept="10P_77" id="7L9cSENHdFx" role="1tU5fm" />
<node concept="3clFbT" id="7L9cSENHl33" role="33vP2m" />
</node>
<node concept="312cEg" id="7nPD14Ob4vA" role="jymVt">
<property role="TrG5h" value="templateRef" />
<node concept="3Tm6S6" id="7nPD14Ob4vB" role="1B3o_S" />
@ -6398,6 +6520,19 @@
</node>
</node>
</node>
<node concept="3clFbF" id="7L9cSENGule" role="3cqZAp">
<node concept="37vLTI" id="7L9cSENGvZz" role="3clFbG">
<node concept="37vLTw" id="7L9cSENGJe7" role="37vLTx">
<ref role="3cqZAo" node="7L9cSENGIgN" resolve="isQuery" />
</node>
<node concept="2OqwBi" id="7L9cSENGv2j" role="37vLTJ">
<node concept="Xjq3P" id="7L9cSENGulc" role="2Oq$k0" />
<node concept="2OwXpG" id="7L9cSENGvrn" role="2OqNvi">
<ref role="2Oxat5" node="7L9cSENGfem" resolve="isQuery" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="cmlg9NSJ65" role="3cqZAp">
<node concept="37vLTI" id="cmlg9NSKjm" role="3clFbG">
<node concept="37vLTw" id="cmlg9NSKBb" role="37vLTx">
@ -6542,6 +6677,10 @@
<ref role="3uigEE" to="av0y:~Rule$Kind" resolve="Rule.Kind" />
</node>
</node>
<node concept="37vLTG" id="7L9cSENGIgN" role="3clF46">
<property role="TrG5h" value="isQuery" />
<node concept="10P_77" id="7L9cSENGJbO" role="1tU5fm" />
</node>
<node concept="37vLTG" id="cmlg9NSBZR" role="3clF46">
<property role="TrG5h" value="basetag" />
<node concept="17QB3L" id="cmlg9NSD35" role="1tU5fm" />
@ -6775,6 +6914,22 @@
<node concept="3uibUv" id="7nPD14Ob5KM" role="1zkMxy">
<ref role="3uigEE" node="7nPD14OaO1O" resolve="RuleEx" />
</node>
<node concept="3clFb_" id="7L9cSENGlwU" role="jymVt">
<property role="TrG5h" value="isQuery" />
<node concept="3Tm1VV" id="7L9cSENGlwW" role="1B3o_S" />
<node concept="10P_77" id="7L9cSENGlwX" role="3clF45" />
<node concept="3clFbS" id="7L9cSENGlx1" role="3clF47">
<node concept="3clFbF" id="7L9cSENGlx4" role="3cqZAp">
<node concept="37vLTw" id="7L9cSENGtc_" role="3clFbG">
<ref role="3cqZAo" node="7L9cSENGfem" resolve="isQuery" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="7L9cSENGlx2" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="7L9cSENGqrp" role="jymVt" />
<node concept="3clFb_" id="7eGEHDlc$e1" role="jymVt">
<property role="TrG5h" value="headKept" />
<property role="1EzhhJ" value="false" />
@ -7001,6 +7156,11 @@
<node concept="3Tm6S6" id="cmlg9NUxKU" role="1B3o_S" />
<node concept="17QB3L" id="cmlg9NUxKV" role="1tU5fm" />
</node>
<node concept="312cEg" id="7L9cSENGfem" role="jymVt">
<property role="TrG5h" value="isQuery" />
<node concept="3Tm6S6" id="7L9cSENGbOY" role="1B3o_S" />
<node concept="10P_77" id="7L9cSENGeWe" role="1tU5fm" />
</node>
<node concept="312cEg" id="cmlg9NR7Hw" role="jymVt">
<property role="TrG5h" value="templateRef" />
<node concept="3Tm6S6" id="cmlg9NR7Hx" role="1B3o_S" />