var SWE_2_0_Module_Factory = function () {
  var SWE_2_0 = {
    n: 'SWE_2_0',
    dens: 'http:\/\/www.opengis.net\/swe\/2.0',
    dans: 'http:\/\/www.w3.org\/1999\/xlink',
    deps: ['XLink_1_0'],
    tis: [{
        ln: 'CountPropertyType',
        ps: [{
            n: 'count',
            rq: true,
            en: 'Count',
            ti: '.CountType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'ComponentPropertyType',
        ps: [{
            n: 'component',
            rq: true,
            en: 'Component',
            ti: '.ComponentType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'TextPropertyType',
        ps: [{
            n: 'text',
            rq: true,
            en: 'Text',
            ti: '.TextType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'BlockPropertyByValueType',
        ps: [{
            n: 'block',
            rq: true,
            en: 'Block',
            ti: '.BlockType'
          }]
      }, {
        ln: 'DataRecordPropertyByValueType',
        ps: [{
            n: 'dataRecord',
            rq: true,
            en: 'DataRecord',
            ti: '.DataRecordType'
          }]
      }, {
        ln: 'NilValuesType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'nilValue',
            rq: true,
            col: true,
            ti: '.NilValue'
          }]
      }, {
        ln: 'TimePropertyType',
        ps: [{
            n: 'time',
            rq: true,
            en: 'Time',
            ti: '.TimeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataStreamType',
        bti: '.AbstractSWEIdentifiableType',
        ps: [{
            n: 'elementCount',
            ti: '.DataStreamType.ElementCount'
          }, {
            n: 'elementType',
            rq: true,
            ti: '.DataStreamType.ElementType'
          }, {
            n: 'encoding',
            rq: true,
            ti: '.DataStreamType.Encoding'
          }, {
            n: 'values',
            rq: true,
            ti: '.EncodedValuesPropertyType'
          }]
      }, {
        ln: 'TextType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'constraint',
            ti: '.AllowedTokensPropertyType'
          }, {
            n: 'value'
          }]
      }, {
        ln: 'CategoryRangePropertyType',
        ps: [{
            n: 'categoryRange',
            rq: true,
            en: 'CategoryRange',
            ti: '.CategoryRangeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AnyNumericalPropertyType',
        ps: [{
            n: 'count',
            rq: true,
            en: 'Count',
            ti: '.CountType'
          }, {
            n: 'quantity',
            rq: true,
            en: 'Quantity',
            ti: '.QuantityType'
          }, {
            n: 'time',
            rq: true,
            en: 'Time',
            ti: '.TimeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataChoiceType.ChoiceValue',
        tn: null,
        ps: [{
            n: 'category',
            rq: true,
            en: 'Category',
            ti: '.CategoryType'
          }]
      }, {
        ln: 'ComponentOrBlockPropertyType',
        ps: [{
            n: 'component',
            rq: true,
            en: 'Component',
            ti: '.ComponentType'
          }, {
            n: 'block',
            rq: true,
            en: 'Block',
            ti: '.BlockType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataRecordPropertyType',
        ps: [{
            n: 'dataRecord',
            rq: true,
            en: 'DataRecord',
            ti: '.DataRecordType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataStreamType.ElementType',
        tn: null,
        bti: '.AbstractDataComponentPropertyType',
        ps: [{
            n: 'name',
            rq: true,
            an: {
              lp: 'name'
            },
            t: 'a'
          }]
      }, {
        ln: 'DataStreamType.Encoding',
        tn: null,
        ps: [{
            n: 'abstractEncoding',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractEncoding',
            ti: '.AbstractEncodingType',
            t: 'er'
          }]
      }, {
        ln: 'TextEncodingPropertyByValueType',
        ps: [{
            n: 'textEncoding',
            rq: true,
            en: 'TextEncoding',
            ti: '.TextEncodingType'
          }]
      }, {
        ln: 'DataStreamPropertyType',
        ps: [{
            n: 'dataStream',
            rq: true,
            en: 'DataStream',
            ti: '.DataStreamType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataChoicePropertyType',
        ps: [{
            n: 'dataChoice',
            rq: true,
            en: 'DataChoice',
            ti: '.DataChoiceType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AbstractEncodingPropertyType',
        ps: [{
            n: 'abstractEncoding',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractEncoding',
            ti: '.AbstractEncodingType',
            t: 'er'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataRecordType',
        bti: '.AbstractDataComponentType',
        ps: [{
            n: 'field',
            rq: true,
            col: true,
            ti: '.DataRecordType.Field'
          }]
      }, {
        ln: 'XMLEncodingPropertyByValueType',
        ps: [{
            n: 'xmlEncoding',
            rq: true,
            en: 'XMLEncoding',
            ti: '.XMLEncodingType'
          }]
      }, {
        ln: 'AllowedTimesPropertyByValueType',
        ps: [{
            n: 'allowedTimes',
            rq: true,
            en: 'AllowedTimes',
            ti: '.AllowedTimesType'
          }]
      }, {
        ln: 'CategoryType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'codeSpace',
            ti: '.Reference'
          }, {
            n: 'constraint',
            ti: '.AllowedTokensPropertyType'
          }, {
            n: 'value'
          }]
      }, {
        ln: 'CountRangeType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'constraint',
            ti: '.AllowedValuesPropertyType'
          }, {
            n: 'value',
            ti: {
              t: 'l',
              bti: 'Integer'
            }
          }]
      }, {
        ln: 'AbstractSWEType',
        ps: [{
            n: 'extension',
            mno: 0,
            col: true,
            ti: 'AnyType'
          }, {
            n: 'id',
            ti: 'ID',
            an: {
              lp: 'id'
            },
            t: 'a'
          }]
      }, {
        ln: 'QuantityRangeType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'uom',
            rq: true,
            ti: '.UnitReference'
          }, {
            n: 'constraint',
            ti: '.AllowedValuesPropertyType'
          }, {
            n: 'value',
            ti: {
              t: 'l',
              bti: 'Double'
            }
          }]
      }, {
        ln: 'VectorPropertyByValueType',
        ps: [{
            n: 'vector',
            rq: true,
            en: 'Vector',
            ti: '.VectorType'
          }]
      }, {
        ln: 'VectorType',
        bti: '.AbstractDataComponentType',
        ps: [{
            n: 'coordinate',
            rq: true,
            col: true,
            ti: '.VectorType.Coordinate'
          }, {
            n: 'referenceFrame',
            rq: true,
            an: {
              lp: 'referenceFrame'
            },
            t: 'a'
          }, {
            n: 'localFrame',
            an: {
              lp: 'localFrame'
            },
            t: 'a'
          }]
      }, {
        ln: 'EncodedValuesPropertyType',
        ps: [{
            n: 'otherAttributes',
            t: 'aa'
          }, {
            n: 'content',
            col: true,
            t: 'ae'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'QuantityType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'uom',
            rq: true,
            ti: '.UnitReference'
          }, {
            n: 'constraint',
            ti: '.AllowedValuesPropertyType'
          }, {
            n: 'value',
            ti: 'Double'
          }]
      }, {
        ln: 'TextEncodingPropertyType',
        ps: [{
            n: 'textEncoding',
            rq: true,
            en: 'TextEncoding',
            ti: '.TextEncodingType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'CategoryRangeType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'codeSpace',
            ti: '.Reference'
          }, {
            n: 'constraint',
            ti: '.AllowedTokensPropertyType'
          }, {
            n: 'value',
            ti: {
              t: 'l'
            }
          }]
      }, {
        ln: 'AbstractSWEIdentifiableType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'identifier'
          }, {
            n: 'label'
          }, {
            n: 'description'
          }]
      }, {
        ln: 'ComponentType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'encryption',
            an: {
              lp: 'encryption'
            },
            t: 'a'
          }, {
            n: 'significantBits',
            ti: 'Integer',
            an: {
              lp: 'significantBits'
            },
            t: 'a'
          }, {
            n: 'bitLength',
            ti: 'Integer',
            an: {
              lp: 'bitLength'
            },
            t: 'a'
          }, {
            n: 'byteLength',
            ti: 'Integer',
            an: {
              lp: 'byteLength'
            },
            t: 'a'
          }, {
            n: 'dataType',
            rq: true,
            an: {
              lp: 'dataType'
            },
            t: 'a'
          }, {
            n: 'ref',
            rq: true,
            an: {
              lp: 'ref'
            },
            t: 'a'
          }]
      }, {
        ln: 'CategoryPropertyType',
        ps: [{
            n: 'category',
            rq: true,
            en: 'Category',
            ti: '.CategoryType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AbstractSimpleComponentPropertyType',
        ps: [{
            n: 'abstractSimpleComponent',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractSimpleComponent',
            ti: '.AbstractSimpleComponentType',
            t: 'er'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataArrayPropertyType',
        ps: [{
            n: 'dataArray',
            rq: true,
            mx: false,
            dom: false,
            en: 'DataArray',
            ti: '.DataArrayType',
            t: 'er'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'TimeRangeType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'uom',
            rq: true,
            ti: '.UnitReference'
          }, {
            n: 'constraint',
            ti: '.AllowedTimesPropertyType'
          }, {
            n: 'value',
            ti: {
              t: 'l'
            }
          }, {
            n: 'referenceTime',
            ti: 'Calendar',
            an: {
              lp: 'referenceTime'
            },
            t: 'a'
          }, {
            n: 'localFrame',
            an: {
              lp: 'localFrame'
            },
            t: 'a'
          }]
      }, {
        ln: 'UnitReference',
        ps: [{
            n: 'code',
            an: {
              lp: 'code'
            },
            t: 'a'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataStreamType.ElementCount',
        tn: null,
        ps: [{
            n: 'count',
            rq: true,
            en: 'Count',
            ti: '.CountType'
          }]
      }, {
        ln: 'TimeRangePropertyType',
        ps: [{
            n: 'timeRange',
            rq: true,
            en: 'TimeRange',
            ti: '.TimeRangeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AllowedTokensType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'value',
            mno: 0,
            col: true
          }, {
            n: 'pattern'
          }]
      }, {
        ln: 'BinaryEncodingType',
        bti: '.AbstractEncodingType',
        ps: [{
            n: 'member',
            rq: true,
            col: true,
            ti: '.BinaryEncodingType.Member'
          }, {
            n: 'byteOrder',
            rq: true,
            an: {
              lp: 'byteOrder'
            },
            t: 'a'
          }, {
            n: 'byteEncoding',
            rq: true,
            an: {
              lp: 'byteEncoding'
            },
            t: 'a'
          }, {
            n: 'byteLength',
            ti: 'Integer',
            an: {
              lp: 'byteLength'
            },
            t: 'a'
          }]
      }, {
        ln: 'NilValuesPropertyType',
        ps: [{
            n: 'nilValues',
            rq: true,
            en: 'NilValues',
            ti: '.NilValuesType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'TextEncodingType',
        bti: '.AbstractEncodingType',
        ps: [{
            n: 'collapseWhiteSpaces',
            ti: 'Boolean',
            an: {
              lp: 'collapseWhiteSpaces'
            },
            t: 'a'
          }, {
            n: 'decimalSeparator',
            an: {
              lp: 'decimalSeparator'
            },
            t: 'a'
          }, {
            n: 'tokenSeparator',
            rq: true,
            an: {
              lp: 'tokenSeparator'
            },
            t: 'a'
          }, {
            n: 'blockSeparator',
            rq: true,
            an: {
              lp: 'blockSeparator'
            },
            t: 'a'
          }]
      }, {
        ln: 'BinaryEncodingType.Member',
        tn: null,
        ps: [{
            n: 'component',
            rq: true,
            en: 'Component',
            ti: '.ComponentType'
          }, {
            n: 'block',
            rq: true,
            en: 'Block',
            ti: '.BlockType'
          }]
      }, {
        ln: 'AllowedTimesType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'value',
            mno: 0,
            col: true,
            mx: false,
            dom: false,
            ti: {
              t: 'l'
            },
            t: 'er'
          }, {
            n: 'interval',
            mno: 0,
            col: true,
            mx: false,
            dom: false,
            ti: {
              t: 'l'
            },
            t: 'er'
          }, {
            n: 'significantFigures',
            ti: 'Integer'
          }]
      }, {
        ln: 'AllowedTimesPropertyType',
        ps: [{
            n: 'allowedTimes',
            rq: true,
            en: 'AllowedTimes',
            ti: '.AllowedTimesType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AllowedValuesPropertyByValueType',
        ps: [{
            n: 'allowedValues',
            rq: true,
            en: 'AllowedValues',
            ti: '.AllowedValuesType'
          }]
      }, {
        ln: 'BlockType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'compression',
            an: {
              lp: 'compression'
            },
            t: 'a'
          }, {
            n: 'encryption',
            an: {
              lp: 'encryption'
            },
            t: 'a'
          }, {
            n: 'paddingBytesAfter',
            ti: 'Integer',
            an: {
              lp: 'paddingBytes-after'
            },
            t: 'a'
          }, {
            n: 'paddingBytesBefore',
            ti: 'Integer',
            an: {
              lp: 'paddingBytes-before'
            },
            t: 'a'
          }, {
            n: 'byteLength',
            ti: 'Integer',
            an: {
              lp: 'byteLength'
            },
            t: 'a'
          }, {
            n: 'ref',
            rq: true,
            an: {
              lp: 'ref'
            },
            t: 'a'
          }]
      }, {
        ln: 'BlockPropertyType',
        ps: [{
            n: 'block',
            rq: true,
            en: 'Block',
            ti: '.BlockType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataStreamPropertyByValueType',
        ps: [{
            n: 'dataStream',
            rq: true,
            en: 'DataStream',
            ti: '.DataStreamType'
          }]
      }, {
        ln: 'BooleanPropertyType',
        ps: [{
            n: '_boolean',
            rq: true,
            en: 'Boolean',
            ti: '.BooleanType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AbstractEncodingPropertyByValueType',
        ps: [{
            n: 'abstractEncoding',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractEncoding',
            ti: '.AbstractEncodingType',
            t: 'er'
          }]
      }, {
        ln: 'AnyScalarPropertyType',
        ps: [{
            n: '_boolean',
            rq: true,
            en: 'Boolean',
            ti: '.BooleanType'
          }, {
            n: 'count',
            rq: true,
            en: 'Count',
            ti: '.CountType'
          }, {
            n: 'quantity',
            rq: true,
            en: 'Quantity',
            ti: '.QuantityType'
          }, {
            n: 'time',
            rq: true,
            en: 'Time',
            ti: '.TimeType'
          }, {
            n: 'category',
            rq: true,
            en: 'Category',
            ti: '.CategoryType'
          }, {
            n: 'text',
            rq: true,
            en: 'Text',
            ti: '.TextType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'QuantityRangePropertyType',
        ps: [{
            n: 'quantityRange',
            rq: true,
            en: 'QuantityRange',
            ti: '.QuantityRangeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'NilValue',
        ps: [{
            n: 'value',
            t: 'v'
          }, {
            n: 'reason',
            rq: true,
            an: {
              lp: 'reason'
            },
            t: 'a'
          }]
      }, {
        ln: 'MatrixPropertyByValueType',
        ps: [{
            n: 'matrix',
            rq: true,
            en: 'Matrix',
            ti: '.MatrixType'
          }]
      }, {
        ln: 'AnyRangePropertyType',
        ps: [{
            n: 'quantityRange',
            rq: true,
            en: 'QuantityRange',
            ti: '.QuantityRangeType'
          }, {
            n: 'timeRange',
            rq: true,
            en: 'TimeRange',
            ti: '.TimeRangeType'
          }, {
            n: 'countRange',
            rq: true,
            en: 'CountRange',
            ti: '.CountRangeType'
          }, {
            n: 'categoryRange',
            rq: true,
            en: 'CategoryRange',
            ti: '.CategoryRangeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'XMLEncodingType',
        bti: '.AbstractEncodingType'
      }, {
        ln: 'DataArrayType.ElementType',
        tn: null,
        bti: '.AbstractDataComponentPropertyType',
        ps: [{
            n: 'name',
            rq: true,
            an: {
              lp: 'name'
            },
            t: 'a'
          }]
      }, {
        ln: 'TimeType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'uom',
            rq: true,
            ti: '.UnitReference'
          }, {
            n: 'constraint',
            ti: '.AllowedTimesPropertyType'
          }, {
            n: 'value',
            ti: {
              t: 'l'
            }
          }, {
            n: 'referenceTime',
            ti: 'Calendar',
            an: {
              lp: 'referenceTime'
            },
            t: 'a'
          }, {
            n: 'localFrame',
            an: {
              lp: 'localFrame'
            },
            t: 'a'
          }]
      }, {
        ln: 'CountRangePropertyType',
        ps: [{
            n: 'countRange',
            rq: true,
            en: 'CountRange',
            ti: '.CountRangeType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataArrayType.Encoding',
        tn: null,
        ps: [{
            n: 'abstractEncoding',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractEncoding',
            ti: '.AbstractEncodingType',
            t: 'er'
          }]
      }, {
        ln: 'BooleanType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'value',
            ti: 'Boolean'
          }]
      }, {
        ln: 'AllowedValuesPropertyType',
        ps: [{
            n: 'allowedValues',
            rq: true,
            en: 'AllowedValues',
            ti: '.AllowedValuesType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AllowedValuesType',
        bti: '.AbstractSWEType',
        ps: [{
            n: 'value',
            mno: 0,
            col: true,
            ti: 'Double'
          }, {
            n: 'interval',
            mno: 0,
            col: true,
            mx: false,
            dom: false,
            ti: {
              t: 'l',
              bti: 'Double'
            },
            t: 'er'
          }, {
            n: 'significantFigures',
            ti: 'Integer'
          }]
      }, {
        ln: 'DataChoiceType.Item',
        tn: null,
        bti: '.AbstractDataComponentPropertyType',
        ps: [{
            n: 'name',
            rq: true,
            an: {
              lp: 'name'
            },
            t: 'a'
          }]
      }, {
        ln: 'QuantityPropertyType',
        ps: [{
            n: 'quantity',
            rq: true,
            en: 'Quantity',
            ti: '.QuantityType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AbstractDataComponentType',
        bti: '.AbstractSWEIdentifiableType',
        ps: [{
            n: 'updatable',
            ti: 'Boolean',
            an: {
              lp: 'updatable'
            },
            t: 'a'
          }, {
            n: 'optional',
            ti: 'Boolean',
            an: {
              lp: 'optional'
            },
            t: 'a'
          }, {
            n: 'definition',
            an: {
              lp: 'definition'
            },
            t: 'a'
          }]
      }, {
        ln: 'MatrixPropertyType',
        ps: [{
            n: 'matrix',
            rq: true,
            en: 'Matrix',
            ti: '.MatrixType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AllowedTokensPropertyByValueType',
        ps: [{
            n: 'allowedTokens',
            rq: true,
            en: 'AllowedTokens',
            ti: '.AllowedTokensType'
          }]
      }, {
        ln: 'AbstractSimpleComponentType',
        bti: '.AbstractDataComponentType',
        ps: [{
            n: 'quality',
            mno: 0,
            col: true,
            ti: '.QualityPropertyType'
          }, {
            n: 'nilValues',
            ti: '.NilValuesPropertyType'
          }, {
            n: 'referenceFrame',
            an: {
              lp: 'referenceFrame'
            },
            t: 'a'
          }, {
            n: 'axisID',
            an: {
              lp: 'axisID'
            },
            t: 'a'
          }]
      }, {
        ln: 'MatrixType',
        bti: '.DataArrayType',
        ps: [{
            n: 'referenceFrame',
            an: {
              lp: 'referenceFrame'
            },
            t: 'a'
          }, {
            n: 'localFrame',
            an: {
              lp: 'localFrame'
            },
            t: 'a'
          }]
      }, {
        ln: 'BinaryEncodingPropertyType',
        ps: [{
            n: 'binaryEncoding',
            rq: true,
            en: 'BinaryEncoding',
            ti: '.BinaryEncodingType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataRecordType.Field',
        tn: null,
        bti: '.AbstractDataComponentPropertyType',
        ps: [{
            n: 'name',
            rq: true,
            an: {
              lp: 'name'
            },
            t: 'a'
          }]
      }, {
        ln: 'DataChoiceType',
        bti: '.AbstractDataComponentType',
        ps: [{
            n: 'choiceValue',
            ti: '.DataChoiceType.ChoiceValue'
          }, {
            n: 'item',
            rq: true,
            mno: 2,
            col: true,
            ti: '.DataChoiceType.Item'
          }]
      }, {
        ln: 'DataArrayPropertyByValueType',
        ps: [{
            n: 'dataArray',
            rq: true,
            mx: false,
            dom: false,
            en: 'DataArray',
            ti: '.DataArrayType',
            t: 'er'
          }]
      }, {
        ln: 'ComponentPropertyByValueType',
        ps: [{
            n: 'component',
            rq: true,
            en: 'Component',
            ti: '.ComponentType'
          }]
      }, {
        ln: 'Reference',
        ps: [{
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'BinaryEncodingPropertyByValueType',
        ps: [{
            n: 'binaryEncoding',
            rq: true,
            en: 'BinaryEncoding',
            ti: '.BinaryEncodingType'
          }]
      }, {
        ln: 'AbstractDataComponentPropertyType',
        ps: [{
            n: 'abstractDataComponent',
            rq: true,
            mx: false,
            dom: false,
            en: 'AbstractDataComponent',
            ti: '.AbstractDataComponentType',
            t: 'er'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AbstractEncodingType',
        bti: '.AbstractSWEType'
      }, {
        ln: 'VectorPropertyType',
        ps: [{
            n: 'vector',
            rq: true,
            en: 'Vector',
            ti: '.VectorType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'DataArrayType',
        bti: '.AbstractDataComponentType',
        ps: [{
            n: 'elementCount',
            rq: true,
            ti: '.CountPropertyType'
          }, {
            n: 'elementType',
            rq: true,
            ti: '.DataArrayType.ElementType'
          }, {
            n: 'encoding',
            ti: '.DataArrayType.Encoding'
          }, {
            n: 'values',
            ti: '.EncodedValuesPropertyType'
          }]
      }, {
        ln: 'XMLEncodingPropertyType',
        ps: [{
            n: 'xmlEncoding',
            rq: true,
            en: 'XMLEncoding',
            ti: '.XMLEncodingType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'CountType',
        bti: '.AbstractSimpleComponentType',
        ps: [{
            n: 'constraint',
            ti: '.AllowedValuesPropertyType'
          }, {
            n: 'value',
            ti: 'Integer'
          }]
      }, {
        ln: 'DataChoicePropertyByValueType',
        ps: [{
            n: 'dataChoice',
            rq: true,
            en: 'DataChoice',
            ti: '.DataChoiceType'
          }]
      }, {
        ln: 'VectorType.Coordinate',
        tn: null,
        bti: '.AnyNumericalPropertyType',
        ps: [{
            n: 'name',
            rq: true,
            an: {
              lp: 'name'
            },
            t: 'a'
          }]
      }, {
        ln: 'QualityPropertyType',
        ps: [{
            n: 'quantity',
            rq: true,
            en: 'Quantity',
            ti: '.QuantityType'
          }, {
            n: 'quantityRange',
            rq: true,
            en: 'QuantityRange',
            ti: '.QuantityRangeType'
          }, {
            n: 'category',
            rq: true,
            en: 'Category',
            ti: '.CategoryType'
          }, {
            n: 'text',
            rq: true,
            en: 'Text',
            ti: '.TextType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        ln: 'AllowedTokensPropertyType',
        ps: [{
            n: 'allowedTokens',
            rq: true,
            en: 'AllowedTokens',
            ti: '.AllowedTokensType'
          }, {
            n: 'type',
            ti: 'XLink_1_0.TypeType',
            t: 'a'
          }, {
            n: 'href',
            t: 'a'
          }, {
            n: 'role',
            t: 'a'
          }, {
            n: 'arcrole',
            t: 'a'
          }, {
            n: 'title',
            t: 'a'
          }, {
            n: 'show',
            ti: 'XLink_1_0.ShowType',
            t: 'a'
          }, {
            n: 'actuate',
            ti: 'XLink_1_0.ActuateType',
            t: 'a'
          }]
      }, {
        t: 'enum',
        ln: 'TimeIndeterminateValue',
        vs: ['now']
      }, {
        t: 'enum',
        ln: 'ByteOrderType',
        vs: ['bigEndian', 'littleEndian']
      }, {
        t: 'enum',
        ln: 'ByteEncodingType',
        vs: ['base64', 'raw']
      }],
    eis: [{
        en: 'AbstractSWE',
        ti: '.AbstractSWEType'
      }, {
        en: 'CountRange',
        ti: '.CountRangeType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'AllowedTokens',
        ti: '.AllowedTokensType',
        sh: 'AbstractSWE'
      }, {
        en: 'TimeRange',
        ti: '.TimeRangeType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'CategoryRange',
        ti: '.CategoryRangeType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'AllowedTimes',
        ti: '.AllowedTimesType',
        sh: 'AbstractSWE'
      }, {
        en: 'DataRecord',
        ti: '.DataRecordType',
        sh: 'AbstractDataComponent'
      }, {
        en: 'interval',
        ti: {
          t: 'l'
        },
        sc: '.AllowedTimesType'
      }, {
        en: 'XMLEncoding',
        ti: '.XMLEncodingType',
        sh: 'AbstractEncoding'
      }, {
        en: 'AbstractDataComponent',
        ti: '.AbstractDataComponentType',
        sh: 'AbstractSWEIdentifiable'
      }, {
        en: 'Text',
        ti: '.TextType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'value',
        ti: {
          t: 'l'
        },
        sc: '.AllowedTimesType'
      }, {
        en: 'Category',
        ti: '.CategoryType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'Vector',
        ti: '.VectorType',
        sh: 'AbstractDataComponent'
      }, {
        en: 'DataChoice',
        ti: '.DataChoiceType',
        sh: 'AbstractDataComponent'
      }, {
        en: 'NilValues',
        ti: '.NilValuesType',
        sh: 'AbstractSWE'
      }, {
        en: 'Count',
        ti: '.CountType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'TextEncoding',
        ti: '.TextEncodingType',
        sh: 'AbstractEncoding'
      }, {
        en: 'QuantityRange',
        ti: '.QuantityRangeType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'Boolean',
        ti: '.BooleanType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'interval',
        ti: {
          t: 'l',
          bti: 'Double'
        },
        sc: '.AllowedValuesType'
      }, {
        en: 'Block',
        ti: '.BlockType',
        sh: 'AbstractSWE'
      }, {
        en: 'DataArray',
        ti: '.DataArrayType',
        sh: 'AbstractDataComponent'
      }, {
        en: 'Matrix',
        ti: '.MatrixType',
        sh: 'DataArray'
      }, {
        en: 'AbstractSWEIdentifiable',
        ti: '.AbstractSWEIdentifiableType',
        sh: 'AbstractSWE'
      }, {
        en: 'Quantity',
        ti: '.QuantityType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'Component',
        ti: '.ComponentType',
        sh: 'AbstractSWE'
      }, {
        en: 'AbstractSimpleComponent',
        ti: '.AbstractSimpleComponentType',
        sh: 'AbstractDataComponent'
      }, {
        en: 'BinaryEncoding',
        ti: '.BinaryEncodingType',
        sh: 'AbstractEncoding'
      }, {
        en: 'AllowedValues',
        ti: '.AllowedValuesType',
        sh: 'AbstractSWE'
      }, {
        en: 'DataStream',
        ti: '.DataStreamType',
        sh: 'AbstractSWEIdentifiable'
      }, {
        en: 'Time',
        ti: '.TimeType',
        sh: 'AbstractSimpleComponent'
      }, {
        en: 'AbstractEncoding',
        ti: '.AbstractEncodingType',
        sh: 'AbstractSWE'
      }]
  };
  return {
    SWE_2_0: SWE_2_0
  };
};
if (typeof define === 'function' && define.amd) {
  define([], SWE_2_0_Module_Factory);
}
else {
  var SWE_2_0_Module = SWE_2_0_Module_Factory();
  if (typeof module !== 'undefined' && module.exports) {
    module.exports.SWE_2_0 = SWE_2_0_Module.SWE_2_0;
  }
  else {
    var SWE_2_0 = SWE_2_0_Module.SWE_2_0;
  }
}