<?xml version='1.0' encoding='UTF-8'?>
<AST>
  <HeaderNode startPos="1,1,0" endPos="11,1,243">
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="element" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="1" name="obj" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="2" name="func" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="3" name="$$" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="4" name="$" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="5" name="mapKeys" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="6" name="$$$" startPos="6,27,134" endPos="6,27,134"/>
      <NameSlot slot="7" name="payload" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="8" name="key" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="dw::Core" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <ExternalBindings startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="7" name="payload" startPos="0,0,0" endPos="0,0,0"/>
    </ExternalBindings>
    <VersionDirective startPos="1,1,0" endPos="1,8,7">
      <VersionMajor startPos="1,5,4" endPos="1,6,5"/>
      <VersionMinor startPos="1,7,6" endPos="1,8,7"/>
    </VersionDirective>
    <OutputDirective startPos="3,1,38" endPos="3,23,60"/>
    <FunctionDirective startPos="4,1,61" endPos="10,4,242">
      <NameSlot slot="5" name="mapKeys" startPos="4,5,65" endPos="4,12,72"/>
      <DynamicFunctionNode startPos="5,3,92" endPos="10,4,242">
        <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="4,13,73" endPos="4,20,80">
          <NameSlot slot="0" name="element" startPos="4,13,73" endPos="4,20,80"/>
          <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
            <TypeNode startPos="0,0,0" endPos="0,0,0"/>
          </LiteralTypeNode>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="4,22,82" endPos="4,26,86">
          <NameSlot slot="2" name="func" startPos="4,22,82" endPos="4,26,86"/>
          <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
            <TypeNode startPos="0,0,0" endPos="0,0,0"/>
          </LiteralTypeNode>
        </FunctionParameterNode>
        <PatternMatcherNode startPos="5,3,92" endPos="10,4,242">
          <VariableReferenceNode startPos="5,3,92" endPos="5,10,99"/>
          <TypePatternNode typeRequiresMaterialize="false" startPos="6,10,117" endPos="8,6,218">
            <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
              <TypeNode startPos="6,17,124" endPos="6,23,130"/>
            </LiteralTypeNode>
            <DynamicFunctionNode startPos="6,27,134" endPos="8,6,218">
              <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="1" name="obj" startPos="6,10,117" endPos="6,13,120"/>
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </FunctionParameterNode>
              <FunctionCallNode startPos="6,27,134" endPos="8,6,218">
                <VariableReferenceNode startPos="6,31,138" endPos="6,40,147"/>
                <VariableReferenceNode startPos="6,27,134" endPos="6,30,137"/>
                <DynamicFunctionNode startPos="6,41,148" endPos="8,6,218">
                  <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="6,27,134" endPos="6,27,134">
                    <NameSlot slot="4" name="$" startPos="6,27,134" endPos="6,27,134"/>
                    <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                      <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                    </LiteralTypeNode>
                  </FunctionParameterNode>
                  <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="6,27,134" endPos="6,27,134">
                    <NameSlot slot="3" name="$$" startPos="6,27,134" endPos="6,27,134"/>
                    <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                      <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                    </LiteralTypeNode>
                  </FunctionParameterNode>
                  <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="6,27,134" endPos="6,27,134">
                    <NameSlot slot="6" name="$$$" startPos="6,27,134" endPos="6,27,134"/>
                    <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                      <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                    </LiteralTypeNode>
                  </FunctionParameterNode>
                  <ObjectNode startPos="6,41,148" endPos="8,6,218">
                    <KeyValuePairNode startPos="7,7,156" endPos="7,63,212">
                      <DynamicKeyNode startPos="7,8,157" endPos="7,47,196">
                        <FunctionCallNode startPos="7,8,157" endPos="7,16,165">
                          <VariableReferenceNode startPos="7,8,157" endPos="7,12,161"/>
                          <VariableReferenceNode startPos="7,13,162" endPos="7,15,164"/>
                        </FunctionCallNode>
                        <AttributesNode startPos="7,18,167" endPos="7,45,194">
                          <IfNode startPos="7,21,170" endPos="7,42,191">
                            <NullSafeNode startPos="7,30,179" endPos="7,34,183">
                              <UnaryOpNode name="All Attribute Selector (.@)" startPos="7,30,179" endPos="7,34,183">
                                <VariableReferenceNode startPos="7,30,179" endPos="7,32,181"/>
                              </UnaryOpNode>
                            </NullSafeNode>
                            <ExistsSelectorNode startPos="7,24,173" endPos="7,28,177"/>
                            <LiteralObjectNode startPos="7,40,189" endPos="7,42,191"/>
                          </IfNode>
                        </AttributesNode>
                      </DynamicKeyNode>
                      <FunctionCallNode startPos="7,47,196" endPos="7,63,212">
                        <VariableReferenceNode startPos="7,47,196" endPos="7,54,203"/>
                        <VariableReferenceNode startPos="7,55,204" endPos="7,56,205"/>
                        <VariableReferenceNode startPos="7,58,207" endPos="7,62,211"/>
                      </FunctionCallNode>
                    </KeyValuePairNode>
                  </ObjectNode>
                </DynamicFunctionNode>
              </FunctionCallNode>
            </DynamicFunctionNode>
          </TypePatternNode>
          <DefaultPatternNode startPos="9,5,223" endPos="9,20,238">
            <DynamicFunctionNode startPos="9,13,231" endPos="9,20,238">
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="4" name="$" startPos="0,0,0" endPos="0,0,0"/>
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </FunctionParameterNode>
              <VariableReferenceNode startPos="9,13,231" endPos="9,20,238"/>
            </DynamicFunctionNode>
          </DefaultPatternNode>
        </PatternMatcherNode>
      </DynamicFunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="12,1,247" endPos="12,42,288">
    <VariableReferenceNode startPos="12,1,247" endPos="12,8,254"/>
    <VariableReferenceNode startPos="12,9,255" endPos="12,16,262"/>
    <DynamicFunctionNode startPos="12,19,265" endPos="12,40,286">
      <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="12,20,266" endPos="12,23,269">
        <NameSlot slot="8" name="key" startPos="12,20,266" endPos="12,23,269"/>
        <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
          <TypeNode startPos="0,0,0" endPos="0,0,0"/>
        </LiteralTypeNode>
      </FunctionParameterNode>
      <FunctionCallNode startPos="12,29,275" endPos="12,39,285">
        <VariableReferenceNode startPos="12,29,275" endPos="12,34,280"/>
        <VariableReferenceNode startPos="12,35,281" endPos="12,38,284"/>
      </FunctionCallNode>
    </DynamicFunctionNode>
  </FunctionCallNode>
</AST>