///|
pub(all) enum RuleClass {
  Numeric
  Alphanumeric
  Date
  Decimal
  Reference
} derive(Debug, Eq)

///|
pub struct ApplicationRule {
  code : String
  class : RuleClass
  min_length : Int
  max_length : Int
  fixed : Bool
  check_digit : Bool
  allow_separator : Bool
} derive(Debug, Eq)

///|
fn application_rules() -> Array[ApplicationRule] {
  let rules : Array[ApplicationRule] = []
  rules.push({
    code: "3100",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3101",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3102",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3103",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3104",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3105",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3106",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3107",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3108",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3109",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "00",
    class: Numeric,
    min_length: 18,
    max_length: 18,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "01",
    class: Numeric,
    min_length: 14,
    max_length: 14,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "02",
    class: Numeric,
    min_length: 14,
    max_length: 14,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "11",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "12",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "13",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "15",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "16",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "17",
    class: Date,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "10",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "21",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "240",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "241",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "242",
    class: Alphanumeric,
    min_length: 1,
    max_length: 6,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "250",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "251",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "30",
    class: Numeric,
    min_length: 1,
    max_length: 8,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "37",
    class: Numeric,
    min_length: 1,
    max_length: 8,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "410",
    class: Numeric,
    min_length: 13,
    max_length: 13,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "411",
    class: Numeric,
    min_length: 13,
    max_length: 13,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "412",
    class: Numeric,
    min_length: 13,
    max_length: 13,
    fixed: true,
    check_digit: true,
    allow_separator: false,
  })
  rules.push({
    code: "420",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3110",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3111",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3112",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3113",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3114",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3115",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3116",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3117",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3118",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3119",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3120",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3121",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3122",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3123",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3124",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3125",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3126",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3127",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3128",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3129",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3130",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3131",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3132",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3133",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3134",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3135",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3136",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3137",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3138",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3139",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3140",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3141",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3142",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3143",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3144",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3145",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3146",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3147",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3148",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3149",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3150",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3151",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3152",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3153",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3154",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3155",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3156",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3157",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3158",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3159",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3160",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3161",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3162",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3163",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3164",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3165",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3166",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3167",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3168",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3169",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3170",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3171",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3172",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3173",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3174",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3175",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3176",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3177",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3178",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3179",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3180",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3181",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3182",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3183",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3184",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3185",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3186",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3187",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3188",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3189",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3190",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3191",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3192",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3193",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3194",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3195",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3196",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3197",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3198",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3199",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3200",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3201",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3202",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3203",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3204",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3205",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3206",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3207",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3208",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3209",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3210",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3211",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3212",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3213",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3214",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3215",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3216",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3217",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3218",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3219",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3220",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3221",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3222",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3223",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3224",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3225",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3226",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3227",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3228",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3229",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3230",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3231",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3232",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3233",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3234",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3235",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3236",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3237",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3238",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3239",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3240",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3241",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3242",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3243",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3244",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3245",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3246",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3247",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3248",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3249",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3250",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3251",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3252",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3253",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3254",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3255",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3256",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3257",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3258",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3259",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3260",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3261",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3262",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3263",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3264",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3265",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3266",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3267",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3268",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3269",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3270",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3271",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3272",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3273",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3274",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3275",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3276",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3277",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3278",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3279",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3280",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3281",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3282",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3283",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3284",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3285",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3286",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3287",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3288",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3289",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3290",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3291",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3292",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3293",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3294",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3295",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3296",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3297",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3298",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3299",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3300",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3301",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3302",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3303",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3304",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3305",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3306",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3307",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3308",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3309",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3310",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3311",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3312",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3313",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3314",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3315",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3316",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3317",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3318",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3319",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3320",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3321",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3322",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3323",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3324",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3325",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3326",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3327",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3328",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3329",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3330",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3331",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3332",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3333",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3334",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3335",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3336",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3337",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3338",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3339",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3340",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3341",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3342",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3343",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3344",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3345",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3346",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3347",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3348",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3349",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3350",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3351",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3352",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3353",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3354",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3355",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3356",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3357",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3358",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3359",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3360",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3361",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3362",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3363",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3364",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3365",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3366",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3367",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3368",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3369",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3370",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3371",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3372",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3373",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3374",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3375",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3376",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3377",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3378",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3379",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3380",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3381",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3382",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3383",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3384",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3385",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3386",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3387",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3388",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3389",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3390",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3391",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3392",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3393",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3394",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3395",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3396",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3397",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3398",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3399",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3400",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3401",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3402",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3403",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3404",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3405",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3406",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3407",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3408",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3409",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3410",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3411",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3412",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3413",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3414",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3415",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3416",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3417",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3418",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3419",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3420",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3421",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3422",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3423",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3424",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3425",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3426",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3427",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3428",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3429",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3430",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3431",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3432",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3433",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3434",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3435",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3436",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3437",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3438",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3439",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3440",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3441",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3442",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3443",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3444",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3445",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3446",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3447",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3448",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3449",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3450",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3451",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3452",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3453",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3454",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3455",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3456",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3457",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3458",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3459",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3460",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3461",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3462",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3463",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3464",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3465",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3466",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3467",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3468",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3469",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3470",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3471",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3472",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3473",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3474",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3475",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3476",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3477",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3478",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3479",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3480",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3481",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3482",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3483",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3484",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3485",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3486",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3487",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3488",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3489",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3490",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3491",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3492",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3493",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3494",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3495",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3496",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3497",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3498",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3499",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3500",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3501",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3502",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3503",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3504",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3505",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3506",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3507",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3508",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3509",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3510",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3511",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3512",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3513",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3514",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3515",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3516",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3517",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3518",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3519",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3520",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3521",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3522",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3523",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3524",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3525",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3526",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3527",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3528",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3529",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3530",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3531",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3532",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3533",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3534",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3535",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3536",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3537",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3538",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3539",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3540",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3541",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3542",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3543",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3544",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3545",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3546",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3547",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3548",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3549",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3550",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3551",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3552",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3553",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3554",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3555",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3556",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3557",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3558",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3559",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3560",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3561",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3562",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3563",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3564",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3565",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3566",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3567",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3568",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3569",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3570",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3571",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3572",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3573",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3574",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3575",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3576",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3577",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3578",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3579",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3580",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3581",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3582",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3583",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3584",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3585",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3586",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3587",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3588",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3589",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3590",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3591",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3592",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3593",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3594",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3595",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3596",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3597",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3598",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3599",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3600",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3601",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3602",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3603",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3604",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3605",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3606",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3607",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3608",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3609",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3610",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3611",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3612",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3613",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3614",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3615",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3616",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3617",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3618",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3619",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3620",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3621",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3622",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3623",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3624",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3625",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3626",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3627",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3628",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3629",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3630",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3631",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3632",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3633",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3634",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3635",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3636",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3637",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3638",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3639",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3640",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3641",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3642",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3643",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3644",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3645",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3646",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3647",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3648",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3649",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3650",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3651",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3652",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3653",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3654",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3655",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3656",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3657",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3658",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3659",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3660",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3661",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3662",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3663",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3664",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3665",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3666",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3667",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3668",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3669",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3670",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3671",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3672",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3673",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3674",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3675",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3676",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3677",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3678",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3679",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3680",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3681",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3682",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3683",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3684",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3685",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3686",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3687",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3688",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3689",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3690",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3691",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3692",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3693",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3694",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3695",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3696",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3697",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3698",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3699",
    class: Decimal,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3900",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3901",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3902",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3903",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3904",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3905",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3906",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3907",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3908",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3909",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3910",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3911",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3912",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3913",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3914",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3915",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3916",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3917",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3918",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3919",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3920",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3921",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3922",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3923",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3924",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3925",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3926",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3927",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3928",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3929",
    class: Decimal,
    min_length: 1,
    max_length: 15,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3930",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3931",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3932",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3933",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3934",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3935",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3936",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3937",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3938",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3939",
    class: Decimal,
    min_length: 1,
    max_length: 18,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "3940",
    class: Numeric,
    min_length: 4,
    max_length: 4,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3941",
    class: Numeric,
    min_length: 4,
    max_length: 4,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3942",
    class: Numeric,
    min_length: 4,
    max_length: 4,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3943",
    class: Numeric,
    min_length: 4,
    max_length: 4,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3950",
    class: Numeric,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3951",
    class: Numeric,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3952",
    class: Numeric,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "3953",
    class: Numeric,
    min_length: 6,
    max_length: 6,
    fixed: true,
    check_digit: false,
    allow_separator: false,
  })
  rules.push({
    code: "7020",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7021",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7022",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7023",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7024",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7025",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7026",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7027",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7028",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "7029",
    class: Alphanumeric,
    min_length: 1,
    max_length: 20,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4300",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4301",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4302",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4303",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4304",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4305",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4306",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4307",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4308",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4309",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4310",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4311",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4312",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4313",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4314",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4315",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4316",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4317",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4318",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4319",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4320",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4321",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4322",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4323",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4324",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4325",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4326",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4327",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4328",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "4329",
    class: Alphanumeric,
    min_length: 1,
    max_length: 35,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "90",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "91",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "92",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "93",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "94",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "95",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "96",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "97",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "98",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules.push({
    code: "99",
    class: Alphanumeric,
    min_length: 1,
    max_length: 30,
    fixed: false,
    check_digit: false,
    allow_separator: true,
  })
  rules
}

///|
pub fn application_rule(code : String) -> ApplicationRule? {
  for rule in application_rules() {
    if rule.code == code {
      return Some(rule)
    }
  }
  None
}

///|
pub fn application_rule_count() -> Int {
  application_rules().length()
}

///|
pub fn application_rule_class(code : String) -> String? {
  match application_rule(code) {
    Some(rule) =>
      Some(
        match rule.class {
          Numeric => "numeric"
          Alphanumeric => "alphanumeric"
          Date => "date"
          Decimal => "decimal"
          Reference => "reference"
        },
      )
    None => None
  }
}

///|
pub fn application_rule_allows_separator(code : String) -> Bool? {
  match application_rule(code) {
    Some(rule) => Some(rule.allow_separator)
    None => None
  }
}

///|
pub fn validate_application_rule(code : String, value : String) -> Bool {
  match application_rule(code) {
    Some(rule) => {
      let length_ok = value.length() >= rule.min_length &&
        value.length() <= rule.max_length
      let type_ok = match rule.class {
        Numeric | Decimal | Date => is_all_digits(value)
        Alphanumeric | Reference => true
      }
      let digit_ok = if rule.check_digit {
        match code {
          "00" => validate_sscc(value)
          "01" | "02" => validate_gtin(value)
          "410" | "411" | "412" => validate_gln(value)
          _ => true
        }
      } else {
        true
      }
      length_ok && type_ok && digit_ok
    }
    None => false
  }
}

///|
pub fn application_rule_min_length(code : String) -> Int? {
  match application_rule(code) {
    Some(rule) => Some(rule.min_length)
    None => None
  }
}

///|
pub fn application_rule_max_length(code : String) -> Int? {
  match application_rule(code) {
    Some(rule) => Some(rule.max_length)
    None => None
  }
}

///|
pub fn application_rule_is_fixed(code : String) -> Bool? {
  match application_rule(code) {
    Some(rule) => Some(rule.fixed)
    None => None
  }
}

///|
pub fn application_rule_needs_check_digit(code : String) -> Bool? {
  match application_rule(code) {
    Some(rule) => Some(rule.check_digit)
    None => None
  }
}

///|
pub fn application_rule_codes() -> Array[String] {
  application_rules().map(fn(rule) { rule.code })
}

///|
pub fn application_rule_validate_length(code : String, value : String) -> Bool {
  match application_rule(code) {
    Some(rule) =>
      value.length() >= rule.min_length && value.length() <= rule.max_length
    None => false
  }
}

///|
pub fn application_rule_is_numeric(code : String) -> Bool {
  application_rule_class(code) == Some("numeric") ||
  application_rule_class(code) == Some("decimal")
}

///|
pub fn application_rule_is_date(code : String) -> Bool {
  application_rule_class(code) == Some("date")
}

///|
pub fn application_rule_is_variable(code : String) -> Bool? {
  match application_rule(code) {
    Some(rule) => Some(!rule.fixed)
    None => None
  }
}