<component name="Rearranger">
  <Rearranger KeepGettersSettersTogether="false" KeepGettersSettersWithProperty="false" KeepOverloadedMethodsTogether="false" ConfirmBeforeRearranging="false" RearrangeInnerClasses="false" globalCommentPattern="" overloadedOrder="0" ShowParameterTypes="true" ShowParameterNames="false" ShowFields="true" ShowTypeAfterMethod="true" ShowRules="false" ShowMatchedRules="true" ShowComments="true" RemoveBlanksInsideCodeBlocks="false">
    <Items>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="2" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Abstract\ ===============================================================\n</Comment>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="true" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="true" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="true" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="false" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Constants\ ==============================================================\n</Comment>
      <Field alphabetize="false" priority="1" sortByType="false" ignoreTypeCase="false">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="true" invert="false" />
        <Final value="true" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <InitializedToAnonymousClass value="false" invert="false" />
        <Transient value="false" invert="false" />
        <Volatile value="false" invert="false" />
        <TypeMatch match="false" invert="false" pattern="" />
      </Field>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="2" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Static\ =================================================================\n</Comment>
      <Field alphabetize="false" priority="1" sortByType="false" ignoreTypeCase="false">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="true" invert="false" />
        <Final value="true" invert="true" />
        <NameMatch match="false" invert="false" pattern="" />
        <InitializedToAnonymousClass value="false" invert="false" />
        <Transient value="false" invert="false" />
        <Volatile value="false" invert="false" />
        <TypeMatch match="false" invert="false" pattern="" />
      </Field>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="true" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="3" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Fields\ =================================================================\n</Comment>
      <Field alphabetize="false" priority="1" sortByType="false" ignoreTypeCase="false">
        <ProtectionLevel public="false" private="true" protected="false" package="false" invert="false" />
        <Static value="true" invert="true" />
        <Final value="true" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <InitializedToAnonymousClass value="false" invert="false" />
        <Transient value="false" invert="false" />
        <Volatile value="false" invert="false" />
        <TypeMatch match="false" invert="false" pattern="" />
      </Field>
      <Field alphabetize="false" priority="1" sortByType="false" ignoreTypeCase="false">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="true" invert="true" />
        <Final value="true" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <InitializedToAnonymousClass value="false" invert="false" />
        <Transient value="false" invert="false" />
        <Volatile value="false" invert="false" />
        <TypeMatch match="false" invert="false" pattern="" />
      </Field>
      <Field alphabetize="false" priority="1" sortByType="false" ignoreTypeCase="false">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="true" invert="true" />
        <Final value="true" invert="true" />
        <NameMatch match="false" invert="false" pattern="" />
        <InitializedToAnonymousClass value="false" invert="false" />
        <Transient value="false" invert="false" />
        <Volatile value="false" invert="false" />
        <TypeMatch match="false" invert="false" pattern="" />
      </Field>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Setup\ ==================================================================\n</Comment>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="true" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="4" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Implemented\ ============================================================\n</Comment>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="true" invert="true" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="true" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="true" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="true" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="true" invert="true" />
        <Overriding value="true" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="true" invert="false" />
        <Overriding value="true" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="5" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Accessing\ ==============================================================\n</Comment>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="true" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="true" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="true" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="true" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="true" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Utils\ ==================================================================\n</Comment>
      <Method alphabetize="false" priority="2">
        <ProtectionLevel public="false" private="true" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="2" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Description\ ============================================================\n</Comment>
      <Method alphabetize="false" priority="3">
        <ProtectionLevel public="true" private="false" protected="true" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="true" invert="false" pattern="toDescription" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="true" invert="false" pattern="void" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Method alphabetize="false" priority="3">
        <ProtectionLevel public="true" private="false" protected="true" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="true" invert="false" pattern="fromDescription" />
        <Abstract value="false" invert="false" />
        <Native value="false" invert="false" />
        <Synchronized value="false" invert="false" />
        <Overridden value="false" invert="false" />
        <Overriding value="false" invert="false" />
        <Implemented value="false" invert="false" />
        <Implementing value="false" invert="false" />
        <Initializer value="false" invert="false" />
        <ReturnTypeMatch match="false" invert="false" pattern="void" />
        <MIN_PARAMS match="false" opType="0" value="0" />
        <MAX_PARAMS match="false" opType="1" value="0" />
        <Misc constructorMethod="false" getterSetter="false" canonicalMethod="false" otherMethod="false" invertMethod="false" noExtractedMethods="false" />
        <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
      </Method>
      <Comment condition="2" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="true" allSubsequentRules="false" fillString="" useProjectWidthForFill="true" fillWidth="0">\n\t//\ Inner\ Classes\ ==========================================================\n</Comment>
      <InnerClass alphabetize="false" priority="1">
        <ProtectionLevel public="false" private="false" protected="false" package="false" invert="false" />
        <Static value="false" invert="false" />
        <Final value="false" invert="false" />
        <NameMatch match="false" invert="false" pattern="" />
        <Abstract value="false" invert="false" />
      </InnerClass>
    </Items>
    <Classes />
    <DefaultGetterSetterDefinition>
      <GetterSetterDefinition getterBody="2" getterName="1" setterBody="1" setterName="1" />
    </DefaultGetterSetterDefinition>
    <RelatedMethods moveExtractedMethods="false" belowFirstCaller="false" depthFirstOrdering="true" ordering="0" nonPrivateTreatment="2" commentType="0" fillString="" useProjectWidthForFill="true" fillWidth="0">
      <PrecedingComment>
        <Comment condition="0" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="true" allSubsequentRules="true" fillString="" useProjectWidthForFill="true" fillWidth="0" />
      </PrecedingComment>
      <TrailingComment>
        <Comment condition="0" nPrecedingRulesToMatch="1" nSubsequentRulesToMatch="1" allPrecedingRules="true" allSubsequentRules="true" fillString="" useProjectWidthForFill="true" fillWidth="0" />
      </TrailingComment>
    </RelatedMethods>
    <AfterClassLBrace Force="false" nBlankLines="0" />
    <AfterClassRBrace Force="false" nBlankLines="0" />
    <BeforeClassRBrace Force="true" nBlankLines="0" />
    <BeforeMethodLBrace Force="false" nBlankLines="1" />
    <AfterMethodLBrace Force="true" nBlankLines="0" />
    <AfterMethodRBrace Force="false" nBlankLines="0" />
    <BeforeMethodRBrace Force="true" nBlankLines="0" />
    <NewlinesAtEOF Force="false" nBlankLines="0" />
  </Rearranger>
</component>