if (match == null) return ''; 
if (match == null) return before; 
  evaluate: function(object) {    if (Object.isFunction(object.toTemplateReplacements))      object = object.toTemplateReplacements();    return this.template.gsub(this.pattern, function(match) {      if (object == null) return '';            var before = match[1] || '';      if (before == '\\') return match[2];            var ctx = object, expr = match[3];      var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = pattern.exec(expr);      if (match == null) return '';      while (match != null) {        var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];        ctx = ctx[comp];        if (null == ctx || '' == match[3]) break;        expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);        match = pattern.exec(expr);      }            return before + String.interpret(ctx);    }.bind(this));  }
5582	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5582/b83ae95d90347d828ac7b4d281b42123c8ce7f08/string.js/clean/src/string.js