module.exports = class SupporterLevel {
  /**
   * A group of supporters with a similar level of support or donation.
   * Assigned at the site level, not at an individual conference.
   * Construct a SupporterLevel object, given an (immutable) name.
   * @constructor
   * @param {string} name the name of the level (e.g. 'Gold')
   */
  constructor(name) {
    /** @private */ this._NAME = name
    /** @private */ this._size = ''
  }

  /**
   * Get the name of this supporter level.
   * @return {string} the name of this supporter level
   */
  name() {
    return this._NAME
  }

  /**
   * Set or get the sizing of this supporter level.
   * The sizing informs the size of the supporter logo in this supporter level.
   * The parameter must be one of the following enumerated values:
   * - 'lrg'
   * - 'med'
   * - 'sml'
   * @param  {string=} str the sizing of this supporter level’s logos
   * @return {(SupporterLevel|string)} this supporter level | the sizing
   */
  size(str) {
    if (arguments.length) {
      this._size = str
      return this
    } else return this._size
  }
}

@@ -361,32 +361,39 @@
    /** @private 
+@final 
 */ this._NAME = 
@@ -434,10 +434,39 @@
 e = 
-''
+SupporterLevel.LogoSize.DEFAULT
 %0A  %7D
@@ -762,135 +762,47 @@
   * 
-The 
+@
 param
-eter must be one of the following enumerated values:%0A   * - 'lrg'%0A   * - 'med'%0A   * - 'sml'%0A   * @param  %7Bstring
+  %7BSupporterLevel.LogoSize
 =%7D s
-tr
+ize
  the
@@ -871,22 +871,39 @@
 erLevel%7C
-string
+SupporterLevel.LogoSize
 )%7D this 
@@ -945,18 +945,53 @@
   size(s
-tr
+ize = SupporterLevel.LogoSize.DEFAULT
 ) %7B%0A    
@@ -1034,18 +1034,19 @@
 size = s
-tr
+ize
 %0A      r
@@ -1088,11 +1088,413 @@
 size%0A  %7D
+%0A%0A  /**%0A   * Enum for supporter level logo sizes.%0A   * @enum %7Bstring%7D%0A   */%0A  static get LogoSize() %7B%0A    return %7B%0A      /** Logo size for top-level supporters. */ LARGE : 'lrg',%0A      /** Logo size for mid-level supporters. */ MEDIUM: 'med',%0A      /** Logo size for low-level supporters. */ SMALL : 'sml',%0A      /** Default value. */                      get DEFAULT() %7B return this.LARGE %7D,%0A    %7D%0A  %7D
 %0A%7D%0A

use enum for supporter level logo size