Program: 10230
Project: 10230
Buggy source:
@Override public String getAttribute(Attribute attribute){
  if (attribute == null)   return null;
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1) && (attribute.startsWith("String_Node_Str",2) || attribute.startsWith("String_Node_Str",2))&& attribute.hasContext(2)) {
    Comparable com=new net.aufdemrand.denizen.scripts.commands.core.Comparable();
    String operator;
    if (attribute.getContext(1).startsWith("String_Node_Str")) {
      operator=attribute.getContext(1).substring(1);
      com.setNegativeLogic();
    }
 else     operator=attribute.getContext(1);
    Comparable.Operator comparableOperator=null;
    try {
      comparableOperator=Comparable.Operator.valueOf(operator.replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").toUpperCase());
    }
 catch (    IllegalArgumentException e) {
    }
    if (comparableOperator != null) {
      com.setOperator(comparableOperator);
      com.setComparable(element);
      com.setComparedto(attribute.getContext(2));
      return new Element(com.determineOutcome()).getAttribute(attribute.fulfill(2));
    }
 else {
      dB.echoError("String_Node_Str" + operator + "String_Node_Str");
    }
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.equalsIgnoreCase("String_Node_Str") || element.equalsIgnoreCase("String_Node_Str") || element.equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   try {
    return new Element(Double.valueOf(element)).getAttribute(attribute.fulfill(1));
  }
 catch (  NumberFormatException e) {
    dB.echoError("String_Node_Str" + element + "String_Node_Str");
    return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   try {
    return new Element(Math.round(Double.valueOf(element))).getAttribute(attribute.fulfill(1));
  }
 catch (  NumberFormatException e) {
    dB.echoError("String_Node_Str" + element + "String_Node_Str");
    return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    try {
      DecimalFormat d=new DecimalFormat("String_Node_Str");
      return new Element(d.format(Double.valueOf(element))).getAttribute(attribute.fulfill(1));
    }
 catch (    NumberFormatException e) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dChunk.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dCuboid.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dEntity.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dInventory.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dItem.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dList.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dLocation.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dMaterial.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dNPC.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dPlayer.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dPlugin.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dScript.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,Duration.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dWorld.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,ScriptQueue.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(EscapeTags.Escape(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(EscapeTags.unEscape(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    dB.log(debug());
    return new Element(Boolean.TRUE).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(ChatColor.stripColor(debug())).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(debug()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(prefix).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    String contains=attribute.getContext(1);
    if (contains.toLowerCase().startsWith("String_Node_Str")) {
      if (Pattern.compile(contains.substring(("String_Node_Str").length()),Pattern.CASE_INSENSITIVE).matcher(element).matches())       return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
 else       return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
 else     if (element.toLowerCase().contains(contains.toLowerCase()))     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.endsWith(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.matches(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1) && attribute.hasContext(2)) {
    String regex=attribute.getContext(1);
    Matcher m=Pattern.compile(regex).matcher(element);
    if (!m.matches()) {
      return Element.NULL.getAttribute(attribute.fulfill(2));
    }
    int group=new Element(attribute.getContext(2)).asInt();
    if (group < 0)     group=0;
    if (group > m.groupCount())     group=m.groupCount();
    return new Element(m.group(group)).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(ChatColor.getLastColors(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(element.length()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(!element.equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") && attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") || attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") != attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equals(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.startsWith(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.indexOf(attribute.getContext(1)) + 1).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.lastIndexOf(attribute.getContext(1)) + 1).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    int index=attribute.getIntContext(1) - 1;
    if (index < 0 || index >= element.length())     return Element.NULL.getAttribute(attribute.fulfill(1));
 else     return new Element(String.valueOf(element.charAt(index))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(element.lastIndexOf(delimiter) + delimiter.length())).getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(element.indexOf(delimiter) + delimiter.length())).getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(0,element.lastIndexOf(delimiter))).getAttribute(attribute.fulfill(1));
 else     return new Element(element).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(0,element.indexOf(delimiter))).getAttribute(attribute.fulfill(1));
 else     return new Element(element).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String replace=attribute.getContext(1);
    String replacement="String_Node_Str";
    attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str")) {
      if (attribute.hasContext(1)) {
        replacement=attribute.getContext(1);
        if (replacement == null)         replacement="String_Node_Str";
        attribute.fulfill(1);
      }
    }
    if (replace.startsWith("String_Node_Str"))     return new Element(element.replaceAll(replace.substring("String_Node_Str".length()),replacement)).getAttribute(attribute);
    if (replace.startsWith("String_Node_Str"))     return new Element(element.replaceFirst(replace.substring("String_Node_Str".length()),replacement)).getAttribute(attribute);
 else     return new Element(element.replaceAll("String_Node_Str" + Pattern.quote(replace),replacement)).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str") && attribute.startsWith("String_Node_Str",2)) {
    String split_string=(attribute.hasContext(1) ? attribute.getContext(1) : "String_Node_Str");
    Integer limit=(attribute.hasContext(2) ? attribute.getIntContext(2) : 1);
    if (split_string.toLowerCase().startsWith("String_Node_Str"))     return new dList(Arrays.asList(element.split(split_string.split("String_Node_Str",2)[1],limit))).getAttribute(attribute.fulfill(1));
 else     return new dList(Arrays.asList(StringUtils.split(element,split_string,limit))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    String split_string=(attribute.hasContext(1) ? attribute.getContext(1) : "String_Node_Str");
    if (split_string.toLowerCase().startsWith("String_Node_Str"))     return new dList(Arrays.asList(element.split(split_string.split("String_Node_Str",2)[1]))).getAttribute(attribute.fulfill(1));
 else     return new dList(Arrays.asList(StringUtils.split(element,split_string))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    try {
      int decimal=element.indexOf('.');
      String shortelement;
      String afterdecimal;
      if (decimal != -1) {
        shortelement=element.substring(0,decimal);
        afterdecimal=element.substring(decimal);
      }
 else {
        shortelement=element;
        afterdecimal="String_Node_Str";
      }
      String intform=Long.valueOf(shortelement.replace("String_Node_Str","String_Node_Str")).toString();
      String negative="String_Node_Str";
      if (intform.startsWith("String_Node_Str")) {
        negative="String_Node_Str";
        intform=intform.substring(1,intform.length());
      }
      for (int i=intform.length() - 3; i > 0; i-=3) {
        intform=intform.substring(0,i) + "String_Node_Str" + intform.substring(i,intform.length());
      }
      return new Element(negative + intform + afterdecimal).getAttribute(attribute.fulfill(1));
    }
 catch (    Exception ex) {
      dB.echoError(ex);
    }
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    FormatScriptContainer format=ScriptRegistry.getScriptContainer(attribute.getContext(1));
    if (format == null) {
      dB.echoError("String_Node_Str" + attribute.getContext(1) + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
 else {
      return new Element(format.getFormattedText(element,attribute.getScriptEntry() != null ? attribute.getScriptEntry().getNPC() : null,attribute.getScriptEntry() != null ? attribute.getScriptEntry().getPlayer() : null)).getAttribute(attribute.fulfill(1));
    }
  }
  if (attribute.startsWith("String_Node_Str")) {
    dList list=new dList();
    for (int i=0; i < element.length(); i++) {
      list.add(String.valueOf(element.charAt(i)));
    }
    return list.getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(ChatColor.stripColor(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(element.trim()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toUpperCase()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toLowerCase()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    if (element.length() == 0) {
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
    StringBuilder TitleCase=new StringBuilder(element.length());
    String Upper=element.toUpperCase();
    String Lower=element.toLowerCase();
    TitleCase.append(Upper.charAt(0));
    for (int i=1; i < element.length(); i++) {
      if (element.charAt(i - 1) == ' ')       TitleCase.append(Upper.charAt(i));
 else       TitleCase.append(Lower.charAt(i));
    }
    return new Element(TitleCase.toString()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    int beginning_index=new Element(attribute.getContext(1).split("String_Node_Str")[0]).asInt() - 1;
    int ending_index;
    if (attribute.getContext(1).split("String_Node_Str").length > 1)     ending_index=new Element(attribute.getContext(1).split("String_Node_Str")[1]).asInt();
 else     ending_index=element.length();
    if (beginning_index < 0)     beginning_index=0;
    if (beginning_index > element.length())     beginning_index=element.length();
    if (ending_index > element.length())     ending_index=element.length();
    if (ending_index < beginning_index)     ending_index=beginning_index;
    return new Element(element.substring(beginning_index,ending_index)).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String with=String.valueOf((char)0x00A0);
    int length=attribute.getIntContext(1);
    attribute=attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
      with=String.valueOf(attribute.getContext(1).charAt(0));
      attribute=attribute.fulfill(1);
    }
    String padded=element;
    while (padded.length() < length) {
      padded=with + padded;
    }
    return new Element(padded).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String with=String.valueOf((char)0x00A0);
    int length=attribute.getIntContext(1);
    attribute=attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
      with=String.valueOf(attribute.getContext(1).charAt(0));
      attribute=attribute.fulfill(1);
    }
    StringBuilder padded=new StringBuilder(element);
    while (padded.length() < length) {
      padded.append(with);
    }
    return new Element(padded.toString()).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.abs(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() + aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() / aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() * aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() - aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() + aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() / aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() % aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() * aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() - aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.sqrt(asDouble())).getAttribute(attribute.fulfill(1));
  }
  for (  Property property : PropertyParser.getProperties(this)) {
    String returned=property.getAttribute(attribute);
    if (returned != null)     return returned;
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.pow(asDouble(),aH.getDoubleFrom(attribute.getContext(1)))).getAttribute(attribute.fulfill(1));
  }
  for (  Property property : PropertyParser.getProperties(this)) {
    String returned=property.getAttribute(attribute);
    if (returned != null)     return returned;
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.asin(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.acos(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.atan(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.cos(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.sin(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.tan(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.toDegrees(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.toRadians(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.ceil(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.floor(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.round(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.attributes.size() > 0) {
    dB.echoDebug(attribute.getScriptEntry(),"String_Node_Str" + attribute.attributes.toString() + "String_Node_Str"+ attribute.getOrigin()+ "String_Node_Str");
    return "String_Node_Str";
  }
 else {
    return element;
  }
}

Fixed version (ground truth):
@Override public String getAttribute(Attribute attribute){
  if (attribute == null)   return null;
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1) && (attribute.startsWith("String_Node_Str",2) || attribute.startsWith("String_Node_Str",2))&& attribute.hasContext(2)) {
    Comparable com=new net.aufdemrand.denizen.scripts.commands.core.Comparable();
    String operator;
    if (attribute.getContext(1).startsWith("String_Node_Str")) {
      operator=attribute.getContext(1).substring(1);
      com.setNegativeLogic();
    }
 else     operator=attribute.getContext(1);
    Comparable.Operator comparableOperator=null;
    try {
      comparableOperator=Comparable.Operator.valueOf(operator.replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").replace("String_Node_Str","String_Node_Str").toUpperCase());
    }
 catch (    IllegalArgumentException e) {
    }
    if (comparableOperator != null) {
      com.setOperator(comparableOperator);
      com.setComparable(element);
      com.setComparedto(attribute.getContext(2));
      return new Element(com.determineOutcome()).getAttribute(attribute.fulfill(2));
    }
 else {
      dB.echoError("String_Node_Str" + operator + "String_Node_Str");
    }
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.equalsIgnoreCase("String_Node_Str") || element.equalsIgnoreCase("String_Node_Str") || element.equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   try {
    return new Element(Double.valueOf(element)).getAttribute(attribute.fulfill(1));
  }
 catch (  NumberFormatException e) {
    dB.echoError("String_Node_Str" + element + "String_Node_Str");
    return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   try {
    return new Element(Math.round(Double.valueOf(element))).getAttribute(attribute.fulfill(1));
  }
 catch (  NumberFormatException e) {
    dB.echoError("String_Node_Str" + element + "String_Node_Str");
    return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    try {
      DecimalFormat d=new DecimalFormat("String_Node_Str");
      return new Element(d.format(Double.valueOf(element))).getAttribute(attribute.fulfill(1));
    }
 catch (    NumberFormatException e) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dChunk.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dCuboid.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dEntity.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dInventory.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dItem.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dList.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dLocation.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dMaterial.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dNPC.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dPlayer.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dPlugin.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dScript.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,Duration.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,dWorld.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return HandleNull(element,ScriptQueue.valueOf(element),"String_Node_Str").getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(EscapeTags.Escape(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(EscapeTags.unEscape(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    dB.log(debug());
    return new Element(Boolean.TRUE).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(ChatColor.stripColor(debug())).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(debug()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(prefix).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    String contains=attribute.getContext(1);
    if (contains.toLowerCase().startsWith("String_Node_Str")) {
      if (Pattern.compile(contains.substring(("String_Node_Str").length()),Pattern.CASE_INSENSITIVE).matcher(element).matches())       return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
 else       return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
 else     if (element.toLowerCase().contains(contains.toLowerCase()))     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toLowerCase().endsWith(attribute.getContext(1).toLowerCase())).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.matches(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1) && attribute.hasContext(2)) {
    String regex=attribute.getContext(1);
    Matcher m=Pattern.compile(regex).matcher(element);
    if (!m.matches()) {
      return Element.NULL.getAttribute(attribute.fulfill(2));
    }
    int group=new Element(attribute.getContext(2)).asInt();
    if (group < 0)     group=0;
    if (group > m.groupCount())     group=m.groupCount();
    return new Element(m.group(group)).getAttribute(attribute.fulfill(2));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(ChatColor.getLastColors(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(element.length()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    return new Element(!element.equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") && attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") || attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equalsIgnoreCase("String_Node_Str") != attribute.getContext(1).equalsIgnoreCase("String_Node_Str")).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.equals(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toLowerCase().startsWith(attribute.getContext(1).toLowerCase())).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.toLowerCase().indexOf(attribute.getContext(1).toLowerCase()) + 1).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    return new Element(element.toLowerCase().lastIndexOf(attribute.getContext(1).toLowerCase()) + 1).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    int index=attribute.getIntContext(1) - 1;
    if (index < 0 || index >= element.length())     return Element.NULL.getAttribute(attribute.fulfill(1));
 else     return new Element(String.valueOf(element.charAt(index))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(element.lastIndexOf(delimiter) + delimiter.length())).getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(element.indexOf(delimiter) + delimiter.length())).getAttribute(attribute.fulfill(1));
 else     return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(0,element.lastIndexOf(delimiter))).getAttribute(attribute.fulfill(1));
 else     return new Element(element).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String delimiter=attribute.getContext(1);
    if (element.contains(delimiter))     return new Element(element.substring(0,element.indexOf(delimiter))).getAttribute(attribute.fulfill(1));
 else     return new Element(element).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String replace=attribute.getContext(1);
    String replacement="String_Node_Str";
    attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str")) {
      if (attribute.hasContext(1)) {
        replacement=attribute.getContext(1);
        if (replacement == null)         replacement="String_Node_Str";
        attribute.fulfill(1);
      }
    }
    if (replace.startsWith("String_Node_Str"))     return new Element(element.replaceAll(replace.substring("String_Node_Str".length()),replacement)).getAttribute(attribute);
    if (replace.startsWith("String_Node_Str"))     return new Element(element.replaceFirst(replace.substring("String_Node_Str".length()),replacement)).getAttribute(attribute);
 else     return new Element(element.replaceAll("String_Node_Str" + Pattern.quote(replace),replacement)).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str") && attribute.startsWith("String_Node_Str",2)) {
    String split_string=(attribute.hasContext(1) ? attribute.getContext(1) : "String_Node_Str");
    Integer limit=(attribute.hasContext(2) ? attribute.getIntContext(2) : 1);
    if (split_string.toLowerCase().startsWith("String_Node_Str"))     return new dList(Arrays.asList(element.split(split_string.split("String_Node_Str",2)[1],limit))).getAttribute(attribute.fulfill(1));
 else     return new dList(Arrays.asList(StringUtils.split(element,split_string,limit))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    String split_string=(attribute.hasContext(1) ? attribute.getContext(1) : "String_Node_Str");
    if (split_string.toLowerCase().startsWith("String_Node_Str"))     return new dList(Arrays.asList(element.split(split_string.split("String_Node_Str",2)[1]))).getAttribute(attribute.fulfill(1));
 else     return new dList(Arrays.asList(StringUtils.split(element,split_string))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    try {
      int decimal=element.indexOf('.');
      String shortelement;
      String afterdecimal;
      if (decimal != -1) {
        shortelement=element.substring(0,decimal);
        afterdecimal=element.substring(decimal);
      }
 else {
        shortelement=element;
        afterdecimal="String_Node_Str";
      }
      String intform=Long.valueOf(shortelement.replace("String_Node_Str","String_Node_Str")).toString();
      String negative="String_Node_Str";
      if (intform.startsWith("String_Node_Str")) {
        negative="String_Node_Str";
        intform=intform.substring(1,intform.length());
      }
      for (int i=intform.length() - 3; i > 0; i-=3) {
        intform=intform.substring(0,i) + "String_Node_Str" + intform.substring(i,intform.length());
      }
      return new Element(negative + intform + afterdecimal).getAttribute(attribute.fulfill(1));
    }
 catch (    Exception ex) {
      dB.echoError(ex);
    }
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    FormatScriptContainer format=ScriptRegistry.getScriptContainer(attribute.getContext(1));
    if (format == null) {
      dB.echoError("String_Node_Str" + attribute.getContext(1) + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
 else {
      return new Element(format.getFormattedText(element,attribute.getScriptEntry() != null ? attribute.getScriptEntry().getNPC() : null,attribute.getScriptEntry() != null ? attribute.getScriptEntry().getPlayer() : null)).getAttribute(attribute.fulfill(1));
    }
  }
  if (attribute.startsWith("String_Node_Str")) {
    dList list=new dList();
    for (int i=0; i < element.length(); i++) {
      list.add(String.valueOf(element.charAt(i)));
    }
    return list.getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str"))   return new Element(ChatColor.stripColor(element)).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str"))   return new Element(element.trim()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toUpperCase()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str"))   return new Element(element.toLowerCase()).getAttribute(attribute.fulfill(1));
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    if (element.length() == 0) {
      return new Element("String_Node_Str").getAttribute(attribute.fulfill(1));
    }
    StringBuilder TitleCase=new StringBuilder(element.length());
    String Upper=element.toUpperCase();
    String Lower=element.toLowerCase();
    TitleCase.append(Upper.charAt(0));
    for (int i=1; i < element.length(); i++) {
      if (element.charAt(i - 1) == ' ')       TitleCase.append(Upper.charAt(i));
 else       TitleCase.append(Lower.charAt(i));
    }
    return new Element(TitleCase.toString()).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") || attribute.startsWith("String_Node_Str")) {
    int beginning_index=new Element(attribute.getContext(1).split("String_Node_Str")[0]).asInt() - 1;
    int ending_index;
    if (attribute.getContext(1).split("String_Node_Str").length > 1)     ending_index=new Element(attribute.getContext(1).split("String_Node_Str")[1]).asInt();
 else     ending_index=element.length();
    if (beginning_index < 0)     beginning_index=0;
    if (beginning_index > element.length())     beginning_index=element.length();
    if (ending_index > element.length())     ending_index=element.length();
    if (ending_index < beginning_index)     ending_index=beginning_index;
    return new Element(element.substring(beginning_index,ending_index)).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String with=String.valueOf((char)0x00A0);
    int length=attribute.getIntContext(1);
    attribute=attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
      with=String.valueOf(attribute.getContext(1).charAt(0));
      attribute=attribute.fulfill(1);
    }
    String padded=element;
    while (padded.length() < length) {
      padded=with + padded;
    }
    return new Element(padded).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    String with=String.valueOf((char)0x00A0);
    int length=attribute.getIntContext(1);
    attribute=attribute.fulfill(1);
    if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
      with=String.valueOf(attribute.getContext(1).charAt(0));
      attribute=attribute.fulfill(1);
    }
    StringBuilder padded=new StringBuilder(element);
    while (padded.length() < length) {
      padded.append(with);
    }
    return new Element(padded.toString()).getAttribute(attribute);
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.abs(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() + aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() / aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() * aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asLong() - aH.getLongFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() + aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() / aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() % aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() * aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(asDouble() - aH.getDoubleFrom(attribute.getContext(1))).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.sqrt(asDouble())).getAttribute(attribute.fulfill(1));
  }
  for (  Property property : PropertyParser.getProperties(this)) {
    String returned=property.getAttribute(attribute);
    if (returned != null)     return returned;
  }
  if (attribute.startsWith("String_Node_Str") && attribute.hasContext(1)) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.pow(asDouble(),aH.getDoubleFrom(attribute.getContext(1)))).getAttribute(attribute.fulfill(1));
  }
  for (  Property property : PropertyParser.getProperties(this)) {
    String returned=property.getAttribute(attribute);
    if (returned != null)     return returned;
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.asin(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.acos(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.atan(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.cos(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.sin(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.tan(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.toDegrees(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element(Math.toRadians(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.ceil(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.floor(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.startsWith("String_Node_Str")) {
    if (!isDouble()) {
      dB.echoError("String_Node_Str" + element + "String_Node_Str");
      return Element.NULL.getAttribute(attribute.fulfill(1));
    }
    return new Element((int)Math.round(asDouble())).getAttribute(attribute.fulfill(1));
  }
  if (attribute.attributes.size() > 0) {
    dB.echoDebug(attribute.getScriptEntry(),"String_Node_Str" + attribute.attributes.toString() + "String_Node_Str"+ attribute.getOrigin()+ "String_Node_Str");
    return "String_Node_Str";
  }
 else {
    return element;
  }
}