(function (_, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var CoroutineImpl = kotlin_kotlin.$_$.va;
  var Unit_instance = kotlin_kotlin.$_$.m5;
  var protoOf = kotlin_kotlin.$_$.wc;
  var THROW_CCE = kotlin_kotlin.$_$.hi;
  var SequenceScope = kotlin_kotlin.$_$.xd;
  var until = kotlin_kotlin.$_$.rd;
  var charSequenceLength = kotlin_kotlin.$_$.jb;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.ha;
  var classMeta = kotlin_kotlin.$_$.lb;
  var setMetadataFor = kotlin_kotlin.$_$.xc;
  var VOID = kotlin_kotlin.$_$.f;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2;
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2;
  var sequence = kotlin_kotlin.$_$.le;
  var listOfNotNull = kotlin_kotlin.$_$.i8;
  var toString = kotlin_kotlin.$_$.bd;
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.u1;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1;
  var collectionSizeOrDefault = kotlin_kotlin.$_$.n6;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l;
  var ensureNotNull = kotlin_kotlin.$_$.zi;
  var equals = kotlin_kotlin.$_$.ob;
  var IndexOutOfBoundsException_init_$Create$ = kotlin_kotlin.$_$.d2;
  var objectCreate = kotlin_kotlin.$_$.uc;
  var emptyList = kotlin_kotlin.$_$.i7;
  var MutableList = kotlin_kotlin.$_$.z5;
  var isInterface = kotlin_kotlin.$_$.gc;
  var objectMeta = kotlin_kotlin.$_$.vc;
  var LinkedHashSet_init_$Create$ = kotlin_kotlin.$_$.x;
  var toList = kotlin_kotlin.$_$.t9;
  var asSequence = kotlin_kotlin.$_$.zd;
  var checkCountOverflow = kotlin_kotlin.$_$.k6;
  var isBlank = kotlin_kotlin.$_$.ef;
  var UnsupportedOperationException_init_$Create$ = kotlin_kotlin.$_$.r2;
  var indexOf = kotlin_kotlin.$_$.df;
  var to = kotlin_kotlin.$_$.nj;
  var split = kotlin_kotlin.$_$.zf;
  var Enum = kotlin_kotlin.$_$.uh;
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.c5;
  var arrayOf = kotlin_kotlin.$_$.wi;
  var createKType = kotlin_kotlin.$_$.b;
  var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s3;
  var KSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.i3;
  var getKClass = kotlin_kotlin.$_$.e;
  var buildClassSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u1;
  var Companion_instance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q;
  var throwUninitializedPropertyAccessException = kotlin_kotlin.$_$.lj;
  var interfaceMeta = kotlin_kotlin.$_$.xb;
  var asSequence_0 = kotlin_kotlin.$_$.i6;
  var plus = kotlin_kotlin.$_$.ie;
  var toList_0 = kotlin_kotlin.$_$.ne;
  var StringCompanionObject_instance = kotlin_kotlin.$_$.a5;
  var serializer_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
  var Iterator = kotlin_kotlin.$_$.t5;
  var getStringHashCode = kotlin_kotlin.$_$.vb;
  var flatMap = kotlin_kotlin.$_$.de;
  var fillArrayVal = kotlin_kotlin.$_$.qb;
  var Collection = kotlin_kotlin.$_$.p5;
  var ListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var SerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p1;
  var sequenceOf = kotlin_kotlin.$_$.ke;
  var reversed = kotlin_kotlin.$_$.pd;
  var firstOrNull = kotlin_kotlin.$_$.n7;
  var firstOrNull_0 = kotlin_kotlin.$_$.ce;
  var filter = kotlin_kotlin.$_$.be;
  var map = kotlin_kotlin.$_$.he;
  var IndexOutOfBoundsException_init_$Create$_0 = kotlin_kotlin.$_$.e2;
  var IndexOutOfBoundsException = kotlin_kotlin.$_$.zh;
  var contentEquals = kotlin_kotlin.$_$.q6;
  var contentHashCode = kotlin_kotlin.$_$.t6;
  var ArrayDeque_init_$Create$ = kotlin_kotlin.$_$.k;
  var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.f2;
  var joinToString = kotlin_kotlin.$_$.b8;
  var getKClassFromExpression = kotlin_kotlin.$_$.d;
  var captureStack = kotlin_kotlin.$_$.fb;
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v;
  var RuntimeException = kotlin_kotlin.$_$.gi;
  var charSequenceGet = kotlin_kotlin.$_$.ib;
  var charSequenceSubSequence = kotlin_kotlin.$_$.kb;
  var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.e1;
  var arrayCopy = kotlin_kotlin.$_$.f6;
  var _UInt___init__impl__l7qpdl = kotlin_kotlin.$_$.q3;
  var UIntRange = kotlin_kotlin.$_$.hd;
  var UInt__compareTo_impl_yacclj = kotlin_kotlin.$_$.r3;
  var _UShort___init__impl__jigrne = kotlin_kotlin.$_$.j4;
  var _Char___init__impl__6a9atx_0 = kotlin_kotlin.$_$.v2;
  var _UInt___get_data__impl__f0vqqw = kotlin_kotlin.$_$.s3;
  var toShort = kotlin_kotlin.$_$.ad;
  var uintCompare = kotlin_kotlin.$_$.oj;
  var Char = kotlin_kotlin.$_$.ph;
  var Pair = kotlin_kotlin.$_$.ei;
  var toString_0 = kotlin_kotlin.$_$.zg;
  var isCharSequence = kotlin_kotlin.$_$.cc;
  var trimStart = kotlin_kotlin.$_$.ih;
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.b3;
  var isHighSurrogate = kotlin_kotlin.$_$.gf;
  var UInt = kotlin_kotlin.$_$.oi;
  var copyOf = kotlin_kotlin.$_$.c7;
  var downTo = kotlin_kotlin.$_$.od;
  var copyOf_0 = kotlin_kotlin.$_$.d7;
  var getProgressionLastElement = kotlin_kotlin.$_$.ab;
  var joinToString_0 = kotlin_kotlin.$_$.a8;
  var booleanArray = kotlin_kotlin.$_$.eb;
  var NoSuchElementException_init_$Create$_0 = kotlin_kotlin.$_$.h2;
  var AssertionError_init_$Create$ = kotlin_kotlin.$_$.h1;
  var startsWith = kotlin_kotlin.$_$.ag;
  var Exception_init_$Init$ = kotlin_kotlin.$_$.l1;
  var Exception_init_$Init$_0 = kotlin_kotlin.$_$.m1;
  var Exception_init_$Init$_1 = kotlin_kotlin.$_$.o1;
  var Exception = kotlin_kotlin.$_$.wh;
  var get_js = kotlin_kotlin.$_$.kc;
  var hashCode = kotlin_kotlin.$_$.wb;
  var joinTo = kotlin_kotlin.$_$.c8;
  var HashSet_init_$Create$ = kotlin_kotlin.$_$.s;
  //endregion
  //region block: pre-declaration
  setMetadataFor(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9, 'DomReader$<get-namespaceContext>$o$iterator$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  function getPrefixes(namespaceURI) {
    return this.kl4(namespaceURI);
  }
  setMetadataFor(NamespaceContextImpl, 'NamespaceContextImpl', interfaceMeta);
  function freeze() {
    return SimpleNamespaceContext_init_$Create$_2(this);
  }
  function plus_0(secondary) {
    return SimpleNamespaceContext_init_$Create$_1(toList_0(plus(asSequence_0(this), asSequence_0(secondary))));
  }
  setMetadataFor(IterableNamespaceContext, 'IterableNamespaceContext', interfaceMeta, VOID, [NamespaceContextImpl]);
  setMetadataFor(DomReader$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  function get_name() {
    return qname(this.nl4(), this.ol4(), this.pl4());
  }
  function require_0(type, namespace, name) {
    if (!this.wl4().equals(type))
      throw XmlException_init_$Create$_0('Type ' + this.wl4() + ' does not match expected type "' + type + '" (' + this.xl4() + ')');
    else if (!(namespace == null) ? !(this.nl4() === namespace) : false)
      throw XmlException_init_$Create$_0('Namespace ' + this.nl4() + ' does not match expected "' + namespace + '" (' + this.xl4() + ')');
    else if (!(name == null) ? !(this.ol4() === name) : false)
      throw XmlException_init_$Create$_0('local name ' + this.ol4() + ' does not match expected "' + name + '" (' + this.xl4() + ')');
  }
  function require_1(type, name) {
    var tmp;
    if (name == null) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      tmp = name.ml8();
    }
    var tmp_0 = tmp;
    var tmp_1;
    if (name == null) {
      tmp_1 = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.localPart' call
      tmp_1 = name.nl8();
    }
    return this.gl5(type, tmp_0, tmp_1);
  }
  function getAttributeName(index) {
    return qname(this.cl5(index), this.el5(index), this.dl5(index));
  }
  function getAttributeValue(name) {
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp = name.ml8();
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$1 = name.nl8();
    return this.m7d(tmp, tmp$ret$1);
  }
  function isWhitespace() {
    return this.wl4() === EventType_IGNORABLE_WHITESPACE_getInstance() ? true : this.wl4() === EventType_TEXT_getInstance() ? isXmlWhitespace(this.ul4()) : false;
  }
  setMetadataFor(XmlReader, 'XmlReader', interfaceMeta, VOID, [Iterator]);
  setMetadataFor(DomReader, 'DomReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor(DomWriter$namespaceContext$1, VOID, classMeta, VOID, [NamespaceContextImpl]);
  function namespaceAttr(namespace) {
    this.hl6(namespace.pl4(), namespace.nl4());
  }
  function processingInstruction(target, data) {
    return this.dl6(target + ' ' + data);
  }
  function startDocument$default(version, encoding, standalone, $super) {
    version = version === VOID ? null : version;
    encoding = encoding === VOID ? null : encoding;
    standalone = standalone === VOID ? null : standalone;
    var tmp;
    if ($super === VOID) {
      this.nl6(version, encoding, standalone);
      tmp = Unit_instance;
    } else {
      tmp = $super.nl6.call(this, version, encoding, standalone);
    }
    return tmp;
  }
  setMetadataFor(XmlWriter, 'XmlWriter', interfaceMeta);
  setMetadataFor(PlatformXmlWriterBase, 'PlatformXmlWriterBase', classMeta, VOID, [XmlWriter]);
  setMetadataFor(DomWriter, 'DomWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter], DomWriter_init_$Create$);
  setMetadataFor(EventType, 'EventType', classMeta, Enum);
  setMetadataFor(EventType$START_DOCUMENT, 'START_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$START_ELEMENT, 'START_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$END_ELEMENT, 'END_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$COMMENT, 'COMMENT', classMeta, EventType);
  setMetadataFor(EventType$TEXT, 'TEXT', classMeta, EventType);
  setMetadataFor(EventType$CDSECT, 'CDSECT', classMeta, EventType);
  setMetadataFor(EventType$DOCDECL, 'DOCDECL', classMeta, EventType);
  setMetadataFor(EventType$END_DOCUMENT, 'END_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$ENTITY_REF, 'ENTITY_REF', classMeta, EventType);
  setMetadataFor(EventType$IGNORABLE_WHITESPACE, 'IGNORABLE_WHITESPACE', classMeta, EventType);
  setMetadataFor(EventType$ATTRIBUTE, 'ATTRIBUTE', classMeta, EventType);
  setMetadataFor(EventType$PROCESSING_INSTRUCTION, 'PROCESSING_INSTRUCTION', classMeta, EventType);
  setMetadataFor(Companion_0, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(Namespace, 'Namespace', interfaceMeta);
  setMetadataFor(QNameSerializer, 'QNameSerializer', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleIterator, 'SimpleIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(SimpleNamespace, 'SimpleNamespace', classMeta, VOID, [Namespace]);
  setMetadataFor(Companion_1, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleNamespaceContext, 'SimpleNamespaceContext', classMeta, VOID, [IterableNamespaceContext], SimpleNamespaceContext_init_$Create$, VOID, {0: Companion_getInstance_1});
  setMetadataFor(XMLConstants, 'XMLConstants', objectMeta);
  setMetadataFor(XmlBufferedReaderBase, 'XmlBufferedReaderBase', classMeta, VOID, [XmlReader]);
  setMetadataFor(XmlBufferedReader, 'XmlBufferedReader', classMeta, XmlBufferedReaderBase);
  setMetadataFor(XmlDelegatingReader, 'XmlDelegatingReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion_2, 'Companion', objectMeta);
  setMetadataFor(XmlEvent, 'XmlEvent', classMeta);
  setMetadataFor(TextEvent, 'TextEvent', classMeta, XmlEvent);
  setMetadataFor(ProcessingInstructionEvent, 'ProcessingInstructionEvent', classMeta, TextEvent);
  setMetadataFor(EntityRefEvent, 'EntityRefEvent', classMeta, TextEvent);
  setMetadataFor(EndDocumentEvent, 'EndDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(NamedEvent, 'NamedEvent', classMeta, XmlEvent);
  setMetadataFor(EndElementEvent, 'EndElementEvent', classMeta, NamedEvent);
  setMetadataFor(StartDocumentEvent, 'StartDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(StartElementEvent, 'StartElementEvent', classMeta, NamedEvent);
  setMetadataFor(Attribute, 'Attribute', classMeta, XmlEvent);
  setMetadataFor(NamespaceImpl, 'NamespaceImpl', classMeta, VOID, [Namespace]);
  setMetadataFor(IOException, 'IOException', classMeta, Exception, VOID, IOException_init_$Create$);
  setMetadataFor(XmlException, 'XmlException', classMeta, IOException, VOID, XmlException_init_$Create$);
  setMetadataFor(Companion_3, 'Companion', objectMeta);
  setMetadataFor(XmlDeclMode, 'XmlDeclMode', classMeta, Enum);
  setMetadataFor(EscapeMode, 'EscapeMode', classMeta, Enum);
  setMetadataFor(Companion_4, 'Companion', objectMeta);
  setMetadataFor(WriteState, 'WriteState', classMeta, Enum);
  setMetadataFor(KtXmlWriter, 'KtXmlWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter]);
  setMetadataFor(asCodePoints$1$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(asCodePoints$1, VOID, classMeta);
  setMetadataFor(XmlVersion, 'XmlVersion', classMeta, Enum);
  setMetadataFor(NamespaceHolder$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  setMetadataFor(NamespaceHolder$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(NamespaceHolder, 'NamespaceHolder', classMeta, VOID, VOID, NamespaceHolder);
  setMetadataFor(Companion_5, 'Companion', objectMeta);
  setMetadataFor(NamedNodeMapIterator, 'NamedNodeMapIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(NodeConsts, 'NodeConsts', objectMeta);
  setMetadataFor(NodeListIterator, 'NodeListIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(ICompactFragment, 'ICompactFragment', interfaceMeta);
  setMetadataFor(QName, 'QName', classMeta);
  setMetadataFor(XmlStreaming, 'XmlStreaming', objectMeta);
  setMetadataFor(WriterXmlWriter, 'WriterXmlWriter', classMeta, VOID, [XmlWriter]);
  setMetadataFor(Writer, 'Writer', classMeta);
  setMetadataFor(StringWriter, 'StringWriter', classMeta, Writer, VOID, StringWriter);
  setMetadataFor(Factory, 'Factory', classMeta, VOID, VOID, Factory);
  setMetadataFor(Companion_6, 'Companion', objectMeta);
  setMetadataFor(CompactFragment, 'CompactFragment', classMeta, VOID, [ICompactFragment]);
  setMetadataFor(FragmentNamespaceContext, 'FragmentNamespaceContext', classMeta, SimpleNamespaceContext);
  setMetadataFor(Companion_7, 'Companion', objectMeta);
  setMetadataFor(XMLFragmentStreamReader, 'XMLFragmentStreamReader', classMeta, XmlDelegatingReader);
  //endregion
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation) {
    this.pl3_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).xl3 = function ($this$sequence, $completion) {
    var tmp = this.yl3($this$sequence, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).he = function (p1, $completion) {
    return this.xl3(p1 instanceof SequenceScope ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 8;
            this.rl3_1 = this.pl3_1.zl3_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!!(this.rl3_1 == null)) {
              this.hd_1 = 7;
              continue $sm;
            }

            var tmp_0 = this;
            tmp_0.sl3_1 = this.rl3_1.attributes;
            this.tl3_1 = this.sl3_1.length;
            this.ul3_1 = until(0, this.tl3_1).w();
            this.hd_1 = 2;
            continue $sm;
          case 2:
            if (!this.ul3_1.f()) {
              this.hd_1 = 6;
              continue $sm;
            }

            this.vl3_1 = this.ul3_1.e();
            var tmp_1 = this;
            var tmp_2 = this.sl3_1.item(this.vl3_1);
            tmp_1.wl3_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : THROW_CCE();
            if (this.wl3_1.prefix === 'xmlns') {
              this.hd_1 = 4;
              var tmp0_elvis_lhs = this.wl3_1.localName;
              suspendResult = this.ql3_1.ig(new NamespaceImpl(tmp0_elvis_lhs == null ? this.wl3_1.name : tmp0_elvis_lhs, this.wl3_1.value), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              var tmp_3;
              var this_0 = this.wl3_1.prefix;
              if (this_0 == null ? true : charSequenceLength(this_0) === 0) {
                tmp_3 = this.wl3_1.localName === 'xmlns';
              } else {
                tmp_3 = false;
              }
              if (tmp_3) {
                this.hd_1 = 3;
                suspendResult = this.ql3_1.ig(new NamespaceImpl('', this.wl3_1.value), this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.hd_1 = 5;
                continue $sm;
              }
            }

          case 3:
            this.hd_1 = 5;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            continue $sm;
          case 5:
            this.hd_1 = 2;
            continue $sm;
          case 6:
            this.rl3_1 = this.rl3_1.parentElement;
            this.hd_1 = 1;
            continue $sm;
          case 7:
            return Unit_instance;
          case 8:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 8) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).yl3 = function ($this$sequence, completion) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this.pl3_1, completion);
    i.ql3_1 = $this$sequence;
    return i;
  };
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this$0, resultContinuation) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation);
    var l = function ($this$sequence, $completion) {
      return i.xl3($this$sequence, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function _get_namespaceAttrs__14mg2s($this) {
    var tmp0_elvis_lhs = $this.fl4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = _get_requireCurrentElem__bg81k8($this).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_0 = this_0.item(idx);
          var attr = (!(tmp_0 == null) ? !(tmp_0 == null) : false) ? tmp_0 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
          var tmp_1;
          var tmp_2;
          var tmp_3;
          if (attr.namespaceURI == null) {
            tmp_3 = true;
          } else {
            var tmp_4 = attr.namespaceURI;
            tmp_3 = tmp_4 === 'http://www.w3.org/2000/xmlns/';
          }
          if (tmp_3) {
            var tmp_5;
            if (attr.prefix === 'xmlns') {
              tmp_5 = true;
            } else {
              var tmp_6;
              // Inline function 'kotlin.text.isNullOrEmpty' call
              var this_1 = attr.prefix;
              // Inline function 'kotlin.contracts.contract' call
              if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
                tmp_6 = attr.localName === 'xmlns';
              } else {
                tmp_6 = false;
              }
              tmp_5 = tmp_6;
            }
            tmp_2 = tmp_5;
          } else {
            tmp_2 = false;
          }
          if (tmp_2) {
            var tmp_7 = attr.value;
            tmp_1 = !(tmp_7 === 'http://www.w3.org/2000/xmlns/');
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
      $this.fl4_1 = result;
      tmp = result;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrent__f4sn5j($this) {
    var tmp0_elvis_lhs = $this.bl4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrentElem__bg81k8($this) {
    var tmp0_elvis_lhs = $this.gl4();
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_locationInfo_$helper_86tu52(node, result) {
    var tmp;
    var tmp_0;
    if (node == null) {
      tmp_0 = true;
    } else {
      var tmp_1 = node.nodeType;
      tmp_0 = tmp_1 === 9;
    }
    if (tmp_0) {
      tmp = result;
    } else {
      if (get_isElement(node)) {
        // Inline function 'kotlin.apply' call
        var this_0 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
        this_0.z5(_Char___init__impl__6a9atx(47)).r8(node.nodeName);
        tmp = this_0;
      } else {
        if (get_isText(node)) {
          // Inline function 'kotlin.apply' call
          var this_1 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_1.r8('/text()');
          tmp = this_1;
        } else {
          // Inline function 'kotlin.apply' call
          var this_2 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_2.r8('/.');
          tmp = this_2;
        }
      }
    }
    return tmp;
  }
  function DomReader$namespaceContext$1(this$0) {
    var tmp = this;
    var tmp_0 = _get_requireCurrent__f4sn5j(this$0);
    var tmp0_elvis_lhs = !(tmp_0 == null) ? tmp_0 : null;
    var tmp_1;
    if (tmp0_elvis_lhs == null) {
      var tmp_2 = _get_requireCurrent__f4sn5j(this$0).parentNode;
      tmp_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : null;
    } else {
      tmp_1 = tmp0_elvis_lhs;
    }
    tmp.zl3_1 = tmp_1;
  }
  protoOf(DomReader$namespaceContext$1).hl4 = function (prefix) {
    var tmp0_safe_receiver = this.zl3_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomReader$namespaceContext$1).il4 = function (namespaceURI) {
    var tmp0_safe_receiver = this.zl3_1;
    return tmp0_safe_receiver == null ? null : myLookupPrefix(tmp0_safe_receiver, namespaceURI);
  };
  protoOf(DomReader$namespaceContext$1).jl4 = function () {
    return this;
  };
  protoOf(DomReader$namespaceContext$1).w = function () {
    return sequence(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this, null)).w();
  };
  protoOf(DomReader$namespaceContext$1).kl4 = function (namespaceURI) {
    return listOfNotNull(this.il4(namespaceURI)).w();
  };
  function DomReader(delegate) {
    this.al4_1 = delegate;
    this.bl4_1 = null;
    this.cl4_1 = false;
    this.dl4_1 = false;
    this.el4_1 = 0;
    this.fl4_1 = null;
  }
  protoOf(DomReader).nl4 = function () {
    var tmp0_safe_receiver = this.gl4();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceURI>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.namespaceURI;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a namespace uri');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).ol4 = function () {
    var tmp0_safe_receiver = this.gl4();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-localName>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.localName;
      tmp = tmp0_elvis_lhs == null ? tmp0_safe_receiver.tagName : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a local name');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).pl4 = function () {
    var tmp0_safe_receiver = this.gl4();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-prefix>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.prefix;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a prefix');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).ql4 = function () {
    return this.cl4_1;
  };
  protoOf(DomReader).rl4 = function () {
    return this.el4_1;
  };
  protoOf(DomReader).sl4 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getTarget' call
    return (!(c == null) ? c : THROW_CCE()).target;
  };
  protoOf(DomReader).tl4 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
    return (!(c == null) ? c : THROW_CCE()).data;
  };
  protoOf(DomReader).ul4 = function () {
    var tmp0_safe_receiver = this.bl4_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1;
    var tmp_2;
    var tmp_3 = tmp1_subject == null ? null : tmp1_subject;
    if (tmp_3 === 5) {
      tmp_2 = true;
    } else {
      var tmp_4 = tmp1_subject == null ? null : tmp1_subject;
      tmp_2 = tmp_4 === 8;
    }
    if (tmp_2) {
      tmp_1 = true;
    } else {
      var tmp_5 = tmp1_subject == null ? null : tmp1_subject;
      tmp_1 = tmp_5 === 3;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      var tmp_6 = tmp1_subject == null ? null : tmp1_subject;
      tmp_0 = tmp_6 === 4;
    }
    if (tmp_0) {
      var tmp_7 = this.bl4_1;
      tmp = ((!(tmp_7 == null) ? !(tmp_7 == null) : false) ? tmp_7 : THROW_CCE()).data;
    } else {
      var tmp_8 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_8 === 7) {
        // Inline function 'kotlin.let' call
        var tmp_9 = this.bl4_1;
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-text>.<anonymous>' call
        var it = (!(tmp_9 == null) ? !(tmp_9 == null) : false) ? tmp_9 : THROW_CCE();
        var tmp_10 = it.nodeName;
        // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
        tmp = tmp_10 + ' ' + it.data;
      } else {
        throw XmlException_init_$Create$_0('Node is not a text node');
      }
    }
    return tmp;
  };
  protoOf(DomReader).vl4 = function () {
    var tmp = this.bl4_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.attributes;
    var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
    return tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
  };
  protoOf(DomReader).wl4 = function () {
    var c = this.bl4_1;
    return c == null ? EventType_END_DOCUMENT_getInstance() : toEventType(c, this.dl4_1);
  };
  protoOf(DomReader).xl4 = function () {
    return _get_locationInfo_$helper_86tu52(this.bl4_1, StringBuilder_init_$Create$()).toString();
  };
  protoOf(DomReader).gl4 = function () {
    var tmp0_safe_receiver = this.bl4_1;
    var tmp;
    var tmp2_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp_0 = tmp2_safe_receiver == null ? null : tmp2_safe_receiver;
    if (tmp_0 === 1) {
      var tmp_1 = this.bl4_1;
      tmp = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
    } else {
      tmp = null;
    }
    return tmp;
  };
  protoOf(DomReader).yl4 = function () {
    return new DomReader$namespaceContext$1(this);
  };
  protoOf(DomReader).zl4 = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = _get_namespaceAttrs__14mg2s(this);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceDecls>.<anonymous>' call
      var tmp$ret$0 = item.prefix === 'xmlns' ? new NamespaceImpl(ensureNotNull(item.localName), item.value) : new NamespaceImpl('', item.value);
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(DomReader).al5 = function () {
    var d = this.al4_1;
    var tmp;
    var tmp_0 = d.nodeType;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? d : THROW_CCE()).inputEncoding;
    } else {
      tmp = ensureNotNull(d.ownerDocument).inputEncoding;
    }
    return tmp;
  };
  protoOf(DomReader).bl5 = function () {
    return null;
  };
  protoOf(DomReader).p3c = function () {
    return '1.0';
  };
  protoOf(DomReader).f = function () {
    var tmp;
    var tmp_0;
    if (this.dl4_1) {
      var tmp0_safe_receiver = this.bl4_1;
      tmp_0 = (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.parentNode) == null;
    } else {
      tmp_0 = false;
    }
    if (!tmp_0) {
      tmp = true;
    } else {
      tmp = !equals(this.bl4_1, this.al4_1);
    }
    return tmp;
  };
  protoOf(DomReader).e = function () {
    this.fl4_1 = null;
    var c = this.bl4_1;
    if (c == null) {
      this.cl4_1 = true;
      this.bl4_1 = this.al4_1;
      return EventType_START_DOCUMENT_getInstance();
    } else {
      if (this.dl4_1) {
        if (!(c.nextSibling == null)) {
          this.bl4_1 = c.nextSibling;
          this.dl4_1 = false;
        } else {
          this.bl4_1 = c.parentNode;
          var tmp0_safe_receiver = this.bl4_1;
          var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toEventType(tmp0_safe_receiver, true);
          return tmp1_elvis_lhs == null ? EventType_END_DOCUMENT_getInstance() : tmp1_elvis_lhs;
        }
      } else if (!(c.firstChild == null)) {
        this.bl4_1 = c.firstChild;
      } else {
        this.dl4_1 = true;
        return EventType_END_ELEMENT_getInstance();
      }
      var c2 = _get_requireCurrent__f4sn5j(this);
      var nodeType = c2.nodeType;
      var tmp;
      var tmp_0 = nodeType;
      if (!(tmp_0 === 1)) {
        var tmp_1 = nodeType;
        tmp = !(tmp_1 === 9);
      } else {
        tmp = false;
      }
      if (tmp) {
        this.dl4_1 = true;
      }
      return toEventType(c2, this.dl4_1);
    }
  };
  protoOf(DomReader).cl5 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.namespaceURI;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).dl5 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.prefix;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).el5 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.localName;
    return tmp1_elvis_lhs == null ? attr.name : tmp1_elvis_lhs;
  };
  protoOf(DomReader).fl5 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    return attr.value;
  };
  protoOf(DomReader).m7d = function (nsUri, localName) {
    return _get_requireCurrentElem__bg81k8(this).getAttributeNS(nsUri, localName);
  };
  protoOf(DomReader).n = function () {
    this.bl4_1 = null;
  };
  function toEventType(_this__u8e3s4, endOfElement) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0 = tmp0_subject;
    if (tmp_0 === 2) {
      tmp = EventType_ATTRIBUTE_getInstance();
    } else {
      var tmp_1 = tmp0_subject;
      if (tmp_1 === 4) {
        tmp = EventType_CDSECT_getInstance();
      } else {
        var tmp_2 = tmp0_subject;
        if (tmp_2 === 8) {
          tmp = EventType_COMMENT_getInstance();
        } else {
          var tmp_3 = tmp0_subject;
          if (tmp_3 === 10) {
            tmp = EventType_DOCDECL_getInstance();
          } else {
            var tmp_4 = tmp0_subject;
            if (tmp_4 === 5) {
              tmp = EventType_ENTITY_REF_getInstance();
            } else {
              var tmp_5;
              var tmp_6 = tmp0_subject;
              if (tmp_6 === 11) {
                tmp_5 = true;
              } else {
                var tmp_7 = tmp0_subject;
                tmp_5 = tmp_7 === 9;
              }
              if (tmp_5) {
                tmp = endOfElement ? EventType_END_DOCUMENT_getInstance() : EventType_START_DOCUMENT_getInstance();
              } else {
                var tmp_8 = tmp0_subject;
                if (tmp_8 === 7) {
                  tmp = EventType_PROCESSING_INSTRUCTION_getInstance();
                } else {
                  var tmp_9 = tmp0_subject;
                  if (tmp_9 === 3) {
                    tmp = isXmlWhitespace_1(ensureNotNull(_this__u8e3s4.textContent)) ? EventType_IGNORABLE_WHITESPACE_getInstance() : EventType_TEXT_getInstance();
                  } else {
                    var tmp_10 = tmp0_subject;
                    if (tmp_10 === 1) {
                      tmp = endOfElement ? EventType_END_ELEMENT_getInstance() : EventType_START_ELEMENT_getInstance();
                    } else {
                      throw XmlException_init_$Create$_0('Unsupported event type (' + _this__u8e3s4 + ')');
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    return tmp;
  }
  function collectDeclaredPrefixes(_this__u8e3s4, $this, namespaceUri, result, redeclared) {
    // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
    var this_0 = _this__u8e3s4.attributes;
    var l = this_0.length;
    var inductionVariable = 0;
    if (inductionVariable < l)
      do {
        var idx = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.<no name provided>.collectDeclaredPrefixes.<anonymous>' call
        var tmp = this_0.item(idx);
        var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
        var tmp_0;
        if (attr.prefix === 'xmlns') {
          tmp_0 = attr.localName;
        } else {
          var tmp_1;
          // Inline function 'kotlin.text.isNullOrEmpty' call
          var this_1 = attr.prefix;
          // Inline function 'kotlin.contracts.contract' call
          if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
            tmp_1 = attr.localName === 'xmlns';
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
        }
        var prefix = tmp_0;
        if (!(prefix == null)) {
          if (redeclared.a1(prefix)) {
            if (attr.value === namespaceUri) {
              result.i1(prefix);
            }
            redeclared.i1(prefix);
          }
        }
      }
       while (inductionVariable < l);
    var tmp0_safe_receiver = _this__u8e3s4.parentElement;
    if (tmp0_safe_receiver == null)
      null;
    else {
      collectDeclaredPrefixes(tmp0_safe_receiver, $this, namespaceUri, result, redeclared);
    }
  }
  function DomWriter_init_$Init$(xmlDeclMode, $this) {
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    DomWriter.call($this, null, VOID, xmlDeclMode);
    return $this;
  }
  function DomWriter_init_$Create$(xmlDeclMode) {
    return DomWriter_init_$Init$(xmlDeclMode, objectCreate(protoOf(DomWriter)));
  }
  function writeIndent($this, newDepth) {
    var indentSeq = $this.hl5_1;
    var tmp;
    var tmp_0;
    if ($this.ol5_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.ol5_1 === $this.ql5_1);
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.ul5('\n');
      try {
        $this.hl5_1 = emptyList();
        // Inline function 'kotlin.repeat' call
        var times = $this.ql5_1;
        // Inline function 'kotlin.contracts.contract' call
        var inductionVariable = 0;
        if (inductionVariable < times)
          do {
            var index = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>' call
            // Inline function 'kotlin.collections.forEach' call
            var tmp0_iterator = indentSeq.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>.<anonymous>' call
              element.yl5($this);
            }
          }
           while (inductionVariable < times);
      }finally {
        $this.hl5_1 = indentSeq;
      }
    }
    $this.ol5_1 = newDepth;
  }
  function writeIndent$default($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.ql5_1 : newDepth;
    return writeIndent($this, newDepth);
  }
  function addToPending($this, operation) {
    if ($this.ll5_1 == null) {
      var tmp = $this.nl5_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).i1(operation);
    } else
      throw IllegalStateException_init_$Create$('Use of pending list when there is a document already');
  }
  function requireCurrent($this, error) {
    var tmp = $this.ml5_1;
    var tmp0_elvis_lhs = (!(tmp == null) ? !(tmp == null) : false) ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('The current node is not an element: ' + error);
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function Companion() {
    this.zl5_1 = -1;
    this.al6_1 = 2147483647;
  }
  var Companion_instance_0;
  function Companion_getInstance() {
    return Companion_instance_0;
  }
  function DomWriter$namespaceContext$1(this$0) {
    this.bl6_1 = this$0;
  }
  protoOf(DomWriter$namespaceContext$1).hl4 = function (prefix) {
    var tmp0_safe_receiver = this.bl6_1.ml5_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupNamespaceURI(prefix);
  };
  protoOf(DomWriter$namespaceContext$1).il4 = function (namespaceURI) {
    var tmp0_safe_receiver = this.bl6_1.ml5_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupPrefix(namespaceURI);
  };
  protoOf(DomWriter$namespaceContext$1).kl4 = function (namespaceURI) {
    // Inline function 'kotlin.collections.buildSet' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildSetInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = LinkedHashSet_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.<no name provided>.getPrefixesCompat.<anonymous>' call
    var tmp = this.bl6_1.ml5_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.collections.mutableListOf' call
      var tmp$ret$0 = ArrayList_init_$Create$();
      collectDeclaredPrefixes(tmp0_safe_receiver, this, namespaceURI, this_0, tmp$ret$0);
    }
    var tmp$ret$3 = this_0.f3();
    return toList(tmp$ret$3).w();
  };
  function DomWriter$comment$lambda(this$0, $text) {
    return function (it) {
      this$0.cl6($text);
      return Unit_instance;
    };
  }
  function DomWriter$text$lambda(this$0, $text) {
    return function (it) {
      this$0.ul5($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda(this$0, $text) {
    return function (it) {
      this$0.dl6($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda_0(this$0, $target, $data) {
    return function (it) {
      this$0.el6($target, $data);
      return Unit_instance;
    };
  }
  function DomWriter$ignorableWhitespace$lambda(this$0, $text) {
    return function (it) {
      this$0.ul5($text);
      return Unit_instance;
    };
  }
  function DomWriter$docdecl$lambda(this$0, $text) {
    return function (it) {
      this$0.fl6($text);
      return Unit_instance;
    };
  }
  function DomWriter$close$lambda(this$0) {
    return function () {
      return 'Closing a dom writer but not all elements were closed (depth:' + this$0.ql5_1 + ')';
    };
  }
  function DomWriter(current, isAppend, xmlDeclMode) {
    isAppend = isAppend === VOID ? false : isAppend;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    PlatformXmlWriterBase.call(this);
    this.jl5_1 = isAppend;
    this.kl5_1 = xmlDeclMode;
    var tmp = this;
    var tmp1_subject = current == null ? null : current.nodeType;
    var tmp_0;
    if (tmp1_subject == null) {
      tmp_0 = null;
    } else {
      var tmp_1 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_1 === 9) {
        tmp_0 = (!(current == null) ? !(current == null) : false) ? current : THROW_CCE();
      } else {
        tmp_0 = current.ownerDocument;
      }
    }
    tmp.ll5_1 = tmp_0;
    this.ml5_1 = current;
    var tmp_2 = this;
    // Inline function 'kotlin.collections.mutableListOf' call
    tmp_2.nl5_1 = ArrayList_init_$Create$();
    this.ol5_1 = -1;
    var tmp_3 = this;
    tmp_3.pl5_1 = new DomWriter$namespaceContext$1(this);
    this.ql5_1 = 0;
    this.rl5_1 = null;
    this.sl5_1 = null;
    this.tl5_1 = null;
  }
  protoOf(DomWriter).gl6 = function () {
    var tmp0_elvis_lhs = this.ll5_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Document not created yet');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(DomWriter).yl4 = function () {
    return this.pl5_1;
  };
  protoOf(DomWriter).rl4 = function () {
    return this.ql5_1;
  };
  protoOf(DomWriter).hl6 = function (namespacePrefix, namespaceUri) {
    var cur = requireCurrent(this, 'Namespace attribute');
    // Inline function 'kotlin.text.isEmpty' call
    if (charSequenceLength(namespacePrefix) === 0) {
      var tmp;
      // Inline function 'kotlin.text.isEmpty' call
      if (charSequenceLength(namespaceUri) === 0) {
        tmp = cur.lookupNamespaceURI('') === '';
      } else {
        tmp = false;
      }
      if (!tmp) {
        cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', namespaceUri);
      }
    } else {
      cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns' + ':' + namespacePrefix, namespaceUri);
    }
  };
  protoOf(DomWriter).il6 = function (namespace, localName, prefix) {
    writeIndent$default(this);
    this.ql5_1 = this.ql5_1 + 1 | 0;
    if (this.ml5_1 == null ? this.ll5_1 == null : false) {
      var doc = createDocument(qname(namespace == null ? '' : namespace, localName, prefix));
      this.ll5_1 = doc;
      this.ml5_1 = this.ll5_1;
      var e = ensureNotNull(doc.documentElement);
      doc.removeChild(e);
      var tmp3_iterator = this.nl5_1.w();
      while (tmp3_iterator.f()) {
        var pending = tmp3_iterator.e();
        pending(doc);
      }
      doc.appendChild(e);
      var tmp = this.nl5_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).n1();
      this.ol5_1 = 0;
      this.ml5_1 = doc.documentElement;
      return Unit_instance;
    } else if (this.ml5_1 == null ? !this.jl5_1 : false) {
      // Inline function 'kotlin.sequences.count' call
      var count = 0;
      var tmp0_iterator = asSequence(iterator_0(this.gl6().childNodes)).w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.startTag.<anonymous>' call
        var tmp_0 = element.nodeType;
        if (tmp_0 === 1) {
          count = count + 1 | 0;
          checkCountOverflow(count);
        }
      }
      if (count > 0) {
        removeElementChildren(this.gl6());
      }
    }
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var elem = createElement(this.gl6(), qname(namespace, localName, prefix));
    ensureNotNull(this.ml5_1).appendChild(elem);
    this.ml5_1 = elem;
  };
  protoOf(DomWriter).cl6 = function (text) {
    writeIndent$default(this);
    var ce = this.ml5_1;
    if (ce == null) {
      addToPending(this, DomWriter$comment$lambda(this, text));
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.comment.<anonymous>' call
      var comment = this.gl6().createComment(text);
      ce.appendChild(comment);
    }
  };
  protoOf(DomWriter).jl6 = function (text) {
    this.ol5_1 = -1;
    var ce = this.ml5_1;
    if (ce == null) {
      if (isBlank(text)) {
        addToPending(this, DomWriter$text$lambda(this, text));
      } else
        throw XmlException_init_$Create$_0('Not in an element -- text');
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.text.<anonymous>' call
      var textNode = this.gl6().createTextNode(text);
      ce.appendChild(textNode);
    }
  };
  protoOf(DomWriter).kl6 = function (text) {
    this.ol5_1 = -1;
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DomWriter.cdsect.<anonymous>' call
    var cdataSection = this.gl6().createCDATASection(text);
    var tmp0_safe_receiver = this.ml5_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.appendChild(cdataSection);
    var tmp;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Not in an element -- cdsect');
    } else {
      tmp = tmp1_elvis_lhs;
    }
  };
  protoOf(DomWriter).ll6 = function (text) {
    this.ol5_1 = -1;
    throw UnsupportedOperationException_init_$Create$('Creating entity references is not supported (or incorrect) in most browsers');
  };
  protoOf(DomWriter).dl6 = function (text) {
    writeIndent(this, 2147483647);
    var tmp0_safe_receiver = this.ml5_1;
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp = tmp1_safe_receiver == null ? null : tmp1_safe_receiver;
    if (!(tmp === 1))
      throw XmlException_init_$Create$_0('Document already started');
    if (this.ll5_1 == null) {
      addToPending(this, DomWriter$processingInstruction$lambda(this, text));
    } else {
      var split = indexOf(text, _Char___init__impl__6a9atx(32));
      var tmp_0;
      if (split < 0) {
        tmp_0 = to(text, '');
      } else {
        // Inline function 'kotlin.text.substring' call
        // Inline function 'kotlin.js.asDynamic' call
        var tmp_1 = text.substring(0, split);
        // Inline function 'kotlin.text.substring' call
        var startIndex = split + 1 | 0;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp$ret$3 = text.substring(startIndex);
        tmp_0 = to(tmp_1, tmp$ret$3);
      }
      var tmp2_container = tmp_0;
      var target = tmp2_container.y6();
      var data = tmp2_container.z6();
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.processingInstruction.<anonymous>' call
      var processInstr = this.gl6().createProcessingInstruction(target, data);
      this.gl6().appendChild(processInstr);
    }
  };
  protoOf(DomWriter).el6 = function (target, data) {
    var ce = this.ml5_1;
    if (ce == null) {
      addToPending(this, DomWriter$processingInstruction$lambda_0(this, target, data));
    } else {
      var processInstr = this.gl6().createProcessingInstruction(target, data);
      ce.appendChild(processInstr);
    }
    this.ol5_1 = -1;
  };
  protoOf(DomWriter).ul5 = function (text) {
    var ce = this.ml5_1;
    if (ce == null) {
      addToPending(this, DomWriter$ignorableWhitespace$lambda(this, text));
    } else {
      var tmp = ce.nodeType;
      if (!(tmp === 9)) {
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.ignorableWhitespace.<anonymous>' call
        var textNode = this.gl6().createTextNode(text);
        ce.appendChild(textNode);
      }
    }
    this.ol5_1 = -1;
  };
  protoOf(DomWriter).ml6 = function (namespace, name, prefix, value) {
    var cur = requireCurrent(this, 'attribute');
    var tmp;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (namespace == null ? true : charSequenceLength(namespace) === 0) {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      tmp = prefix == null ? true : charSequenceLength(prefix) === 0;
    } else {
      tmp = false;
    }
    if (tmp) {
      cur.setAttribute(name, value);
    } else {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (prefix == null ? true : charSequenceLength(prefix) === 0) {
        cur.setAttributeNS(namespace, name, value);
      } else {
        var tmp_0;
        if (namespace == null) {
          tmp_0 = '';
        } else {
          tmp_0 = namespace;
        }
        cur.setAttributeNS(tmp_0, '' + prefix + ':' + name, value);
      }
    }
  };
  protoOf(DomWriter).fl6 = function (text) {
    writeIndent(this, 2147483647);
    var target = this.ll5_1;
    if (target == null) {
      addToPending(this, DomWriter$docdecl$lambda(this, text));
    } else {
      var textElems = split(text, [' '], VOID, 3);
      var qualifiedName = textElems.v(0);
      var publicId = textElems.u() > 1 ? textElems.v(1) : '';
      var systemId = textElems.u() > 2 ? textElems.v(2) : '';
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.docdecl.<anonymous>' call
      var docType = target.implementation.createDocumentType(qualifiedName, publicId, systemId);
      target.appendChild(docType);
    }
  };
  protoOf(DomWriter).nl6 = function (version, encoding, standalone) {
    writeIndent(this, 2147483647);
    this.rl5_1 = version;
    this.sl5_1 = encoding;
    this.tl5_1 = standalone;
  };
  protoOf(DomWriter).pl6 = function () {
    this.ml5_1 = null;
  };
  protoOf(DomWriter).ql6 = function (namespace, localName, prefix) {
    this.ql5_1 = this.ql5_1 - 1 | 0;
    writeIndent(this, 2147483647);
    this.ml5_1 = requireCurrent(this, 'No current element or no parent element').parentNode;
  };
  protoOf(DomWriter).rl6 = function (prefix) {
    var tmp0_safe_receiver = this.ml5_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomWriter).sl6 = function (namespaceUri) {
    var tmp1_safe_receiver = this.ml5_1;
    var tmp;
    if (tmp1_safe_receiver == null) {
      tmp = null;
    } else {
      tmp = myLookupPrefix(tmp1_safe_receiver, namespaceUri == null ? '' : namespaceUri);
    }
    return tmp;
  };
  protoOf(DomWriter).n = function () {
    var tmp = this.ql5_1 === 0;
    assert(tmp, DomWriter$close$lambda(this));
    this.ml5_1 = null;
  };
  function EventType$START_DOCUMENT() {
    EventType.call(this, 'START_DOCUMENT', 0);
    EventType_START_DOCUMENT_instance = this;
  }
  protoOf(EventType$START_DOCUMENT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_DOCUMENT.createEvent.<anonymous>' call
    return new StartDocumentEvent(reader.xl4(), reader.p3c(), reader.al5(), reader.bl5());
  };
  protoOf(EventType$START_DOCUMENT).zl6 = function (writer, reader) {
    writer.nl6(reader.p3c(), reader.al5(), reader.bl5());
  };
  var EventType_START_DOCUMENT_instance;
  function EventType$START_ELEMENT() {
    EventType.call(this, 'START_ELEMENT', 1);
    EventType_START_ELEMENT_instance = this;
  }
  protoOf(EventType$START_ELEMENT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_ELEMENT.createEvent.<anonymous>' call
    return new StartElementEvent(reader.xl4(), reader.nl4(), reader.ol4(), reader.pl4(), get_attributes(reader), reader.yl4().jl4(), reader.zl4());
  };
  protoOf(EventType$START_ELEMENT).zl6 = function (writer, reader) {
    writer.il6(reader.nl4(), reader.ol4(), reader.pl4());
    var tmp0_iterator = reader.zl4().w();
    while (tmp0_iterator.f()) {
      var attr = tmp0_iterator.e();
      writer.hl6(attr.pl4(), attr.nl4());
    }
    var inductionVariable = 0;
    var last = reader.vl4();
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var attrNs = reader.cl5(i);
        if (!(attrNs === 'http://www.w3.org/2000/xmlns/')) {
          var attrPrefix = reader.dl5(i);
          var tmp;
          if (attrNs === '') {
            tmp = '';
          } else if (attrNs === writer.yl4().hl4(attrPrefix)) {
            tmp = attrPrefix;
          } else {
            var tmp3_elvis_lhs = writer.yl4().il4(attrNs);
            tmp = tmp3_elvis_lhs == null ? attrPrefix : tmp3_elvis_lhs;
          }
          var prefix = tmp;
          writer.ml6(attrNs, reader.el5(i), prefix, reader.fl5(i));
        }
      }
       while (inductionVariable < last);
  };
  var EventType_START_ELEMENT_instance;
  function EventType$END_ELEMENT() {
    EventType.call(this, 'END_ELEMENT', 2);
    EventType_END_ELEMENT_instance = this;
  }
  protoOf(EventType$END_ELEMENT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_ELEMENT.createEvent.<anonymous>' call
    return new EndElementEvent(reader.xl4(), reader.nl4(), reader.ol4(), reader.pl4(), reader.yl4());
  };
  protoOf(EventType$END_ELEMENT).zl6 = function (writer, reader) {
    writer.ql6(reader.nl4(), reader.ol4(), reader.pl4());
  };
  var EventType_END_ELEMENT_instance;
  function EventType$COMMENT() {
    EventType.call(this, 'COMMENT', 3);
    EventType_COMMENT_instance = this;
  }
  protoOf(EventType$COMMENT).cl7 = function () {
    return true;
  };
  protoOf(EventType$COMMENT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.COMMENT.createEvent.<anonymous>' call
    return new TextEvent(reader.xl4(), EventType_COMMENT_getInstance(), reader.ul4());
  };
  protoOf(EventType$COMMENT).dl7 = function (writer, textEvent) {
    writer.cl6(textEvent.xl5_1);
  };
  protoOf(EventType$COMMENT).zl6 = function (writer, reader) {
    writer.cl6(reader.ul4());
  };
  var EventType_COMMENT_instance;
  function EventType$TEXT() {
    EventType.call(this, 'TEXT', 4);
    EventType_TEXT_instance = this;
  }
  protoOf(EventType$TEXT).cl7 = function () {
    return true;
  };
  protoOf(EventType$TEXT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.TEXT.createEvent.<anonymous>' call
    return new TextEvent(reader.xl4(), EventType_TEXT_getInstance(), reader.ul4());
  };
  protoOf(EventType$TEXT).dl7 = function (writer, textEvent) {
    writer.jl6(textEvent.xl5_1);
  };
  protoOf(EventType$TEXT).zl6 = function (writer, reader) {
    writer.jl6(reader.ul4());
  };
  var EventType_TEXT_instance;
  function EventType$CDSECT() {
    EventType.call(this, 'CDSECT', 5);
    EventType_CDSECT_instance = this;
  }
  protoOf(EventType$CDSECT).cl7 = function () {
    return true;
  };
  protoOf(EventType$CDSECT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.CDSECT.createEvent.<anonymous>' call
    return new TextEvent(reader.xl4(), EventType_CDSECT_getInstance(), reader.ul4());
  };
  protoOf(EventType$CDSECT).dl7 = function (writer, textEvent) {
    writer.kl6(textEvent.xl5_1);
  };
  protoOf(EventType$CDSECT).zl6 = function (writer, reader) {
    writer.kl6(reader.ul4());
  };
  var EventType_CDSECT_instance;
  function EventType$DOCDECL() {
    EventType.call(this, 'DOCDECL', 6);
    EventType_DOCDECL_instance = this;
  }
  protoOf(EventType$DOCDECL).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DOCDECL.createEvent.<anonymous>' call
    return new TextEvent(reader.xl4(), EventType_DOCDECL_getInstance(), reader.ul4());
  };
  protoOf(EventType$DOCDECL).dl7 = function (writer, textEvent) {
    writer.fl6(textEvent.xl5_1);
  };
  protoOf(EventType$DOCDECL).zl6 = function (writer, reader) {
    writer.fl6(reader.ul4());
  };
  var EventType_DOCDECL_instance;
  function EventType$END_DOCUMENT() {
    EventType.call(this, 'END_DOCUMENT', 7);
    EventType_END_DOCUMENT_instance = this;
  }
  protoOf(EventType$END_DOCUMENT).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_DOCUMENT.createEvent.<anonymous>' call
    return new EndDocumentEvent(reader.xl4());
  };
  protoOf(EventType$END_DOCUMENT).zl6 = function (writer, reader) {
    writer.pl6();
  };
  var EventType_END_DOCUMENT_instance;
  function EventType$ENTITY_REF() {
    EventType.call(this, 'ENTITY_REF', 8);
    EventType_ENTITY_REF_instance = this;
  }
  protoOf(EventType$ENTITY_REF).cl7 = function () {
    return true;
  };
  protoOf(EventType$ENTITY_REF).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ENTITY_REF.createEvent.<anonymous>' call
    return new EntityRefEvent(reader.xl4(), reader.ol4(), reader.ul4());
  };
  protoOf(EventType$ENTITY_REF).dl7 = function (writer, textEvent) {
    writer.jl6(textEvent.xl5_1);
  };
  protoOf(EventType$ENTITY_REF).zl6 = function (writer, reader) {
    writer.jl6(reader.ul4());
  };
  var EventType_ENTITY_REF_instance;
  function EventType$IGNORABLE_WHITESPACE() {
    EventType.call(this, 'IGNORABLE_WHITESPACE', 9);
    EventType_IGNORABLE_WHITESPACE_instance = this;
  }
  protoOf(EventType$IGNORABLE_WHITESPACE).cl7 = function () {
    return true;
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.IGNORABLE_WHITESPACE.createEvent.<anonymous>' call
    return new TextEvent(reader.xl4(), EventType_IGNORABLE_WHITESPACE_getInstance(), reader.ul4());
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).dl7 = function (writer, textEvent) {
    writer.ul5(textEvent.xl5_1);
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).zl6 = function (writer, reader) {
    writer.ul5(reader.ul4());
  };
  var EventType_IGNORABLE_WHITESPACE_instance;
  function EventType$ATTRIBUTE() {
    EventType.call(this, 'ATTRIBUTE', 10);
    EventType_ATTRIBUTE_instance = this;
  }
  protoOf(EventType$ATTRIBUTE).yl6 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ATTRIBUTE.createEvent.<anonymous>' call
    return new Attribute(reader.xl4(), reader.nl4(), reader.ol4(), reader.pl4(), reader.ul4());
  };
  protoOf(EventType$ATTRIBUTE).zl6 = function (writer, reader) {
    writer.ml6(reader.nl4(), reader.ol4(), reader.pl4(), reader.ul4());
  };
  var EventType_ATTRIBUTE_instance;
  function EventType$PROCESSING_INSTRUCTION() {
    EventType.call(this, 'PROCESSING_INSTRUCTION', 11);
    EventType_PROCESSING_INSTRUCTION_instance = this;
  }
  protoOf(EventType$PROCESSING_INSTRUCTION).cl7 = function () {
    return true;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).yl6 = function (reader) {
    return new ProcessingInstructionEvent(reader.xl4(), reader.sl4(), reader.tl4());
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).dl7 = function (writer, textEvent) {
    var tmp;
    if (textEvent instanceof ProcessingInstructionEvent) {
      writer.el6(textEvent.dl8_1, textEvent.el8_1);
      tmp = Unit_instance;
    } else {
      writer.dl6(textEvent.xl5_1);
      tmp = Unit_instance;
    }
    return tmp;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).zl6 = function (writer, reader) {
    writer.el6(reader.sl4(), reader.tl4());
  };
  var EventType_PROCESSING_INSTRUCTION_instance;
  var EventType_entriesInitialized;
  function EventType_initEntries() {
    if (EventType_entriesInitialized)
      return Unit_instance;
    EventType_entriesInitialized = true;
    EventType_START_DOCUMENT_instance = new EventType$START_DOCUMENT();
    EventType_START_ELEMENT_instance = new EventType$START_ELEMENT();
    EventType_END_ELEMENT_instance = new EventType$END_ELEMENT();
    EventType_COMMENT_instance = new EventType$COMMENT();
    EventType_TEXT_instance = new EventType$TEXT();
    EventType_CDSECT_instance = new EventType$CDSECT();
    EventType_DOCDECL_instance = new EventType$DOCDECL();
    EventType_END_DOCUMENT_instance = new EventType$END_DOCUMENT();
    EventType_ENTITY_REF_instance = new EventType$ENTITY_REF();
    EventType_IGNORABLE_WHITESPACE_instance = new EventType$IGNORABLE_WHITESPACE();
    EventType_ATTRIBUTE_instance = new EventType$ATTRIBUTE();
    EventType_PROCESSING_INSTRUCTION_instance = new EventType$PROCESSING_INSTRUCTION();
  }
  function EventType(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  protoOf(EventType).cl7 = function () {
    return false;
  };
  protoOf(EventType).dl7 = function (writer, textEvent) {
    throw UnsupportedOperationException_init_$Create$('This is not generally supported, only by text types');
  };
  function EventType_START_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_DOCUMENT_instance;
  }
  function EventType_START_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_ELEMENT_instance;
  }
  function EventType_END_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_ELEMENT_instance;
  }
  function EventType_COMMENT_getInstance() {
    EventType_initEntries();
    return EventType_COMMENT_instance;
  }
  function EventType_TEXT_getInstance() {
    EventType_initEntries();
    return EventType_TEXT_instance;
  }
  function EventType_CDSECT_getInstance() {
    EventType_initEntries();
    return EventType_CDSECT_instance;
  }
  function EventType_DOCDECL_getInstance() {
    EventType_initEntries();
    return EventType_DOCDECL_instance;
  }
  function EventType_END_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_DOCUMENT_instance;
  }
  function EventType_ENTITY_REF_getInstance() {
    EventType_initEntries();
    return EventType_ENTITY_REF_instance;
  }
  function EventType_IGNORABLE_WHITESPACE_getInstance() {
    EventType_initEntries();
    return EventType_IGNORABLE_WHITESPACE_instance;
  }
  function EventType_ATTRIBUTE_getInstance() {
    EventType_initEntries();
    return EventType_ATTRIBUTE_instance;
  }
  function EventType_PROCESSING_INSTRUCTION_getInstance() {
    EventType_initEntries();
    return EventType_PROCESSING_INSTRUCTION_instance;
  }
  function Namespace$Companion$descriptor$lambda($this$buildClassSerialDescriptor) {
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_0 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$2 = (isInterface(this_0, KSerializer) ? this_0 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('prefix', tmp$ret$2);
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_1 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$5 = (isInterface(this_1, KSerializer) ? this_1 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('namespaceURI', tmp$ret$5);
    return Unit_instance;
  }
  function Companion_0() {
    Companion_instance_1 = this;
    var tmp = this;
    var tmp_0 = ensureNotNull(getKClass(Namespace).f7());
    tmp.fl8_1 = buildClassSerialDescriptor(tmp_0, [], Namespace$Companion$descriptor$lambda);
  }
  protoOf(Companion_0).q44 = function () {
    return this.fl8_1;
  };
  protoOf(Companion_0).s44 = function (decoder) {
    var prefix = {_v: null};
    var namespaceUri = {_v: null};
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.fl8_1;
    var composite = decoder.i48(descriptor);
    var index = composite.y48(Companion_getInstance_0().fl8_1);
    $l$loop: while (true) {
      var tmp = index;
      if (!!(tmp === -1)) {
        break $l$loop;
      }
      var tmp0_subject = index;
      if (tmp0_subject === 0) {
        prefix._v = composite.s48(Companion_getInstance_0().fl8_1, index);
      } else if (tmp0_subject === 1) {
        namespaceUri._v = composite.s48(Companion_getInstance_0().fl8_1, index);
      }
      index = composite.y48(Companion_getInstance_0().fl8_1);
    }
    var result = Unit_instance;
    composite.j48(descriptor);
    var tmp_0;
    if (prefix._v == null) {
      throwUninitializedPropertyAccessException('prefix');
    } else {
      tmp_0 = prefix._v;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (namespaceUri._v == null) {
      throwUninitializedPropertyAccessException('namespaceUri');
    } else {
      tmp_2 = namespaceUri._v;
    }
    return new NamespaceImpl(tmp_1, tmp_2);
  };
  protoOf(Companion_0).gl8 = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.fl8_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.Companion.serialize.<anonymous>' call
    composite.w49(Companion_getInstance_0().fl8_1, 0, value.pl4());
    composite.w49(Companion_getInstance_0().fl8_1, 1, value.nl4());
    composite.j48(descriptor);
  };
  protoOf(Companion_0).r44 = function (encoder, value) {
    return this.gl8(encoder, (!(value == null) ? isInterface(value, Namespace) : false) ? value : THROW_CCE());
  };
  var Companion_instance_1;
  function Companion_getInstance_0() {
    if (Companion_instance_1 == null)
      new Companion_0();
    return Companion_instance_1;
  }
  function Namespace() {
  }
  function IterableNamespaceContext() {
  }
  function QNameSerializer$descriptor$lambda($this$buildClassSerialDescriptor) {
    var stringSerializer = serializer_0(StringCompanionObject_instance);
    $this$buildClassSerialDescriptor.b45('namespace', stringSerializer.q44(), VOID, true);
    $this$buildClassSerialDescriptor.b45('localPart', stringSerializer.q44());
    $this$buildClassSerialDescriptor.b45('prefix', stringSerializer.q44(), VOID, true);
    return Unit_instance;
  }
  function QNameSerializer() {
    QNameSerializer_instance = this;
    var tmp = this;
    tmp.hl8_1 = buildClassSerialDescriptor('javax.xml.namespace.QName', [], QNameSerializer$descriptor$lambda);
  }
  protoOf(QNameSerializer).q44 = function () {
    return this.hl8_1;
  };
  protoOf(QNameSerializer).s44 = function (decoder) {
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.hl8_1;
    var composite = decoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.deserialize.<anonymous>' call
    var prefix = '';
    var namespace = '';
    var localPart = null;
    loop: while (true) {
      var tmp0_subject = composite.y48(QNameSerializer_getInstance().hl8_1);
      if (tmp0_subject === -1)
        break loop;
      else {
        if (tmp0_subject === 0)
          namespace = composite.s48(QNameSerializer_getInstance().hl8_1, 0);
        else {
          if (tmp0_subject === 1)
            localPart = composite.s48(QNameSerializer_getInstance().hl8_1, 1);
          else {
            if (tmp0_subject === 2)
              prefix = composite.s48(QNameSerializer_getInstance().hl8_1, 2);
          }
        }
      }
    }
    var tmp = namespace;
    var tmp_0;
    if (localPart == null) {
      throwUninitializedPropertyAccessException('localPart');
    } else {
      tmp_0 = localPart;
    }
    var result = new QName(tmp, tmp_0, prefix);
    composite.j48(descriptor);
    return result;
  };
  protoOf(QNameSerializer).il8 = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.hl8_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.serialize.<anonymous>' call
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    // Inline function 'kotlin.contracts.contract' call
    var ns = value.ml8();
    var tmp;
    var tmp_0;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(ns) > 0) {
      tmp_0 = true;
    } else {
      tmp_0 = composite.e4a(QNameSerializer_getInstance().hl8_1, 0);
    }
    if (tmp_0) {
      composite.w49(QNameSerializer_getInstance().hl8_1, 0, ns);
      tmp = Unit_instance;
    }
    var tmp_1 = QNameSerializer_getInstance().hl8_1;
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$3 = value.nl8();
    composite.w49(tmp_1, 1, tmp$ret$3);
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    // Inline function 'kotlin.contracts.contract' call
    var prefix = value.ol8();
    var tmp_2;
    var tmp_3;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      tmp_3 = true;
    } else {
      tmp_3 = composite.e4a(QNameSerializer_getInstance().hl8_1, 2);
    }
    if (tmp_3) {
      composite.w49(QNameSerializer_getInstance().hl8_1, 2, prefix);
      tmp_2 = Unit_instance;
    }
    composite.j48(descriptor);
  };
  protoOf(QNameSerializer).r44 = function (encoder, value) {
    return this.il8(encoder, value instanceof QName ? value : THROW_CCE());
  };
  var QNameSerializer_instance;
  function QNameSerializer_getInstance() {
    if (QNameSerializer_instance == null)
      new QNameSerializer();
    return QNameSerializer_instance;
  }
  function isEquivalent(_this__u8e3s4, other) {
    return _this__u8e3s4.nl8() === other.nl8() ? _this__u8e3s4.ml8() === other.ml8() : false;
  }
  function toNamespace(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    var tmp = _this__u8e3s4.ol8();
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp$ret$1 = _this__u8e3s4.ml8();
    return new NamespaceImpl(tmp, tmp$ret$1);
  }
  function SimpleIterator($outer) {
    this.ql8_1 = $outer;
    this.pl8_1 = 0;
  }
  protoOf(SimpleIterator).f = function () {
    return this.pl8_1 < this.ql8_1.u();
  };
  protoOf(SimpleIterator).e = function () {
    var tmp1 = this.pl8_1;
    this.pl8_1 = tmp1 + 1 | 0;
    return new SimpleNamespace(this.ql8_1, tmp1);
  };
  function SimpleNamespace($outer, pos) {
    this.tl8_1 = $outer;
    this.sl8_1 = pos;
  }
  protoOf(SimpleNamespace).pl4 = function () {
    return this.tl8_1.ul8(this.sl8_1);
  };
  protoOf(SimpleNamespace).nl4 = function () {
    return this.tl8_1.vl8(this.sl8_1);
  };
  protoOf(SimpleNamespace).hashCode = function () {
    return imul(getStringHashCode(this.pl4()), 31) + getStringHashCode(this.nl4()) | 0;
  };
  protoOf(SimpleNamespace).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    return this.pl4() === other.pl4() ? this.nl4() === other.nl4() : false;
  };
  protoOf(SimpleNamespace).toString = function () {
    return '{' + this.pl4() + ':' + this.nl4() + '}';
  };
  function SimpleNamespaceContext_init_$Init$($this) {
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$0 = [];
    SimpleNamespaceContext.call($this, tmp$ret$0);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$() {
    return SimpleNamespaceContext_init_$Init$(objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_0(prefixMap, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var namespaces = prefixMap.q2();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_0(prefixMap) {
    return SimpleNamespaceContext_init_$Init$_0(prefixMap, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this) {
    var tmp = 0;
    var tmp_0 = imul(prefixes.length, 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = toString((tmp_2 % 2 | 0) === 0 ? prefixes[tmp_2 / 2 | 0] : namespaces[tmp_2 / 2 | 0]);
      tmp = tmp + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_1);
    return $this;
  }
  function SimpleNamespaceContext_init_$Init$_2(namespaces, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud_0).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_1(namespaces) {
    return SimpleNamespaceContext_init_$Init$_2(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_3(namespaces, $this) {
    var tmp0_elvis_lhs = isInterface(namespaces, Collection) ? namespaces : null;
    SimpleNamespaceContext_init_$Init$_2(tmp0_elvis_lhs == null ? toList(namespaces) : tmp0_elvis_lhs, $this);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_2(namespaces) {
    return SimpleNamespaceContext_init_$Init$_3(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function Companion_1() {
    Companion_instance_2 = this;
    this.wl8_1 = ListSerializer(Companion_getInstance_0());
    this.xl8_1 = SerialDescriptor('nl.adaptivity.xmlutil.SimpleNamespaceContext', this.wl8_1.q44());
  }
  protoOf(Companion_1).q44 = function () {
    return this.xl8_1;
  };
  protoOf(Companion_1).yl8 = function (originalNSContext) {
    var tmp;
    if (originalNSContext instanceof SimpleNamespaceContext) {
      tmp = originalNSContext;
    } else {
      tmp = SimpleNamespaceContext_init_$Create$_2(originalNSContext);
    }
    return tmp;
  };
  protoOf(Companion_1).s44 = function (decoder) {
    return SimpleNamespaceContext_init_$Create$_1(this.wl8_1.s44(decoder));
  };
  protoOf(Companion_1).zl8 = function (encoder, value) {
    this.wl8_1.r44(encoder, toList(value));
  };
  protoOf(Companion_1).r44 = function (encoder, value) {
    return this.zl8(encoder, value instanceof SimpleNamespaceContext ? value : THROW_CCE());
  };
  var Companion_instance_2;
  function Companion_getInstance_1() {
    if (Companion_instance_2 == null)
      new Companion_1();
    return Companion_instance_2;
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = toString(it.s2());
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = toString(it.t2());
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud_0(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = it.pl4();
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = it.nl4();
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda(this$0, $namespaceURI) {
    return function (it) {
      return this$0.vl8(it) === $namespaceURI;
    };
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda_0(this$0) {
    return function (it) {
      return this$0.ul8(it);
    };
  }
  function SimpleNamespaceContext(buffer) {
    Companion_getInstance_1();
    this.rl8_1 = buffer;
  }
  protoOf(SimpleNamespaceContext).al9 = function () {
    return until(0, this.u());
  };
  protoOf(SimpleNamespaceContext).u = function () {
    return this.rl8_1.length / 2 | 0;
  };
  protoOf(SimpleNamespaceContext).jl4 = function () {
    return this;
  };
  protoOf(SimpleNamespaceContext).hl4 = function (prefix) {
    var tmp;
    if (prefix === 'xml') {
      tmp = 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefix === 'xmlns') {
        tmp = 'http://www.w3.org/2000/xmlns/';
      } else {
        // Inline function 'kotlin.collections.filter' call
        // Inline function 'kotlin.collections.filterTo' call
        var this_0 = reversed(this.al9());
        var destination = ArrayList_init_$Create$();
        var tmp0_iterator = this_0.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          if (this.ul8(element) === prefix) {
            destination.i1(element);
          }
        }
        var tmp1_safe_receiver = firstOrNull(destination);
        var tmp_0;
        if (tmp1_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          tmp_0 = this.vl8(tmp1_safe_receiver);
        }
        tmp = tmp_0;
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).il4 = function (namespaceURI) {
    return firstOrNull_0(this.bl9(namespaceURI));
  };
  protoOf(SimpleNamespaceContext).bl9 = function (namespaceURI) {
    var tmp;
    if (namespaceURI === 'http://www.w3.org/XML/1998/namespace') {
      tmp = sequenceOf(['xml']);
    } else {
      if (namespaceURI === '') {
        tmp = sequenceOf(['']);
      } else {
        if (namespaceURI === 'http://www.w3.org/2000/xmlns/') {
          tmp = sequenceOf(['xmlns']);
        } else {
          var tmp_0 = asSequence_0(reversed(this.al9()));
          var tmp_1 = filter(tmp_0, SimpleNamespaceContext$getPrefixSequence$lambda(this, namespaceURI));
          tmp = map(tmp_1, SimpleNamespaceContext$getPrefixSequence$lambda_0(this));
        }
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).kl4 = function (namespaceURI) {
    return this.bl9(namespaceURI).w();
  };
  protoOf(SimpleNamespaceContext).ul8 = function (index) {
    try {
      return this.rl8_1[imul(index, 2)];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).vl8 = function (index) {
    try {
      return this.rl8_1[imul(index, 2) + 1 | 0];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).w = function () {
    return new SimpleIterator(this);
  };
  protoOf(SimpleNamespaceContext).ll4 = function (secondary) {
    var tmp;
    var tmp_0;
    if (secondary instanceof SimpleNamespaceContext) {
      tmp_0 = secondary.u() === 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = this;
    } else {
      var tmp_1;
      if (secondary instanceof SimpleNamespaceContext) {
        tmp_1 = this.u() === 0;
      } else {
        tmp_1 = false;
      }
      if (tmp_1) {
        tmp = secondary;
      } else {
        tmp = plus_0.call(this, secondary);
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SimpleNamespaceContext))
      return false;
    if (!contentEquals(this.rl8_1, other.rl8_1))
      return false;
    return true;
  };
  protoOf(SimpleNamespaceContext).hashCode = function () {
    return contentHashCode(this.rl8_1);
  };
  function XMLConstants() {
    this.cl9_1 = '';
    this.dl9_1 = '';
    this.el9_1 = 'http://www.w3.org/2000/xmlns/';
    this.fl9_1 = 'xmlns';
    this.gl9_1 = 'xml';
    this.hl9_1 = 'http://www.w3.org/XML/1998/namespace';
    this.il9_1 = 'xsi';
    this.jl9_1 = 'http://www.w3.org/2001/XMLSchema-instance';
    this.kl9_1 = 'xsd';
    this.ll9_1 = 'http://www.w3.org/2001/XMLSchema';
  }
  var XMLConstants_instance;
  function XMLConstants_getInstance() {
    return XMLConstants_instance;
  }
  function XmlBufferedReader(delegate) {
    XmlBufferedReaderBase.call(this, delegate);
    this.pl9_1 = ArrayDeque_init_$Create$();
  }
  protoOf(XmlBufferedReader).ql9 = function () {
    // Inline function 'kotlin.collections.isNotEmpty' call
    return !this.pl9_1.c1();
  };
  protoOf(XmlBufferedReader).rl9 = function () {
    return this.pl9_1.hf();
  };
  protoOf(XmlBufferedReader).sl9 = function () {
    return this.pl9_1.kf();
  };
  protoOf(XmlBufferedReader).tl9 = function () {
    var tmp0_elvis_lhs = this.wl9_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Push back fails due to missing current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var c = tmp;
    switch (c.wl4().za_1) {
      case 1:
        this.yl9();
        break;
      case 2:
        this.zl9();
        break;
      default:
        break;
    }
    this.pl9_1.if(c);
  };
  protoOf(XmlBufferedReader).ala = function (events) {
    this.pl9_1.m1(events);
  };
  protoOf(XmlBufferedReader).n = function () {
    protoOf(XmlBufferedReaderBase).n.call(this);
    this.pl9_1.n1();
  };
  function _get_currentElement__mbt3qg($this) {
    var tmp = $this.wl9_1;
    var tmp0_elvis_lhs = tmp instanceof StartElementEvent ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Expected a start element, but did not find it.');
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function removeFirstToCurrent($this) {
    var event = $this.sl9();
    $this.wl9_1 = event;
    switch (event.wl4().za_1) {
      case 1:
        $this.vl9_1.zl9();
        var start = event instanceof StartElementEvent ? event : THROW_CCE();
        var tmp1_iterator = start.zl4().w();
        while (tmp1_iterator.f()) {
          var ns = tmp1_iterator.e();
          $this.vl9_1.wla(ns);
        }

        break;
      case 2:
        $this.vl9_1.yl9();
        break;
      default:
        break;
    }
    return event;
  }
  function XmlBufferedReaderBase(delegate) {
    this.ul9_1 = delegate;
    this.vl9_1 = new NamespaceHolder();
    if (this.ul9_1.ql4()) {
      var tmp0_iterator = this.ul9_1.yl4().w();
      while (tmp0_iterator.f()) {
        var ns = tmp0_iterator.e();
        this.vl9_1.wla(ns);
      }
    }
    this.wl9_1 = this.ul9_1.ql4() ? Companion_instance_3.xla(this.ul9_1) : null;
  }
  protoOf(XmlBufferedReaderBase).nl4 = function () {
    var tmp0_safe_receiver = this.wl9_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.wl4();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.wl9_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).clb_1;
        break;
      case 1:
        var tmp_1 = this.wl9_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).elb_1;
        break;
      case 2:
        var tmp_2 = this.wl9_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).elb_1;
        break;
      default:
        var tmp2_safe_receiver = this.wl9_1;
        throw XmlException_init_$Create$_0('Attribute not defined here: namespaceUri (current event: ' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.wl4()) + ')');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).ol4 = function () {
    var tmp0_safe_receiver = this.wl9_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.wl4();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 8:
        var tmp_0 = this.wl9_1;
        tmp = (tmp_0 instanceof EntityRefEvent ? tmp_0 : THROW_CCE()).klb_1;
        break;
      case 10:
        var tmp_1 = this.wl9_1;
        tmp = (tmp_1 instanceof Attribute ? tmp_1 : THROW_CCE()).blb_1;
        break;
      case 1:
        var tmp_2 = this.wl9_1;
        tmp = (tmp_2 instanceof StartElementEvent ? tmp_2 : THROW_CCE()).flb_1;
        break;
      case 2:
        var tmp_3 = this.wl9_1;
        tmp = (tmp_3 instanceof EndElementEvent ? tmp_3 : THROW_CCE()).flb_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: localName');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).pl4 = function () {
    var tmp0_safe_receiver = this.wl9_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.wl4();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.wl9_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).alb_1;
        break;
      case 1:
        var tmp_1 = this.wl9_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).glb_1;
        break;
      case 2:
        var tmp_2 = this.wl9_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).glb_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: prefix');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).rl4 = function () {
    return this.vl9_1.nla_1;
  };
  protoOf(XmlBufferedReaderBase).zl9 = function () {
    this.vl9_1.zl9();
  };
  protoOf(XmlBufferedReaderBase).yl9 = function () {
    this.vl9_1.yl9();
  };
  protoOf(XmlBufferedReaderBase).sl4 = function () {
    var tmp = this.wl9_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).dl8_1;
  };
  protoOf(XmlBufferedReaderBase).tl4 = function () {
    var tmp = this.wl9_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).el8_1;
  };
  protoOf(XmlBufferedReaderBase).ul4 = function () {
    var tmp;
    if (ensureNotNull(this.wl9_1).wl4() === EventType_ATTRIBUTE_getInstance()) {
      var tmp_0 = this.wl9_1;
      tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).zla_1;
    } else {
      var tmp_1 = this.wl9_1;
      tmp = (tmp_1 instanceof TextEvent ? tmp_1 : THROW_CCE()).xl5_1;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).vl4 = function () {
    return _get_currentElement__mbt3qg(this).tla_1.length;
  };
  protoOf(XmlBufferedReaderBase).ql4 = function () {
    return !(this.wl9_1 == null);
  };
  protoOf(XmlBufferedReaderBase).wl4 = function () {
    var tmp0_safe_receiver = this.wl9_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.wl4();
    var tmp;
    if (tmp1_elvis_lhs == null) {
      var tmp_0;
      if (this.f()) {
        throw XmlException_init_$Create$_0('Attempting to get the event type before getting an event.');
      } else {
        throw XmlException_init_$Create$_0('Attempting to read beyond the end of the stream');
      }
    } else {
      tmp = tmp1_elvis_lhs;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).xl4 = function () {
    var tmp0_safe_receiver = this.wl9_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.xl9_1;
    return tmp1_elvis_lhs == null ? this.ul9_1.xl4() : tmp1_elvis_lhs;
  };
  protoOf(XmlBufferedReaderBase).yl4 = function () {
    var c = this.wl9_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = c.yl4();
    } else {
      if (c instanceof EndElementEvent) {
        tmp = c.plb_1;
      } else {
        tmp = this.vl9_1.ola_1;
      }
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).zl4 = function () {
    var c = this.wl9_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = toList(c.zl4());
    } else {
      tmp = this.vl9_1.qlb();
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).al5 = function () {
    var tmp = this.wl9_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).slb_1;
  };
  protoOf(XmlBufferedReaderBase).bl5 = function () {
    var tmp = this.wl9_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).ulb_1;
  };
  protoOf(XmlBufferedReaderBase).p3c = function () {
    var tmp = this.wl9_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).tlb_1;
  };
  protoOf(XmlBufferedReaderBase).bla = function () {
    if (this.ql9()) {
      return removeFirstToCurrent(this);
    }
    if (!this.f()) {
      throw NoSuchElementException_init_$Create$();
    }
    this.cla();
    return removeFirstToCurrent(this);
  };
  protoOf(XmlBufferedReaderBase).cla = function () {
    if (!this.ql9()) {
      this.ala(this.dla());
    }
    return this.rl9();
  };
  protoOf(XmlBufferedReaderBase).dla = function () {
    if (this.ul9_1.f()) {
      this.ul9_1.e();
      var event = Companion_instance_3.xla(this.ul9_1);
      var result = ArrayList_init_$Create$_0(1);
      result.i1(event);
      return result;
    }
    return emptyList();
  };
  protoOf(XmlBufferedReaderBase).f = function () {
    if (this.ql9()) {
      return true;
    }
    return !(this.cla() == null);
  };
  protoOf(XmlBufferedReaderBase).n = function () {
    this.ul9_1.n();
  };
  protoOf(XmlBufferedReaderBase).ela = function () {
    return this.fla().wl4();
  };
  protoOf(XmlBufferedReaderBase).fla = function () {
    var current = this.bla();
    var tmp;
    switch (current.wl4().za_1) {
      case 4:
        var tmp_0;
        if (isXmlWhitespace((current instanceof TextEvent ? current : THROW_CCE()).xl5_1)) {
          tmp_0 = this.fla();
        } else {
          throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
        }

        tmp = tmp_0;
        break;
      case 0:
      case 3:
      case 9:
      case 11:
        tmp = this.fla();
        break;
      case 1:
      case 2:
        tmp = current;
        break;
      default:
        throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).e = function () {
    return this.bla().wl4();
  };
  protoOf(XmlBufferedReaderBase).cl5 = function (index) {
    return _get_currentElement__mbt3qg(this).tla_1[index].clb_1;
  };
  protoOf(XmlBufferedReaderBase).dl5 = function (index) {
    return _get_currentElement__mbt3qg(this).tla_1[index].alb_1;
  };
  protoOf(XmlBufferedReaderBase).el5 = function (index) {
    return _get_currentElement__mbt3qg(this).tla_1[index].blb_1;
  };
  protoOf(XmlBufferedReaderBase).fl5 = function (index) {
    return _get_currentElement__mbt3qg(this).tla_1[index].zla_1;
  };
  protoOf(XmlBufferedReaderBase).m7d = function (nsUri, localName) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var indexedObject = _get_currentElement__mbt3qg(this).tla_1;
      var inductionVariable = 0;
      var last = indexedObject.length;
      while (inductionVariable < last) {
        var element = indexedObject[inductionVariable];
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.XmlBufferedReaderBase.getAttributeValue.<anonymous>' call
        if ((nsUri == null ? true : nsUri === element.clb_1) ? localName === element.blb_1 : false) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_safe_receiver = tmp$ret$1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.zla_1;
  };
  protoOf(XmlBufferedReaderBase).hl4 = function (prefix) {
    return _get_currentElement__mbt3qg(this).hl4(prefix);
  };
  function XmlDelegatingReader(delegate) {
    this.vlb_1 = delegate;
  }
  protoOf(XmlDelegatingReader).fx = function () {
    return this.vlb_1;
  };
  protoOf(XmlDelegatingReader).vl4 = function () {
    return this.vlb_1.vl4();
  };
  protoOf(XmlDelegatingReader).rl4 = function () {
    return this.vlb_1.rl4();
  };
  protoOf(XmlDelegatingReader).al5 = function () {
    return this.vlb_1.al5();
  };
  protoOf(XmlDelegatingReader).wl4 = function () {
    return this.vlb_1.wl4();
  };
  protoOf(XmlDelegatingReader).ql4 = function () {
    return this.vlb_1.ql4();
  };
  protoOf(XmlDelegatingReader).ol4 = function () {
    return this.vlb_1.ol4();
  };
  protoOf(XmlDelegatingReader).xl4 = function () {
    return this.vlb_1.xl4();
  };
  protoOf(XmlDelegatingReader).dc = function () {
    return this.vlb_1.dc();
  };
  protoOf(XmlDelegatingReader).yl4 = function () {
    return this.vlb_1.yl4();
  };
  protoOf(XmlDelegatingReader).zl4 = function () {
    return this.vlb_1.zl4();
  };
  protoOf(XmlDelegatingReader).nl4 = function () {
    return this.vlb_1.nl4();
  };
  protoOf(XmlDelegatingReader).tl4 = function () {
    return this.vlb_1.tl4();
  };
  protoOf(XmlDelegatingReader).sl4 = function () {
    return this.vlb_1.sl4();
  };
  protoOf(XmlDelegatingReader).pl4 = function () {
    return this.vlb_1.pl4();
  };
  protoOf(XmlDelegatingReader).bl5 = function () {
    return this.vlb_1.bl5();
  };
  protoOf(XmlDelegatingReader).ul4 = function () {
    return this.vlb_1.ul4();
  };
  protoOf(XmlDelegatingReader).p3c = function () {
    return this.vlb_1.p3c();
  };
  protoOf(XmlDelegatingReader).n = function () {
    this.vlb_1.n();
  };
  protoOf(XmlDelegatingReader).el5 = function (index) {
    return this.vlb_1.el5(index);
  };
  protoOf(XmlDelegatingReader).cl5 = function (index) {
    return this.vlb_1.cl5(index);
  };
  protoOf(XmlDelegatingReader).dl5 = function (index) {
    return this.vlb_1.dl5(index);
  };
  protoOf(XmlDelegatingReader).fl5 = function (index) {
    return this.vlb_1.fl5(index);
  };
  protoOf(XmlDelegatingReader).m7d = function (nsUri, localName) {
    return this.vlb_1.m7d(nsUri, localName);
  };
  protoOf(XmlDelegatingReader).f = function () {
    return this.vlb_1.f();
  };
  protoOf(XmlDelegatingReader).e = function () {
    return this.vlb_1.e();
  };
  protoOf(XmlDelegatingReader).gl5 = function (type, namespace, name) {
    this.vlb_1.gl5(type, namespace, name);
  };
  function XmlEvent$StartElementEvent$toString$lambda(it) {
    return it.blb_1 + ' = ' + it.zla_1 + ' ';
  }
  function Companion_2() {
  }
  protoOf(Companion_2).xla = function (reader) {
    return reader.wl4().yl6(reader);
  };
  var Companion_instance_3;
  function Companion_getInstance_2() {
    return Companion_instance_3;
  }
  function TextEvent(locationInfo, eventType, text) {
    XmlEvent.call(this, locationInfo);
    this.wl5_1 = eventType;
    this.xl5_1 = text;
  }
  protoOf(TextEvent).wl4 = function () {
    return this.wl5_1;
  };
  protoOf(TextEvent).yl5 = function (writer) {
    return this.wl4().dl7(writer, this);
  };
  protoOf(TextEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    return '' + tmp + ' - "' + this.xl5_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function ProcessingInstructionEvent(locationInfo, target, data) {
    TextEvent.call(this, locationInfo, EventType_PROCESSING_INSTRUCTION_getInstance(), target + ' ' + data);
    this.dl8_1 = target;
    this.el8_1 = data;
  }
  function EntityRefEvent(locationInfo, localName, text) {
    TextEvent.call(this, locationInfo, EventType_ENTITY_REF_getInstance(), text);
    this.klb_1 = localName;
  }
  protoOf(EntityRefEvent).yl5 = function (writer) {
    return this.wl4().dl7(writer, this);
  };
  protoOf(EntityRefEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    return '' + tmp + ' - "' + this.xl5_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndDocumentEvent(locationInfo) {
    XmlEvent.call(this, locationInfo);
  }
  protoOf(EndDocumentEvent).wl4 = function () {
    return EventType_END_DOCUMENT_getInstance();
  };
  protoOf(EndDocumentEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    return '' + tmp + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndElementEvent(locationInfo, namespaceUri, localName, prefix, namespaceContext) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.plb_1 = namespaceContext.jl4();
  }
  protoOf(EndElementEvent).wl4 = function () {
    return EventType_END_ELEMENT_getInstance();
  };
  function StartDocumentEvent(locationInfo, encoding, version, standalone) {
    XmlEvent.call(this, locationInfo);
    this.slb_1 = encoding;
    this.tlb_1 = version;
    this.ulb_1 = standalone;
  }
  protoOf(StartDocumentEvent).wl4 = function () {
    return EventType_START_DOCUMENT_getInstance();
  };
  protoOf(StartDocumentEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    return '' + tmp + ' - encoding:' + this.slb_1 + ', version: ' + this.tlb_1 + ', standalone: ' + this.ulb_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function NamedEvent(locationInfo, namespaceUri, localName, prefix) {
    XmlEvent.call(this, locationInfo);
    this.elb_1 = namespaceUri;
    this.flb_1 = localName;
    this.glb_1 = prefix;
  }
  protoOf(NamedEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    return '' + tmp + ' - {' + this.elb_1 + '}' + this.glb_1 + ':' + this.flb_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function StartElementEvent(locationInfo, namespaceUri, localName, prefix, attributes, parentNamespaceContext, namespaceDecls) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.tla_1 = attributes;
    this.ula_1 = parentNamespaceContext;
    var tmp = this;
    // Inline function 'kotlin.collections.asIterable' call
    tmp.vla_1 = SimpleNamespaceContext_init_$Create$_2(namespaceDecls);
  }
  protoOf(StartElementEvent).zl4 = function () {
    return this.vla_1;
  };
  protoOf(StartElementEvent).wl4 = function () {
    return EventType_START_ELEMENT_getInstance();
  };
  protoOf(StartElementEvent).hl4 = function (prefix) {
    var decl = this.vla_1.hl4(prefix);
    return decl == null ? this.ula_1.hl4(prefix) : decl;
  };
  protoOf(StartElementEvent).yl4 = function () {
    return this.vla_1.ll4(this.ula_1);
  };
  protoOf(StartElementEvent).toString = function () {
    var tmp = this.wl4();
    var tmp0_elvis_lhs = this.xl9_1;
    var tmp_0 = '' + tmp + ' - {' + this.elb_1 + '}' + this.glb_1 + ':' + this.flb_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
    var tmp_1;
    // Inline function 'kotlin.collections.isNotEmpty' call
    // Inline function 'kotlin.collections.isEmpty' call
    if (!(this.tla_1.length === 0)) {
      tmp_1 = '\n    ';
    } else {
      tmp_1 = '';
    }
    var tmp_2 = tmp_1;
    return tmp_0 + joinToString(this.tla_1, '\n    ', tmp_2, VOID, VOID, VOID, XmlEvent$StartElementEvent$toString$lambda);
  };
  function Attribute(locationInfo, namespaceUri, localName, prefix, value) {
    XmlEvent.call(this, locationInfo);
    this.zla_1 = toString(value);
    this.alb_1 = toString(prefix);
    this.blb_1 = toString(localName);
    this.clb_1 = toString(namespaceUri);
  }
  protoOf(Attribute).wl4 = function () {
    return EventType_ATTRIBUTE_getInstance();
  };
  protoOf(Attribute).toString = function () {
    return isBlank(this.clb_1) ? this.blb_1 + '="' + this.zla_1 + '"' : isBlank(this.alb_1) ? '{' + this.clb_1 + '}' + this.blb_1 + '="' + this.zla_1 + '"' : '{' + this.clb_1 + '}' + this.alb_1 + ':' + this.blb_1 + '="' + this.zla_1 + '"';
  };
  protoOf(Attribute).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Attribute))
      THROW_CCE();
    if (!(this.zla_1 === other.zla_1))
      return false;
    if (!(this.alb_1 === other.alb_1))
      return false;
    if (!(this.blb_1 === other.blb_1))
      return false;
    if (!(this.clb_1 === other.clb_1))
      return false;
    return true;
  };
  protoOf(Attribute).hashCode = function () {
    var result = getStringHashCode(this.zla_1);
    result = imul(31, result) + getStringHashCode(this.alb_1) | 0;
    result = imul(31, result) + getStringHashCode(this.blb_1) | 0;
    result = imul(31, result) + getStringHashCode(this.clb_1) | 0;
    return result;
  };
  function NamespaceImpl(namespacePrefix, namespaceUri) {
    this.xlb_1 = toString(namespacePrefix);
    this.ylb_1 = toString(namespaceUri);
  }
  protoOf(NamespaceImpl).pl4 = function () {
    return this.xlb_1;
  };
  protoOf(NamespaceImpl).nl4 = function () {
    return this.ylb_1;
  };
  protoOf(NamespaceImpl).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    if (!(this.xlb_1 === other.pl4()))
      return false;
    if (!(this.ylb_1 === other.nl4()))
      return false;
    return true;
  };
  protoOf(NamespaceImpl).hashCode = function () {
    return imul(31, getStringHashCode(this.xlb_1)) + getStringHashCode(this.ylb_1) | 0;
  };
  protoOf(NamespaceImpl).toString = function () {
    return '{' + this.xlb_1 + ':' + this.ylb_1 + '}';
  };
  function XmlEvent(locationInfo) {
    this.xl9_1 = locationInfo;
  }
  function XmlException_init_$Init$($this) {
    IOException_init_$Init$($this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$() {
    var tmp = XmlException_init_$Init$(objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$);
    return tmp;
  }
  function XmlException_init_$Init$_0(message, $this) {
    IOException_init_$Init$_0(message, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_0(message) {
    var tmp = XmlException_init_$Init$_0(message, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_0);
    return tmp;
  }
  function XmlException_init_$Init$_1(message, cause, $this) {
    IOException_init_$Init$_1(message, cause, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_1(message, cause) {
    var tmp = XmlException_init_$Init$_1(message, cause, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_1);
    return tmp;
  }
  function XmlException() {
    captureStack(this, XmlException);
  }
  function XmlReader() {
  }
  function skipPreamble(_this__u8e3s4) {
    while ((!_this__u8e3s4.ql4() ? true : isIgnorable(_this__u8e3s4)) ? _this__u8e3s4.f() : false) {
      _this__u8e3s4.e();
    }
  }
  function readSimpleElement(_this__u8e3s4) {
    var t = _this__u8e3s4;
    t.gl5(EventType_START_ELEMENT_getInstance(), null, null);
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.readSimpleElement.<anonymous>' call
    while (!(t.e() === EventType_END_ELEMENT_getInstance())) {
      switch (t.wl4().za_1) {
        case 3:
        case 11:
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          this_0.y5(t.ul4());
          break;
        default:
          throw XmlException_init_$Create$_0('Expected text content or end tag, found: ' + t.wl4());
      }
    }
    return this_0.toString();
  }
  function allConsecutiveTextContent(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>' call
    if (_this__u8e3s4.wl4().cl7() ? true : _this__u8e3s4.wl4().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
      this_0.y5(_this__u8e3s4.ul4());
    }
    var event = null;
    loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.cla();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>.<anonymous>' call
      event = this_1;
      if (!!((this_1 == null ? null : this_1.wl4()) === EventType_END_ELEMENT_getInstance())) {
        break loop;
      }
      var tmp1_safe_receiver = event;
      var tmp2_subject = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.wl4();
      switch (tmp2_subject == null ? -1 : tmp2_subject.za_1) {
        case 11:
        case 3:
          t.e();
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          t.e();
          this_0.y5(t.ul4());
          break;
        case 1:
          break loop;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag: ' + event);
      }
    }
    return this_0.toString();
  }
  function allText(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>' call
    if (_this__u8e3s4.wl4().cl7()) {
      this_0.y5(_this__u8e3s4.ul4());
    }
    var type;
    $l$loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.e();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>.<anonymous>' call
      type = this_1;
      if (!!(this_1 === EventType_END_ELEMENT_getInstance())) {
        break $l$loop;
      }
      switch (type == null ? -1 : type.za_1) {
        case 11:
        case 3:
          break;
        case 9:
          if (!(this_0.a() === 0)) {
            this_0.y5(t.ul4());
          }

          break;
        case 8:
        case 4:
        case 5:
          this_0.y5(t.ul4());
          break;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag with type: ' + type);
      }
    }
    return this_0.toString();
  }
  function isIgnorable(_this__u8e3s4) {
    switch (_this__u8e3s4.wl4().za_1) {
      case 3:
      case 0:
      case 7:
      case 11:
      case 6:
      case 9:
        return true;
      case 4:
        return isXmlWhitespace(_this__u8e3s4.ul4());
      default:
        return false;
    }
  }
  function get_attributes(_this__u8e3s4) {
    var tmp = 0;
    var tmp_0 = _this__u8e3s4.vl4();
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = new Attribute(_this__u8e3s4.xl4(), _this__u8e3s4.cl5(tmp_2), _this__u8e3s4.el5(tmp_2), _this__u8e3s4.dl5(tmp_2), _this__u8e3s4.fl5(tmp_2));
      tmp = tmp + 1 | 0;
    }
    return tmp_1;
  }
  function writeCurrent(_this__u8e3s4, writer) {
    return _this__u8e3s4.wl4().zl6(writer, _this__u8e3s4);
  }
  function get_attributeIndices(_this__u8e3s4) {
    return until(0, _this__u8e3s4.vl4());
  }
  function isPrefixDeclaredInElement(_this__u8e3s4, prefix) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.any' call
      var this_0 = _this__u8e3s4.zl4();
      var tmp;
      if (isInterface(this_0, Collection)) {
        tmp = this_0.c1();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = false;
        break $l$block_0;
      }
      var tmp0_iterator = this_0.w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.isPrefixDeclaredInElement.<anonymous>' call
        if (element.pl4() === prefix) {
          tmp$ret$0 = true;
          break $l$block_0;
        }
      }
      tmp$ret$0 = false;
    }
    return tmp$ret$0;
  }
  function elementContentToFragment(_this__u8e3s4) {
    var r = _this__u8e3s4;
    skipPreamble(r);
    if (r.f()) {
      r.gl5(EventType_START_ELEMENT_getInstance(), null, null);
      r.e();
      return siblingsToFragment(r);
    }
    return CompactFragment_init_$Create$('');
  }
  function elementToFragment(_this__u8e3s4) {
    var output = StringBuilder_init_$Create$();
    if (!_this__u8e3s4.ql4()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.xl4();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      if (_this__u8e3s4.wl4().cl7() ? true : _this__u8e3s4.wl4().equals(EventType_IGNORABLE_WHITESPACE_getInstance()))
        return CompactFragment_init_$Create$(_this__u8e3s4.ul4());
      _this__u8e3s4.gl5(EventType_START_ELEMENT_getInstance(), null, null);
      $l$block: {
        // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.use' call
        var this_0 = new KtXmlWriter(output, false, XmlDeclMode_None_getInstance());
        try {
          this_0.tl6('');
          while (_this__u8e3s4.wl4().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
            this_0.ul5(_this__u8e3s4.ul4());
            _this__u8e3s4.e();
          }
          if (_this__u8e3s4.wl4().equals(EventType_END_ELEMENT_getInstance()) ? true : _this__u8e3s4.wl4().equals(EventType_END_DOCUMENT_getInstance())) {
            return CompactFragment_init_$Create$(output.toString());
          }
          _this__u8e3s4.gl5(EventType_START_ELEMENT_getInstance(), null, null);
          var namespaceForPrefix = this_0.rl6(_this__u8e3s4.pl4());
          writeCurrent(_this__u8e3s4, this_0);
          if (!(namespaceForPrefix === _this__u8e3s4.nl4())) {
            addUndeclaredNamespaces(this_0, _this__u8e3s4, missingNamespaces);
          }
          writeElementContent(this_0, missingNamespaces, _this__u8e3s4);
          break $l$block;
        }finally {
          this_0.n();
        }
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      return CompactFragment_init_$Create$_0(SimpleNamespaceContext_init_$Create$_0(missingNamespaces), output.toString());
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  var XmlDeclMode_None_instance;
  var XmlDeclMode_Minimal_instance;
  var XmlDeclMode_Auto_instance;
  var XmlDeclMode_Charset_instance;
  function Companion_3() {
  }
  var Companion_instance_4;
  function Companion_getInstance_3() {
    return Companion_instance_4;
  }
  var XmlDeclMode_entriesInitialized;
  function XmlDeclMode_initEntries() {
    if (XmlDeclMode_entriesInitialized)
      return Unit_instance;
    XmlDeclMode_entriesInitialized = true;
    XmlDeclMode_None_instance = new XmlDeclMode('None', 0);
    XmlDeclMode_Minimal_instance = new XmlDeclMode('Minimal', 1);
    XmlDeclMode_Auto_instance = new XmlDeclMode('Auto', 2);
    XmlDeclMode_Charset_instance = new XmlDeclMode('Charset', 3);
  }
  function XmlDeclMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function XmlDeclMode_None_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_None_instance;
  }
  function XmlDeclMode_Minimal_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_Minimal_instance;
  }
  function toCName(_this__u8e3s4) {
    if ('' === _this__u8e3s4.ol8())
      return _this__u8e3s4.nl8();
    return _this__u8e3s4.ol8() + ':' + _this__u8e3s4.nl8();
  }
  function toQname(_this__u8e3s4, namespace) {
    var split = indexOf(_this__u8e3s4, _Char___init__impl__6a9atx(125));
    var localname;
    var nsUri;
    if (split >= 0) {
      if (!(charSequenceGet(_this__u8e3s4, 0) === _Char___init__impl__6a9atx(123)))
        throw IllegalArgumentException_init_$Create$('Not a valid qname literal');
      // Inline function 'kotlin.text.substring' call
      nsUri = toString(charSequenceSubSequence(_this__u8e3s4, 1, split));
      // Inline function 'kotlin.text.substring' call
      var startIndex = split + 1 | 0;
      var endIndex = charSequenceLength(_this__u8e3s4);
      localname = toString(charSequenceSubSequence(_this__u8e3s4, startIndex, endIndex));
    } else {
      nsUri = namespace.nl4();
      localname = toString(_this__u8e3s4);
    }
    return QName_init_$Create$(nsUri, localname);
  }
  function xmlCollapseWhitespace(original) {
    // Inline function 'kotlin.text.buildString' call
    var capacity = original.length;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$_0(capacity);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlCollapseWhitespace.<anonymous>' call
    var last = _Char___init__impl__6a9atx(32);
    var inductionVariable = 0;
    var last_0 = original.length;
    while (inductionVariable < last_0) {
      var c = charSequenceGet(original, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      var tmp;
      if (((c === _Char___init__impl__6a9atx(9) ? true : c === _Char___init__impl__6a9atx(10)) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(32)) {
        if (!(last === _Char___init__impl__6a9atx(32))) {
          this_0.z5(_Char___init__impl__6a9atx(32));
        }
        tmp = _Char___init__impl__6a9atx(32);
      } else {
        this_0.z5(c);
        tmp = c;
      }
      last = tmp;
    }
    if (last === _Char___init__impl__6a9atx(32)) {
      this_0.a9(this_0.a() - 1 | 0);
    }
    return this_0.toString();
  }
  function isXmlWhitespace(data) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(data)) {
        var element = charSequenceGet(data, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.isXmlWhitespace.<anonymous>' call
        if (!isXmlWhitespace_0(element)) {
          tmp$ret$1 = false;
          break $l$block;
        }
      }
      tmp$ret$1 = true;
    }
    return tmp$ret$1;
  }
  function qname(namespaceUri, localname, prefix) {
    var tmp;
    if (prefix === VOID) {
      tmp = '';
    } else {
      tmp = prefix;
    }
    prefix = tmp;
    var tmp_0;
    if (namespaceUri == null) {
      tmp_0 = '';
    } else {
      tmp_0 = namespaceUri;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (prefix == null) {
      tmp_2 = '';
    } else {
      tmp_2 = prefix;
    }
    return new QName(tmp_1, localname, tmp_2);
  }
  function isXmlWhitespace_0(char) {
    return ((char === _Char___init__impl__6a9atx(10) ? true : char === _Char___init__impl__6a9atx(9)) ? true : char === _Char___init__impl__6a9atx(13)) ? true : char === _Char___init__impl__6a9atx(32);
  }
  function xmlEncode(_this__u8e3s4) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlEncode.<anonymous>' call
    var inductionVariable = 0;
    while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
      var c = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (c === _Char___init__impl__6a9atx(60)) {
        this_0.y5('&lt;');
      } else if (c === _Char___init__impl__6a9atx(62)) {
        this_0.y5('&gt;');
      } else if (c === _Char___init__impl__6a9atx(38)) {
        this_0.y5('&amp;');
      } else {
        this_0.z5(c);
      }
    }
    return this_0.toString();
  }
  function XmlWriter() {
  }
  function smartStartTag(_this__u8e3s4, qName) {
    smartStartTag_0(_this__u8e3s4, qName.ml8(), qName.nl8(), qName.ol8());
  }
  function endTag(_this__u8e3s4, predelemname) {
    _this__u8e3s4.ql6(predelemname.ml8(), predelemname.nl8(), predelemname.ol8());
  }
  function writeAttribute(_this__u8e3s4, name, value) {
    if (value == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp;
      var tmp_0;
      // Inline function 'kotlin.text.isEmpty' call
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      var this_0 = name.ml8();
      if (charSequenceLength(this_0) === 0) {
        // Inline function 'kotlin.text.isEmpty' call
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var this_1 = name.ol8();
        tmp_0 = charSequenceLength(this_1) === 0;
      } else {
        tmp_0 = false;
      }
      if (tmp_0) {
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp$ret$4 = name.nl8();
        _this__u8e3s4.ml6(null, tmp$ret$4, null, value);
        tmp = Unit_instance;
      } else {
        // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
        var tmp_1 = name.ml8();
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp_2 = name.nl8();
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var tmp$ret$7 = name.ol8();
        _this__u8e3s4.ml6(tmp_1, tmp_2, tmp$ret$7, value);
        tmp = Unit_instance;
      }
    }
  }
  function writeElement(_this__u8e3s4, missingNamespaces, reader) {
    if (reader.wl4().equals(EventType_END_ELEMENT_getInstance()))
      throw IllegalArgumentException_init_$Create$('Cannot really validly write an end element here');
    writeCurrent(reader, _this__u8e3s4);
    if (reader.wl4().equals(EventType_START_ELEMENT_getInstance())) {
      writeElementContent(_this__u8e3s4, missingNamespaces, reader);
    }
  }
  function serialize(_this__u8e3s4, reader) {
    while (reader.f()) {
      switch (reader.e().za_1) {
        case 0:
        case 11:
        case 6:
        case 7:
          if (_this__u8e3s4.rl4() <= 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        case 9:
          // Inline function 'kotlin.text.isEmpty' call

          var this_0 = _this__u8e3s4.ul6();
          if (charSequenceLength(this_0) === 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        default:
          writeCurrentEvent(_this__u8e3s4, reader);
          break;
      }
    }
  }
  function addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces) {
    undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces);
  }
  function writeElementContent(_this__u8e3s4, missingNamespaces, reader) {
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = reader;
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.writeElementContent.<anonymous>' call
      if (reader.wl4().equals(EventType_START_ELEMENT_getInstance()) ? !(missingNamespaces == null) : false) {
        addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces);
      }
      writeCurrent(reader, _this__u8e3s4);
      switch (element.za_1) {
        case 1:
          writeElementContent(_this__u8e3s4, missingNamespaces, reader);
          break;
        case 2:
          return Unit_instance;
        default:
          break;
      }
    }
  }
  function smartStartTag_0(_this__u8e3s4, nsUri, localName, prefix) {
    prefix = prefix === VOID ? null : prefix;
    var tmp;
    var tmp_0;
    if (nsUri == null) {
      tmp_0 = true;
    } else {
      tmp_0 = nsUri === 'http://www.w3.org/XML/1998/namespace';
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = nsUri === 'http://www.w3.org/2000/xmlns/';
    }
    if (tmp) {
      var tmp_1 = _this__u8e3s4.yl4();
      var tmp_2;
      if (prefix == null) {
        tmp_2 = '';
      } else {
        tmp_2 = prefix;
      }
      var tmp1_elvis_lhs = tmp_1.hl4(tmp_2);
      var tmp_3;
      if (tmp1_elvis_lhs == null) {
        tmp_3 = '';
      } else {
        tmp_3 = tmp1_elvis_lhs;
      }
      var namespace = tmp_3;
      _this__u8e3s4.il6(namespace, localName, prefix);
    } else {
      var writeNs = false;
      var tmp2_elvis_lhs = _this__u8e3s4.sl6(nsUri);
      var tmp_4;
      if (tmp2_elvis_lhs == null) {
        // Inline function 'kotlin.run' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>' call
        var tmp_5;
        if (prefix == null) {
          tmp_5 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>.<anonymous>' call
          tmp_5 = _this__u8e3s4.rl6(prefix);
        }
        var tmp1_elvis_lhs_0 = tmp_5;
        var tmp_6;
        if (tmp1_elvis_lhs_0 == null) {
          tmp_6 = '';
        } else {
          tmp_6 = tmp1_elvis_lhs_0;
        }
        var currentNs = tmp_6;
        if (!(nsUri === currentNs)) {
          writeNs = true;
        }
        var tmp_7;
        if (prefix == null) {
          tmp_7 = '';
        } else {
          tmp_7 = prefix;
        }
        tmp_4 = tmp_7;
      } else {
        tmp_4 = tmp2_elvis_lhs;
      }
      var usedPrefix = tmp_4;
      _this__u8e3s4.il6(nsUri, localName, usedPrefix);
      if (writeNs) {
        _this__u8e3s4.hl6(usedPrefix, nsUri);
      }
    }
  }
  function writeCurrentEvent(_this__u8e3s4, reader) {
    switch (reader.wl4().za_1) {
      case 0:
        _this__u8e3s4.nl6(null, reader.al5(), reader.bl5());
        break;
      case 1:
        _this__u8e3s4.il6(reader.nl4(), reader.ol4(), reader.pl4());
        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var tmp0_iterator = reader.zl4().w();
        while (tmp0_iterator.f()) {
          var a = tmp0_iterator.e();
          _this__u8e3s4.hl6(a.pl4(), a.nl4());
        }

        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var progression = get_attributeIndices(reader);
        var inductionVariable = progression.ib_1;
        var last = progression.jb_1;
        var tmp;
        if (inductionVariable <= last) {
          do {
            var i = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            var attrPrefix = reader.dl5(i);
            var namespace = attrPrefix === '' ? '' : reader.cl5(i);
            var tmp_0;
            if (namespace === '') {
              tmp_0 = '';
            } else if (namespace === _this__u8e3s4.yl4().hl4(attrPrefix)) {
              tmp_0 = attrPrefix;
            } else {
              var tmp2_elvis_lhs = _this__u8e3s4.yl4().il4(namespace);
              tmp_0 = tmp2_elvis_lhs == null ? attrPrefix : tmp2_elvis_lhs;
            }
            var prefix = tmp_0;
            _this__u8e3s4.ml6(namespace, reader.el5(i), prefix, reader.fl5(i));
          }
           while (!(i === last));
          tmp = Unit_instance;
        }

        break;
      case 2:
        _this__u8e3s4.ql6(reader.nl4(), reader.ol4(), reader.pl4());
        break;
      case 3:
        _this__u8e3s4.cl6(reader.ul4());
        break;
      case 4:
        _this__u8e3s4.jl6(reader.ul4());
        break;
      case 10:
        _this__u8e3s4.ml6(reader.nl4(), reader.ol4(), reader.pl4(), reader.ul4());
        break;
      case 5:
        _this__u8e3s4.kl6(reader.ul4());
        break;
      case 6:
        _this__u8e3s4.fl6(reader.ul4());
        break;
      case 7:
        _this__u8e3s4.pl6();
        break;
      case 8:
        _this__u8e3s4.ll6(reader.ul4());
        break;
      case 9:
        _this__u8e3s4.ul5(reader.ul4());
        break;
      case 11:
        _this__u8e3s4.el6(reader.sl4(), reader.tl4());
        break;
    }
  }
  function undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces) {
    assert_0(reader.wl4() === EventType_START_ELEMENT_getInstance());
    var prefix = reader.pl4();
    if (!missingNamespaces.r(prefix)) {
      var uri = reader.nl4();
      if (_this__u8e3s4.rl6(prefix) === uri ? isPrefixDeclaredInElement(reader, prefix) : false) {
        return Unit_instance;
      } else {
        // Inline function 'kotlin.collections.set' call
        missingNamespaces.s(prefix, uri);
      }
    }
  }
  var EscapeMode_MINIMAL_instance;
  var EscapeMode_ATTRCONTENTQUOT_instance;
  var EscapeMode_ATTRCONTENTAPOS_instance;
  var EscapeMode_TEXTCONTENT_instance;
  var EscapeMode_DTD_instance;
  var EscapeMode_entriesInitialized;
  function EscapeMode_initEntries() {
    if (EscapeMode_entriesInitialized)
      return Unit_instance;
    EscapeMode_entriesInitialized = true;
    EscapeMode_MINIMAL_instance = new EscapeMode('MINIMAL', 0);
    EscapeMode_ATTRCONTENTQUOT_instance = new EscapeMode('ATTRCONTENTQUOT', 1);
    EscapeMode_ATTRCONTENTAPOS_instance = new EscapeMode('ATTRCONTENTAPOS', 2);
    EscapeMode_TEXTCONTENT_instance = new EscapeMode('TEXTCONTENT', 3);
    EscapeMode_DTD_instance = new EscapeMode('DTD', 4);
  }
  var WriteState_BeforeDocument_instance;
  var WriteState_AfterXmlDecl_instance;
  var WriteState_AfterDocTypeDecl_instance;
  var WriteState_InTagContent_instance;
  var WriteState_Finished_instance;
  var WriteState_entriesInitialized;
  function WriteState_initEntries() {
    if (WriteState_entriesInitialized)
      return Unit_instance;
    WriteState_entriesInitialized = true;
    WriteState_BeforeDocument_instance = new WriteState('BeforeDocument', 0);
    WriteState_AfterXmlDecl_instance = new WriteState('AfterXmlDecl', 1);
    WriteState_AfterDocTypeDecl_instance = new WriteState('AfterDocTypeDecl', 2);
    WriteState_InTagContent_instance = new WriteState('InTagContent', 3);
    WriteState_Finished_instance = new WriteState('Finished', 4);
  }
  function namespaceAt($this, depth) {
    return ensureNotNull($this.glc_1[imul(depth, 3)]);
  }
  function setElementStack($this, depth, namespace, prefix, localName) {
    var esp = imul(depth, 3);
    if ($this.glc_1.length < (esp + 3 | 0)) {
      // Inline function 'kotlin.arrayOfNulls' call
      var size = $this.glc_1.length + 12 | 0;
      var hlp = fillArrayVal(Array(size), null);
      // Inline function 'kotlin.collections.copyInto' call
      var this_0 = $this.glc_1;
      var endIndex = esp;
      arrayCopy(this_0, hlp, 0, 0, endIndex);
      $this.glc_1 = hlp;
    }
    var tmp = $this.glc_1;
    var tmp0 = esp;
    esp = tmp0 + 1 | 0;
    tmp[tmp0] = namespace;
    var tmp_0 = $this.glc_1;
    var tmp1 = esp;
    esp = tmp1 + 1 | 0;
    tmp_0[tmp1] = prefix;
    $this.glc_1[esp] = localName;
  }
  function prefixAt($this, depth) {
    return ensureNotNull($this.glc_1[imul(depth, 3) + 1 | 0]);
  }
  function localNameAt($this, depth) {
    return ensureNotNull($this.glc_1[imul(depth, 3) + 2 | 0]);
  }
  function finishPartialStartTag($this, close) {
    if (!$this.flc_1) {
      return Unit_instance;
    }
    $this.flc_1 = false;
    var endOfTag = !close ? '>' : $this.elc_1 ? ' />' : '/>';
    $this.alc_1.r8(endOfTag);
  }
  function EscapeMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint(_this__u8e3s4, $this, codepoint, mode) {
    var c = codepoint;
    var tmp;
    var tmp_0;
    var tmp_1;
    if ((codepoint === _UInt___init__impl__l7qpdl(9) ? true : codepoint === _UInt___init__impl__l7qpdl(10)) ? true : codepoint === _UInt___init__impl__l7qpdl(13)) {
      tmp_1 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_0 = _UInt___init__impl__l7qpdl(32);
      var other = _UInt___init__impl__l7qpdl(55295);
      var progression = new UIntRange(this_0, other);
      var containsLower = progression.jo_1;
      tmp_1 = UInt__compareTo_impl_yacclj(codepoint, progression.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower) : false;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_1 = _UInt___init__impl__l7qpdl(57344);
      var other_0 = _UInt___init__impl__l7qpdl(65533);
      var progression_0 = new UIntRange(this_1, other_0);
      var containsLower_0 = progression_0.jo_1;
      tmp_0 = UInt__compareTo_impl_yacclj(codepoint, progression_0.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower_0) : false;
    }
    if (tmp_0) {
      // Inline function 'kotlin.UInt.toUShort' call
      // Inline function 'kotlin.toUShort' call
      var this_2 = _UInt___get_data__impl__f0vqqw(codepoint);
      var tmp$ret$3 = _UShort___init__impl__jigrne(toShort(this_2));
      tmp = _Char___init__impl__6a9atx_0(tmp$ret$3);
    } else {
      tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
    }
    var ch = tmp;
    if (c === _UInt___init__impl__l7qpdl(0))
      throw IllegalArgumentException_init_$Create$('XML documents may not contain null strings directly or indirectly');
    else {
      if (ch === _Char___init__impl__6a9atx(38)) {
        _this__u8e3s4.r8('&amp;');
      } else {
        if (ch === _Char___init__impl__6a9atx(60) ? !mode.equals(EscapeMode_MINIMAL_getInstance()) : false) {
          _this__u8e3s4.r8('&lt;');
        } else {
          if (ch === _Char___init__impl__6a9atx(62) ? mode.equals(EscapeMode_TEXTCONTENT_getInstance()) : false) {
            _this__u8e3s4.r8('&gt;');
          } else {
            if (ch === _Char___init__impl__6a9atx(34) ? mode.equals(EscapeMode_ATTRCONTENTQUOT_getInstance()) : false) {
              _this__u8e3s4.r8('&quot;');
            } else {
              if (ch === _Char___init__impl__6a9atx(39) ? mode.equals(EscapeMode_ATTRCONTENTAPOS_getInstance()) : false) {
                _this__u8e3s4.r8('&apos;');
              } else {
                var tmp_2;
                var tmp_3;
                var tmp_4;
                // Inline function 'kotlin.UInt.rangeTo' call
                var this_3 = _UInt___init__impl__l7qpdl(1);
                var other_1 = _UInt___init__impl__l7qpdl(8);
                var progression_1 = new UIntRange(this_3, other_1);
                var containsLower_1 = progression_1.jo_1;
                if (UInt__compareTo_impl_yacclj(c, progression_1.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_1) : false) {
                  tmp_4 = true;
                } else {
                  tmp_4 = c === _UInt___init__impl__l7qpdl(11);
                }
                if (tmp_4) {
                  tmp_3 = true;
                } else {
                  tmp_3 = c === _UInt___init__impl__l7qpdl(12);
                }
                if (tmp_3) {
                  tmp_2 = true;
                } else {
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_4 = _UInt___init__impl__l7qpdl(14);
                  var other_2 = _UInt___init__impl__l7qpdl(31);
                  var progression_2 = new UIntRange(this_4, other_2);
                  var containsLower_2 = progression_2.jo_1;
                  tmp_2 = UInt__compareTo_impl_yacclj(c, progression_2.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_2) : false;
                }
                if (tmp_2) {
                  var tmp0 = $this.dlc_1.za_1;
                  if (tmp0 === 0) {
                    appendXmlCodepoint$throwInvalid($this, c);
                  } else if (tmp0 === 1) {
                    appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                  }
                } else {
                  var tmp_5;
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_5 = _UInt___init__impl__l7qpdl(127);
                  var other_3 = _UInt___init__impl__l7qpdl(132);
                  var progression_3 = new UIntRange(this_5, other_3);
                  var containsLower_3 = progression_3.jo_1;
                  if (UInt__compareTo_impl_yacclj(c, progression_3.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_3) : false) {
                    tmp_5 = true;
                  } else {
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_6 = _UInt___init__impl__l7qpdl(134);
                    var other_4 = _UInt___init__impl__l7qpdl(159);
                    var progression_4 = new UIntRange(this_6, other_4);
                    var containsLower_4 = progression_4.jo_1;
                    tmp_5 = UInt__compareTo_impl_yacclj(c, progression_4.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_4) : false;
                  }
                  if (tmp_5) {
                    var tmp0_0 = $this.dlc_1.za_1;
                    if (tmp0_0 === 0) {
                      _this__u8e3s4.z5(ch);
                    } else if (tmp0_0 === 1) {
                      appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                    }
                  } else {
                    var tmp_6;
                    var tmp_7;
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_7 = _UInt___init__impl__l7qpdl(55296);
                    var other_5 = _UInt___init__impl__l7qpdl(57343);
                    var progression_5 = new UIntRange(this_7, other_5);
                    var containsLower_5 = progression_5.jo_1;
                    if (UInt__compareTo_impl_yacclj(c, progression_5.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_5) : false) {
                      tmp_7 = true;
                    } else {
                      tmp_7 = c === _UInt___init__impl__l7qpdl(65534);
                    }
                    if (tmp_7) {
                      tmp_6 = true;
                    } else {
                      tmp_6 = c === _UInt___init__impl__l7qpdl(65535);
                    }
                    if (tmp_6) {
                      appendXmlCodepoint$throwInvalid($this, c);
                    } else {
                      // Inline function 'kotlin.UInt.compareTo' call
                      var other_6 = _UInt___init__impl__l7qpdl(65535);
                      if (uintCompare(_UInt___get_data__impl__f0vqqw(c), _UInt___get_data__impl__f0vqqw(other_6)) > 0) {
                        // Inline function 'kotlin.UInt.minus' call
                        var other_7 = _UInt___init__impl__l7qpdl(65536);
                        var down = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(c) - _UInt___get_data__impl__f0vqqw(other_7) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.shr' call
                        var this_8 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) >>> 10 | 0);
                        var other_8 = _UInt___init__impl__l7qpdl(55296);
                        var highSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) + _UInt___get_data__impl__f0vqqw(other_8) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.and' call
                        var other_9 = _UInt___init__impl__l7qpdl(1023);
                        var this_9 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) & _UInt___get_data__impl__f0vqqw(other_9));
                        var other_10 = _UInt___init__impl__l7qpdl(56320);
                        var lowSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_9) + _UInt___get_data__impl__f0vqqw(other_10) | 0);
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_10 = _UInt___get_data__impl__f0vqqw(highSurogate);
                        var tmp$ret$16 = _UShort___init__impl__jigrne(toShort(this_10));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$16));
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_11 = _UInt___get_data__impl__f0vqqw(lowSurogate);
                        var tmp$ret$18 = _UShort___init__impl__jigrne(toShort(this_11));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$18));
                      } else {
                        _this__u8e3s4.z5(ch);
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  function writeEscapedText($this, s, mode) {
    var tmp0_iterator = asCodePoints(s).w();
    loop: while (tmp0_iterator.f()) {
      var c = tmp0_iterator.e().wn_1;
      appendXmlCodepoint($this.alc_1, $this, c, mode);
    }
  }
  function triggerStartDocument($this) {
    if ($this.hlc_1.za_1 === 0) {
      if (!$this.clc_1.equals(XmlDeclMode_None_getInstance())) {
        $this.nl6(null, null, null);
      }
      $this.hlc_1 = WriteState_AfterXmlDecl_getInstance();
    }
  }
  function writeIndent_0($this, newDepth) {
    var indentSeq = $this.hl5_1;
    var tmp;
    var tmp_0;
    if ($this.jlc_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.jlc_1 === $this.rl4());
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.ul5('\n');
      try {
        $this.hl5_1 = emptyList();
        var merged = joinRepeated(indentSeq, $this.rl4());
        // Inline function 'kotlin.collections.forEach' call
        var tmp0_iterator = merged.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.writeIndent.<anonymous>' call
          element.yl5($this);
        }
      }finally {
        $this.hl5_1 = indentSeq;
      }
    }
    $this.jlc_1 = newDepth;
  }
  function writeIndent$default_0($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.rl4() : newDepth;
    return writeIndent_0($this, newDepth);
  }
  function ensureNamespaceIfRepairing($this, namespace, prefix) {
    var tmp;
    var tmp_0;
    if ($this.blc_1 ? !(namespace == null) : false) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !(prefix == null);
    } else {
      tmp = false;
    }
    if (tmp) {
      if (!($this.ilc_1.klc(prefix) == namespace)) {
        $this.hl6(prefix, namespace);
      }
    }
  }
  function rawWriteAttribute($this, prefix, localName, value) {
    $this.alc_1.z5(_Char___init__impl__6a9atx(32));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      $this.alc_1.r8(prefix).z5(_Char___init__impl__6a9atx(58));
    }
    $this.alc_1.r8(localName).z5(_Char___init__impl__6a9atx(61));
    var tmp1_container = indexOf(value, _Char___init__impl__6a9atx(34)) === -1 ? new Pair(new Char(_Char___init__impl__6a9atx(34)), EscapeMode_ATTRCONTENTQUOT_getInstance()) : new Pair(new Char(_Char___init__impl__6a9atx(39)), EscapeMode_ATTRCONTENTAPOS_getInstance());
    var q = tmp1_container.y6().rb_1;
    var mode = tmp1_container.z6();
    $this.alc_1.z5(q);
    writeEscapedText($this, value, mode);
    $this.alc_1.z5(q);
  }
  function Companion_4() {
    this.llc_1 = -1;
    this.mlc_1 = 2147483647;
  }
  var Companion_instance_5;
  function Companion_getInstance_4() {
    return Companion_instance_5;
  }
  function WriteState(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint$appendNumCharRef($this_appendXmlCodepoint, code) {
    $this_appendXmlCodepoint.r8('&#x').r8(toString_0(code, 16)).z5(_Char___init__impl__6a9atx(59));
  }
  function appendXmlCodepoint$throwInvalid(this$0, code) {
    throw IllegalArgumentException_init_$Create$('In xml ' + this$0.dlc_1.plc_1 + ' the character 0x' + toString_0(code, 16) + ' is not valid');
  }
  function EscapeMode_MINIMAL_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_MINIMAL_instance;
  }
  function EscapeMode_ATTRCONTENTQUOT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTQUOT_instance;
  }
  function EscapeMode_ATTRCONTENTAPOS_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTAPOS_instance;
  }
  function EscapeMode_TEXTCONTENT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_TEXTCONTENT_instance;
  }
  function WriteState_BeforeDocument_getInstance() {
    WriteState_initEntries();
    return WriteState_BeforeDocument_instance;
  }
  function WriteState_AfterXmlDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterXmlDecl_instance;
  }
  function WriteState_AfterDocTypeDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterDocTypeDecl_instance;
  }
  function WriteState_InTagContent_getInstance() {
    WriteState_initEntries();
    return WriteState_InTagContent_instance;
  }
  function WriteState_Finished_getInstance() {
    WriteState_initEntries();
    return WriteState_Finished_instance;
  }
  function KtXmlWriter(writer, isRepairNamespaces, xmlDeclMode, xmlVersion) {
    isRepairNamespaces = isRepairNamespaces === VOID ? true : isRepairNamespaces;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    xmlVersion = xmlVersion === VOID ? XmlVersion_XML11_getInstance() : xmlVersion;
    PlatformXmlWriterBase.call(this);
    this.alc_1 = writer;
    this.blc_1 = isRepairNamespaces;
    this.clc_1 = xmlDeclMode;
    this.dlc_1 = xmlVersion;
    this.elc_1 = true;
    this.flc_1 = false;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.glc_1 = fillArrayVal(Array(12), null);
    this.hlc_1 = WriteState_BeforeDocument_getInstance();
    this.ilc_1 = new NamespaceHolder();
    this.jlc_1 = -1;
  }
  protoOf(KtXmlWriter).yl4 = function () {
    return this.ilc_1.ola_1;
  };
  protoOf(KtXmlWriter).rl4 = function () {
    return this.ilc_1.nla_1;
  };
  protoOf(KtXmlWriter).t6 = function () {
    finishPartialStartTag(this, false);
  };
  protoOf(KtXmlWriter).nl6 = function (version, encoding, standalone) {
    writeIndent_0(this, 2147483647);
    if (!this.hlc_1.equals(WriteState_BeforeDocument_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write start document after document already started');
    }
    this.hlc_1 = WriteState_AfterXmlDecl_getInstance();
    var tmp;
    switch (version) {
      case null:
        tmp = this.dlc_1.plc_1;
        break;
      case '1':
      case '1.0':
        this.dlc_1 = XmlVersion_XML10_getInstance();
        tmp = version;
        break;
      default:
        this.dlc_1 = XmlVersion_XML11_getInstance();
        tmp = version;
        break;
    }
    var verString = tmp;
    this.alc_1.r8("<?xml version='" + verString + "'");
    var effectiveEncoding = encoding == null ? 'UTF-8' : encoding;
    if (!this.clc_1.equals(XmlDeclMode_Minimal_getInstance()) ? true : !(encoding == null)) {
      this.alc_1.r8(" encoding='");
      writeEscapedText(this, effectiveEncoding, EscapeMode_ATTRCONTENTAPOS_getInstance());
      this.alc_1.z5(_Char___init__impl__6a9atx(39));
      if (!(standalone == null)) {
        this.alc_1.r8(" standalone='");
        this.alc_1.r8(standalone ? 'yes' : 'no');
        this.alc_1.z5(_Char___init__impl__6a9atx(39));
      }
    }
    if (this.elc_1) {
      this.alc_1.z5(_Char___init__impl__6a9atx(32));
    }
    this.alc_1.r8('?>');
  };
  protoOf(KtXmlWriter).fl6 = function (text) {
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    if (!this.hlc_1.equals(WriteState_AfterXmlDecl_getInstance())) {
      throw XmlException_init_$Create$_0('Writing a DTD is only allowed once, in the prolog');
    }
    this.hlc_1 = WriteState_AfterDocTypeDecl_getInstance();
    var tmp = this.alc_1.r8('<!DOCTYPE ');
    // Inline function 'kotlin.text.trimStart' call
    var tmp$ret$0 = toString(trimStart(isCharSequence(text) ? text : THROW_CCE()));
    tmp.r8(tmp$ret$0).r8('>');
  };
  protoOf(KtXmlWriter).dl6 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.alc_1.r8('<?');
    this.alc_1.r8(text);
    this.alc_1.r8('?>');
  };
  protoOf(KtXmlWriter).el6 = function (target, data) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.alc_1.r8('<?');
    this.alc_1.r8(target);
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(data) > 0) {
      this.alc_1.z5(_Char___init__impl__6a9atx(32)).r8(data);
    }
    this.alc_1.r8('?>');
  };
  protoOf(KtXmlWriter).il6 = function (namespace, localName, prefix) {
    finishPartialStartTag(this, false);
    writeIndent$default_0(this);
    triggerStartDocument(this);
    if (this.hlc_1.equals(WriteState_Finished_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write tag after the document finished');
    }
    this.hlc_1 = WriteState_InTagContent_getInstance();
    var tmp;
    if (namespace === '') {
      tmp = '';
    } else {
      var reg = this.sl6(namespace);
      tmp = !(reg == null) ? reg : prefix == null ? this.ilc_1.qlc() : prefix;
    }
    var appliedPrefix = tmp;
    var tmp_0 = this.rl4();
    setElementStack(this, tmp_0, namespace == null ? '' : namespace, appliedPrefix, localName);
    this.alc_1.z5(_Char___init__impl__6a9atx(60));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(appliedPrefix) > 0) {
      this.alc_1.r8(appliedPrefix);
      this.alc_1.z5(_Char___init__impl__6a9atx(58));
    }
    this.alc_1.r8(localName);
    this.flc_1 = true;
    this.ilc_1.zl9();
    ensureNamespaceIfRepairing(this, namespace, appliedPrefix);
  };
  protoOf(KtXmlWriter).ql6 = function (namespace, localName, prefix) {
    this.ilc_1.yl9();
    writeIndent_0(this, 2147483647);
    var tmp;
    if (!((namespace == null ? '' : namespace) === namespaceAt(this, this.rl4()))) {
      tmp = true;
    } else {
      tmp = !(localNameAt(this, this.rl4()) === localName);
    }
    if (tmp) {
      throw IllegalArgumentException_init_$Create$('<\/{' + namespace + '}' + localName + '> does not match start');
    }
    if (this.flc_1) {
      finishPartialStartTag(this, true);
    } else {
      this.alc_1.r8('<\/');
      var actualPrefix = prefixAt(this, this.rl4());
      // Inline function 'kotlin.text.isNotEmpty' call
      if (charSequenceLength(actualPrefix) > 0) {
        this.alc_1.r8(actualPrefix);
        this.alc_1.z5(_Char___init__impl__6a9atx(58));
      }
      this.alc_1.r8(localName);
      this.alc_1.z5(_Char___init__impl__6a9atx(62));
    }
  };
  protoOf(KtXmlWriter).cl6 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    var lastWasHyphen = false;
    this.alc_1.r8('<!--');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_0 = _Char___init__impl__6a9atx(45);
      var this_1 = Char__toInt_impl_vasixd(this_0);
      if (cp === _UInt___init__impl__l7qpdl(this_1)) {
        if (lastWasHyphen) {
          lastWasHyphen = false;
          this.alc_1.r8('&#x2d;');
        } else {
          lastWasHyphen = true;
          this.alc_1.z5(_Char___init__impl__6a9atx(45));
        }
      } else {
        appendXmlCodepoint(this.alc_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.alc_1.r8('-->');
  };
  protoOf(KtXmlWriter).jl6 = function (text) {
    finishPartialStartTag(this, false);
    writeEscapedText(this, text, EscapeMode_TEXTCONTENT_getInstance());
    this.jlc_1 = -1;
  };
  protoOf(KtXmlWriter).kl6 = function (text) {
    finishPartialStartTag(this, false);
    var endPos = 0;
    this.alc_1.r8('<![CDATA[');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      var tmp;
      // Inline function 'kotlin.UInt.compareTo' call
      var other = _UInt___init__impl__l7qpdl(32223);
      if (uintCompare(_UInt___get_data__impl__f0vqqw(cp), _UInt___get_data__impl__f0vqqw(other)) < 0) {
        // Inline function 'kotlin.UInt.toUShort' call
        // Inline function 'kotlin.toUShort' call
        var this_0 = _UInt___get_data__impl__f0vqqw(cp);
        var tmp$ret$2 = _UShort___init__impl__jigrne(toShort(this_0));
        tmp = _Char___init__impl__6a9atx_0(tmp$ret$2);
      } else {
        tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
      }
      var ch = tmp;
      if (ch === _Char___init__impl__6a9atx(93) ? endPos === 0 ? true : endPos === 1 : false) {
        endPos = endPos + 1 | 0;
        this.alc_1.z5(ch);
      } else if (ch === _Char___init__impl__6a9atx(62) ? endPos === 2 : false) {
        this.alc_1.r8('&gt;');
      } else if (ch === _Char___init__impl__6a9atx(93) ? endPos === 2 : false) {
        this.alc_1.z5(ch);
      } else {
        endPos = 0;
        appendXmlCodepoint(this.alc_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.alc_1.r8(']]>');
    this.jlc_1 = -1;
  };
  protoOf(KtXmlWriter).ll6 = function (text) {
    finishPartialStartTag(this, false);
    this.alc_1.z5(_Char___init__impl__6a9atx(38)).r8(text).z5(_Char___init__impl__6a9atx(59));
    this.jlc_1 = -1;
  };
  protoOf(KtXmlWriter).ul5 = function (text) {
    finishPartialStartTag(this, false);
    triggerStartDocument(this);
    var inductionVariable = 0;
    var last = text.length;
    while (inductionVariable < last) {
      var c = charSequenceGet(text, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (!(((c === _Char___init__impl__6a9atx(10) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(9)) ? true : c === _Char___init__impl__6a9atx(32))) {
        throw IllegalArgumentException_init_$Create$('"' + text + '" is not ignorable whitespace');
      }
    }
    this.alc_1.r8(text);
    this.jlc_1 = -1;
  };
  protoOf(KtXmlWriter).ml6 = function (namespace, name, prefix, value) {
    if (namespace === 'http://www.w3.org/2000/xmlns/') {
      this.hl6(name, value);
      return Unit_instance;
    } else {
      var tmp;
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (namespace == null ? true : charSequenceLength(namespace) === 0) {
        tmp = 'xmlns' === name;
      } else {
        tmp = false;
      }
      if (tmp) {
        this.hl6('', value);
        return Unit_instance;
      }
    }
    var tmp_0;
    var tmp_1;
    var tmp_2;
    if (!(prefix == null)) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_2 = charSequenceLength(prefix) > 0;
    } else {
      tmp_2 = false;
    }
    if (tmp_2) {
      tmp_1 = !(namespace == null);
    } else {
      tmp_1 = false;
    }
    if (tmp_1) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      this.rlc(prefix, namespace);
      ensureNamespaceIfRepairing(this, namespace, prefix);
    }
    if (!this.flc_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    var tmp_3;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(prefix == null ? true : charSequenceLength(prefix) === 0)) {
      var tmp_4;
      if (!(this.rl6(prefix) == namespace)) {
        tmp_4 = this.sl6(namespace);
      } else {
        tmp_4 = prefix;
      }
      tmp_3 = tmp_4;
    } else {
      tmp_3 = prefix;
    }
    var tmp0_elvis_lhs = tmp_3;
    var actualPrefix = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    rawWriteAttribute(this, actualPrefix, name, value);
  };
  protoOf(KtXmlWriter).hl6 = function (namespacePrefix, namespaceUri) {
    var existingNamespaceForPrefix = this.ilc_1.slc(namespacePrefix);
    if (!(existingNamespaceForPrefix == null)) {
      if (this.blc_1)
        return Unit_instance;
      else if (!(existingNamespaceForPrefix === namespaceUri))
        throw IllegalStateException_init_$Create$('Attempting to set prefix to different values in the same tag');
      else
        throw IllegalStateException_init_$Create$('Namespace attribute duplicated');
    }
    this.ilc_1.tlc(namespacePrefix, namespaceUri);
    if (!this.flc_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(namespacePrefix) > 0) {
      rawWriteAttribute(this, 'xmlns', namespacePrefix, namespaceUri);
    } else {
      rawWriteAttribute(this, '', 'xmlns', namespaceUri);
    }
  };
  protoOf(KtXmlWriter).pl6 = function () {
    assert_0(this.rl4() === 0);
    if (!this.hlc_1.equals(WriteState_InTagContent_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to end document when in invalid state: ' + this.hlc_1);
    }
    while (this.rl4() > 0) {
      this.ql6(namespaceAt(this, this.rl4() - 1 | 0), prefixAt(this, this.rl4() - 1 | 0), localNameAt(this, this.rl4() - 1 | 0));
    }
    this.t6();
  };
  protoOf(KtXmlWriter).rlc = function (prefix, namespaceUri) {
    if (!(namespaceUri === this.rl6(prefix))) {
      this.ilc_1.tlc(prefix, namespaceUri);
    }
  };
  protoOf(KtXmlWriter).rl6 = function (prefix) {
    return this.ilc_1.klc(prefix);
  };
  protoOf(KtXmlWriter).sl6 = function (namespaceUri) {
    var tmp;
    if (namespaceUri == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.getPrefix.<anonymous>' call
      tmp = this.ilc_1.ulc(namespaceUri);
    }
    return tmp;
  };
  protoOf(KtXmlWriter).n = function () {
    this.ilc_1.n1();
  };
  function asCodePoints(_this__u8e3s4) {
    return new asCodePoints$1(_this__u8e3s4);
  }
  function joinRepeated(_this__u8e3s4, repeats) {
    var it = _this__u8e3s4.w();
    if (!it.f())
      return emptyList();
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var pending = null;
    var inductionVariable = 0;
    if (inductionVariable < repeats)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp1_iterator = _this__u8e3s4.w();
        while (tmp1_iterator.f()) {
          var ev = tmp1_iterator.e();
          if (pending == null) {
            pending = ev;
          } else if (pending.wl4().equals(EventType_COMMENT_getInstance()) ? true : !pending.wl4().equals(ev.wl4())) {
            result.i1(pending);
            pending = ev;
          } else if (ev.wl4().equals(pending.wl4())) {
            pending = new TextEvent(null, pending.wl4(), pending.xl5_1 + ev.xl5_1);
          }
        }
      }
       while (inductionVariable < repeats);
    if (!(pending == null)) {
      result.i1(pending);
    }
    return result;
  }
  function asCodePoints$1$iterator$1($this_asCodePoints) {
    this.wlc_1 = $this_asCodePoints;
    this.vlc_1 = 0;
  }
  protoOf(asCodePoints$1$iterator$1).f = function () {
    return this.vlc_1 < charSequenceLength(this.wlc_1);
  };
  protoOf(asCodePoints$1$iterator$1).ao = function () {
    var tmp;
    if (isHighSurrogate(charSequenceGet(this.wlc_1, this.vlc_1)) === true) {
      // Inline function 'kotlin.UInt.plus' call
      // Inline function 'kotlin.UInt.plus' call
      var this_0 = _UInt___init__impl__l7qpdl(65536);
      // Inline function 'kotlin.UInt.shl' call
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_1 = charSequenceGet(this.wlc_1, this.vlc_1);
      var this_2 = Char__toInt_impl_vasixd(this_1);
      var this_3 = _UInt___init__impl__l7qpdl(this_2);
      var other = _UInt___init__impl__l7qpdl(55296);
      var this_4 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_3) - _UInt___get_data__impl__f0vqqw(other) | 0);
      var other_0 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_4) << 10);
      var this_5 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_0) + _UInt___get_data__impl__f0vqqw(other_0) | 0);
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_6 = charSequenceGet(this.wlc_1, this.vlc_1 + 1 | 0);
      var this_7 = Char__toInt_impl_vasixd(this_6);
      var this_8 = _UInt___init__impl__l7qpdl(this_7);
      var other_1 = _UInt___init__impl__l7qpdl(56320);
      var other_2 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) - _UInt___get_data__impl__f0vqqw(other_1) | 0);
      var codePoint = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_5) + _UInt___get_data__impl__f0vqqw(other_2) | 0);
      this.vlc_1 = this.vlc_1 + 2 | 0;
      tmp = codePoint;
    } else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_9 = charSequenceGet(this.wlc_1, this.vlc_1);
      var this_10 = Char__toInt_impl_vasixd(this_9);
      var tmp$ret$10 = _UInt___init__impl__l7qpdl(this_10);
      var this_11 = new UInt(tmp$ret$10);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.<no name provided>.next.<anonymous>' call
      this_11.wn_1;
      this.vlc_1 = this.vlc_1 + 1 | 0;
      tmp = this_11.wn_1;
    }
    return tmp;
  };
  protoOf(asCodePoints$1$iterator$1).e = function () {
    return new UInt(this.ao());
  };
  function asCodePoints$1($this_asCodePoints) {
    this.xlc_1 = $this_asCodePoints;
  }
  protoOf(asCodePoints$1).w = function () {
    return new asCodePoints$1$iterator$1(this.xlc_1);
  };
  var XmlVersion_XML10_instance;
  var XmlVersion_XML11_instance;
  var XmlVersion_entriesInitialized;
  function XmlVersion_initEntries() {
    if (XmlVersion_entriesInitialized)
      return Unit_instance;
    XmlVersion_entriesInitialized = true;
    XmlVersion_XML10_instance = new XmlVersion('XML10', 0, '1.0');
    XmlVersion_XML11_instance = new XmlVersion('XML11', 1, '1.1');
  }
  function XmlVersion(name, ordinal, versionString) {
    Enum.call(this, name, ordinal);
    this.plc_1 = versionString;
  }
  function XmlVersion_XML10_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML10_instance;
  }
  function XmlVersion_XML11_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML11_instance;
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this$0, $namespaceURI) {
    return function (it) {
      return getNamespace(this$0, it) === $namespaceURI;
    };
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this$0) {
    return function (it) {
      return getPrefix(this$0, it);
    };
  }
  function namespaceIndicesAt($this, depth) {
    var startIdx = depth === 0 ? 0 : arrayUseAtDepth($this, depth - 1 | 0) / 2 | 0;
    var endIdx = arrayUseAtDepth($this, depth) / 2 | 0;
    return until(startIdx, endIdx);
  }
  function arrayUseAtDepth($this, depth) {
    return imul($this.mla_1[depth], 2);
  }
  function prefixArrayPos($this, pairPos) {
    return imul(pairPos, 2);
  }
  function nsArrayPos($this, pairPos) {
    return imul(pairPos, 2) + 1 | 0;
  }
  function setPrefix($this, pos, value) {
    var tmp = $this.lla_1;
    var tmp_0 = prefixArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getPrefix($this, pos) {
    return ensureNotNull($this.lla_1[prefixArrayPos($this, pos)]);
  }
  function setNamespace($this, pos, value) {
    var tmp = $this.lla_1;
    var tmp_0 = nsArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getNamespace($this, pos) {
    return ensureNotNull($this.lla_1[nsArrayPos($this, pos)]);
  }
  function enlargeNamespaceBuffer($this) {
    $this.lla_1 = copyOf($this.lla_1, imul($this.lla_1.length, 2));
  }
  function NamespaceHolder$namespaceContext$1(this$0) {
    this.ylc_1 = this$0;
  }
  protoOf(NamespaceHolder$namespaceContext$1).hl4 = function (prefix) {
    return this.ylc_1.klc(prefix);
  };
  protoOf(NamespaceHolder$namespaceContext$1).il4 = function (namespaceURI) {
    return this.ylc_1.ulc(namespaceURI);
  };
  protoOf(NamespaceHolder$namespaceContext$1).jl4 = function () {
    return SimpleNamespaceContext_init_$Create$_2(this.ylc_1);
  };
  protoOf(NamespaceHolder$namespaceContext$1).w = function () {
    return this.ylc_1.w();
  };
  protoOf(NamespaceHolder$namespaceContext$1).kl4 = function (namespaceURI) {
    var tmp = asSequence_0(downTo(this.ylc_1.zlc() - 1 | 0, 0));
    var tmp_0 = filter(tmp, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this.ylc_1, namespaceURI));
    return map(tmp_0, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this.ylc_1)).w();
  };
  function NamespaceHolder$iterator$1(this$0) {
    this.bld_1 = this$0;
    this.ald_1 = 0;
  }
  protoOf(NamespaceHolder$iterator$1).f = function () {
    return this.ald_1 < this.bld_1.mla_1[this.bld_1.nla_1];
  };
  protoOf(NamespaceHolder$iterator$1).e = function () {
    // Inline function 'kotlin.also' call
    var this_0 = new NamespaceImpl(getPrefix(this.bld_1, this.ald_1), getNamespace(this.bld_1, this.ald_1));
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.<no name provided>.next.<anonymous>' call
    this.ald_1 = this.ald_1 + 1 | 0;
    return this_0;
  };
  function NamespaceHolder() {
    this.kla_1 = 1;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.lla_1 = fillArrayVal(Array(10), null);
    this.mla_1 = new Int32Array(20);
    this.nla_1 = 0;
    var tmp_0 = this;
    tmp_0.ola_1 = new NamespaceHolder$namespaceContext$1(this);
  }
  protoOf(NamespaceHolder).qlb = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = namespaceIndicesAt(this, this.nla_1);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.<get-namespacesAtCurrentDepth>.<anonymous>' call
      var tmp$ret$0 = new NamespaceImpl(getPrefix(this, item), getNamespace(this, item));
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(NamespaceHolder).zl9 = function () {
    this.nla_1 = this.nla_1 + 1 | 0;
    if (this.nla_1 >= this.mla_1.length) {
      this.mla_1 = copyOf_0(this.mla_1, imul(this.mla_1.length, 2));
    }
    this.mla_1[this.nla_1] = this.nla_1 === 0 ? 0 : this.mla_1[this.nla_1 - 1 | 0];
  };
  protoOf(NamespaceHolder).yl9 = function () {
    var progression = namespaceIndicesAt(this, this.nla_1);
    var inductionVariable = progression.ib_1;
    var last = progression.jb_1;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.lla_1[prefixArrayPos(this, i)] = null;
        this.lla_1[nsArrayPos(this, i)] = null;
      }
       while (!(i === last));
    this.mla_1[this.nla_1] = 0;
    this.nla_1 = this.nla_1 - 1 | 0;
  };
  protoOf(NamespaceHolder).zlc = function () {
    return this.mla_1[this.nla_1];
  };
  protoOf(NamespaceHolder).n1 = function () {
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.lla_1 = fillArrayVal(Array(10), null);
    this.mla_1 = new Int32Array(20);
    this.nla_1 = 0;
  };
  protoOf(NamespaceHolder).wla = function (ns) {
    this.tlc(ns.pl4(), ns.nl4());
  };
  protoOf(NamespaceHolder).tlc = function (prefix, namespaceUri) {
    var prevCounts = this.nla_1 >= 1 ? this.mla_1[this.nla_1 - 1 | 0] : 0;
    var inductionVariable = prevCounts;
    var last = this.mla_1[this.nla_1];
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (equals(getPrefix(this, i), prefix) ? equals(getNamespace(this, i), namespaceUri) : false)
          return Unit_instance;
      }
       while (inductionVariable < last);
    var nextPair = this.mla_1[this.nla_1];
    if (nsArrayPos(this, nextPair) >= this.lla_1.length) {
      enlargeNamespaceBuffer(this);
    }
    setPrefix(this, nextPair, prefix);
    setNamespace(this, nextPair, namespaceUri);
    var tmp1_array = this.mla_1;
    var tmp2_index0 = this.nla_1;
    tmp1_array[tmp2_index0] = tmp1_array[tmp2_index0] + 1 | 0;
  };
  protoOf(NamespaceHolder).klc = function (prefix) {
    var prefixStr = toString(prefix);
    var tmp;
    if (prefixStr === 'xml') {
      return 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefixStr === 'xmlns') {
        return 'http://www.w3.org/2000/xmlns/';
      } else {
        var tmp$ret$1;
        $l$block: {
          // Inline function 'kotlin.collections.firstOrNull' call
          var tmp0_iterator = downTo(this.zlc() - 1 | 0, 0).w();
          while (tmp0_iterator.f()) {
            var element = tmp0_iterator.e();
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
            if (getPrefix(this, element) === prefixStr) {
              tmp$ret$1 = element;
              break $l$block;
            }
          }
          tmp$ret$1 = null;
        }
        var tmp0_safe_receiver = tmp$ret$1;
        var tmp_0;
        if (tmp0_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
          tmp_0 = getNamespace(this, tmp0_safe_receiver);
        }
        var tmp1_elvis_lhs = tmp_0;
        var tmp_1;
        if (tmp1_elvis_lhs == null) {
          var tmp_2;
          // Inline function 'kotlin.text.isEmpty' call
          if (charSequenceLength(prefixStr) === 0) {
            tmp_2 = '';
          } else {
            tmp_2 = null;
          }
          tmp_1 = tmp_2;
        } else {
          tmp_1 = tmp1_elvis_lhs;
        }
        tmp = tmp_1;
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).ulc = function (namespaceUri) {
    var namespaceUriStr = toString(namespaceUri);
    var tmp;
    if (namespaceUriStr === 'http://www.w3.org/XML/1998/namespace') {
      tmp = 'xml';
    } else {
      if (namespaceUriStr === 'http://www.w3.org/2000/xmlns/') {
        tmp = 'xmlns';
      } else {
        if (namespaceUriStr === '') {
          var tmp_0;
          var tmp$ret$0;
          $l$block_0: {
            // Inline function 'kotlin.collections.none' call
            var this_0 = until(0, this.zlc());
            var tmp_1;
            if (isInterface(this_0, Collection)) {
              tmp_1 = this_0.c1();
            } else {
              tmp_1 = false;
            }
            if (tmp_1) {
              tmp$ret$0 = true;
              break $l$block_0;
            }
            var tmp0_iterator = this_0.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              // Inline function 'kotlin.text.isEmpty' call
              var this_1 = getPrefix(this, element);
              if (charSequenceLength(this_1) === 0) {
                tmp$ret$0 = false;
                break $l$block_0;
              }
            }
            tmp$ret$0 = true;
          }
          if (tmp$ret$0) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
          tmp = tmp_0;
        } else {
          var tmp$ret$6;
          $l$block_3: {
            // Inline function 'kotlin.collections.firstOrNull' call
            var tmp0_iterator_0 = downTo(this.zlc() - 1 | 0, 0).w();
            while (tmp0_iterator_0.f()) {
              var element_0 = tmp0_iterator_0.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              var tmp_2;
              if (getNamespace(this, element_0) === namespaceUriStr) {
                var tmp$ret$3;
                $l$block_2: {
                  // Inline function 'kotlin.collections.none' call
                  var this_2 = until(element_0 + 1 | 0, this.zlc());
                  var tmp_3;
                  if (isInterface(this_2, Collection)) {
                    tmp_3 = this_2.c1();
                  } else {
                    tmp_3 = false;
                  }
                  if (tmp_3) {
                    tmp$ret$3 = true;
                    break $l$block_2;
                  }
                  var tmp0_iterator_1 = this_2.w();
                  while (tmp0_iterator_1.f()) {
                    var element_1 = tmp0_iterator_1.e();
                    // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>.<anonymous>' call
                    if (getPrefix(this, element_0) === getPrefix(this, element_1)) {
                      tmp$ret$3 = false;
                      break $l$block_2;
                    }
                  }
                  tmp$ret$3 = true;
                }
                tmp_2 = tmp$ret$3;
              } else {
                tmp_2 = false;
              }
              if (tmp_2) {
                tmp$ret$6 = element_0;
                break $l$block_3;
              }
            }
            tmp$ret$6 = null;
          }
          var tmp0_safe_receiver = tmp$ret$6;
          var tmp_4;
          if (tmp0_safe_receiver == null) {
            tmp_4 = null;
          } else {
            // Inline function 'kotlin.let' call
            // Inline function 'kotlin.contracts.contract' call
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
            tmp_4 = getPrefix(this, tmp0_safe_receiver);
          }
          tmp = tmp_4;
        }
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).w = function () {
    return new NamespaceHolder$iterator$1(this);
  };
  protoOf(NamespaceHolder).qlc = function () {
    var prefix;
    do {
      prefix = 'n' + this.kla_1;
    }
     while (!(this.klc(prefix) == null));
    return prefix;
  };
  protoOf(NamespaceHolder).slc = function (prefix) {
    var progression = namespaceIndicesAt(this, this.nla_1);
    var nestedFirst = progression.ib_1;
    var nestedLast = progression.jb_1;
    var inductionVariable = nestedFirst;
    var last = getProgressionLastElement(nestedFirst, nestedLast, 2);
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 2 | 0;
        if (this.lla_1[prefixArrayPos(this, i)] === prefix) {
          return this.lla_1[nsArrayPos(this, i)];
        }
      }
       while (!(i === last));
    return null;
  };
  function toIndentSequence$sbToTextEvent(sb, result) {
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(sb) > 0) {
      var text = sb.toString();
      if (!isXmlWhitespace_1(text)) {
        throw XmlException_init_$Create$_0('Indents can only be whitespace or comments: ' + text);
      }
      result.i1(new TextEvent(null, EventType_IGNORABLE_WHITESPACE_getInstance(), text));
      sb.z8();
    }
  }
  function Companion_5() {
    this.cld_1 = '<!---->';
  }
  protoOf(Companion_5).dld = function (_this__u8e3s4) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var sb = StringBuilder_init_$Create$();
    var commentPos = 0;
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    while (inductionVariable < last) {
      var ch = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (ch === _Char___init__impl__6a9atx(60)) {
        if (commentPos === 0) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(33)) {
        if (commentPos === 1) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(45)) {
        switch (commentPos) {
          case 2:
            commentPos = commentPos + 1 | 0;
            break;
          case 3:
            commentPos = commentPos + 1 | 0;
            toIndentSequence$sbToTextEvent(sb, result);
            break;
          case 4:
          case 5:
            commentPos = commentPos + 1 | 0;
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
          default:
            sb.z5(ch);
            break;
        }
      } else if (ch === _Char___init__impl__6a9atx(62)) {
        switch (commentPos) {
          case 6:
            commentPos = 0;
            result.i1(new TextEvent(null, EventType_COMMENT_getInstance(), sb.toString()));
            sb.z8();
            break;
          case 5:
            commentPos = 4;
            sb.y5('->');
            break;
          default:
            sb.z5(ch);
            break;
        }
      } else {
        switch (commentPos) {
          case 1:
          case 2:
          case 3:
            sb.s8('<!---->', 0, commentPos);
            commentPos = 0;
            sb.z5(ch);
            break;
          case 0:
          case 4:
            sb.z5(ch);
            break;
          case 5:
            commentPos = 4;
            sb.z5(_Char___init__impl__6a9atx(45)).z5(ch);
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
        }
      }
    }
    if (commentPos > 0)
      throw XmlException_init_$Create$_0('Indent can not contain unclosed comment');
    toIndentSequence$sbToTextEvent(sb, result);
    return result;
  };
  var Companion_instance_6;
  function Companion_getInstance_5() {
    return Companion_instance_6;
  }
  function PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9(ev) {
    return ev.wl4().za_1 === 3 ? '<!--' + ev.xl5_1 + '-->' : ev.xl5_1;
  }
  function PlatformXmlWriterBase(indentSequence) {
    indentSequence = indentSequence === VOID ? emptyList() : indentSequence;
    this.hl5_1 = toList(indentSequence);
  }
  protoOf(PlatformXmlWriterBase).tl6 = function (value) {
    this.hl5_1 = Companion_instance_6.dld(value);
  };
  protoOf(PlatformXmlWriterBase).ul6 = function () {
    var tmp = this.hl5_1;
    return joinToString_0(tmp, VOID, VOID, VOID, VOID, VOID, PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9);
  };
  function get_WHITESPACE() {
    _init_properties_chars_kt__oshz4b();
    return WHITESPACE;
  }
  var WHITESPACE;
  function isXmlWhitespace_1(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    var tmp$ret$2;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
        var element = charSequenceGet(_this__u8e3s4, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.core.impl.isXmlWhitespace.<anonymous>' call
        // Inline function 'kotlin.code' call
        var tmp$ret$0 = Char__toInt_impl_vasixd(element);
        if (!isXmlWhitespace_2(tmp$ret$0)) {
          tmp$ret$2 = false;
          break $l$block;
        }
      }
      tmp$ret$2 = true;
    }
    return tmp$ret$2;
  }
  function isXmlWhitespace_2(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    return _this__u8e3s4 >= get_WHITESPACE().length ? false : get_WHITESPACE()[_this__u8e3s4];
  }
  var properties_initialized_chars_kt_qk0z7x;
  function _init_properties_chars_kt__oshz4b() {
    if (!properties_initialized_chars_kt_qk0z7x) {
      properties_initialized_chars_kt_qk0z7x = true;
      // Inline function 'kotlin.also' call
      var this_0 = booleanArray(33);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.impl.WHITESPACE.<anonymous>' call
      // Inline function 'kotlin.code' call
      var this_1 = _Char___init__impl__6a9atx(9);
      this_0[Char__toInt_impl_vasixd(this_1)] = true;
      // Inline function 'kotlin.code' call
      var this_2 = _Char___init__impl__6a9atx(10);
      this_0[Char__toInt_impl_vasixd(this_2)] = true;
      // Inline function 'kotlin.code' call
      var this_3 = _Char___init__impl__6a9atx(13);
      this_0[Char__toInt_impl_vasixd(this_3)] = true;
      // Inline function 'kotlin.code' call
      var this_4 = _Char___init__impl__6a9atx(32);
      this_0[Char__toInt_impl_vasixd(this_4)] = true;
      WHITESPACE = this_0;
    }
  }
  function iterator(_this__u8e3s4) {
    return new NamedNodeMapIterator(_this__u8e3s4);
  }
  function NamedNodeMapIterator(map) {
    this.eld_1 = map;
    this.fld_1 = 0;
  }
  protoOf(NamedNodeMapIterator).f = function () {
    var tmp = this.fld_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.eld_1.length;
  };
  protoOf(NamedNodeMapIterator).e = function () {
    var tmp1 = this.fld_1;
    this.fld_1 = tmp1 + 1 | 0;
    var tmp = get(this.eld_1, tmp1);
    return (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
  };
  function get(_this__u8e3s4, index) {
    var tmp = _this__u8e3s4.item(index);
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  }
  function NodeConsts() {
    this.gld_1 = 1;
    this.hld_1 = 2;
    this.ild_1 = 3;
    this.jld_1 = 4;
    this.kld_1 = 5;
    this.lld_1 = 6;
    this.mld_1 = 7;
    this.nld_1 = 8;
    this.old_1 = 9;
    this.pld_1 = 10;
    this.qld_1 = 11;
    this.rld_1 = 12;
  }
  var NodeConsts_instance;
  function NodeConsts_getInstance() {
    return NodeConsts_instance;
  }
  function iterator_0(_this__u8e3s4) {
    return new NodeListIterator(_this__u8e3s4);
  }
  function NodeListIterator(nodeList) {
    this.sld_1 = nodeList;
    this.tld_1 = 0;
  }
  protoOf(NodeListIterator).f = function () {
    var tmp = this.tld_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.sld_1.length;
  };
  protoOf(NodeListIterator).e = function () {
    var tmp1 = this.tld_1;
    this.tld_1 = tmp1 + 1 | 0;
    var tmp2_elvis_lhs = this.sld_1.item(tmp1);
    var tmp;
    if (tmp2_elvis_lhs == null) {
      throw NoSuchElementException_init_$Create$_0('No item found in the iterator');
    } else {
      tmp = tmp2_elvis_lhs;
    }
    return tmp;
  };
  function ICompactFragment() {
  }
  function removeElementChildren(_this__u8e3s4) {
    var top = _this__u8e3s4;
    var cur = top.firstChild;
    while (!(cur == null)) {
      var n = cur.nextSibling;
      if (get_isElement(cur)) {
        top.removeChild(cur);
      }
      cur = n;
    }
  }
  function createElement(_this__u8e3s4, name) {
    return _this__u8e3s4.createElementNS(name.ml8(), toCName(name));
  }
  function myLookupNamespaceURI(_this__u8e3s4, prefix) {
    var tmp;
    var tmp_0 = _this__u8e3s4.nodeType;
    if (!(tmp_0 === 1)) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = (!(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE()).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_1 = this_0.item(idx);
          var attr = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupNamespaceURI.<anonymous>' call
          if ((prefix === '' ? attr.localName === 'xmlns' : false) ? true : attr.prefix === 'xmlns' ? attr.localName === prefix : false) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      var tmp0_safe_receiver = firstOrNull(result);
      var tmp2_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.value;
      var tmp_2;
      if (tmp2_elvis_lhs == null) {
        var tmp1_safe_receiver = _this__u8e3s4.parentNode;
        tmp_2 = tmp1_safe_receiver == null ? null : myLookupNamespaceURI(tmp1_safe_receiver, prefix);
      } else {
        tmp_2 = tmp2_elvis_lhs;
      }
      tmp = tmp_2;
    }
    return tmp;
  }
  function myLookupPrefix(_this__u8e3s4, namespaceUri) {
    var tmp = _this__u8e3s4.nodeType;
    if (!(tmp === 1))
      return null;
    var tmp_0 = !(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE();
    // Inline function 'kotlin.collections.mutableSetOf' call
    var tmp$ret$0 = LinkedHashSet_init_$Create$();
    return myLookupPrefixImpl(tmp_0, namespaceUri, tmp$ret$0);
  }
  function get_isElement(_this__u8e3s4) {
    var tmp = _this__u8e3s4.nodeType;
    return tmp === 1;
  }
  function get_isText(_this__u8e3s4) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1 = tmp0_subject;
    if (tmp_1 === 1) {
      tmp_0 = true;
    } else {
      var tmp_2 = tmp0_subject;
      tmp_0 = tmp_2 === 4;
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = false;
    }
    return tmp;
  }
  function myLookupPrefixImpl(_this__u8e3s4, namespaceUri, seenPrefixes) {
    var tmp0_safe_receiver = _this__u8e3s4.attributes;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = tmp0_safe_receiver.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupPrefixImpl.<anonymous>' call
          var tmp = tmp0_safe_receiver.item(idx);
          var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
          var tmp_0 = attr.prefix;
          if (tmp_0 === 'xmlns')
            if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
              return attr.localName;
            } else {
              var tmp0_elvis_lhs = attr.localName;
              seenPrefixes.i1(tmp0_elvis_lhs == null ? attr.name : tmp0_elvis_lhs);
            }
           else {
            var tmp_1;
            // Inline function 'kotlin.text.isNullOrBlank' call
            var this_0 = attr.prefix;
            // Inline function 'kotlin.contracts.contract' call
            if (this_0 == null ? true : isBlank(this_0)) {
              var tmp_2 = attr.localName;
              tmp_1 = tmp_2 === 'xmlns';
            } else {
              tmp_1 = false;
            }
            if (tmp_1)
              if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
                return '';
              } else {
                seenPrefixes.i1('');
              }
          }
        }
         while (inductionVariable < l);
    }
    var tmp_3 = _this__u8e3s4.parentNode;
    var tmp1_safe_receiver = (!(tmp_3 == null) ? !(tmp_3 == null) : false) ? tmp_3 : null;
    return tmp1_safe_receiver == null ? null : myLookupPrefixImpl(tmp1_safe_receiver, namespaceUri, seenPrefixes);
  }
  function QName_init_$Init$(namespaceURI, localPart, $this) {
    QName.call($this, namespaceURI, localPart, '');
    return $this;
  }
  function QName_init_$Create$(namespaceURI, localPart) {
    return QName_init_$Init$(namespaceURI, localPart, objectCreate(protoOf(QName)));
  }
  function QName_init_$Init$_0(localPart, $this) {
    QName.call($this, '', localPart, '');
    return $this;
  }
  function QName_init_$Create$_0(localPart) {
    return QName_init_$Init$_0(localPart, objectCreate(protoOf(QName)));
  }
  function QName(namespaceURI, localPart, prefix) {
    this.jl8_1 = namespaceURI;
    this.kl8_1 = localPart;
    this.ll8_1 = prefix;
  }
  protoOf(QName).ol8 = function () {
    return this.ll8_1;
  };
  protoOf(QName).nl8 = function () {
    return this.kl8_1;
  };
  protoOf(QName).ml8 = function () {
    return this.jl8_1;
  };
  protoOf(QName).toString = function () {
    if (this.jl8_1 === '')
      return this.kl8_1;
    return '{' + this.jl8_1 + '}' + this.kl8_1;
  };
  protoOf(QName).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !(this.constructor == other.constructor))
      return false;
    if (!(other instanceof QName))
      THROW_CCE();
    if (!(this.jl8_1 === other.jl8_1))
      return false;
    if (!(this.kl8_1 === other.kl8_1))
      return false;
    return true;
  };
  protoOf(QName).hashCode = function () {
    var result = getStringHashCode(this.jl8_1);
    result = imul(31, result) + getStringHashCode(this.kl8_1) | 0;
    return result;
  };
  function siblingsToFragment(_this__u8e3s4) {
    var tmp0_safe_receiver = _this__u8e3s4 instanceof DomReader ? _this__u8e3s4 : null;
    var d = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.al4_1;
    var tmp2_subject = d == null ? null : d.nodeType;
    var tmp;
    var tmp_0 = tmp2_subject == null ? null : tmp2_subject;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? !(d == null) : false) ? d : THROW_CCE();
    } else {
      if (tmp2_subject == null) {
        var tmp_1 = new Document();
        tmp = !(tmp_1 == null) ? tmp_1 : THROW_CCE();
      } else {
        var tmp4_elvis_lhs = d.ownerDocument;
        var tmp_2;
        if (tmp4_elvis_lhs == null) {
          var tmp_3 = new Document();
          tmp_2 = !(tmp_3 == null) ? tmp_3 : THROW_CCE();
        } else {
          tmp_2 = tmp4_elvis_lhs;
        }
        tmp = tmp_2;
      }
    }
    var doc = tmp;
    var frag = doc.createDocumentFragment();
    var wrapperElement = doc.createElementNS('http://wrapperns', 'SDFKLJDSF:afjlfxkls');
    frag.appendChild(wrapperElement);
    if (!_this__u8e3s4.ql4()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.xl4();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      var initialDepth = _this__u8e3s4.rl4() - (_this__u8e3s4.wl4() === EventType_START_ELEMENT_getInstance() ? 1 : 0) | 0;
      var type = _this__u8e3s4.wl4();
      while ((!(type === EventType_END_DOCUMENT_getInstance()) ? !(type === EventType_END_ELEMENT_getInstance()) : false) ? _this__u8e3s4.rl4() >= initialDepth : false) {
        var tmp5_subject = type;
        switch (tmp5_subject == null ? -1 : tmp5_subject.za_1) {
          case 1:
            var out = new DomWriter(wrapperElement, true);
            addUndeclaredNamespaces(out, _this__u8e3s4, missingNamespaces);
            writeCurrent(_this__u8e3s4, out);
            writeElementContent(out, missingNamespaces, _this__u8e3s4);
            out.n();
            break;
          case 9:
          case 4:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createTextNode(_this__u8e3s4.ul4()));
            break;
          case 5:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createCDATASection(_this__u8e3s4.ul4()));
            break;
          case 3:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createComment(_this__u8e3s4.ul4()));
            break;
          case 8:
            throw XmlException_init_$Create$_0('Entity references are not expected here');
          case 10:
            throw AssertionError_init_$Create$('Attributes are not expected in the event stream');
          default:
            break;
        }
        type = _this__u8e3s4.f() ? _this__u8e3s4.e() : null;
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      var tmp_4 = asSequence_0(missingNamespaces.q2());
      var tmp_5 = filter(tmp_4, siblingsToFragment$lambda);
      var ns = toList_0(map(tmp_5, siblingsToFragment$lambda_0(wrapperElement)));
      var tmp_6 = new XMLSerializer();
      var wrappedString = tmp_6.serializeToString(wrapperElement instanceof Node ? wrapperElement : THROW_CCE());
      // Inline function 'kotlin.text.substring' call
      var startIndex = indexOf(wrappedString, _Char___init__impl__6a9atx(62), 19) + 1 | 0;
      var endIndex = (wrappedString.length - 19 | 0) - 3 | 0;
      // Inline function 'kotlin.js.asDynamic' call
      var unwrappedString = wrappedString.substring(startIndex, endIndex);
      return CompactFragment_init_$Create$_0(ns, unwrappedString);
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  function siblingsToFragment$lambda(_name_for_destructuring_parameter_0__wldtmu) {
    // Inline function 'kotlin.collections.component1' call
    var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
    // Inline function 'kotlin.collections.component2' call
    var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
    return !(prefix === '') ? true : !(uri === '');
  }
  function siblingsToFragment$lambda_0($wrapperElement) {
    return function (_name_for_destructuring_parameter_0__wldtmu) {
      // Inline function 'kotlin.collections.component1' call
      var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
      // Inline function 'kotlin.collections.component2' call
      var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
      $wrapperElement.setAttributeNS('http://www.w3.org/2000/xmlns/', prefix === '' ? 'xmlns' : 'xmlns:' + prefix, uri);
      return new NamespaceImpl(prefix, uri);
    };
  }
  function XmlStreaming() {
  }
  protoOf(XmlStreaming).xld = function (input) {
    var str = toString(charSequenceGet(input, 0) === _Char___init__impl__6a9atx(65279) ? charSequenceSubSequence(input, 1, charSequenceLength(input)) : input);
    var tmp = (new DOMParser()).parseFromString(str, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  };
  protoOf(XmlStreaming).yld = function (writer, repairNamespaces, xmlDeclMode) {
    return new WriterXmlWriter(writer, DomWriter_init_$Create$(xmlDeclMode));
  };
  var XmlStreaming_instance;
  function XmlStreaming_getInstance() {
    return XmlStreaming_instance;
  }
  function WriterXmlWriter(target, delegate) {
    this.zld_1 = target;
    this.ale_1 = delegate;
  }
  protoOf(WriterXmlWriter).rl4 = function () {
    return this.ale_1.ql5_1;
  };
  protoOf(WriterXmlWriter).tl6 = function (_set____db54di) {
    this.ale_1.tl6(_set____db54di);
  };
  protoOf(WriterXmlWriter).ul6 = function () {
    return this.ale_1.ul6();
  };
  protoOf(WriterXmlWriter).yl4 = function () {
    return this.ale_1.pl5_1;
  };
  protoOf(WriterXmlWriter).ml6 = function (namespace, name, prefix, value) {
    this.ale_1.ml6(namespace, name, prefix, value);
  };
  protoOf(WriterXmlWriter).kl6 = function (text) {
    this.ale_1.kl6(text);
  };
  protoOf(WriterXmlWriter).cl6 = function (text) {
    this.ale_1.cl6(text);
  };
  protoOf(WriterXmlWriter).fl6 = function (text) {
    this.ale_1.fl6(text);
  };
  protoOf(WriterXmlWriter).pl6 = function () {
    this.ale_1.pl6();
  };
  protoOf(WriterXmlWriter).ql6 = function (namespace, localName, prefix) {
    this.ale_1.ql6(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).ll6 = function (text) {
    this.ale_1.ll6(text);
  };
  protoOf(WriterXmlWriter).rl6 = function (prefix) {
    return this.ale_1.rl6(prefix);
  };
  protoOf(WriterXmlWriter).sl6 = function (namespaceUri) {
    return this.ale_1.sl6(namespaceUri);
  };
  protoOf(WriterXmlWriter).ul5 = function (text) {
    this.ale_1.ul5(text);
  };
  protoOf(WriterXmlWriter).hl6 = function (namespacePrefix, namespaceUri) {
    this.ale_1.hl6(namespacePrefix, namespaceUri);
  };
  protoOf(WriterXmlWriter).vl6 = function (namespace) {
    this.ale_1.vl6(namespace);
  };
  protoOf(WriterXmlWriter).dl6 = function (text) {
    this.ale_1.dl6(text);
  };
  protoOf(WriterXmlWriter).el6 = function (target, data) {
    this.ale_1.el6(target, data);
  };
  protoOf(WriterXmlWriter).nl6 = function (version, encoding, standalone) {
    this.ale_1.nl6(version, encoding, standalone);
  };
  protoOf(WriterXmlWriter).il6 = function (namespace, localName, prefix) {
    this.ale_1.il6(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).jl6 = function (text) {
    this.ale_1.jl6(text);
  };
  protoOf(WriterXmlWriter).n = function () {
    try {
      var xmls = new XMLSerializer();
      var tmp = this.ale_1.gl6();
      var domText = xmls.serializeToString(tmp instanceof Node ? tmp : THROW_CCE());
      var xmlDeclMode = this.ale_1.kl5_1;
      if (!xmlDeclMode.equals(XmlDeclMode_None_getInstance())) {
        var tmp_0;
        if (xmlDeclMode.za_1 === 3) {
          var tmp1_elvis_lhs = this.ale_1.sl5_1;
          tmp_0 = tmp1_elvis_lhs == null ? 'UTF-8' : tmp1_elvis_lhs;
        } else {
          var tmp2_safe_receiver = this.ale_1.sl5_1;
          var tmp_1;
          if (tmp2_safe_receiver == null) {
            tmp_1 = null;
          } else {
            // Inline function 'kotlin.text.lowercase' call
            // Inline function 'kotlin.js.asDynamic' call
            tmp_1 = tmp2_safe_receiver.toLowerCase();
          }
          var tmp3_safe_receiver = tmp_1;
          tmp_0 = (tmp3_safe_receiver == null ? null : startsWith(tmp3_safe_receiver, 'utf-')) === false ? this.ale_1.sl5_1 : null;
        }
        var encoding = tmp_0;
        var tmp5_elvis_lhs = this.ale_1.rl5_1;
        var xmlVersion = tmp5_elvis_lhs == null ? '1.0' : tmp5_elvis_lhs;
        this.zld_1.z4s('<?xml version="');
        this.zld_1.z4s(xmlVersion);
        this.zld_1.z4s('"');
        if (!(encoding == null)) {
          this.zld_1.z4s(' encoding="');
          this.zld_1.z4s(encoding);
          this.zld_1.z4s('"');
        }
        this.zld_1.z4s('?>');
        // Inline function 'kotlin.collections.isNotEmpty' call
        if (!this.ale_1.hl5_1.c1()) {
          this.zld_1.z4s('\n');
        }
      }
      this.zld_1.z4s(domText);
    }finally {
      this.ale_1.n();
    }
  };
  function NamespaceContextImpl() {
  }
  function IOException_init_$Init$($this) {
    Exception_init_$Init$($this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Create$() {
    var tmp = IOException_init_$Init$(objectCreate(protoOf(IOException)));
    captureStack(tmp, IOException_init_$Create$);
    return tmp;
  }
  function IOException_init_$Init$_0(message, $this) {
    Exception_init_$Init$_0(message, $this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Init$_1(message, cause, $this) {
    Exception_init_$Init$_1(message, cause, $this);
    IOException.call($this);
    return $this;
  }
  function IOException() {
    captureStack(this, IOException);
  }
  function StringWriter() {
    Writer.call(this);
    this.ble_1 = StringBuilder_init_$Create$();
  }
  protoOf(StringWriter).z4s = function (text) {
    this.ble_1.y5(text);
  };
  protoOf(StringWriter).toString = function () {
    return this.ble_1.toString();
  };
  protoOf(StringWriter).z5 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.ble_1.z5(value);
    return this;
  };
  protoOf(StringWriter).r8 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.ble_1.r8(value);
    return this;
  };
  function assert(value, lazyMessage) {
    if (!value) {
      console.error('Assertion failed: ' + lazyMessage());
    }
  }
  function assert_0(value) {
    if (!value) {
      console.error('Assertion failed');
    }
  }
  function get_name_0(_this__u8e3s4) {
    return get_js(_this__u8e3s4).name;
  }
  function Writer() {
  }
  function Factory() {
  }
  function CompactFragment_init_$Init$(content, $this) {
    CompactFragment_init_$Init$_0(emptyList(), content, $this);
    return $this;
  }
  function CompactFragment_init_$Create$(content) {
    return CompactFragment_init_$Init$(content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_0(namespaces, content, $this) {
    CompactFragment.call($this);
    $this.cle_1 = Companion_getInstance_1().yl8(namespaces);
    $this.dle_1 = content;
    return $this;
  }
  function CompactFragment_init_$Create$_0(namespaces, content) {
    return CompactFragment_init_$Init$_0(namespaces, content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_1(orig, $this) {
    CompactFragment.call($this);
    $this.cle_1 = Companion_getInstance_1().yl8(orig.uld());
    $this.dle_1 = orig.vld();
    return $this;
  }
  function CompactFragment_init_$Create$_1(orig) {
    return CompactFragment_init_$Init$_1(orig, objectCreate(protoOf(CompactFragment)));
  }
  function Companion_6() {
    Companion_instance_7 = this;
    this.ele_1 = new Factory();
  }
  var Companion_instance_7;
  function Companion_getInstance_6() {
    if (Companion_instance_7 == null)
      new Companion_6();
    return Companion_instance_7;
  }
  function CompactFragment$toString$lambda(it) {
    return '"' + it.pl4() + ' -> ' + it.nl4() + '"';
  }
  protoOf(CompactFragment).uld = function () {
    return this.cle_1;
  };
  protoOf(CompactFragment).vld = function () {
    return this.dle_1;
  };
  protoOf(CompactFragment).wld = function (out) {
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var reader = Companion_instance_8.hle(this);
    serialize(out, reader);
  };
  protoOf(CompactFragment).ile = function () {
    return Companion_instance_8.hle(this);
  };
  protoOf(CompactFragment).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : get_prototype(this) != get_prototype(other))
      return false;
    var that = (other == null ? true : isInterface(other, ICompactFragment)) ? other : THROW_CCE();
    if (!equals(this.cle_1, ensureNotNull(that).uld()))
      return false;
    return this.dle_1 === that.vld();
  };
  protoOf(CompactFragment).hashCode = function () {
    var result = hashCode(this.cle_1);
    result = imul(31, result) + getStringHashCode(this.dle_1) | 0;
    return result;
  };
  protoOf(CompactFragment).toString = function () {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.CompactFragment.toString.<anonymous>' call
    this_0.y5('{namespaces=[');
    joinTo(this.cle_1, this_0, VOID, VOID, VOID, VOID, VOID, CompactFragment$toString$lambda);
    this_0.y5('], content=').y5(this.dle_1).z5(_Char___init__impl__6a9atx(125));
    return this_0.toString();
  };
  function CompactFragment() {
    Companion_getInstance_6();
  }
  function get_prototype(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.util.<get-prototype>.prototype' call
    return _this__u8e3s4.prototype;
  }
  function FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, $this) {
    SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this);
    FragmentNamespaceContext.call($this);
    $this.kle_1 = parent;
    return $this;
  }
  function FragmentNamespaceContext_init_$Create$(parent, prefixes, namespaces) {
    return FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, objectCreate(protoOf(FragmentNamespaceContext)));
  }
  function getLocalNamespaceUri($this, prefix) {
    var inductionVariable = $this.u() - 1 | 0;
    if (0 <= inductionVariable)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + -1 | 0;
        if (prefix === $this.ul8(i)) {
          return $this.vl8(i);
        }
      }
       while (0 <= inductionVariable);
    return null;
  }
  function getDelegate($this, text, wrapperNamespaceContext) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.Companion.getDelegate.<anonymous>' call
    this_0.y5('<SDFKLJDSF:wrapper xmlns:SDFKLJDSF="http://wrapperns"');
    var tmp0_iterator = wrapperNamespaceContext.w();
    while (tmp0_iterator.f()) {
      var ns = tmp0_iterator.e();
      var prefix = ns.pl4();
      var uri = ns.nl4();
      if ('' === prefix) {
        this_0.y5(' xmlns');
      } else {
        this_0.y5(' xmlns:').y5(prefix);
      }
      this_0.y5('="').y5(xmlEncode(uri)).z5(_Char___init__impl__6a9atx(34));
    }
    this_0.y5(' >');
    var wrapper = this_0.toString();
    var actualInput = wrapper + text + '<\/SDFKLJDSF:wrapper>';
    var parser = new DOMParser();
    var tmp = parser.parseFromString(actualInput, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  }
  protoOf(FragmentNamespaceContext).jl4 = function () {
    return this;
  };
  protoOf(FragmentNamespaceContext).hl4 = function (prefix) {
    var namespaceURI = protoOf(SimpleNamespaceContext).hl4.call(this, prefix);
    var tmp0_safe_receiver = this.kle_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      return tmp0_safe_receiver.hl4(prefix);
    }
    return namespaceURI;
  };
  protoOf(FragmentNamespaceContext).il4 = function (namespaceURI) {
    var prefix = protoOf(SimpleNamespaceContext).il4.call(this, namespaceURI);
    if (prefix == null ? !(this.kle_1 == null) : false) {
      return this.kle_1.il4(namespaceURI);
    }
    return prefix;
  };
  protoOf(FragmentNamespaceContext).ml4 = function (namespaceURI) {
    if (this.kle_1 == null) {
      return protoOf(SimpleNamespaceContext).ml4.call(this, namespaceURI);
    }
    var prefixes = HashSet_init_$Create$();
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var it = protoOf(SimpleNamespaceContext).ml4.call(this, namespaceURI);
    while (it.f()) {
      prefixes.i1(it.e());
    }
    var it_0 = this.kle_1.ml4(namespaceURI);
    while (it_0.f()) {
      var prefix = it_0.e();
      var localNamespaceUri = getLocalNamespaceUri(this, prefix);
      if (localNamespaceUri == null) {
        prefixes.i1(prefix);
      }
    }
    return prefixes.w();
  };
  function FragmentNamespaceContext() {
  }
  function extendNamespace($this) {
    var namespaceDecls = $this.fx().zl4();
    var nscount = namespaceDecls.u();
    var tmp = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_0 = fillArrayVal(Array(nscount), null);
    while (tmp < nscount) {
      var tmp_1 = tmp;
      tmp_0[tmp_1] = namespaceDecls.v(tmp_1).pl4();
      tmp = tmp + 1 | 0;
    }
    var prefixes = tmp_0;
    var tmp_2 = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_3 = fillArrayVal(Array(nscount), null);
    while (tmp_2 < nscount) {
      var tmp_4 = tmp_2;
      tmp_3[tmp_4] = namespaceDecls.v(tmp_4).nl4();
      tmp_2 = tmp_2 + 1 | 0;
    }
    var namespaces = tmp_3;
    $this.mle_1 = FragmentNamespaceContext_init_$Create$($this.mle_1, prefixes, namespaces);
  }
  function Companion_7() {
    this.fle_1 = 'SDFKLJDSF';
    this.gle_1 = 'http://wrapperns';
  }
  protoOf(Companion_7).hle = function (fragment) {
    return new XMLFragmentStreamReader(fragment.vld(), fragment.uld());
  };
  var Companion_instance_8;
  function Companion_getInstance_7() {
    return Companion_instance_8;
  }
  function XMLFragmentStreamReader(text, wrapperNamespaceContext) {
    XmlDelegatingReader.call(this, getDelegate(Companion_instance_8, text, wrapperNamespaceContext));
    var tmp = this;
    // Inline function 'kotlin.emptyArray' call
    var tmp_0 = [];
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$1 = [];
    tmp.mle_1 = FragmentNamespaceContext_init_$Create$(null, tmp_0, tmp$ret$1);
    if (this.fx().wl4() === EventType_START_ELEMENT_getInstance()) {
      extendNamespace(this);
    }
  }
  protoOf(XMLFragmentStreamReader).e = function () {
    var result = this.fx().e();
    switch (result.za_1) {
      case 7:
        return result;
      case 0:
      case 11:
      case 6:
        return this.e();
      case 1:
        if ('http://wrapperns' === this.fx().nl4())
          return this.e();
        extendNamespace(this);
        break;
      case 2:
        if ('http://wrapperns' === this.fx().nl4()) {
          return this.fx().e();
        }

        var tmp = this;
        var tmp1_elvis_lhs = this.mle_1.kle_1;
        tmp.mle_1 = tmp1_elvis_lhs == null ? this.mle_1 : tmp1_elvis_lhs;
        break;
      default:
        break;
    }
    return result;
  };
  protoOf(XMLFragmentStreamReader).yl4 = function () {
    return this.mle_1;
  };
  function createDocument(rootElementName) {
    var tmp = document.implementation;
    var tmp0_elvis_lhs = rootElementName.ml8();
    var tmp_0 = tmp.createDocument(tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs, toCName(rootElementName));
    return !(tmp_0 == null) ? tmp_0 : THROW_CCE();
  }
  //region block: post-declaration
  protoOf(DomReader$namespaceContext$1).ll4 = plus_0;
  protoOf(DomReader$namespaceContext$1).ml4 = getPrefixes;
  protoOf(DomReader).dc = get_name;
  protoOf(DomReader).gl5 = require_0;
  protoOf(DomWriter$namespaceContext$1).ml4 = getPrefixes;
  protoOf(PlatformXmlWriterBase).vl6 = namespaceAttr;
  protoOf(PlatformXmlWriterBase).el6 = processingInstruction;
  protoOf(PlatformXmlWriterBase).ol6 = startDocument$default;
  protoOf(SimpleNamespaceContext).ml4 = getPrefixes;
  protoOf(XmlBufferedReaderBase).dc = get_name;
  protoOf(XmlBufferedReaderBase).gl5 = require_0;
  protoOf(XmlBufferedReaderBase).hla = require_1;
  protoOf(XmlBufferedReaderBase).ila = getAttributeName;
  protoOf(XmlBufferedReaderBase).gla = getAttributeValue;
  protoOf(XmlBufferedReaderBase).jla = isWhitespace;
  protoOf(NamespaceHolder$namespaceContext$1).ll4 = plus_0;
  protoOf(NamespaceHolder$namespaceContext$1).ml4 = getPrefixes;
  protoOf(WriterXmlWriter).ol6 = startDocument$default;
  //endregion
  //region block: init
  Companion_instance_0 = new Companion();
  XMLConstants_instance = new XMLConstants();
  Companion_instance_3 = new Companion_2();
  Companion_instance_4 = new Companion_3();
  Companion_instance_5 = new Companion_4();
  Companion_instance_6 = new Companion_5();
  NodeConsts_instance = new NodeConsts();
  XmlStreaming_instance = new XmlStreaming();
  Companion_instance_8 = new Companion_7();
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = XmlVersion_XML11_getInstance;
  _.$_$.b = EventType_CDSECT_getInstance;
  _.$_$.c = EventType_END_DOCUMENT_getInstance;
  _.$_$.d = EventType_END_ELEMENT_getInstance;
  _.$_$.e = EventType_IGNORABLE_WHITESPACE_getInstance;
  _.$_$.f = EventType_START_ELEMENT_getInstance;
  _.$_$.g = EventType_TEXT_getInstance;
  _.$_$.h = XmlDeclMode_None_getInstance;
  _.$_$.i = startDocument$default;
  _.$_$.j = CompactFragment_init_$Create$_0;
  _.$_$.k = CompactFragment_init_$Create$_1;
  _.$_$.l = CompactFragment_init_$Create$;
  _.$_$.m = QName_init_$Create$_0;
  _.$_$.n = QName_init_$Create$;
  _.$_$.o = XmlException_init_$Create$_0;
  _.$_$.p = NodeConsts_instance;
  _.$_$.q = Companion_getInstance_0;
  _.$_$.r = QNameSerializer_getInstance;
  _.$_$.s = XMLConstants_instance;
  _.$_$.t = XmlStreaming_instance;
  _.$_$.u = StringWriter;
  _.$_$.v = assert_0;
  _.$_$.w = assert;
  _.$_$.x = get_name_0;
  _.$_$.y = iterator;
  _.$_$.z = iterator_0;
  _.$_$.a1 = createDocument;
  _.$_$.b1 = CompactFragment;
  _.$_$.c1 = ICompactFragment;
  _.$_$.d1 = DomWriter;
  _.$_$.e1 = getPrefixes;
  _.$_$.f1 = NamespaceContextImpl;
  _.$_$.g1 = QName;
  _.$_$.h1 = XmlBufferedReader;
  _.$_$.i1 = EndElementEvent;
  _.$_$.j1 = NamespaceImpl;
  _.$_$.k1 = namespaceAttr;
  _.$_$.l1 = processingInstruction;
  _.$_$.m1 = XmlWriter;
  _.$_$.n1 = allConsecutiveTextContent;
  _.$_$.o1 = allText;
  _.$_$.p1 = elementContentToFragment;
  _.$_$.q1 = elementToFragment;
  _.$_$.r1 = endTag;
  _.$_$.s1 = isEquivalent;
  _.$_$.t1 = readSimpleElement;
  _.$_$.u1 = siblingsToFragment;
  _.$_$.v1 = skipPreamble;
  _.$_$.w1 = smartStartTag_0;
  _.$_$.x1 = smartStartTag;
  _.$_$.y1 = toCName;
  _.$_$.z1 = toNamespace;
  _.$_$.a2 = toQname;
  _.$_$.b2 = writeAttribute;
  _.$_$.c2 = writeElement;
  _.$_$.d2 = xmlCollapseWhitespace;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js')));

//# sourceMappingURL=xmlutil-core.js.map
