function $DvtElement$$($name$$87$$) {
  this.Init($name$$87$$);
}
$goog$exportPath_$$("DvtElement", $DvtElement$$);
dvt.$Obj$.$createSubclass$($DvtElement$$, dvt.$Obj$);
$DvtElement$$.prototype.Init = function $$DvtElement$$$$Init$($name$$88$$) {
  this.nodeName = $name$$88$$;
  this.previousSibling = this.nextSibling = this.parentNode = this.firstChild = null;
  this.attributes = {};
  this.childNodes = [];
  this.childElementCount = 0;
  this.nodeValue = null;
};
$DvtElement$$.prototype.addEventListener = function $$DvtElement$$$$addEventListener$() {
  document.$addListenerCount$++;
};
$DvtElement$$.prototype.addEventListener = $DvtElement$$.prototype.addEventListener;
$DvtElement$$.prototype.removeEventListener = function $$DvtElement$$$$removeEventListener$() {
  document.$removeListenerCount$++;
};
$DvtElement$$.prototype.removeEventListener = $DvtElement$$.prototype.removeEventListener;
$DvtElement$$.prototype.appendChild = function $$DvtElement$$$$appendChild$($child$$52$$) {
  document.$appendChildCount$++;
  if ($child$$52$$) {
    $child$$52$$.parentNode && $child$$52$$.parentNode.removeChild($child$$52$$);
    var $idx$$14$$ = dvt.$ArrayUtils$.$getIndex$(this.childNodes, $child$$52$$);
    -1 != $idx$$14$$ && (this.childNodes.splice($idx$$14$$, 1), this.childElementCount--);
    $child$$52$$.parentNode = this;
    this.childNodes.push($child$$52$$);
    this.childElementCount++;
    $JSCompiler_StaticMethods__setFamilyTree$$(this);
  }
};
$DvtElement$$.prototype.appendChild = $DvtElement$$.prototype.appendChild;
$DvtElement$$.prototype.cloneNode = function $$DvtElement$$$$cloneNode$($deep$$3$$) {
  var $clone$$1$$ = new $DvtElement$$(this.nodeName), $i$$497_name$$89$$;
  for ($i$$497_name$$89$$ in this.attributes) {
    $clone$$1$$.attributes[$i$$497_name$$89$$] = this.attributes[$i$$497_name$$89$$];
  }
  if ($deep$$3$$) {
    for ($i$$497_name$$89$$ = 0;$i$$497_name$$89$$ < this.childNodes.length;$i$$497_name$$89$$++) {
      var $childClone$$ = this.childNodes[$i$$497_name$$89$$].cloneNode($deep$$3$$);
      $clone$$1$$.appendChild($childClone$$);
    }
  }
  return $clone$$1$$;
};
$DvtElement$$.prototype.cloneNode = $DvtElement$$.prototype.cloneNode;
$DvtElement$$.prototype.dispatchEvent = function $$DvtElement$$$$dispatchEvent$() {
};
$DvtElement$$.prototype.dispatchEvent = $DvtElement$$.prototype.dispatchEvent;
$DvtElement$$.prototype.getAttributeNS = function $$DvtElement$$$$getAttributeNS$($namespace$$3$$, $name$$90$$) {
  document.$getAttrCount$++;
  var $value$$186$$ = this.attributes[$name$$90$$];
  return null == $value$$186$$ ? $value$$186$$ : "" + $value$$186$$;
};
$DvtElement$$.prototype.getAttributeNS = $DvtElement$$.prototype.getAttributeNS;
$DvtElement$$.prototype.getAttribute = function $$DvtElement$$$$getAttribute$($name$$91$$) {
  return this.getAttributeNS(null, $name$$91$$);
};
$DvtElement$$.prototype.getAttribute = $DvtElement$$.prototype.getAttribute;
$DvtElement$$.prototype.getBBox = function $$DvtElement$$$$getBBox$() {
  document.$getBBoxCount$++;
  var $type$$191$$ = this.$_obj$.getTypeName();
  $type$$191$$ ? ($type$$191$$ = $type$$191$$.replace(/[0-9\$]+/g, ""), $type$$191$$ = $type$$191$$.charAt(0).toUpperCase() + $type$$191$$.slice(1)) : $type$$191$$ = "unknown";
  document.$bboxInfo$[$type$$191$$] ? document.$bboxInfo$[$type$$191$$]++ : document.$bboxInfo$[$type$$191$$] = 1;
  return $DvtJavaDimensionUtils$$.$getDimensions$(this.$_obj$);
};
$DvtElement$$.prototype.getBBox = $DvtElement$$.prototype.getBBox;
$DvtElement$$.prototype.hasAttributeNS = function $$DvtElement$$$$hasAttributeNS$($namespace$$4$$, $name$$92$$) {
  return null != this.getAttributeNS($namespace$$4$$, $name$$92$$);
};
$DvtElement$$.prototype.hasAttributeNS = $DvtElement$$.prototype.hasAttributeNS;
$DvtElement$$.prototype.insertBefore = function $$DvtElement$$$$insertBefore$($newChild$$3$$, $referenceChild$$) {
  if (-1 < dvt.$ArrayUtils$.$getIndex$(this.childNodes, $referenceChild$$)) {
    $newChild$$3$$.parentNode && $newChild$$3$$.parentNode.removeChild($newChild$$3$$);
    var $childIdx$$ = dvt.$ArrayUtils$.$getIndex$(this.childNodes, $newChild$$3$$);
    -1 != $childIdx$$ && (this.childNodes.splice($childIdx$$, 1), this.childElementCount--);
    $newChild$$3$$.parentNode = this;
    this.childNodes.splice(dvt.$ArrayUtils$.$getIndex$(this.childNodes, $referenceChild$$), 0, $newChild$$3$$);
    this.childElementCount++;
    $JSCompiler_StaticMethods__setFamilyTree$$(this);
  } else {
    this.appendChild($newChild$$3$$);
  }
};
$DvtElement$$.prototype.insertBefore = $DvtElement$$.prototype.insertBefore;
$DvtElement$$.prototype.removeChild = function $$DvtElement$$$$removeChild$($child$$53$$) {
  document.$removeChildCount$++;
  var $index$$166$$ = dvt.$ArrayUtils$.$getIndex$(this.childNodes, $child$$53$$);
  -1 != $index$$166$$ && ($child$$53$$.parentNode = null, this.childNodes.splice($index$$166$$, 1), this.childElementCount--, $JSCompiler_StaticMethods__setFamilyTree$$(this));
};
$DvtElement$$.prototype.removeChild = $DvtElement$$.prototype.removeChild;
$DvtElement$$.prototype.removeAttributeNS = function $$DvtElement$$$$removeAttributeNS$($namespace$$5$$, $name$$93$$) {
  document.$setAttrCount$++;
  delete this.attributes[$name$$93$$];
};
$DvtElement$$.prototype.removeAttributeNS = $DvtElement$$.prototype.removeAttributeNS;
$DvtElement$$.prototype.replaceChild = function $$DvtElement$$$$replaceChild$($newChild$$4$$, $oldChild$$3$$) {
  if (-1 < dvt.$ArrayUtils$.$getIndex$(this.childNodes, $oldChild$$3$$)) {
    $newChild$$4$$.parentNode && $newChild$$4$$.parentNode.removeChild($newChild$$4$$);
    var $childIdx$$1$$ = dvt.$ArrayUtils$.$getIndex$(this.childNodes, $newChild$$4$$);
    -1 != $childIdx$$1$$ && (this.childNodes.splice($childIdx$$1$$, 1), this.childElementCount--);
    $newChild$$4$$.parentNode = this;
    $oldChild$$3$$.parentNode = null;
    this.childNodes.splice(dvt.$ArrayUtils$.$getIndex$(this.childNodes, $oldChild$$3$$), 1, $newChild$$4$$);
    $JSCompiler_StaticMethods__setFamilyTree$$(this);
  }
};
$DvtElement$$.prototype.replaceChild = $DvtElement$$.prototype.replaceChild;
$DvtElement$$.prototype.setAttributeNS = function $$DvtElement$$$$setAttributeNS$($namespace$$6$$, $name$$94$$, $value$$187$$) {
  document.$setAttrCount$++;
  $DvtDocument$setAttrMap$$[$name$$94$$] = $DvtDocument$setAttrMap$$[$name$$94$$] ? $DvtDocument$setAttrMap$$[$name$$94$$] + 1 : 1;
  this.attributes[$name$$94$$] = $value$$187$$;
};
$DvtElement$$.prototype.setAttributeNS = $DvtElement$$.prototype.setAttributeNS;
$DvtElement$$.prototype.setAttribute = function $$DvtElement$$$$setAttribute$($name$$95$$, $value$$188$$) {
  this.setAttributeNS(null, $name$$95$$, $value$$188$$);
};
$DvtElement$$.prototype.setAttribute = $DvtElement$$.prototype.setAttribute;
$DvtElement$$.prototype.toString = function $$DvtElement$$$$toString$() {
  var $svg$$1$$ = "\x3c" + this.nodeName, $attrs$$inline_79_j$$66_sortedAttrs$$;
  $attrs$$inline_79_j$$66_sortedAttrs$$ = [];
  if (this.attributes[dvt.$CSSStyle$.$FONT_SIZE$]) {
    var $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = parseFloat(this.attributes[dvt.$CSSStyle$.$FONT_SIZE$]);
    this.attributes[dvt.$CSSStyle$.$FONT_SIZE$] = isNaN($currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$) ? CSSStyleUtils.parseFontSize(this.attributes[dvt.$CSSStyle$.$FONT_SIZE$]) : $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$;
  }
  for (var $element$$inline_81_i$$498$$ in this.attributes) {
    if ($element$$inline_81_i$$498$$ == dvt.$CSSStyle$.$FONT_FAMILY$ && (this.attributes[dvt.$CSSStyle$.$FONT_FAMILY$] = this.attributes[dvt.$CSSStyle$.$FONT_FAMILY$].replace(/"/g, "'")), dvt.$Agent$.$isEnvironmentBatik$()) {
      if ("dominant-baseline" == $element$$inline_81_i$$498$$) {
        for (var $element$$7_fontSize$$inline_82$$, $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = this;null == $element$$7_fontSize$$inline_82$$ && null != $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$;) {
          $element$$7_fontSize$$inline_82$$ = $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$.attributes[dvt.$CSSStyle$.$FONT_SIZE$], $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$.parentNode;
        }
        if ($element$$7_fontSize$$inline_82$$) {
          switch(this.attributes[$element$$inline_81_i$$498$$]) {
            case "text-before-edge":
              $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = -1;
              break;
            case "middle":
              $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = -.25;
              break;
            case "text-after-edge":
              $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = -.15;
              break;
            default:
              $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = 1;
          }
          this.attributes["baseline-shift"] || $attrs$$inline_79_j$$66_sortedAttrs$$.push("baseline-shift");
          this.attributes["baseline-shift"] = $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ * $element$$7_fontSize$$inline_82$$;
        }
      } else {
        -1 == $element$$inline_81_i$$498$$.indexOf("aria") && "vector-effect" != $element$$inline_81_i$$498$$ && $attrs$$inline_79_j$$66_sortedAttrs$$.push($element$$inline_81_i$$498$$);
      }
    } else {
      $attrs$$inline_79_j$$66_sortedAttrs$$.push($element$$inline_81_i$$498$$);
    }
  }
  $attrs$$inline_79_j$$66_sortedAttrs$$ = $attrs$$inline_79_j$$66_sortedAttrs$$.sort();
  for ($element$$inline_81_i$$498$$ = 0;$element$$inline_81_i$$498$$ < $attrs$$inline_79_j$$66_sortedAttrs$$.length;$element$$inline_81_i$$498$$++) {
    $element$$7_fontSize$$inline_82$$ = $attrs$$inline_79_j$$66_sortedAttrs$$[$element$$inline_81_i$$498$$], $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = this.attributes[$element$$7_fontSize$$inline_82$$], null != $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ && "undefined" != typeof $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ && ("number" == typeof $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ && 
    ($currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ = dvt.$ToolkitUtils$.$roundDecimal$($currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$)), $svg$$1$$ += " " + $element$$7_fontSize$$inline_82$$ + '\x3d"' + $currentNode$$inline_83_numVal$$inline_80_relativeShift$$inline_84_value$$189$$ + '"');
  }
  $svg$$1$$ += "\x3e";
  for ($attrs$$inline_79_j$$66_sortedAttrs$$ = 0;$attrs$$inline_79_j$$66_sortedAttrs$$ < this.childNodes.length;$attrs$$inline_79_j$$66_sortedAttrs$$++) {
    $svg$$1$$ += this.childNodes[$attrs$$inline_79_j$$66_sortedAttrs$$].toString();
  }
  return $svg$$1$$ += "\x3c/" + this.nodeName + "\x3e";
};
$DvtElement$$.prototype.toString = $DvtElement$$.prototype.toString;
function $JSCompiler_StaticMethods__setFamilyTree$$($JSCompiler_StaticMethods__setFamilyTree$self$$) {
  var $numChildren$$15$$ = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes.length;
  if (0 < $numChildren$$15$$) {
    for (var $i$$499$$ = 0;$i$$499$$ < $numChildren$$15$$;$i$$499$$++) {
      var $child$$54$$ = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes[$i$$499$$];
      0 == $i$$499$$ && ($child$$54$$.previousSibling = null);
      0 < $i$$499$$ && ($child$$54$$.previousSibling = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes[$i$$499$$ - 1]);
      $i$$499$$ < $numChildren$$15$$ - 1 && ($child$$54$$.nextSibling = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes[$i$$499$$ + 1]);
      $i$$499$$ == $numChildren$$15$$ - 1 && ($child$$54$$.nextSibling = null);
    }
    $JSCompiler_StaticMethods__setFamilyTree$self$$.firstChild = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes[0];
    $JSCompiler_StaticMethods__setFamilyTree$self$$.lastChild = $JSCompiler_StaticMethods__setFamilyTree$self$$.childNodes[$numChildren$$15$$ - 1];
  } else {
    $JSCompiler_StaticMethods__setFamilyTree$self$$.firstChild = null, $JSCompiler_StaticMethods__setFamilyTree$self$$.lastChild = null;
  }
}
function $DvtTextNode$$($text$$66$$) {
  this.nodeName = "#text";
  this.nodeValue = $text$$66$$;
}
dvt.$Obj$.$createSubclass$($DvtTextNode$$, dvt.$Obj$);
$DvtTextNode$$.prototype.toString = function $$DvtTextNode$$$$toString$() {
  return this.nodeValue;
};
$DvtTextNode$$.prototype.toString = $DvtTextNode$$.prototype.toString;
function $DvtDocument$$() {
  this.documentElement = {};
  this.$shapeContainerCount$ = this.$removeListenerCount$ = this.$addListenerCount$ = this.$removeChildCount$ = this.$appendChildCount$ = this.$getBBoxCount$ = this.$setAttrCount$ = this.$getAttrCount$ = 0;
  this.$bboxInfo$ = {};
}
var $DvtDocument$instanceCount$$, $DvtDocument$getBBoxCount$$, $DvtDocument$getAttrCount$$, $DvtDocument$setAttrCount$$, $DvtDocument$appendChildCount$$, $DvtDocument$removeChildCount$$, $DvtDocument$addListenerCount$$, $DvtDocument$removeListenerCount$$, $DvtDocument$shapeContainerCount$$, $DvtDocument$bboxInfo$$;
$goog$exportPath_$$("DvtDocument", $DvtDocument$$);
dvt.$Obj$.$createSubclass$($DvtDocument$$, dvt.$Obj$);
var $DvtDocument$setAttrMap$$ = {};
$DvtDocument$$.prototype.appendChild = function $$DvtDocument$$$$appendChild$() {
};
$DvtDocument$$.prototype.appendChild = $DvtDocument$$.prototype.appendChild;
$DvtDocument$$.prototype.createElement = function $$DvtDocument$$$$createElement$($name$$96$$) {
  var $elem$$12$$ = new $DvtElement$$($name$$96$$);
  "svg" == $name$$96$$ && (dvt.$ToolkitUtils$.$setAttrNullNS$($elem$$12$$, "xmlns", dvt.$ToolkitUtils$.$SVG_NS$), dvt.$ToolkitUtils$.$setAttrNullNS$($elem$$12$$, "xmlns:xlink", dvt.$ToolkitUtils$.$XLINK_NS$));
  return $elem$$12$$;
};
$DvtDocument$$.prototype.createElement = $DvtDocument$$.prototype.createElement;
$DvtDocument$$.prototype.createElementNS = function $$DvtDocument$$$$createElementNS$($namespace$$7$$, $name$$97$$) {
  return this.createElement($name$$97$$);
};
$DvtDocument$$.prototype.createElementNS = $DvtDocument$$.prototype.createElementNS;
$DvtDocument$$.prototype.createTextNode = function $$DvtDocument$$$$createTextNode$($text$$67$$) {
  return new $DvtTextNode$$($text$$67$$);
};
$DvtDocument$$.prototype.createTextNode = $DvtDocument$$.prototype.createTextNode;
$DvtDocument$$.prototype.elementFromPoint = function $$DvtDocument$$$$elementFromPoint$() {
  return null;
};
$DvtDocument$$.prototype.elementFromPoint = $DvtDocument$$.prototype.elementFromPoint;
$DvtDocument$$.prototype.getElementById = function $$DvtDocument$$$$getElementById$() {
  return null;
};
$DvtDocument$$.prototype.getElementById = $DvtDocument$$.prototype.getElementById;
$DvtDocument$$.prototype.querySelector = function $$DvtDocument$$$$querySelector$() {
  return null;
};
$DvtDocument$$.prototype.querySelector = $DvtDocument$$.prototype.querySelector;
$DvtDocument$$.prototype.$getPerformanceCounts$ = function $$DvtDocument$$$$$getPerformanceCounts$$() {
  var $ret$$58$$ = "", $keys$$2$$ = [];
  if (0 < this.$getBBoxCount$) {
    var $ret$$58$$ = $ret$$58$$ + ("\x3cbr\x3egetBBox: " + this.$getBBoxCount$), $key$$61$$;
    for ($key$$61$$ in this.$bboxInfo$) {
      $keys$$2$$.push($key$$61$$);
    }
    $keys$$2$$.sort();
    for (var $i$$500$$ = 0;$i$$500$$ < $keys$$2$$.length;$i$$500$$++) {
      $ret$$58$$ += "\x3cbr\x3e" + $keys$$2$$[$i$$500$$] + ": " + this.$bboxInfo$[$keys$$2$$[$i$$500$$]];
    }
  }
  $ret$$58$$ = $ret$$58$$ + "\x3cbr\x3e" + ("\x3cbr\x3eget/setAttributeNS: " + this.$getAttrCount$ + "/" + this.$setAttrCount$);
  $ret$$58$$ += "\x3cbr\x3eappend/removeChild: " + this.$appendChildCount$ + "/" + this.$removeChildCount$;
  $ret$$58$$ += "\x3cbr\x3eadd/removeEventListener: " + this.$addListenerCount$ + "/" + this.$removeListenerCount$;
  0 < this.$shapeContainerCount$ && ($ret$$58$$ += "\x3cbr\x3eshapeContainerCount: " + this.$shapeContainerCount$);
  $DvtDocument$instanceCount$$ = $DvtDocument$instanceCount$$ ? $DvtDocument$instanceCount$$ + 1 : 1;
  $DvtDocument$getBBoxCount$$ = $DvtDocument$getBBoxCount$$ ? $DvtDocument$getBBoxCount$$ + this.$getBBoxCount$ : this.$getBBoxCount$;
  $DvtDocument$getAttrCount$$ = $DvtDocument$getAttrCount$$ ? $DvtDocument$getAttrCount$$ + this.$getAttrCount$ : this.$getAttrCount$;
  $DvtDocument$setAttrCount$$ = $DvtDocument$setAttrCount$$ ? $DvtDocument$setAttrCount$$ + this.$setAttrCount$ : this.$setAttrCount$;
  $DvtDocument$appendChildCount$$ = $DvtDocument$appendChildCount$$ ? $DvtDocument$appendChildCount$$ + this.$appendChildCount$ : this.$appendChildCount$;
  $DvtDocument$removeChildCount$$ = $DvtDocument$removeChildCount$$ ? $DvtDocument$removeChildCount$$ + this.$removeChildCount$ : this.$removeChildCount$;
  $DvtDocument$addListenerCount$$ = $DvtDocument$addListenerCount$$ ? $DvtDocument$addListenerCount$$ + this.$addListenerCount$ : this.$addListenerCount$;
  $DvtDocument$removeListenerCount$$ = $DvtDocument$removeListenerCount$$ ? $DvtDocument$removeListenerCount$$ + this.$removeListenerCount$ : this.$removeListenerCount$;
  $DvtDocument$shapeContainerCount$$ = $DvtDocument$shapeContainerCount$$ ? $DvtDocument$shapeContainerCount$$ + this.$shapeContainerCount$ : this.$shapeContainerCount$;
  for ($key$$61$$ in this.$bboxInfo$) {
    $DvtDocument$bboxInfo$$ || ($DvtDocument$bboxInfo$$ = {}), $DvtDocument$bboxInfo$$[$key$$61$$] || ($DvtDocument$bboxInfo$$[$key$$61$$] = 0), $DvtDocument$bboxInfo$$[$key$$61$$] += this.$bboxInfo$[$key$$61$$];
  }
  return $ret$$58$$;
};
$DvtDocument$$.prototype.getPerformanceCounts = $DvtDocument$$.prototype.$getPerformanceCounts$;
$DvtDocument$$.prototype.$getTotalPerformanceCounts$ = function $$DvtDocument$$$$$getTotalPerformanceCounts$$() {
  var $ret$$59$$ = "\x3cbr\x3eInstances Tested: " + $DvtDocument$instanceCount$$, $ret$$59$$ = $ret$$59$$ + ("\x3cbr\x3e\x3cbr\x3egetBBox Total: " + $DvtDocument$getBBoxCount$$), $keys$$3$$ = [], $key$$62$$;
  for ($key$$62$$ in $DvtDocument$bboxInfo$$) {
    $keys$$3$$.push($key$$62$$);
  }
  $keys$$3$$.sort();
  for (var $i$$501$$ = 0;$i$$501$$ < $keys$$3$$.length;$i$$501$$++) {
    $ret$$59$$ += "\x3cbr\x3e" + $keys$$3$$[$i$$501$$] + ": " + $DvtDocument$bboxInfo$$[$keys$$3$$[$i$$501$$]];
  }
  $ret$$59$$ += "\x3cbr\x3e\x3cbr\x3eget/setAttributeNS: " + $DvtDocument$getAttrCount$$ + "/" + $DvtDocument$setAttrCount$$;
  $keys$$3$$ = [];
  for ($key$$62$$ in $DvtDocument$setAttrMap$$) {
    $keys$$3$$.push($key$$62$$);
  }
  $keys$$3$$.sort();
  for ($i$$501$$ = 0;$i$$501$$ < $keys$$3$$.length;$i$$501$$++) {
    $ret$$59$$ += "\x3cbr\x3e" + $keys$$3$$[$i$$501$$] + ": " + $DvtDocument$setAttrMap$$[$keys$$3$$[$i$$501$$]];
  }
  $ret$$59$$ += "\x3cbr\x3e\x3cbr\x3eappend/removeChild: " + $DvtDocument$appendChildCount$$ + "/" + $DvtDocument$removeChildCount$$;
  $ret$$59$$ += "\x3cbr\x3eadd/removeEventListener: " + $DvtDocument$addListenerCount$$ + "/" + $DvtDocument$removeListenerCount$$;
  0 < $DvtDocument$shapeContainerCount$$ && ($ret$$59$$ += "\x3cbr\x3eshapeContainerCount: " + $DvtDocument$shapeContainerCount$$);
  $DvtDocument$setAttrCount$$ = $DvtDocument$getAttrCount$$ = $DvtDocument$bboxInfo$$ = $DvtDocument$getBBoxCount$$ = $DvtDocument$instanceCount$$ = null;
  $DvtDocument$setAttrMap$$ = {};
  $DvtDocument$shapeContainerCount$$ = $DvtDocument$removeListenerCount$$ = $DvtDocument$addListenerCount$$ = $DvtDocument$removeChildCount$$ = $DvtDocument$appendChildCount$$ = null;
  return $ret$$59$$;
};
$DvtDocument$$.prototype.getTotalPerformanceCounts = $DvtDocument$$.prototype.$getTotalPerformanceCounts$;
var $DvtJsonParser$$ = {};
$goog$exportPath_$$("DvtJsonParser", $DvtJsonParser$$);
$DvtJsonParser$$.parse = function $$DvtJsonParser$$$parse$($mapKey_str$$13$$) {
  if (!$mapKey_str$$13$$) {
    return null;
  }
  $mapKey_str$$13$$ = dvt.$StringUtils$.trim($mapKey_str$$13$$);
  var $firstChar_mapPart_mapValue$$ = $mapKey_str$$13$$.charAt(0);
  if ("[" == $firstChar_mapPart_mapValue$$ || "{" == $firstChar_mapPart_mapValue$$) {
    for (var $colonIndex_numOpen$$ = 0, $numSingleQuotes$$ = 0, $numDoubleQuotes$$ = 0, $prevIndex$$4$$ = 1, $func$$24_parts$$3$$ = [], $arrayIndex_i$$502_mapIndex$$ = 1;$arrayIndex_i$$502_mapIndex$$ < $mapKey_str$$13$$.length - 1;$arrayIndex_i$$502_mapIndex$$++) {
      var $iChar$$ = $mapKey_str$$13$$.charAt($arrayIndex_i$$502_mapIndex$$);
      "[" == $iChar$$ || "{" == $iChar$$ ? $colonIndex_numOpen$$++ : "]" == $iChar$$ || "}" == $iChar$$ ? $colonIndex_numOpen$$-- : "'" == $iChar$$ && 0 == $numDoubleQuotes$$ % 2 ? $numSingleQuotes$$++ : '"' == $iChar$$ && 0 == $numSingleQuotes$$ % 2 && $numDoubleQuotes$$++;
      0 == $colonIndex_numOpen$$ && 0 == $numSingleQuotes$$ % 2 && 0 == $numDoubleQuotes$$ % 2 && "," == $iChar$$ && ($func$$24_parts$$3$$.push($mapKey_str$$13$$.substring($prevIndex$$4$$, $arrayIndex_i$$502_mapIndex$$)), $prevIndex$$4$$ = $arrayIndex_i$$502_mapIndex$$ + 1);
    }
    $prevIndex$$4$$ < $mapKey_str$$13$$.length - 1 && $func$$24_parts$$3$$.push($mapKey_str$$13$$.substring($prevIndex$$4$$, $mapKey_str$$13$$.length - 1));
    var $funcSplit$$1_ret$$60$$;
    if ("[" == $firstChar_mapPart_mapValue$$) {
      for ($funcSplit$$1_ret$$60$$ = [], $arrayIndex_i$$502_mapIndex$$ = 0;$arrayIndex_i$$502_mapIndex$$ < $func$$24_parts$$3$$.length;$arrayIndex_i$$502_mapIndex$$++) {
        $funcSplit$$1_ret$$60$$.push($DvtJsonParser$$.parse($func$$24_parts$$3$$[$arrayIndex_i$$502_mapIndex$$]));
      }
    } else {
      if ("{" == $firstChar_mapPart_mapValue$$) {
        for ($funcSplit$$1_ret$$60$$ = {}, $arrayIndex_i$$502_mapIndex$$ = 0;$arrayIndex_i$$502_mapIndex$$ < $func$$24_parts$$3$$.length;$arrayIndex_i$$502_mapIndex$$++) {
          $firstChar_mapPart_mapValue$$ = $func$$24_parts$$3$$[$arrayIndex_i$$502_mapIndex$$], $colonIndex_numOpen$$ = $firstChar_mapPart_mapValue$$.indexOf(":"), $mapKey_str$$13$$ = $firstChar_mapPart_mapValue$$.substring(1, $colonIndex_numOpen$$ - 1), $firstChar_mapPart_mapValue$$ = $DvtJsonParser$$.parse($firstChar_mapPart_mapValue$$.substring($colonIndex_numOpen$$ + 1, $firstChar_mapPart_mapValue$$.length)), $funcSplit$$1_ret$$60$$[$mapKey_str$$13$$] = $firstChar_mapPart_mapValue$$;
        }
      }
    }
    return $funcSplit$$1_ret$$60$$;
  }
  if ('"' == $firstChar_mapPart_mapValue$$) {
    return $mapKey_str$$13$$.substring(1, $mapKey_str$$13$$.length - 1);
  }
  if ("true" == $mapKey_str$$13$$) {
    return !0;
  }
  if ("false" == $mapKey_str$$13$$) {
    return !1;
  }
  if ("null" == $mapKey_str$$13$$) {
    return null;
  }
  if (dvt.$Agent$.$isEnvironmentTest$() && "eval(" == $mapKey_str$$13$$.substring(0, 5)) {
    $func$$24_parts$$3$$ = window;
    $funcSplit$$1_ret$$60$$ = $mapKey_str$$13$$.substring(5, $mapKey_str$$13$$.length - 3).split(".");
    for ($arrayIndex_i$$502_mapIndex$$ = 0;$arrayIndex_i$$502_mapIndex$$ < $funcSplit$$1_ret$$60$$.length;$arrayIndex_i$$502_mapIndex$$++) {
      $func$$24_parts$$3$$ = $func$$24_parts$$3$$[$funcSplit$$1_ret$$60$$[$arrayIndex_i$$502_mapIndex$$]];
    }
    return $func$$24_parts$$3$$();
  }
  return Number($mapKey_str$$13$$);
};
$DvtJsonParser$$.parse = $DvtJsonParser$$.parse;
function $DvtJavaDimensionUtils$$() {
}
dvt.$Obj$.$createSubclass$($DvtJavaDimensionUtils$$, dvt.$Obj$);
$DvtJavaDimensionUtils$$.$getDimensions$ = function $$DvtJavaDimensionUtils$$$$getDimensions$$($dims$$45_obj$$159$$) {
  $dims$$45_obj$$159$$ = $DvtJavaDimensionUtils$$.$_getDimensions$($dims$$45_obj$$159$$, !1);
  return {x:$dims$$45_obj$$159$$.x, y:$dims$$45_obj$$159$$.y, width:$dims$$45_obj$$159$$.$w$, height:$dims$$45_obj$$159$$.$h$};
};
$DvtJavaDimensionUtils$$.$getDimensionsWithStroke$ = function $$DvtJavaDimensionUtils$$$$getDimensionsWithStroke$$($dims$$46_obj$$160$$) {
  $dims$$46_obj$$160$$ = $DvtJavaDimensionUtils$$.$_getDimensions$($dims$$46_obj$$160$$, !0);
  return {x:$dims$$46_obj$$160$$.x, y:$dims$$46_obj$$160$$.y, width:$dims$$46_obj$$160$$.$w$, height:$dims$$46_obj$$160$$.$h$};
};
$DvtJavaDimensionUtils$$.$_getDimensions$ = function $$DvtJavaDimensionUtils$$$$_getDimensions$$($obj$$161$$, $bWithStroke$$1$$) {
  var $isContainer$$ = !1, $children$$8$$ = $obj$$161$$.$getNumChildren$ ? $obj$$161$$.$getNumChildren$() : 0, $selfDims$$;
  $selfDims$$ = $bWithStroke$$1$$ ? $DvtJavaDimensionUtils$$.$_getDimensionsSelfWithStroke$($obj$$161$$) : $DvtJavaDimensionUtils$$.$_getDimensionsSelf$($obj$$161$$);
  $selfDims$$ || ($selfDims$$ = new dvt.$Rectangle$, 0 < $children$$8$$ && ($selfDims$$.x = Number.MAX_VALUE, $selfDims$$.y = Number.MAX_VALUE), $isContainer$$ = !0);
  for (var $minX$$10$$, $minY$$12$$, $maxX$$8$$, $maxY$$10$$, $bChild$$ = !1, $i$$503$$ = $children$$8$$ - 1;0 <= $i$$503$$;$i$$503$$--) {
    var $child$$55$$ = $obj$$161$$.$getChildAt$($i$$503$$), $dims$$47$$;
    if ($dims$$47$$ = $bWithStroke$$1$$ ? $child$$55$$.$getDimensionsWithStroke$() : $child$$55$$.$getDimensions$()) {
      if (0 !== $dims$$47$$.$w$ && 0 !== $dims$$47$$.$h$) {
        $dims$$47$$ = $DvtJavaDimensionUtils$$.$_applyMatrix$($child$$55$$, $dims$$47$$);
      } else {
        if ($i$$503$$ < $children$$8$$ - 1) {
          continue;
        }
      }
      if (!$bChild$$ || $dims$$47$$.x < $minX$$10$$) {
        $minX$$10$$ = $dims$$47$$.x;
      }
      if (!$bChild$$ || $dims$$47$$.y < $minY$$12$$) {
        $minY$$12$$ = $dims$$47$$.y;
      }
      if (!$bChild$$ || $dims$$47$$.x + $dims$$47$$.$w$ > $maxX$$8$$) {
        $maxX$$8$$ = $dims$$47$$.x + $dims$$47$$.$w$;
      }
      if (!$bChild$$ || $dims$$47$$.y + $dims$$47$$.$h$ > $maxY$$10$$) {
        $maxY$$10$$ = $dims$$47$$.y + $dims$$47$$.$h$;
      }
      $bChild$$ = !0;
    }
  }
  $bChild$$ && ($isContainer$$ || ($minX$$10$$ = Math.min($minX$$10$$, $selfDims$$.x), $minY$$12$$ = Math.min($minY$$12$$, $selfDims$$.y), $maxX$$8$$ = Math.max($maxX$$8$$, $selfDims$$.x + $selfDims$$.$w$), $maxY$$10$$ = Math.max($maxY$$10$$, $selfDims$$.y + $selfDims$$.$h$)), $selfDims$$.x = $minX$$10$$, $selfDims$$.y = $minY$$12$$, $selfDims$$.$w$ = $maxX$$8$$ - $minX$$10$$, $selfDims$$.$h$ = $maxY$$10$$ - $minY$$12$$);
  return $selfDims$$;
};
$DvtJavaDimensionUtils$$.$_applyMatrix$ = function $$DvtJavaDimensionUtils$$$$_applyMatrix$$($obj$$162$$, $selfDims$$1$$) {
  var $mat$$21_xmin$$ = $obj$$162$$.$getMatrix$();
  if ($mat$$21_xmin$$ && !$mat$$21_xmin$$.$isIdentity$()) {
    var $tl$$1_ymax$$, $tr$$1$$, $bl$$1$$, $br$$2$$;
    $tl$$1_ymax$$ = $mat$$21_xmin$$.$transformPoint$(new dvt.$Point$($selfDims$$1$$.x, $selfDims$$1$$.y));
    $tr$$1$$ = $mat$$21_xmin$$.$transformPoint$(new dvt.$Point$($selfDims$$1$$.x + $selfDims$$1$$.$w$, $selfDims$$1$$.y));
    $bl$$1$$ = $mat$$21_xmin$$.$transformPoint$(new dvt.$Point$($selfDims$$1$$.x, $selfDims$$1$$.y + $selfDims$$1$$.$h$));
    $br$$2$$ = $mat$$21_xmin$$.$transformPoint$(new dvt.$Point$($selfDims$$1$$.x + $selfDims$$1$$.$w$, $selfDims$$1$$.y + $selfDims$$1$$.$h$));
    var $mat$$21_xmin$$ = Math.min(Math.min($tl$$1_ymax$$.x, $tr$$1$$.x), Math.min($bl$$1$$.x, $br$$2$$.x)), $xmax$$ = Math.max(Math.max($tl$$1_ymax$$.x, $tr$$1$$.x), Math.max($bl$$1$$.x, $br$$2$$.x)), $ymin$$ = Math.min(Math.min($tl$$1_ymax$$.y, $tr$$1$$.y), Math.min($bl$$1$$.y, $br$$2$$.y));
    $tl$$1_ymax$$ = Math.max(Math.max($tl$$1_ymax$$.y, $tr$$1$$.y), Math.max($bl$$1$$.y, $br$$2$$.y));
    $selfDims$$1$$.x = $mat$$21_xmin$$;
    $selfDims$$1$$.y = $ymin$$;
    $selfDims$$1$$.$w$ = $xmax$$ - $mat$$21_xmin$$;
    $selfDims$$1$$.$h$ = $tl$$1_ymax$$ - $ymin$$;
  }
  return $selfDims$$1$$;
};
$DvtJavaDimensionUtils$$.$_getDimensionsSelf$ = function $$DvtJavaDimensionUtils$$$$_getDimensionsSelf$$($obj$$163$$) {
  var $map$$3_r$$33_selfDims$$2$$;
  if ($obj$$163$$ instanceof dvt.$Line$) {
    var $rx$$18_w$$34$$ = Math.abs($obj$$163$$.$getX1$() - $obj$$163$$.$getX2$());
    $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$(Math.min($obj$$163$$.$getX1$(), $obj$$163$$.$getX2$()), Math.min($obj$$163$$.$getY1$(), $obj$$163$$.$getY2$()), $rx$$18_w$$34$$, Math.abs($obj$$163$$.$getY1$() - $obj$$163$$.$getY2$()));
  } else {
    if ($obj$$163$$ instanceof dvt.Rect || $obj$$163$$ instanceof dvt.Image) {
      $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$($obj$$163$$.$getX$(), $obj$$163$$.$getY$(), $obj$$163$$.getWidth(), $obj$$163$$.getHeight());
    } else {
      if ($obj$$163$$ instanceof dvt.$Circle$) {
        $map$$3_r$$33_selfDims$$2$$ = $obj$$163$$.$getRadius$(), $rx$$18_w$$34$$ = $map$$3_r$$33_selfDims$$2$$ + $map$$3_r$$33_selfDims$$2$$, $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$($obj$$163$$.$getCx$() - $map$$3_r$$33_selfDims$$2$$, $obj$$163$$.$getCy$() - $map$$3_r$$33_selfDims$$2$$, $rx$$18_w$$34$$, $rx$$18_w$$34$$);
      } else {
        if ($obj$$163$$ instanceof dvt.$Oval$) {
          $map$$3_r$$33_selfDims$$2$$ = $obj$$163$$.$getRadius$();
          var $rx$$18_w$$34$$ = $obj$$163$$.$getRx$(), $ry$$14$$ = $obj$$163$$.$getRy$(), $rx$$18_w$$34$$ = null === $rx$$18_w$$34$$ || isNaN($rx$$18_w$$34$$) ? $map$$3_r$$33_selfDims$$2$$ : $rx$$18_w$$34$$, $ry$$14$$ = null === $ry$$14$$ || isNaN($ry$$14$$) ? $map$$3_r$$33_selfDims$$2$$ : $ry$$14$$;
          $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$($obj$$163$$.$getCx$() - $rx$$18_w$$34$$, $obj$$163$$.$getCy$() - $ry$$14$$, 2 * $rx$$18_w$$34$$, 2 * $ry$$14$$);
        } else {
          $obj$$163$$ instanceof dvt.$SimpleMarker$ || $obj$$163$$ instanceof dvt.$ImageMarker$ ? $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$($obj$$163$$.$getCx$() - $obj$$163$$.getWidth() / 2, $obj$$163$$.$getCy$() - $obj$$163$$.getHeight() / 2, $obj$$163$$.getWidth(), $obj$$163$$.getHeight()) : $obj$$163$$ instanceof dvt.$OutputText$ || $obj$$163$$ instanceof dvt.$BackgroundOutputText$ ? $map$$3_r$$33_selfDims$$2$$ = $DvtJavaDimensionUtils$$.$_getTextDimensions$($obj$$163$$, $obj$$163$$.$getTextString$()) : 
          $obj$$163$$ instanceof dvt.$Path$ ? $map$$3_r$$33_selfDims$$2$$ = dvt.$PathUtils$.$getDimensions$($obj$$163$$.$getCommands$()) : $obj$$163$$ instanceof dvt.$Polyline$ || $obj$$163$$ instanceof dvt.$Polygon$ ? $map$$3_r$$33_selfDims$$2$$ = dvt.$PolygonUtils$.$getDimensions$($obj$$163$$.$getPoints$()) : $obj$$163$$ instanceof dvt.$Arc$ ? ($rx$$18_w$$34$$ = $obj$$163$$.$getRx$(), $ry$$14$$ = $obj$$163$$.$getRy$(), $map$$3_r$$33_selfDims$$2$$ = new dvt.$Rectangle$($obj$$163$$.$getCx$() - $rx$$18_w$$34$$, 
          $obj$$163$$.$getCy$() - $ry$$14$$, 2 * $rx$$18_w$$34$$, 2 * $ry$$14$$)) : "dvt.TextFormatted" == $obj$$163$$.getTypeName() ? ($map$$3_r$$33_selfDims$$2$$ = $DvtJavaDimensionUtils$$.$_getCSSStyleMap$($obj$$163$$), $map$$3_r$$33_selfDims$$2$$ = $DvtJavaDimensionUtils$$.$_getTextFormattedDimensions$($obj$$163$$, $obj$$163$$.$getElem$(), $map$$3_r$$33_selfDims$$2$$)) : "dvt.Text" == $obj$$163$$.getTypeName() && ($map$$3_r$$33_selfDims$$2$$ = $DvtJavaDimensionUtils$$.$_getTextDimensions$($obj$$163$$, 
          $obj$$163$$.$impl_getText$()));
        }
      }
    }
  }
  return $map$$3_r$$33_selfDims$$2$$;
};
$DvtJavaDimensionUtils$$.$_getTextFormattedDimensions$ = function $$DvtJavaDimensionUtils$$$$_getTextFormattedDimensions$$($obj$$164$$, $elem$$13$$, $styleMap$$47$$) {
  for (var $dims$$48$$ = new dvt.$Rectangle$, $i$$504$$ = 0;$i$$504$$ < $elem$$13$$.childNodes.length;$i$$504$$++) {
    var $childElem_textDims$$4$$ = $elem$$13$$.childNodes[$i$$504$$];
    if ("#text" == $childElem_textDims$$4$$.nodeName && $childElem_textDims$$4$$.nodeValue) {
      $dims$$48$$ = $dims$$48$$.$getUnion$($DvtJavaDimensionUtils$$.$_getJavaTextDim$($obj$$164$$, $childElem_textDims$$4$$.nodeValue, $styleMap$$47$$));
    } else {
      if ("tspan" == $childElem_textDims$$4$$.nodeName) {
        var $dx$$14_tspanElem$$ = $childElem_textDims$$4$$, $dy$$16_map$$4$$ = new Hashtable($styleMap$$47$$), $val$$26$$ = dvt.$ToolkitUtils$.$getAttrNullNS$($dx$$14_tspanElem$$, "font-family");
        $val$$26$$ && $dy$$16_map$$4$$.put(TextAttribute.FAMILY, $val$$26$$.replace(/"/g, "'"));
        $val$$26$$ = dvt.$ToolkitUtils$.$getAttrNullNS$($dx$$14_tspanElem$$, "font-style");
        "italic" != $val$$26$$ && "oblique" != $val$$26$$ || $dy$$16_map$$4$$.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
        $val$$26$$ = dvt.$ToolkitUtils$.$getAttrNullNS$($dx$$14_tspanElem$$, "font-weight");
        "regular" == $val$$26$$ ? $dy$$16_map$$4$$.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_REGULAR) : "bold" == $val$$26$$ && $dy$$16_map$$4$$.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
        $childElem_textDims$$4$$ = $DvtJavaDimensionUtils$$.$_getTextFormattedDimensions$($obj$$164$$, $childElem_textDims$$4$$, $dy$$16_map$$4$$);
        if ($dy$$16_map$$4$$ = dvt.$ToolkitUtils$.$getAttrNullNS$($dx$$14_tspanElem$$, "dy")) {
          $childElem_textDims$$4$$.y += parseFloat($dy$$16_map$$4$$.substr(0, $dy$$16_map$$4$$.indexOf("em"))) * $childElem_textDims$$4$$.$h$;
        }
        if ($dx$$14_tspanElem$$ = dvt.$ToolkitUtils$.$getAttrNullNS$($dx$$14_tspanElem$$, "dx")) {
          $childElem_textDims$$4$$.x += parseFloat($dx$$14_tspanElem$$.substr(0, $dx$$14_tspanElem$$.indexOf("em"))) * $childElem_textDims$$4$$.$h$;
        }
        $dims$$48$$ = $dims$$48$$.$getUnion$($childElem_textDims$$4$$);
      }
    }
  }
  return $dims$$48$$;
};
$DvtJavaDimensionUtils$$.$_getTextDimensions$ = function $$DvtJavaDimensionUtils$$$$_getTextDimensions$$($obj$$165$$, $textStr$$7$$) {
  var $map$$5$$ = $DvtJavaDimensionUtils$$.$_getCSSStyleMap$($obj$$165$$);
  return $DvtJavaDimensionUtils$$.$_getJavaTextDim$($obj$$165$$, $textStr$$7$$, $map$$5$$);
};
$DvtJavaDimensionUtils$$.$_getJavaTextDim$ = function $$DvtJavaDimensionUtils$$$$_getJavaTextDim$$($baseline$$10_obj$$166$$, $rect$$20_textDims$$5_textStr$$8$$, $font$$6_metrics$$1_styleMap$$48$$) {
  $font$$6_metrics$$1_styleMap$$48$$ = new Font($font$$6_metrics$$1_styleMap$$48$$);
  var $anchor$$7_g$$9$$ = (new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB)).createGraphics();
  $font$$6_metrics$$1_styleMap$$48$$ = $anchor$$7_g$$9$$.getFontMetrics($font$$6_metrics$$1_styleMap$$48$$);
  $rect$$20_textDims$$5_textStr$$8$$ = $font$$6_metrics$$1_styleMap$$48$$.getStringBounds($rect$$20_textDims$$5_textStr$$8$$, $anchor$$7_g$$9$$);
  $rect$$20_textDims$$5_textStr$$8$$ = new dvt.$Rectangle$($baseline$$10_obj$$166$$.$getX$(), $baseline$$10_obj$$166$$.$getY$(), $rect$$20_textDims$$5_textStr$$8$$.getWidth(), $rect$$20_textDims$$5_textStr$$8$$.getHeight());
  $anchor$$7_g$$9$$ = $baseline$$10_obj$$166$$.$getHorizAlignment$();
  $baseline$$10_obj$$166$$ = $baseline$$10_obj$$166$$.$getVertAlignment$();
  $anchor$$7_g$$9$$ === dvt.$OutputText$.$H_ALIGN_RIGHT$ ? $rect$$20_textDims$$5_textStr$$8$$.x -= $rect$$20_textDims$$5_textStr$$8$$.$w$ : $anchor$$7_g$$9$$ === dvt.$OutputText$.$H_ALIGN_CENTER$ && ($rect$$20_textDims$$5_textStr$$8$$.x -= $rect$$20_textDims$$5_textStr$$8$$.$w$ / 2);
  $baseline$$10_obj$$166$$ === dvt.$OutputText$.$V_ALIGN_AUTO$ || dvt.$Agent$.$isPlatformIE$() ? $rect$$20_textDims$$5_textStr$$8$$.y = $rect$$20_textDims$$5_textStr$$8$$.y - $rect$$20_textDims$$5_textStr$$8$$.$h$ + $font$$6_metrics$$1_styleMap$$48$$.getDescent() : $baseline$$10_obj$$166$$ === dvt.$OutputText$.$V_ALIGN_BOTTOM$ ? $rect$$20_textDims$$5_textStr$$8$$.y -= $rect$$20_textDims$$5_textStr$$8$$.$h$ : $baseline$$10_obj$$166$$ === dvt.$OutputText$.$V_ALIGN_MIDDLE$ && ($rect$$20_textDims$$5_textStr$$8$$.y -= 
  $rect$$20_textDims$$5_textStr$$8$$.$h$ / 2);
  return $rect$$20_textDims$$5_textStr$$8$$;
};
$DvtJavaDimensionUtils$$.$_getCSSStyleMap$ = function $$DvtJavaDimensionUtils$$$$_getCSSStyleMap$$($obj$$167_style$$90$$) {
  var $map$$6$$ = new Hashtable;
  $obj$$167_style$$90$$ instanceof dvt.$OutputText$ || $obj$$167_style$$90$$ instanceof dvt.$BackgroundOutputText$ ? ($map$$6$$.put(TextAttribute.FAMILY, $obj$$167_style$$90$$.$getCtx$().$getDefaultFontFamily$()), $map$$6$$.put(TextAttribute.SIZE, CSSStyleUtils.parseFontSize($obj$$167_style$$90$$.$getCtx$().$getDefaultFontSize$()))) : $map$$6$$.put(TextAttribute.FAMILY, "tahoma, sans-serif");
  var $angleRad_val$$27$$ = $obj$$167_style$$90$$.$getRotation$();
  $angleRad_val$$27$$ && $map$$6$$.put(TextAttribute.TRANSFORM, AffineTransform.getRotateInstance($angleRad_val$$27$$));
  if ($obj$$167_style$$90$$ = $obj$$167_style$$90$$.$getCSSStyle$()) {
    ($angleRad_val$$27$$ = $obj$$167_style$$90$$.$getStyle$("font-family")) && $map$$6$$.put(TextAttribute.FAMILY, $angleRad_val$$27$$.replace(/"/g, "'"));
    if ($angleRad_val$$27$$ = $obj$$167_style$$90$$.$getStyle$("font-size")) {
      var $numVal$$1$$ = parseFloat($angleRad_val$$27$$);
      $map$$6$$.put(TextAttribute.SIZE, isNaN($numVal$$1$$) ? CSSStyleUtils.parseFontSize($angleRad_val$$27$$) : $numVal$$1$$);
    }
    (($angleRad_val$$27$$ = $obj$$167_style$$90$$.$getStyle$("font-style")) && "italic" == $angleRad_val$$27$$ || "oblique" == $angleRad_val$$27$$) && $map$$6$$.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE);
    ($angleRad_val$$27$$ = $obj$$167_style$$90$$.$getStyle$("font-weight")) && ("regular" == $angleRad_val$$27$$ ? $map$$6$$.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_REGULAR) : "bold" == $angleRad_val$$27$$ && $map$$6$$.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD));
    ($angleRad_val$$27$$ = $obj$$167_style$$90$$.$getStyle$("text-decoration")) && "underline" == $angleRad_val$$27$$ && $map$$6$$.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
  }
  return $map$$6$$;
};
$DvtJavaDimensionUtils$$.$_getDimensionsSelfWithStroke$ = function $$DvtJavaDimensionUtils$$$$_getDimensionsSelfWithStroke$$($obj$$168_stroke$$78_sw$$7$$) {
  var $selfDims$$3$$ = $DvtJavaDimensionUtils$$.$_getDimensionsSelf$($obj$$168_stroke$$78_sw$$7$$);
  if ($selfDims$$3$$ && $obj$$168_stroke$$78_sw$$7$$ && $obj$$168_stroke$$78_sw$$7$$.$getStroke$ && ($obj$$168_stroke$$78_sw$$7$$ = $obj$$168_stroke$$78_sw$$7$$.$getStroke$()) && ($obj$$168_stroke$$78_sw$$7$$ = $obj$$168_stroke$$78_sw$$7$$.getWidth())) {
    var $halfSw$$ = .5 * $obj$$168_stroke$$78_sw$$7$$;
    $selfDims$$3$$.x -= $halfSw$$;
    $selfDims$$3$$.y -= $halfSw$$;
    $selfDims$$3$$.$w$ += $obj$$168_stroke$$78_sw$$7$$;
    $selfDims$$3$$.$h$ += $obj$$168_stroke$$78_sw$$7$$;
  }
  return $selfDims$$3$$;
};
dvt.$JavaConverter$ = {};
$goog$exportPath_$$("dvt.JavaConverter", dvt.$JavaConverter$);
dvt.$Obj$.$createSubclass$(dvt.$JavaConverter$, dvt.$Obj$);
dvt.$JavaConverter$.$jetConverter$ = function $dvt$$JavaConverter$$$jetConverter$$() {
  return {format:dvt.$JavaConverter$.$_format$};
};
dvt.$JavaConverter$.jetConverter = dvt.$JavaConverter$.$jetConverter$;
dvt.$JavaConverter$.$mafConverter$ = function $dvt$$JavaConverter$$$mafConverter$$() {
  return {getAsString:dvt.$JavaConverter$.$_format$};
};
dvt.$JavaConverter$.mafConverter = dvt.$JavaConverter$.$mafConverter$;
dvt.$JavaConverter$.$jetTimeLabel1Converter$ = function $dvt$$JavaConverter$$$jetTimeLabel1Converter$$() {
  return {format:dvt.$JavaConverter$.$_formatLevel1Date$};
};
dvt.$JavaConverter$.jetTimeLabel1Converter = dvt.$JavaConverter$.$jetTimeLabel1Converter$;
dvt.$JavaConverter$.$jetTimeLabel2Converter$ = function $dvt$$JavaConverter$$$jetTimeLabel2Converter$$() {
  return {format:dvt.$JavaConverter$.$_formatLevel2Date$};
};
dvt.$JavaConverter$.jetTimeLabel2Converter = dvt.$JavaConverter$.$jetTimeLabel2Converter$;
dvt.$JavaConverter$.$_format$ = function $dvt$$JavaConverter$$$_format$$($value$$190$$) {
  return "*" + $value$$190$$ + "*";
};
dvt.$JavaConverter$.$_formatLevel1Date$ = function $dvt$$JavaConverter$$$_formatLevel1Date$$($value$$191$$) {
  return $value$$191$$ ? "*" + ($value$$191$$.getMonth() + 1).toString() + "*" : null;
};
dvt.$JavaConverter$.$_formatLevel2Date$ = function $dvt$$JavaConverter$$$_formatLevel2Date$$($value$$192$$) {
  return $value$$192$$ ? "*" + $value$$192$$.toString().split(" ")[3] + "*" : null;
};
function $DvtJavaXmlNode$$($node$$239$$) {
  this.Init($node$$239$$);
}
dvt.$Obj$.$createSubclass$($DvtJavaXmlNode$$, dvt.$XmlNode$);
$JSCompiler_prototypeAlias$$ = $DvtJavaXmlNode$$.prototype;
$JSCompiler_prototypeAlias$$.Init = function $$JSCompiler_prototypeAlias$$$Init$($node$$240$$) {
  this.$_node$ = $node$$240$$;
};
$JSCompiler_prototypeAlias$$.$CreateNode$ = function $$JSCompiler_prototypeAlias$$$$CreateNode$$($node$$241$$) {
  return new $DvtJavaXmlNode$$($node$$241$$);
};
$JSCompiler_prototypeAlias$$.$getAttr$ = function $$JSCompiler_prototypeAlias$$$$getAttr$$($attr$$5_nodeAttr$$) {
  if (!this.$_node$.hasAttribute($attr$$5_nodeAttr$$)) {
    return null;
  }
  $attr$$5_nodeAttr$$ = this.$_node$.getAttribute($attr$$5_nodeAttr$$);
  return (new String($attr$$5_nodeAttr$$)).toString();
};
$JSCompiler_prototypeAlias$$.getFirstChild = function $$JSCompiler_prototypeAlias$$$getFirstChild$() {
  var $child$$56$$ = this.$_node$.getFirstChild();
  return $child$$56$$ ? this.$CreateNode$($child$$56$$) : null;
};
$JSCompiler_prototypeAlias$$.$getChildNodes$ = function $$JSCompiler_prototypeAlias$$$$getChildNodes$$() {
  for (var $ret$$61$$ = [], $child$$57$$ = this.$_node$.getFirstChild();null != $child$$57$$;) {
    $child$$57$$.getNodeType() == Node.ELEMENT_NODE && $ret$$61$$.push(this.$CreateNode$($child$$57$$)), $child$$57$$ = $child$$57$$.getNextSibling();
  }
  return $ret$$61$$;
};
$JSCompiler_prototypeAlias$$.getName = function $$JSCompiler_prototypeAlias$$$getName$() {
  return (new String(this.$_node$.getNodeName())).toString();
};
$JSCompiler_prototypeAlias$$.getAttributes = function $$JSCompiler_prototypeAlias$$$getAttributes$() {
  for (var $array$$17$$ = [], $attrList$$ = this.$_node$.getAttributes(), $numAttrs$$ = $attrList$$.length, $i$$505$$ = 0;$i$$505$$ < $numAttrs$$;$i$$505$$++) {
    var $attr$$6$$ = $attrList$$.item($i$$505$$);
    $array$$17$$.push({name:(new String($attr$$6$$.getNodeName())).toString(), value:(new String($attr$$6$$.getNodeValue())).toString()});
  }
  return $array$$17$$;
};
$JSCompiler_prototypeAlias$$.$getAllChildNodes$ = function $$JSCompiler_prototypeAlias$$$$getAllChildNodes$$() {
  for (var $ret$$62$$ = [], $child$$58$$ = this.$_node$.getFirstChild();null != $child$$58$$;) {
    $ret$$62$$.push(this.$CreateNode$($child$$58$$)), $child$$58$$ = $child$$58$$.getNextSibling();
  }
  return $ret$$62$$;
};
$JSCompiler_prototypeAlias$$.getNodeValue = function $$JSCompiler_prototypeAlias$$$getNodeValue$() {
  return (new String(this.$_node$.getNodeValue())).toString();
};
$JSCompiler_prototypeAlias$$.getTextContent = function $$JSCompiler_prototypeAlias$$$getTextContent$() {
  return (new String(this.$_node$.getTextContent())).toString();
};
$JSCompiler_prototypeAlias$$.getElementsByTagName = function $$JSCompiler_prototypeAlias$$$getElementsByTagName$($name$$98_nodes$$9$$) {
  var $ret$$63$$ = [];
  if ($name$$98_nodes$$9$$ = this.$_node$.getElementsByTagName($name$$98_nodes$$9$$)) {
    for (var $i$$506$$ = 0;$i$$506$$ < $name$$98_nodes$$9$$.length;$i$$506$$++) {
      $name$$98_nodes$$9$$.item && $ret$$63$$.push(this.$CreateNode$($name$$98_nodes$$9$$.item($i$$506$$)));
    }
  }
  return $ret$$63$$;
};
function $DvtJavaXmlParser$$() {
  var $dbf$$ = DocumentBuilderFactory.newInstance();
  $dbf$$.setIgnoringElementContentWhitespace(!0);
  $dbf$$.setIgnoringComments(!0);
  this.$_parser$ = $dbf$$.newDocumentBuilder();
}
dvt.$Obj$.$createSubclass$($DvtJavaXmlParser$$, dvt.$Obj$);
$DvtJavaXmlParser$$.prototype.parse = function $$DvtJavaXmlParser$$$$parse$($root$$8_xml_xmlString$$2$$) {
  $root$$8_xml_xmlString$$2$$ = java.lang.String.valueOf($root$$8_xml_xmlString$$2$$);
  $root$$8_xml_xmlString$$2$$ = this.$_parser$.parse(new ByteArrayInputStream($root$$8_xml_xmlString$$2$$.getBytes())).getDocumentElement();
  return new $DvtJavaXmlNode$$($root$$8_xml_xmlString$$2$$);
};
function $DvtDOMNode$$($node$$242$$) {
  this.Init($node$$242$$);
  this.childNodes = this.$getChildNodes$();
  this.nodeName = this.getName();
  this.textContent = this.getTextContent();
}
$goog$exportPath_$$("DvtDOMNode", $DvtDOMNode$$);
dvt.$Obj$.$createSubclass$($DvtDOMNode$$, $DvtJavaXmlNode$$);
$DvtDOMNode$$.prototype.$CreateNode$ = function $$DvtDOMNode$$$$$CreateNode$$($node$$243$$) {
  return new $DvtDOMNode$$($node$$243$$);
};
$DvtDOMNode$$.prototype.getAttribute = function $$DvtDOMNode$$$$getAttribute$($attr$$7$$) {
  return this.$getAttr$($attr$$7$$);
};
$DvtDOMNode$$.prototype.getAttribute = $DvtDOMNode$$.prototype.getAttribute;
$DvtDOMNode$$.prototype.hasChildNodes = function $$DvtDOMNode$$$$hasChildNodes$() {
  return 0 < this.$getChildNodes$().length;
};
$DvtDOMNode$$.prototype.hasChildNodes = $DvtDOMNode$$.prototype.hasChildNodes;
function $DvtDOMParser$$() {
  var $dbf$$1$$ = DocumentBuilderFactory.newInstance();
  $dbf$$1$$.setIgnoringElementContentWhitespace(!0);
  $dbf$$1$$.setIgnoringComments(!0);
  this.$_parser$ = $dbf$$1$$.newDocumentBuilder();
}
$goog$exportPath_$$("DvtDOMParser", $DvtDOMParser$$);
dvt.$Obj$.$createSubclass$($DvtDOMParser$$, dvt.$Obj$);
$DvtDOMParser$$.prototype.parseFromString = function $$DvtDOMParser$$$$parseFromString$($root$$9_xml$$1_xmlString$$3$$) {
  $root$$9_xml$$1_xmlString$$3$$ = java.lang.String.valueOf($root$$9_xml$$1_xmlString$$3$$);
  $root$$9_xml$$1_xmlString$$3$$ = this.$_parser$.parse(new ByteArrayInputStream($root$$9_xml$$1_xmlString$$3$$.getBytes())).getDocumentElement();
  return new $DvtDOMNode$$($root$$9_xml$$1_xmlString$$3$$);
};
$DvtDOMParser$$.prototype.parseFromString = $DvtDOMParser$$.prototype.parseFromString;
dvt.$JavaImageLoader$ = {};
$goog$exportPath_$$("dvt.JavaImageLoader", dvt.$JavaImageLoader$);
dvt.$Obj$.$createSubclass$(dvt.$JavaImageLoader$, dvt.$Obj$);
dvt.$JavaImageLoader$.$_cache$ = {};
dvt.$JavaImageLoader$.$addBubbleEventListener$ = function $dvt$$JavaImageLoader$$$addBubbleEventListener$$() {
  return !1;
};
dvt.$JavaImageLoader$.$loadImage$ = function $dvt$$JavaImageLoader$$$loadImage$$($src$$7$$, $onComplete$$) {
  var $entry$$14$$ = dvt.$JavaImageLoader$.getImageInfo($src$$7$$);
  return $entry$$14$$ ? ($onComplete$$ && $onComplete$$($entry$$14$$), $entry$$14$$) : null;
};
dvt.$JavaImageLoader$.getImageInfo = function $dvt$$JavaImageLoader$$getImageInfo$($src$$8$$) {
  if (!dvt.$JavaImageLoader$.$_cache$[$src$$8$$]) {
    var $dims$$49_imageInfo$$1_javaImageInfo$$ = dvt.$JavaImageLoader$.$_loadDataUri$($src$$8$$);
    if ($dims$$49_imageInfo$$1_javaImageInfo$$) {
      return dvt.$JavaImageLoader$.$_cache$[$src$$8$$] = $dims$$49_imageInfo$$1_javaImageInfo$$;
    }
    var $contextPath_fc$$3_markerUrl_width$$93$$;
    $contextPath_fc$$3_markerUrl_width$$93$$ = FacesContext.getCurrentInstance();
    if (null == $contextPath_fc$$3_markerUrl_width$$93$$) {
      $contextPath_fc$$3_markerUrl_width$$93$$ = DVTRendererUtils.getResourceImageURL($src$$8$$, dvt.$JavaImageLoader$.$_resourceClass$);
    } else {
      var $strUrl_uri$$11$$ = "/" != $src$$8$$.charAt(0) ? "/" + $src$$8$$ : $src$$8$$;
      $contextPath_fc$$3_markerUrl_width$$93$$ = $contextPath_fc$$3_markerUrl_width$$93$$.getExternalContext().getRequestContextPath();
      0 == $strUrl_uri$$11$$.search($contextPath_fc$$3_markerUrl_width$$93$$) && ($strUrl_uri$$11$$ = $strUrl_uri$$11$$.replace($contextPath_fc$$3_markerUrl_width$$93$$, ""));
      $contextPath_fc$$3_markerUrl_width$$93$$ = DVTRendererUtils.getImageURL($strUrl_uri$$11$$);
    }
    if ($contextPath_fc$$3_markerUrl_width$$93$$) {
      var $strUrl_uri$$11$$ = $contextPath_fc$$3_markerUrl_width$$93$$.toString(), $height$$80$$;
      ($dims$$49_imageInfo$$1_javaImageInfo$$ = DVTRendererUtils.getImageInfo($contextPath_fc$$3_markerUrl_width$$93$$)) ? ($strUrl_uri$$11$$ = $dims$$49_imageInfo$$1_javaImageInfo$$.uri, $contextPath_fc$$3_markerUrl_width$$93$$ = $dims$$49_imageInfo$$1_javaImageInfo$$.width, $height$$80$$ = $dims$$49_imageInfo$$1_javaImageInfo$$.height) : ($dims$$49_imageInfo$$1_javaImageInfo$$ = DVTSVGLoaderUtils.getSVGDimensions($contextPath_fc$$3_markerUrl_width$$93$$), $contextPath_fc$$3_markerUrl_width$$93$$ = 
      $dims$$49_imageInfo$$1_javaImageInfo$$.getWidth(), $height$$80$$ = $dims$$49_imageInfo$$1_javaImageInfo$$.getHeight());
      $dims$$49_imageInfo$$1_javaImageInfo$$ = {};
      $dims$$49_imageInfo$$1_javaImageInfo$$.uri = $strUrl_uri$$11$$;
      $dims$$49_imageInfo$$1_javaImageInfo$$.width = $contextPath_fc$$3_markerUrl_width$$93$$;
      $dims$$49_imageInfo$$1_javaImageInfo$$.height = $height$$80$$;
    } else {
      $dims$$49_imageInfo$$1_javaImageInfo$$ = {}, $dims$$49_imageInfo$$1_javaImageInfo$$.uri = $src$$8$$, $dims$$49_imageInfo$$1_javaImageInfo$$.width = 1, $dims$$49_imageInfo$$1_javaImageInfo$$.height = 1;
    }
    dvt.$JavaImageLoader$.$_cache$[$src$$8$$] = $dims$$49_imageInfo$$1_javaImageInfo$$;
  }
  return dvt.$JavaImageLoader$.$_cache$[$src$$8$$];
};
dvt.$JavaImageLoader$.$_loadDataUri$ = function $dvt$$JavaImageLoader$$$_loadDataUri$$($dims$$50_uri$$12$$) {
  if ($dims$$50_uri$$12$$ && 0 == $dims$$50_uri$$12$$.indexOf("data:image/png;base64,")) {
    var $imageInfo$$2$$ = {};
    $imageInfo$$2$$.uri = $dims$$50_uri$$12$$;
    if ($dims$$50_uri$$12$$ = ImageRendererUtils.loadImageFromDataURI($dims$$50_uri$$12$$)) {
      $imageInfo$$2$$.width = $dims$$50_uri$$12$$.getWidth(), $imageInfo$$2$$.height = $dims$$50_uri$$12$$.getHeight();
    }
    return $imageInfo$$2$$;
  }
  return null;
};
dvt.$JavaImageLoader$.$setResourceClass$ = function $dvt$$JavaImageLoader$$$setResourceClass$$($resourceClass$$) {
  dvt.$JavaImageLoader$.$_resourceClass$ = $resourceClass$$;
};
dvt.$JavaImageLoader$.setResourceClass = dvt.$JavaImageLoader$.$setResourceClass$;
