rem: layout: Layout.getById(data.layout) 
context: Site.prototype.update = function(data) {   if (this.isTransient()) {      if (!data.name) {         throw Error(gettext("Please enter a name for your new site."));      } else if (data.name.length > 30) {         throw Error(gettext("Sorry, the name you chose is too long. Please enter a shorter one."));      } else if (/(\/|\\)/.test(data.name)) {         throw Error(gettext("Sorry, a site name may not contain any (back)slashes."));      } else if (data.name !== root.getAccessName(data.name)) {         throw Error(gettext("Sorry, there is already a site with this name."));      }      this.name = data.name;      this.title = data.title || data.name;      return;   }   this.map({      title: stripTags(data.title),      tagline: data.tagline,      email: data.email,      mode: data.mode || Site.PRIVATE,      webHookUrl: data.webHookUrl,      webHookMode: data.webHookMode || Site.DISABLED,      pageMode: data.pageMode || Site.DAYS,      pageSize: parseInt(data.pageSize, 10) || 3,      commentMode: data.commentMode || Site.DISABLED,      archiveMode: data.archiveMode || Site.CLOSED,      notificationMode: data.notificationMode || Site.DISABLED,      timeZone: data.timeZone,      longDateFormat: data.longDateFormat,      shortDateFormat: data.shortDateFormat,      locale: data.locale,      layout: Layout.getById(data.layout)   });   this.touch();   this.clearCache();   return;};
meta: 993	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/993/3efbd63046d0de34a59bbe00c11a37b157f1b745/Site.js/buggy/code/Site/Site.js