Module: When::CalendarTypes

Defined in:
lib/when_exe/calendartypes.rb,
lib/when_exe/region/thai.rb,
lib/when_exe/region/bahai.rb,
lib/when_exe/region/mayan.rb,
lib/when_exe/region/roman.rb,
lib/when_exe/region/shire.rb,
lib/when_exe/region/world.rb,
lib/when_exe/region/french.rb,
lib/when_exe/region/indian.rb,
lib/when_exe/region/jewish.rb,
lib/when_exe/region/chinese.rb,
lib/when_exe/region/iranian.rb,
lib/when_exe/region/islamic.rb,
lib/when_exe/region/martian.rb,
lib/when_exe/region/tibetan.rb,
lib/when_exe/region/balinese.rb,
lib/when_exe/region/japanese.rb,
lib/when_exe/region/javanese.rb,
lib/when_exe/region/christian.rb,
lib/when_exe/region/ephemeric_notes.rb,
lib/when_exe/region/chinese_calendar.rb,
lib/when_exe.rb

Overview

Ephemeris を用いる暦注

Defined Under Namespace

Classes: Bahai, BalineseLuniSolar, Border, CalendarNote, ChineseLuniSolar, ChineseSolar, Civil, CyclicTableBased, DayBorder, Easter, EphemerisBased, EphemerisBasedIslamic, EphemerisBasedLunar, EphemerisBasedLuniSolar, EphemerisBasedSolar, Gregorian, HinduLuniSolar, HinduSolar, Jewish, Julian, LAT, LMT, LocalTime, MTC, MultiBorder, PatternTableBasedLuniSolar, SunRise, SunSet, THS, TableBased, ThaiB, ThaiC, Tibetan, UTC, YearLengthTableBased

Constant Summary collapse

LongCount =

Mayan Long Count

[{'Epoch'=>{'0D' => {'origin_of_LSC' => 584283, 'Base'=>'?Epoch=0D'},
                         '2D' => {'origin_of_LSC' => 584285, 'Base'=>'?Epoch=2D'}}}, CyclicTableBased, {
  'origin_of_LSC' => 584283,
  'rule_table'    => {
    'T' => {'Rule'  =>[360]},
    360 => {'Length'=>[20] * 18}
  },
  'index_of_MSC' => 2,
  'indices'=> [_c20, _c20, _c18, _c20],
  'note'   => 'MayanNotes#{Base}'
}]
JulianA =

Julian Calendar A : BCE45-BCE8

[CyclicTableBased, {
  'origin_of_LSC'  =>  1704987,
  'origin_of_MSC'  =>  -44,
  'indices' => _IndicesB12,
  'rule_table'     => {
    'T' => {'Rule'  =>[365,366,365]},
    365 => {'Length'=>[31,29] + [31,30]*5},
    366 => {'Length'=>[31,30] + [31,30]*5}
  },
  'note' => 'RomanNote'
}]
JulianB =

Julian Calendar B : BCE8-CE7

[CyclicTableBased, {
  'origin_of_LSC'  =>  1704987+13,
  'origin_of_MSC'  =>  -44,
  'indices' => _IndicesB12,
  'rule_table'     => {
    'T' => {'Rule'  =>[365]},
    365 => {'Length'=>[31,28] + [31,30,31,30,31]*2}
  },
  'note' => 'RomanNote'
}]
JulianC =

Julian Calendar C : CE8-

[Julian, {
  'indices' => _Indices12,
  'note' => 'RomanNote'
}]
Options =
{
  'origin_of_LSC'  =>  1625698,
  'origin_of_MSC'  =>  -261,
  'indices' => _Indices,
  'rule_table'     => {
    'T' => {'Rule' =>      %w(                                                       A C  A B A C A B A C A B
      A C A B A C A B A C  A B A C A B A C A B  A C A B A C A B A C  A B A A C B A A A A  C A A A B A C A A B
      A A A A A A A A A A  C A C A B C A C A B  C A C A C A B C A C  A C A A B C A B C A  B C A B C A C A C A
      C A C A C A C A C A  C A A C A C A C A C  A C A C A C A C A C  A C A C A C A A C A  A C A A C A A C A A
      C A C A C A C A C A  C A C A A C A C A C  A C A C A C A C A C  A C A C A A C A A C  A A C A A B A A C A
      A A A A J N L N N L  N N L N N L N N L N  N L N N L N N L N N  L N N L N N L N N L  N N L N N N N N N N) +
      %w(N N N L) * 120
    },
    'A' => {'Length'=>[29, 28, 31, 29, 31, 29, 31, 29, 29, 31, 29, 29]},
    'B' => {'Length'=>[29, 23, 27, 31, 29, 31, 29, 31, 29, 29, 31, 29, 29],         'IDs'=>_ID_L},
    'C' => {'Length'=>[29, 24, 27, 31, 29, 31, 29, 31, 29, 29, 31, 29, 29],         'IDs'=>_ID_L},
    'J' => {'Length'=>[29, 24, 27, 31, 29, 31, 29, 31, 29, 29, 31, 34, 31, 31, 29], 'IDs'=>_ID_J},
    'N' => {'Length'=>[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]},
    'L' => {'Length'=>[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]},
  },
  'note' => 'RomanNote'
}
RomanA =
[CyclicTableBased, Options.merge({'indices' => _IndicesA})]
RomanB =
[CyclicTableBased, Options.merge({'indices' => _IndicesB})]
Roman =
[CyclicTableBased, Options]
RomanC =
[CyclicTableBased, Options.merge({'indices' => _IndicesC})]
FrenchRepublican =

French Calendar

[YearLengthTableBased, {
  'indices' => [
     When::Coordinates::Index.new({:unit =>13, :trunk=>When.Resource('_m:FrenchTerms::Month::*')}),
     When::Coordinates::DefaultDayIndex
   ],
   'origin_of_MSC' => +1,
   'cycle_offset'  => Rational(1,2),
   'time_basis'    => '+00:09:20',
   'rule_table'    => {
     365 => {'Length'=>[30] * 12 + [5]},
     366 => {'Length'=>[30] * 12 + [6]}
    }
}]
IndianNationalSolar =

Indian national solar calendar

[CyclicTableBased, {
  'label'   => When.Resource('_m:IndianTerms::IndianNationalSolar'),
  'origin_of_LSC' => 1721140,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:IndianTerms::LunarMonth::*'), :shift=>4}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'      => {
    'T'  => {'Rule'  =>['LC', 'SC', 'SC', 'SC']},
    'SC' => {'Rule'  =>[365]*4 + [366, 365, 365, 365]*24},
    'LC' => {'Rule'  =>[366, 365, 365, 365]*25},
    365  => {'Length'=>[30] + [31]*5 + [30]*6},
    366  => {'Length'=>       [31]*6 + [30]*6}
  },
}]
Chinese =
[{}, When::BasicTypes::M17n, [
  "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
  "locale:[=ja:, en=en:, alias]",
  "area:[中国,China]",

  [ChineseLuniSolar,
    'name:[黄帝暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1228331',
    'intercalary_month:12'
  ],

  [ChineseLuniSolar,
    'name:[顓頊暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1171396&longitude_shift=-1/8',
    'time_basis:+00,+#{P:12}',
    'intercalary_month:9'
  ],

  [ChineseLuniSolar,
    'name:[夏暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1328411',
    'intercalary_month:12'
  ],

  [ChineseLuniSolar,
    'name:[殷暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1149071',
    'intercalary_month:12'
  ],

  [ChineseLuniSolar,
    'name:[周暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1128251',
    'intercalary_month:12'
  ],

  [ChineseLuniSolar,
    'name:[魯暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1048991',
    'intercalary_month:12'
  ],

  [ChineseLuniSolar,
    'name:[太初暦]',
    'formula:MeanLunation?year_length=562120/1539&lunation_length=2392/81&day_epoch=1683431'
  ],

  [ChineseLuniSolar,
    'name:[四分暦]',
    'formula:MeanLunation?year_length=1461/4&lunation_length=27759/940&day_epoch=1662611'
  ],

  [ChineseLuniSolar,
    'name:[乾象暦]',
    'formula:MeanLunation?year_length=215130/589&lunation_length=43026/1457&day_epoch=-898129'
  ],

  [ChineseLuniSolar,
    'name:[景初暦]',
    'formula:MeanLunation?year_length=673150/1843&lunation_length=134630/4559&day_epoch=+330191'
  ],

  [ChineseLuniSolar,
    'name:[三紀暦]',
    'formula:MeanLunation?year_length=895220/2451&lunation_length=179044/6063&day_epoch=-28760989'
  ],

  [ChineseLuniSolar,
    'name:[玄始暦]',
    'formula:MeanLunation?year_length=2629759/7200&lunation_length=2629759/89052&day_epoch=-20568349'
  ],

  [ChineseLuniSolar,
    'name:[元嘉暦]',
    'formula:MeanLunation?year_length=111035/304&lunation_length=22207/752&day_epoch=-200089&longitude_shift=-1/12' # 春分の1ヶ月前
  ],

  [ChineseLuniSolar,
    'name:[大明暦]',
    'formula:MeanLunation?year_length=14423804/39491&lunation_length=116321/3939&day_epoch=-17080189'
  ],

  [ChineseLuniSolar,
    'name:[正光暦]',
    'formula:MeanLunation?year_length=2213377/6060&lunation_length=2213377/74952&day_epoch=-59357929'
  ],

  [ChineseLuniSolar,
    'name:[興和暦]',
    'formula:MeanLunation?year_length=6158017/16860&lunation_length=6158017/208530&day_epoch=-105462049'
  ],

  [ChineseLuniSolar,
    'name:[天保暦]',
    'formula:MeanLunation?year_length=8641687/23660&lunation_length=8641687/292635&day_epoch=-38447089'
  ],

  [ChineseLuniSolar,
    'name:[天和暦]',
    'formula:MeanLunation?year_length=8568631/23460&lunation_length=8568631/290160&day_epoch=-317950249'
  ],

  [ChineseLuniSolar,
    'name:[大象暦]',
    'formula:MeanLunation?year_length=4745247/12992&lunation_length=1581749/53563&day_epoch=-13244449'
  ],

  [ChineseLuniSolar,
    'name:[開皇暦]',
    'formula:MeanLunation?year_length=37605463/102960&lunation_length=5372209/181920&day_epoch=-1506155749'
  ],

  [ChineseLuniSolar,
    'name:[大業暦]',
    'formula:MeanLunation?year_length=15573963/42640&lunation_length=33783/1144&day_epoch=-519493909'
  ],

  [ChineseLuniSolar,
    'name:[平朔儀鳳暦]',
    'formula:MeanLunation?year_length=122357/335&lunation_length=39571/1340&day_epoch=-96608689'
  ],

  [ChineseLuniSolar,
    'name:[麟徳暦]',
    'time_basis:+00,+#{P:00}',
    {'formula'=>['12S', '1L'].map {|f|
      Ephemeris::ChineseTrueLunation.new({
        'formula'                  => f,
        'day_epoch'                => -96608689,
        'year_length'              => '122357/335',
        'lunation_length'          =>  '39571/1340',
        'anomalistic_month_length' =>  '443077/16080', # 27.0 + (743.0+1.0/12)/1340,
        's'                        => [
          [    0.0,     0,  +3.9546, -0.0372], # 冬至
          [ -722.0,   +54,  +3.4091, -0.0372], # 大寒
          [-1340.0,  +100,  +2.8636, -0.0372], # 小寒
          [-1854.0,  +138,  +2.3181, +0.0372], # 立春
          [-2368.0,  +176,  +2.8636, +0.0372], # 雨水
          [-2986.0,  +222,  +3.4091, +0.0372], # 啓蟄
          [-3708.0,  +276,  -3.7220, +0.0329], # 春分
          [-2986.0,  +222,  -3.2086, +0.0329], # 清明
          [-2368.0,  +176,  -2.6952, +0.0329], # 穀雨
          [-1854.0,  +138,  -2.1818, -0.0329], # 立夏
          [-1340.0,  +100,  -2.6952, -0.0329], # 小満
          [ -722.0,   +54,  -3.2086, -0.0329], # 芒種
          [    0.0,     0,  -3.7220, +0.0329], # 夏至
          [ +722.0,   -54,  -3.2086, +0.0329], # 小暑
          [+1340.0,  -100,  -2.6952, +0.0329], # 大暑
          [+1854.0,  -138,  -2.1818, -0.0329], # 立秋
          [+2368.0,  -176,  -2.6952, -0.0329], # 処暑
          [+2986.0,  -222,  -3.2086, -0.0329], # 白露
          [+3708.0,  -276,  +3.9546, -0.0372], # 秋分
          [+2986.0,  -222,  +3.4091, -0.0372], # 寒露
          [+2368.0,  -176,  +2.8636, -0.0372], # 霜降
          [+1854.0,  -138,  +2.3181, +0.0372], # 立冬
          [+1340.0,  -100,  +2.8636, +0.0372], # 小雪
          [ +722.0,   -54,  +3.4091, +0.0372], # 大雪
        ],
        'm'                       => [
          [1340.0,   -134],                    #   1日
          [1340.0,   -117],                    #   2日
          [1340.0,    -99],                    #   3日
          [1340.0,    -78],                    #   4日
          [1340.0,    -56],                    #   5日
          [1340.0,    -33],                    #   6日
          [1191.0,     -9],                    #   7日
          [ 149.0,      0],                    #   7日
          [1340.0,    +14],                    #   8日
          [1340.0,    +38],                    #   9日
          [1340.0,    +62],                    #   10日
          [1340.0,    +85],                    #   11日
          [1340.0,   +104],                    #   12日
          [1340.0,   +121],                    #   13日
          [1042.0,   +102],                    #   14日
          [ 298.0,    +29],                    #   14日
          [1340.0,   +128],                    #   15日
          [1340.0,   +115],                    #   16日
          [1340.0,    +95],                    #   17日
          [1340.0,    +74],                    #   18日
          [1340.0,    +52],                    #   19日
          [1340.0,    +28],                    #   20日
          [ 892.0,     +4],                    #   21日
          [ 448.0,      0],                    #   21日
          [1340.0,    -20],                    #   22日
          [1340.0,    -44],                    #   23日
          [1340.0,    -68],                    #   24日
          [1340.0,    -89],                    #   25日
          [1340.0,   -108],                    #   26日
          [1340.0,   -125],                    #   27日
          [ 743.0+1.0/12, -71]                 #   28日
        ]
     })
    },
    'doyo'   => (Rational( 4,15) +  244) / 1340
   }
  ],

  [ChineseLuniSolar,
    'name:[大衍暦]',
    'time_basis:+00,+#{P:03}',
    {'formula'=>['12S', '1L'].map {|f|
      Ephemeris::ChineseTrueLunation.new({
        'formula'                  => f,
        'day_epoch'                => -35412747829,
        'year_length'              => '1110343/3040',
        'lunation_length'          =>   '89773/3040',
        'anomalistic_month_length' =>  '6701279/243200', # 27.0 +(1685.0+79.0/80)/3040,
        'anomalistic_month_shift'  =>  '1/2',
        's'                        => [
          [    0.0,     0, +13.4524, -0.1886], # 冬至
          [-2353.0,  +176, +10.5564, -0.1634], # 大寒
          [-4198.0,  +314,  +8.0408, -0.1446], # 小寒
          [-5588.0,  +418,  +5.8160, -0.1318], # 立春
          [-6564.0,  +491,  +3.7987, -0.1240], # 雨水
          [-7152.0,  +535,  +1.9265, -0.1240], # 啓蟄
          [-7366.0,  +551,  -0.2048, -0.1178], # 春分
          [-7152.0,  +535,  -1.9968, -0.1190], # 清明
          [-6564.0,  +491,  -3.7956, -0.1240], # 穀雨
          [-5588.0,  +418,  -5.6626, -0.1324], # 立夏
          [-4198.0,  +314,  -7.6555, -0.1436], # 小満
          [-2353.0,  +176,  -9.9405, -0.1436], # 芒種
          [    0.0,     0, -12.0819, +0.1436], # 夏至
          [+2353.0,  -176,  -9.7018, +0.1324], # 小暑
          [+4198.0,  -314,  -7.5450, +0.1240], # 大暑
          [+5588.0,  -418,  -5.5634, +0.1190], # 立秋
          [+6564.0,  -491,  -3.7038, +0.1178], # 処暑
          [+7152.0,  -535,  -1.8954, +0.1178], # 白露
          [+7366.0,  -551,  +0.1783, +0.1240], # 秋分
          [+7152.0,  -535,  +2.0042, +0.1318], # 寒露
          [+6564.0,  -491,  +3.8950, +0.1446], # 霜降
          [+5588.0,  -418,  +5.9214, +0.1634], # 立冬
          [+4198.0,  -314,  +8.1610, +0.1886], # 小雪
          [+2353.0,  -176, +10.9010, +0.1886], # 大雪
        ],
        'm'                       => [
          [3040.0,   +297],                    #   1日
          [3040.0,   +259],                    #   2日
          [3040.0,   +220],                    #   3日
          [3040.0,   +180],                    #   4日
          [3040.0,   +139],                    #   5日
          [3040.0,    +97],                    #   6日
          [2701.0,    +48],                    #   7日
          [ 339.0,     -6],                    #   7日
          [3040.0,    -64],                    #   8日
          [3040.0,   -106],                    #   9日
          [3040.0,   -148],                    #   10日
          [3040.0,   -189],                    #   11日
          [3040.0,   -229],                    #   12日
          [3040.0,   -267],                    #   13日
          [2363.0,   -231],                    #   14日
          [ 677.0,    -66],                    #   14日
          [3040.0,   -289],                    #   15日
          [3040.0,   -250],                    #   16日
          [3040.0,   -211],                    #   17日
          [3040.0,   -171],                    #   18日
          [3040.0,   -130],                    #   19日
          [3040.0,    -87],                    #   20日
          [2024.0,    -36],                    #   21日
          [1016.0,    +18],                    #   21日
          [3040.0,    +73],                    #   22日
          [3040.0,   +116],                    #   23日
          [3040.0,   +157],                    #   24日
          [3040.0,   +198],                    #   25日
          [3040.0,   +237],                    #   26日
          [3040.0,   +276],                    #   27日
          [1686.0,   +165]                     #   28日
        ]
     })
    },
    'doyo'   => (Rational(13,30) +  531) / 3040
   }
  ],

  [ChineseLuniSolar,
    'name:[五紀暦]',
    'time_basis:+00,+#{P:06}',
    {'formula'=>['12S', '1L'].map {|f|
      Ephemeris::ChineseTrueLunation.new({
        'formula'                  => f,
        'day_epoch'                => -96608689,
        'year_length'              => '122357/335',
        'lunation_length'          =>  '39571/1340',
        'anomalistic_month_length' =>  '1366156/49580', # 27.0 + (743.0+5.0/37)/1340,
        's'                        => [
          [    0.0,     0,  +5.9668, -0.0843], # 冬至
          [-1037.0,   +78,  +4.6652, -0.0721], # 大寒
          [-1850.0,  +139,  +3.5656, -0.0653], # 小寒
          [-2463.0,  +185,  +2.5583, -0.0590], # 立春
          [-2893.0,  +217,  +1.6375, -0.0532], # 雨水
          [-3152.0,  +236,  +0.8384, -0.0532], # 啓蟄
          [-3246.0,  +243,  -0.0972, -0.0505], # 春分
          [-3152.0,  +236,  -0.8480, -0.0534], # 清明
          [-2893.0,  +217,  -1.6517, -0.0561], # 穀雨
          [-2463.0,  +185,  -2.5057, -0.0584], # 立夏
          [-1850.0,  +139,  -3.3781, -0.0643], # 小満
          [-1037.0,   +78,  -4.3954, -0.0643], # 芒種
          [    0.0,     0,  -5.3592, +0.0643], # 夏至
          [+1037.0,   -78,  -4.2877, +0.0584], # 小暑
          [+1850.0,  -139,  -3.3459, +0.0561], # 大暑
          [+2463.0,  -185,  -2.4475, +0.0534], # 立秋
          [+2893.0,  -217,  -1.5966, +0.0505], # 処暑
          [+3152.0,  -236,  -0.8185, +0.0505], # 白露
          [+3246.0,  -243,  +0.0858, +0.0532], # 秋分
          [+3152.0,  -236,  +0.8505, +0.0590], # 寒露
          [+2893.0,  -217,  +1.6943, +0.0653], # 霜降
          [+2463.0,  -185,  +2.6205, +0.0721], # 立冬
          [+1850.0,  -139,  +3.6007, +0.0843], # 小雪
          [+1037.0,   -78,  +4.8330, +0.0843], # 大雪
        ],
        'm'                       => [
          [1340.0,   -135],                    #   1日
          [1340.0,   -117],                    #   2日
          [1340.0,    -99],                    #   3日
          [1340.0,    -78],                    #   4日
          [1340.0,    -56],                    #   5日
          [1340.0,    -33],                    #   6日
          [1191.0,     -8],                    #   7日
          [ 149.0,     +1],                    #   7日
          [1340.0,    +14],                    #   8日
          [1340.0,    +38],                    #   9日
          [1340.0,    +62],                    #   10日
          [1340.0,    +85],                    #   11日
          [1340.0,   +103],                    #   12日
          [1340.0,   +118],                    #   13日
          [1042.0,   +105],                    #   14日
          [ 298.0,    +30],                    #   14日
          [1340.0,   +128],                    #   15日
          [1340.0,   +115],                    #   16日
          [1340.0,    +95],                    #   17日
          [1340.0,    +74],                    #   18日
          [1340.0,    +52],                    #   19日
          [1340.0,    +28],                    #   20日
          [ 892.0,     +6],                    #   21日
          [ 448.0,     -3],                    #   21日
          [1340.0,    -20],                    #   22日
          [1340.0,    -42],                    #   23日
          [1340.0,    -65],                    #   24日
          [1340.0,    -89],                    #   25日
          [1340.0,   -109],                    #   26日
          [1340.0,   -125],                    #   27日
          [ 743.0+5.0/37, -75]                 #   28日
        ]
     })
    },
    'doyo'   => (Rational( 4,15) +  244) / 1340
   }
  ],

  [ChineseSolar,
    'name:[正元暦(節月)]',
    'formula:MeanLunation?year_length=399943/1095&lunation_length=32336/1095&day_epoch=-145149709'
  ],

  [ChineseLuniSolar,
    'name:[宣明暦]',
    'time_basis:+00,+#{P:06}',
    {'formula'=>['12S', '1L'].map {|f|
      Ephemeris::ChineseTrueLunation.new({
        'formula'                  => f,
        'day_epoch'                => -2580308749,
        'year_length'              => '3068055/8400',
        'lunation_length'          =>  '248057/8400',
        'anomalistic_month_length' =>  '23145819/840000', # 27.0 + 4658.19 / 8400,
        'anomalistic_month_shift'  =>  '1/2',
        's'                        => [
          [     0.0,     0, +33.4511, -0.3695], # 冬至
          [ -6000.0,  +449, +28.0389, -0.3606], # 大寒
          [-11000.0,  +823, +22.6998, -0.3519], # 小寒
          [-15000.0, +1122, +17.8923, -0.4068], # 立春
          [-18000.0, +1346, +11.7966, -0.3998], # 雨水
          [-19800.0, +1481,  +5.7986, -0.3998], # 啓蟄
          [-20400.0, +1526,  -0.2433, -0.3779], # 春分
          [-19800.0, +1481,  -6.1254, -0.3634], # 清明
          [-18000.0, +1346, -12.2048, -0.2987], # 穀雨
          [-15000.0, +1122, -16.9060, -0.2919], # 立夏
          [-11000.0,  +823, -21.5362, -0.2854], # 小満
          [ -6000.0,  +449, -26.0498, -0.2854], # 芒種
          [     0.0,     0, -30.3119, +0.2854], # 夏至
          [ +6000.0,  -449, -25.8126, +0.2919], # 小暑
          [+11000.0,  -823, -21.2454, +0.2987], # 大暑
          [+15000.0, -1122, -17.0296, +0.3634], # 立秋
          [+18000.0, -1346, -11.4744, +0.3779], # 処暑
          [+19800.0, -1481,  -5.6429, +0.3779], # 白露
          [+20400.0, -1526,  +0.1432, +0.3998], # 秋分
          [+19800.0, -1481,  +6.1488, +0.4068], # 寒露
          [+18000.0, -1346, +12.6336, +0.3519], # 霜降
          [+15000.0, -1122, +17.8043, +0.3606], # 立冬
          [+11000.0,  -823, +23.0590, +0.3695], # 小雪
          [ +6000.0,  -449, +28.4618, +0.3695], # 大雪
        ],
        'm'                       => [
          [ 8400.0,   +830],                    # 進1日
          [ 8400.0,   +726],                    #   2日
          [ 8400.0,   +606],                    #   3日
          [ 8400.0,   +471],                    #   4日
          [ 8400.0,   +337],                    #   5日
          [ 8400.0,   +202],                    #   6日
          [ 7465.0,    +53],                    #   7日
          [  935.0,     -7],                    #   7日
          [ 8400.0,    -82],                    #   8日
          [ 8400.0,   -224],                    #   9日
          [ 8400.0,   -366],                    #   10日
          [ 8400.0,   -509],                    #   11日
          [ 8400.0,   -643],                    #   12日
          [ 8400.0,   -748],                    #   13日
          [ 6529.095, -646],                    #   14日
          [ 8400.0,   -830],                    # 退1日
          [ 8400.0,   -726],                    #   2日
          [ 8400.0,   -598],                    #   3日
          [ 8400.0,   -464],                    #   4日
          [ 8400.0,   -329],                    #   5日
          [ 8400.0,   -195],                    #   6日
          [ 7465.0,    -53],                    #   7日
          [  935.0,     +7],                    #   7日
          [ 8400.0,    +82],                    #   8日
          [ 8400.0,   +225],                    #   9日
          [ 8400.0,   +366],                    #   10日
          [ 8400.0,   +501],                    #   11日
          [ 8400.0,   +628],                    #   12日
          [ 8400.0,   +740],                    #   13日
          [ 6529.095, +646]                     #   14日
        ]
     })
    },
    'doyo'   => (Rational( 1, 2) + 1468) / 8400
   }
  ],

  [ChineseSolar,
    'name:[前貞享暦(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.675000&year_epoch=1684&year_length=365.241696&year_delta=1'
  ],

  [ChineseSolar,
    'name:[貞享暦(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.689990&year_epoch=1684&year_length=365.241696&year_delta=1'
  ],

  [ChineseSolar,
    'name:[貞享補暦A(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.903800&year_epoch=1684&year_length=365.241696&year_delta=1'
  ],

  [ChineseSolar,
    'name:[貞享補暦B(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.622300&year_epoch=1684&year_length=365.241696&year_delta=1'
  ],

  [ChineseSolar,
    'name:[宝暦暦(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.622100&year_epoch=1684&year_length=365.241696&year_delta=1'
  ],

  [ChineseSolar,
    'name:[修正宝暦暦(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.762200&year_epoch=1684&year_length=365.241766&year_delta=1'
  ],

  [ChineseSolar,
    'name:[寛政暦(節月)]',
    'formula:VariableYearLengthMethod?day_epoch=2336118.720200&year_epoch=1684&year_length=365.242360&year_delta=0'
  ]
].inject([]) {|list, cal|
  if cal.kind_of?(Array) && cal[0] == ChineseLuniSolar
    solar_name  = cal[1].sub(/\]/, '(節月)]')
    lunisolar   = cal.dup << 'twin:Chinese::' + solar_name.gsub(/(name:\[|\])/,'')
    solar       = cal.dup << 'twin:Chinese::' + cal[1].gsub(/(name:\[|\])/,'')
    solar[0..1] = [ChineseSolar, solar_name]
    list << lunisolar << solar
  else
    list << cal
  end
}]
TenrekiA =

太平天国 2.1.1-3.2.30

[CyclicTableBased, {
  'origin_of_LSC'  =>  2397523,
  'origin_of_MSC'  =>  1852,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:ChineseTerms::Month::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'     => {
    'T' => {'Rule'  =>[365]},
    365 => {'Length'=>[31,30]*5 + [30]*2}
  }
}]
TenrekiB =

太平天国 3.3.1-

[CyclicTableBased, {
  'origin_of_LSC'  =>  2397522,
  'origin_of_MSC'  =>  1852,
  'indices' => [
     When::Coordinates::Index.new({:unit  =>12, :trunk=>When.Resource('_m:ChineseTerms::Month::*')}),
     When::Coordinates::Index.new({:shift => 1})
   ],
  'rule_table'     => {
    'T' => {'Rule'  =>[366]},
    366 => {'Length'=>[31,30]*6}
  },
  'note' => 'DefaultNotes'
}]
Yi =

[CyclicTableBased, {
  'label'   => When.Resource('_m:ChineseTerms::Yi'),
  'origin_of_LSC'  =>  1721431,
  'origin_of_MSC'  =>  1,
  'indices' => [
     When::Coordinates::Index.new({:unit  =>11, :trunk=>When.Resource('_m:YiTerms::Month::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'     => {
    'T' => {'Rule'  =>[365, 365, 365, 366]},
    365 => {'Length'=>[36]*10 + [5]},
    366 => {'Length'=>[36]*10 + [6]}
  },
  'note' => 'YiNotes'
}]
SolarHejri =

Solar Hejri Calendar

[YearLengthTableBased, {
  'label'   => When.Resource('_m:IranianTerms::SolarHejri'),
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:IranianTerms::Month::*')}),
     When::Coordinates::DefaultDayIndex
   ],
   'origin_of_MSC' => -621,
   'epoch_in_CE'   => 0,
   'cycle_offset'  => 0,
   'time_basis'    => '+15:30',
   'rule_table'    => {
     365 => {'Length'=>[31] * 6 + [30] * 5 + [29]},
     366 => {'Length'=>[31] * 6 + [30] * 6}
   }
}]
TabularIslamic =

Tabular Islamic Calendar

[CyclicTableBased, {
  'label' => When.Resource('_m:IslamicTerms::TabularIslamic'),
  'origin_of_LSC'  =>  1948440-354,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:IslamicTerms::Month::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'     => {
    'T' => {'Rule'  =>[['L',2], 'S', ['L',3], 'S', ['L',2], 'S', 'L']},
    'L' => {'Rule'  =>[354, 354, 355]},
    'S' => {'Rule'  =>[354, 355]},
    354 => {'Length'=>[30,29] * 6           },
    355 => {'Length'=>[30,29] * 5 + [30] * 2}
  }
}]
Darian =

Darian Calendar

[CyclicTableBased, {
  'label' => When.Resource('_m:MartianTerms::Darian'),
  'time_basis'    => 'MTC',
  'origin_of_LSC' =>  -94798,
  'indices' => [
     When::Coordinates::Index.new({:unit =>24, :trunk=>When.Resource('_m:MartianTerms::DarianMonth::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table' => {
    'T'             => {'Rule' =>['LongCentury', ['ShortCentury', 4]]},
    'LongCentury'   => {'Rule' =>[               ['LongDecade',  10]]},
    'ShortCentury'  => {'Rule' =>['ShortDecade', ['LongDecade',   9]]},
    'LongDecade'    => {'Rule' =>[669] * 2 + [668, 669] * 4 }, 
    'ShortDecade'   => {'Rule' =>            [668, 669] * 5 },
    668  => {'Length'=>[28, 28, 28, 28, 28, 27] * 4           },
    669  => {'Length'=>[28, 28, 28, 28, 28, 27] * 3 + [28] * 6}
  },
  'note'   => 'DarianWeek'
}]
BalineseLuniSolar1965 =
[BalineseLuniSolar, {
  'day_epoch'  => 1749594, # CE78-02-16
  'day_border' => 0,       # Friday
  'rule_table' => intercalary_pattern_1
}]
BalineseLuniSolar1971 =
[BalineseLuniSolar, {
  'day_epoch'  => 1749594, # CE78-02-16
  'day_border' => -23,     # Wednesday
  'rule_table' => intercalary_pattern_1
}]
BalineseLuniSolar1993 =
[BalineseLuniSolar, {
  'day_epoch'  => 1749594, # CE78-02-16
  'day_border' => -23,     # Wednesday
  'rule_table' => intercalary_pattern_2
}]
BalineseLuniSolar2000 =
[BalineseLuniSolar, {
  'day_epoch'  => 1749593, # CE78-02-15
  'day_border' => -23,     # Tuesday
  'rule_table' => intercalary_pattern_2
}]
BalineseLuniSolar2003 =
[BalineseLuniSolar, {
  'day_epoch'  => 1749593, # CE78-02-15
  'day_border' => -23,     # Tuesday
  'rule_table' => intercalary_pattern_1
}]
Tenganan =

Tenganan Calendar

[CyclicTableBased, {
  'label' => When.Resource('_m:BalineseTerms::Tenganan'),
  'origin_of_LSC' =>  1095 * 1573 - 381,
  'origin_of_MSC' =>  1,
  'indices' => [
     When::Coordinates::Index.new({:trunk=>When.Resource('_m:BalineseTerms::TengananMonth::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table' => {
    'T'  => {'Rule'  =>[360, 379, 356]},
    360  => {'Length'=>[30] * 12},
    379  => {'Length'=>[30] * 6 + [26] * 2 + [30] * 4 + [27]},
    356  => {'Length'=>[30] * 6 + [28] * 2 + [30] * 4 }
  }
}]
Japanese =

日本の朔閏表

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>454, 'origin_of_LSC'=>1886926,
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:JapaneseTerms::Month::*')}),
     Coordinates::DefaultDayIndex
 ],
'note'      => 'JapaneseNote',
'rule_table'=> %w(
  aBcDeFgHiJkL aBCdEfGhIjKl
  AbCcDeFGhIjKl  AbCdEfGhIjKL aBcDeFgHiJkLl AbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIiJKl  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDeEFgHiJkL  aBcDeFgHiJKl
  AbCdEfGhIjKl AaBCdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHiJKkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AbCdEFgGhIjKl AbCdEfGhIJkL  aBcDeFgHiJkL aBCcDeFgHiJkL
  aBcDEfGhIjKl AbCdEfGhIJkLl AbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGhIiJkL
  aBcDeFgHIjKl AbCdEfGhIjKl  ABcDeEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl
  AaBcDeFgHiJkL  AbCdEfGhIjKl AbCDeFgHiJjKl AbCdEfGHiJkL  aBcDeFgHiJkL
  AbCdEfGgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDdEfGhIjKL  aBcDeFgHiJkL
  aBCdEfGhIjKlL  aBcDeFGhIjKl AbCdEfGhIjKL  aBcDeFgHhIjKl  ABcDeFgHiJkL

  aBcDeFGhIjKl AbCdEeFgHiJKl AbCdEfGhIjKl  ABcDeFgHiJkL aBbCdEFgHiJkL
  aBcDeFgHiJKl AbCdEfGhIjJkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFfGhIJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbCcDEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkLL
  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGhIIjKl  AbCdEfGhIjKl ABcDeFgHiJkL
  aBcDEeFgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKl  ABbCdEfGhIjKl  AbCDeFgHiJkL
  aBcDeFgHIjKkL  aBcDeFgHiJkL AbCdEfGhIjKl  AbCDeFgGhIjKl  AbCdEfGHiJkL
  aBcDeFgHiJkL AbCcDeFgHiJkL aBCdEfGhIjKl  AbCdEfGHiJkLl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBCdEfGhIiJkL aBcDeFGhIjKl  AbCdEfGhIjKL aBcDeEfGhIjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AaBcDeFgHiJKl  AbCdEfGhIjKl ABcDeFgHiJjKl
  AbCdEFgHiJkL aBcDeFgHiJKl  AbCdEfGgHiJkL  AbCdEfGhIjKl AbCdEFgHiJkL

  aBcDdEfGhIJkL  aBcDeFgHiJkL AbCdEfGhIjKlL aBcDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEeFgHIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBbCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhIjJKl  AbCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFfGHiJkL aBcDeFgHiJKl  AbCdEfGhIjKl AbCDdEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJKlL aBcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHhIjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEeFgHiJkL  aBcDeFGhIjKl AbCdEfGhIjKL
  aBbCdEfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKkL aBcDeFgHiJKl  AbCdEfGhIjKl
  ABcDeFgGhIjKl  AbCdEFgHiJkL aBcDeFgHiJKl  AbCcDeFgHiJkL  AbCdEfGhIjKl
  AbCdEFgHiJkLl  AbCdEfGhIJkL
          aBcDeFgHiJkL AbCdEfGhIiJkL aBcDEfGhIjKl
  AbCdEfGhIJkL aBcDeEfGhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AaBcDeFgHIjKl

  AbCdEfGhIjKL aBcDeFgHiJjKl AbCDeFgHiJkL  aBcDeFgHIjKl AbCdEfGgHiJKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcCdEfGHiJkL  aBcDeFgHiJKl AbCdEfGhIjKkL
  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDeFgHhIJkL  aBcDeFgHiJkL aBCdEfGhIjKl
  AbCdEeFGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  aBBcDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIJjKl  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHIjKl
  AbCdEfGhIjKl ABcDdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHIjKlL  aBcDeFgHiJkL
  AbCdEfGhIjKl AbCdEFgHhIjKl AbCdEfGHiJkL  aBcDeFgHiJkL AbCdEeFgHiJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBbCdEfGhIjKL  aBcDeFgHiJkL aBcDEfGhIjKkL
  aBcDeFgHIjKl AbCdEfGhIjKL  aBcDeFgGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl
  AbCcDeFgHiJKl  AbCdEfGhIjKl AbCDeFgHiJkLl AbCdEfGHiJkL  aBcDeFgHiJKl

  AbCdEfGhIiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDeEfGhIJkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AaBcDeFGhIjKl AbCdEfGhIJkL  aBcDeFgHiJjKl  ABcDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGgHIjKl AbCdEfGhIjKl  ABcDeFgHiJkL aBcCdEFgHiJkL
  aBcDeFgHIjKl AbCdEfGhIjKkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIiJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbCdEFfGhIjKl  AbCdEfGHiJkL aBcDeFgHiJkL
  AbBcDeFgHiJkL  aBcDEfGhIjKl AbCdEfGHiJjKl AbCdEfGhIjKL  aBcDeFgHiJkL
  aBcDEfGgHiJkL  aBcDeFGhIjKl AbCdEfGhIjKL  aBcDdEfGhIjKl  AbCDeFgHiJkL
  aBcDeFGhIjKlL  aBcDeFgHiJKl AbCdEfGhIjKl  AbCDeFgHhIjKl  AbCdEFgHiJkL
  aBcDeFgHiJKl AbCdEeFgHijKL aBCdEfGhIjKl  AbCdEFgHiJkL aBbCdEfGhIJkL
  aBcDeFgHiJKl aBcDEfgHIjKLl AbcDeFgHIjKL  aBcdEfgHIjKL AbCdeFggHiJKL

  aBCdeFghIjKL aBCdEfGhIjkL  AbCdDEfGhIjkL  aBCdEfGHiJkL abCdEfGHiJKl
  AabCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHhIJKl ABcdEfgHiJKl  ABcDeFghIjKl
  ABCdEfFgHijKl  ABcDEfGhIjkL aBcDEfGhIJkL  abBcDeFGhIJkL  abCdEfGhIJKl
  AbcDefGhIJKkL  AbcDefGhIJkL ABcdEfgHiJkL  ABcDeFggHiJkL  AbCDeFghIjKl
  AbCDeFgHIjkL aBcDdEFgHIjKl aBcDeFgHIjKL  abCdeFgHIJkL AabCdeFgHIjKL
  AbcDefGHijKL AbCdEfgHiIjKL aBCdEfgHiJkL  AbCdEFghIjKl AbCDeFfGhIjKl
  AbCdEfGHiJkL aBcdEFgHIjKL  aBccdEfGHiJKl  AbCdeFgHiJKL aBcDefGhIjKKl
  ABcDefGhIjKl ABCdEfgHiJkL  aBCdEfGgHiJkL  aBcDEfGhIjKl AbCdEfGHiJkL
  aBccDeFGhIJkL  aBcdEfGhIJKl AbCdeFgHiJKL  aAbCdeFghIJkL  ABcDefGhiJKl
  ABcDEfgHiIjKl  AbCDeFgHiJkL aBcDeFGhIjKl  AbcDEeFgHIjKl  AbcDeFgHIJkL

  aBcdEfGhIJkL AbCcdEfgHIjKL AbCdeFghIJkL  ABcDefGhiJjKL  AbCdEfGhiJkL
  AbCDeFgHiJkL aBcDeFGhHiJkL abCdEFgHIjKl  AbcDeFgHIjKL aBcdDefGHiJKL
  aBcdEfGhIjKl ABCdeFghIjKLl ABCdeFghIjKL  aBCdEfGhiJkL aBCdEFgHiJjkL
  aBCdEfGHiJkL abCdEfGHiJKl  AbcDeFfGhIJKl  AbcDefGhIJKL aBcdEfgHiJKL
  aBCcdEfgHiJKl  ABcDeFghIjKL aBcDEfGhIjkKL aBcDeFGhIjkL  aBcDEfGHiJkL
  abCdEfGHhIJkL  aBcdEfgHIJkL AbCDefghIJKl  ABcDeefGhIJKL  aBcdEfgHiJKL
  aBcDeFghIjKl AAbCDeFghIjKl ABcDeFGhIjkL  aBcDeFGhIiJKl  aBcDeFgHIJkL
  abCdEfgHIjKL AbCdeeFgHiJKL aBcDefGhIjKL  AbCdEfgHiJkL ABcCdEfGhiJkL
  aBCDeFghIjKl ABcdEFgHIjKkl AbCdEfGHiJkL  aBcdEfGHiJKL abCdeFgGHiJKL
  abCdeFgHiJKL aBcDefGhIjKL  AbCdEefGhiJKL  aBCdEfgHiJkL aBCdEfGhIjKl

  AaBcDeFGhIjKl  AbcDEfGHiJkL aBcdEfGHiJJkL aBcdEfGhIJKl  AbCdeFghIJKL
  aBcDefFghIJKL  aBcDefGhIjKl ABcDEfgHijKL  aBbCDeFgHiJkL  aBcDeFGhIJkl
  AbcDeFGhIJkLl  AbcDeFgHIJkL aBcdEfGhIJkL  AbCdeFggHIjKL  AbCdeFghIjKL
  AbCDefGhiJKl AbCDdEfGhIjkL AbCDeFgHiJkL  aBcDeFgHIjKl AAbcdEFgHIjKl
  AbcDeFgHIjKL AbcdEfgHIiJKL aBcdEfgHIjKL  aBCdeFghIjKL AbCdEfGghIjKl
  ABCdEfGhiJkL aBCdEfGHiJkL  AbccDEfGHiJkL  abCdEfGHiJKl AbcDEfgHiJKLl
  AbcDefGHiJKL AbcdEfgHiJKL  aBCdeFggHiJKl  ABcDeFghIjKL aBcDEfGhiJkL
  aBcDEeFGhIjkL  aBcDeFGhIJkL abCdEfGHiJKl  AabCdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiIJkL  ABcdEfgHiJKl ABcDeFghIjKl  ABcDEfGgHijKl  AbCDeFgHIjKl
  aBcDeFGhIJkL abCcDeFgHIJkL abCdeFgHIJkL  AbcDefGhIJkLL  AbcDefGhIjKL

  AbCdEfgHiJkL AbCDeFghHiJkL aBCdEFghIjKl  AbCdEFgHiJKL abcDdEfGHiJKl
  aBcdEfGHIjKL abCdeFgHIjKL  AbbCdeFgHiJKL  aBcDefGhIjKL AbCdEfgHiJJkL
  aBCdEfgHiJkL AbCdEFgHijKl  AbCDeFfGhIJkl  AbCdEfGHiJKl AbcDeFgHIjKL
  aBccdEfGHiJKL  aBcdeFgHiJKL aBCdefGhIjKLl ABcDeFghIjKL  aBCdEfGhiJkL
  aBCdEfGhHiJkL  aBcDEfGhIjKL abCdEfGHiJKL  abcDdeFGhIJkL  AbcdEfGhIJKl
  ABcdeFgHiJKl ABbCdeFgHiJkL ABcDefGhIjKl  ABcDEfgHiJjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGgHIjKl AbCdeFgHIJkL  aBcdEfGhIJkL AbCcDefGhIjKL
  AbCdEfghIJkL ABcDefGhIjKkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIiJkl
  ABcdEfGHIjKL abCdeFgHIjKL  aBcDeeFgHiJKL  aBcdEfgHIjKL AbCdEfghIjKL
  AaBCdeFgHijKL  aBCdEfGhIjKl AbCdEFgHiJjKl AbCdEfGHiJkL  abCdEfGHiJKl

  AbCdeFfGhIJKl  AbCdefGHiJKL aBcDefgHiJKL  aBCcDefgHiJKl  ABcDeFgHijKL
  aBcDEfGhIjkLl  ABcDeFGhIjKl aBcDeFGhIJkL  abCdEfGhHIJkL  aBcdEfGhIJKl
  AbCdefGhIJKl ABcDeefGhIJkL ABcdEfgHiJkL  ABcDeFgHijKl ABbCDeFgHijKl
  AbCDeFgHIjKl aBcDeFGhIJjKl aBcDeFgHIjKL  aBcdeFgHIJkL AbCdefFgHIjKL
  AbCdefGhIjKL AbCdEfgHiJkL  AbCDdEfgHiJkL  aBCdEFghIjKl AbCdEFgHiJKll
  AbCdEfGHiJKl aBcDefGHIjKL  aBcdeFgHHiJKL  aBcdeFgHiJKL aBcDefGhIjKL
  aBCdEefGhIjKl  ABCdEfgHiJkL aBCdEfGhIjKl  AaBcDEfGhIjKl  AbCdEfGHiJkL
  aBcdEfGHiJKkl  ABcdEfGhIJkl ABCdeFgHiJKl  ABcDefGgHiJkL  ABcDefGhIjKl
  ABcDEfgHiJkL aBcCDeFgHijKL aBcDeFGhIjKl  AbCdeFGhIJkLl  AbcDeFgHIJkL
  aBcdEfGhIJkL AbCdeFggHIjKL AbCdeFghIJkL  AbCDefGhiJKl AbCDeEfGhIjKl

  AbCDeFgHiJkL aBcDeFgHIjKl  AabCdEfGHIjKl  AbcDeFgHIjKL aBcdEfgHIiJKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbCdEfGghIjKL  aBCdEfGhIjkL AbCdEFgHiJkL
  abCcDEfGHiJkL  abCdEfGHiJKl AbcDeFgHiJKLl AbcDefGhIJKl  ABcdEfgHiJKL
  aBCdeFghHiJKl  ABcDeFghIjKL aBcDEfGhIjkL  aBCdEeFGhIjKl  aBcDeFGhIJkL
  abCdEfGhIJKl AbbCdeFGhIJKl AbcDefGhIJKl  ABcdEfgHiJJkL  AbCdEfghIJkL
  ABcDeFghIjKl ABcDEfGghIjKl AbCDeFgHIjKl  aBcDeFGhIJkL abCcDeFgHIjKL
  abCdeFgHIJkL AbcDefGhIJkLL aBcDefGhIjKL  AbCdEfgHiJkL AbCDeFghHiJkL
  aBCdEfGhIjKl AbCdEFgHiJkL  aBcDeEfGHiJKl  aBcdEfGHIjKL abCdeFgHIjKL
  AbbCdeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJjKl ABcDeFgHiJkL  aBCdEfGhIjKl
  AbCdEfGGhIjKl  AbcDeFGHiJkL aBcdEfGHiJKl  AbCcdEfGhIJKl  AbCdeFgHiJKl

  ABcDefGhiJKLl  ABcDefGhiJKl ABcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFGhIjKl
  AbcDeFGhIJkL aBcdEeFgHIJkL aBcdEfGhIJkL  AbCdeFghIJkL ABbCdeFghIJkL
  AbCDefGhiJKl AbCDeFgHiJjKl AbCdEFgHiJkL  abCDeFgHIjKl AbcDeFfGHIjKl
  AbcDeFgHIjKL aBcdEfgHIjKL  AbCddEfgHIjKL  AbCdeFghIjKL AbCdEfGhiJkLL
  aBCdEfGhIjkL AbCdEFgHiJkL  abCdEFgHIiJkL  abCdEfGHiJKl AbcDeFgHiJKL
  aBcdEefGHiJKL  aBcdEfgHiJKL aBCdeFghIjKL  aBBcDeFghIjKL  aBcDEfGhIjkL
  aBCdEfGHiJjKl  aBcDeFGhIJkL abCdEfGhIJKl  AbcDefFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKl ABCddEfgHiJkL ABcDeFghIjKl  ABcDeFGhiJkLl  AbCDeFgHIjKl
  aBcDeFGhIjKL abCdEfGhIIjKL abCdeFgHIJkL  AbcDefGhIJkL AbCdEefGhIjKL
  AbCdEfgHiJkL AbCDeFghIjKl  AaBCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIjjKL

  aBcdEfGHIjKL abCdeFgHIjKL  aBcDefGgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL
  aBCcDEfgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkLl AbCdEfGHiJkL  aBcdEfGHiJKl
  AbCdeFgHhIJKl  AbCdeFgHiJKl ABcDefGhIjKl  ABCdEefGhiJKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AaBcDeFGhIjKl AbcDeFGhIJkL  aBcdEfGhIJjKL  aBcdEfGhIJkL
  AbCdeFghIJkL ABcDefGghIJkL AbCDefGhiJKl  AbCDeFgHiJkL aBcDdEFgHiJkL
  abCDeFgHIjKl AbcDeFgHIJkLl AbcDeFgHIjKL  aBcdEfgHIjKL AbCdeFghHiJKL
  aBCdeFghIjKL AbCDefGhiJkL  AbCDeFfGhIjkL  aBCdEfGHiJkL abCdEFgHIjKl
  AbbCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHiJJKl ABcdEfgHiJKL  aBCdeFghIjKL
  aBCdEfGghIjKl  ABcDEfGhiJkL aBcDEfGhIJkl  AbCcDeFGhIJkl  AbCdEfGhIJKl
  AbcDefGhIJKl AAbcDefGhIJKl ABcdEfgHiJKl  ABcDeFghIiJkL  ABcDeFghIjKl

  ABcDeFGhiJkL aBcDEeFgHiJkL aBcDeFGhIjKL  abCdeFGhIJkL AbbCdeFgHIJkL
  AbcDefGhIJkL AbCdEfgHiJjKL AbCdEfgHiJkL  AbCDeFghIjKl AbCDeFgGhIjKl
  AbCdEFgHiJkL aBcDeFgHIjKL  abCcdEfGHIjKL  abCdeFgHiJKL aBcDefGhIjKL
  AaBcDefGhIjKL  aBCdEfgHiJkL aBCdEfGhIiJkL aBcDEfGhIjKl  AbCdEfGHiJkL
  aBcdEeFGHiJkL  aBcdEfGHiJKl AbCdeFgHiJKL  aBbCdeFghIJKl  ABcDefGhiJKl
  ABCdEfgHijJKl  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGgHIjKl  AbcDeFGhIJkL
  aBcdEfGhIJKl AbCddEfgHIJkL AbCdeFghIJkL  ABcDefGhiJKlL  AbCdEfGhiJkL
  AbCDeFgHiJkl ABcDeFGhIiJkl AbCdEFgHIjKl  AbcDeFgHIJkL aBcdEeFgHIjKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbBCdeFghIjKL  aBCdEfGhiJkL AbCDeFgHijJkL
  aBCdEfGHiJkl AbCdEFgHiJKl  AbcDeFfGHiJKl  AbcDefGHiJKL aBcdEfgHiJKL

  aBCddEfgHiJKL  aBcDeFghIjKL aBCdEfGhiJkLl ABcDEfGhiJkL  aBcDEfGhIJkl
  AbCdEfGHiIjKl  AbCdEfGhIJKl AbcDefGhIJKl  ABcdEefGhIJKl  ABcdEfgHiJKl
  ABcDeFghIjKl ABbCDeFghIjKl ABcDeFgHiJkL  aBcDeFGhIjjKL  aBcDeFgHIjKL
  abCdeFGhIJkL AbcDefGgHIJkL AbcDefGhIjKL  AbCdEfgHiJkL ABcDdEfgHiJkL
  AbCDefGhIjKl AbCDeFgHiJkLl AbCdEFgHiJkL  aBcDeFgHIjKl AbCdeFgHIiJKl
  AbCdeFgHiJKL aBcDefGhIjKL  AbCdEffGhIjKL  aBCdEfgHiJkL aBCdEfGhIjKl
  AbBcDEfGhIjKl  AbCdEfGHiJkL aBcdEfGHiJjKL aBcdEfGHiJKl  AbCdeFgHiJKL
  aBcDefGghIJKl  ABcDefgHiJKl ABCdeFgHijKL  aBCdDeFgHiJkL  aBcDEfGhIjKl
  AbcDEfGHiJkLl  AbcDeFGhIJkL aBcdEfGhIJKl  AbCdeFghHIJkL  AbCdefGhIJkL
  ABcDefGhiJKl ABcDeFfGhiJkL AbCDeFgHijKl  ABcDeFGhIjKl aBbCdEFgHIjKl

  AbcDeFgHIJkL aBcdEfgHIJjKL aBcdeFgHIjKL  AbCdefGhIjKL AbCDefGghIjKL
  aBCdEfGhiJkL AbCDeFgHijKl  AbCDdEfGHiJkl  AbCdEfGHiJKl AbcDeFgHIjKL
  aAbcDefGHiJKL  aBcdeFgHiJKL aBCdeFghIiJKL aBcDeFghIjKL  aBCdEfGhiJkL
  aBCdEFfGhiJkL  aBcDEfGhIJkl AbCdEfGHiJKl  AbbCdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJjKL  AbCdEfgHiJKl ABcDeFghIjKl  ABcDEfGghIjKl  ABcDeFgHiJkL
  aBcDeFGhIjKl AbCcDeFgHIjKl AbCdeFgHIJkL  AbcDefGhIJKl AaBcDefGhIjKL
  AbCdEfgHiJkL ABcDeFghIiJkL AbCDefGhIjKl  AbCDeFgHiJkL aBcDeFFgHiJkL
  aBcdEFgHIjKl AbCdeFgHIjKL  aBbCdeFgHiJKL  aBcDefGhIjKL AbCdEfghIjJKL
  aBCdeFgHijKL aBCdEfGhIjKl  AbCdEFggHIjKl  AbCdEfGHiJkL aBcdEfGHiJKl
  AbCddEfGhIJKl  AbCdeFgHiJKL aBcDefgHiJKLl ABcDefgHiJKl  ABcDeFgHijKL

  aBCdEfGhIijKL  aBcDeFGhIjKl aBcDEfGhIJkL  aBcdEeFGhIJkL  aBcdEfGhIJKl
  AbCdefGhIJKl ABcCdefGhIJkL ABcDefgHiJKl  ABcDeFgHijjKL  AbCDeFgHijKl
  ABcDeFGhIjKl aBcDeFGgHIjKl aBcDeFgHIJkL  aBcdEfgHIJkL AbCddeFgHIjKL
  AbCdefGhIjKL AbCdEfgHiJkL  AaBCdEfGhiJkL  AbCdEFgHijKl AbCDeFgHIijKl
  AbCdEfGHiJKl aBcDeFgHIjKL  aBcdeEfGHiJKL  aBcdeFgHiJKL aBCdefGhIjKL
  AbCcDefGhIjKL  aBCdEfGhiJkL aBCdEfGhIjjKL aBcDEfGhIjKl  AbCdEfGHiJKl
  aBcDefGGhIJKl  AbcdEfGhIJKl ABcdeFgHiJKL  aBcDdeFgHiJKl  ABcDefGhIjKl
  ABcDEfgHiJkLl  AbCDeFgHiJkL aBcDeFGhIjKl  AbCdEfGhIJjKl  AbCdeFgHIJkL
  AbcdEfGhIJKl AbCdeFfGhIjKL AbCdEfghIJkL  ABcDefGhIjKl ABbCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFGhIjjKL aBcdEFgHIjKl  AbcDeFgHIjKL aBcDefGgHiJKL

  aBcDefgHIjKL AbCdEfghIjKL  AbCDdeFgHijKL  aBCdEfGhIjKl AbCdEFgHiJkLl
  AbCdEfGHiJkL abCdEfGHiJKl  AbcDeFgHhIjKL  AbCdefGHiJKL aBcDefgHiJKL
  aBCdeFfgHiJKl  ABcDeFgHijKL aBCdEfGhIjkL  aBCcDeFGhIjKl  aBcDeFGhIJkL
  abCdEfGHijjKL  AbCdEfGhIJKl AbCdefGhIJKl  ABcDefgGhIJkL  ABcdEfgHiJKl
  ABcDeFghIjKl ABcDEeFgHijKl AbCDeFgHIjKl  aBcDeFGhIJkL aaBcDeFgHIjKL
  aBcdeFgHIJkL AbCdefGhIIjKL AbCdefGhIjKL  AbCdEfgHiJkL AbCDeFfgHiJkL
  AbCdEFgHijKl AbCdEFgHiJKl  aBbCdEfGHiJKl  aBcDeFgHIjKL aBcdeFgHIjjKL
  AbCdeFgHiJKL aBcDefGhIjKL  AbCdEfggHIjKL  aBCdEfgHiJkL aBCdEfGhIjKl
  AbCdDEfGhIjKl  AbCdEfGHiJKl aBcdEfGHiJKl  ABbcdEfGhIJKl  AbCdeFgHiJKL
  aBcDefGhIiJKl  ABcDefGhIjKl ABcDEfgHiJkL  aBcDEfFgHiJkL  aBcDeFGhIjKl

  AbCdeFGhIJkL aBbcDeFgHIJkL aBcdEfGhIJKl  AbCdeFghIJjKL  AbCdeFghIJkL
  ABcDefGhiJKl ABcDeFggHIjKl AbCDeFgHiJkL  aBcDeFgHIjKl AbcDdEFgHIjKl
  AbcDeFgHIjKL aBcdEfGhIjKL  AaBcdEfgHIjKL  AbCdeFghIjKL AbCDefGhiIjKL
  aBCdEfGhIjkL AbCdEFgHiJkL  abCdEFfGHiJkL  abCdEfGHiJKl AbcDeFgHiJKL
  aBccDefGHiJKL  aBcdEfgHiJKL aBCdeFghIjjKL AbCDeFghIjKL  aBCdEfGhIjkL
  aBCdEfGgHIjKl  aBcDeFGhIJkL abCdEfGHiJKl  AbcDdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKl AAbCdEfgHiJkL ABcDeFghIjKl  ABcDEfGhIijKl  AbCDeFgHIjKl
  aBcDeFGhIJkL abCdEeFgHIjKL abCdeFgHIJkL  AbCdefGhIJkL ABccDefGhIjKL
  AbCdEfgHiJkL AbCDeFghIjjKL aBCdEfGhIjKl  AbCdEFgHiJkL aBcDeFggHIJkL
  aBcDefGHIjKL abCdeFgHIjKL  AbcDdeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL

  AaBCdEfgHiJkL  aBCdEfGhIjKl AbCdEFgHiJjKl AbCdEfGHiJkL  aBcdEfGHiJKl
  AbCdeFfGhIJKl  AbCdeFgHiJKL aBcDefGhIjKL  aBCcDefGhIjKl  ABcDeFgHiJkL
  aBcDEfGhIjjKL  aBcDeFGhIjKl AbcDeFGhIJkL  aBcdEfGgHIJkL  aBcdEfGhIJKl
  AbCdeFghIJkL ABcDeeFghIJkL AbCDefGhiJKl  ABcDeFgHiJkL aAbCdEFgHiJkL
  aBcDeFgHIjKl AbcDeFgHIJjKl AbcDeFgHIjKL  aBcdEfgHIjKL AbCdeFfgHIjKL
  AbCdeFghIjKL AbCdEfGhiJkL  AbCCdEfGhIjkL  AbCdEFgHiJkL abCdEFgHIjKkL
  abCdEfGHiJKl AbcDeFgHiJKL  aBcdEfgGhIJKl  ABcdEfgHiJKL aBCdeFghIjKL
  aBCdEeFghIjKL  aBcDEfGhIjkL aBCdEfGHiJkL  aaBcDeFGhIJkL  abCdEfGhIJKl
  AbcDefGHiIjKL  AbcDefGhIJKl ABcdEfgHiJKl  ABcDeFfgHiJkL  ABcDeFghIjKl
  ABcDEfGhiJkL aBbCDeFgHIjKl aBcDeFGhIJkL  abCdEfGhIjjKL  AbCdeFgHIJkL

  AbcDefGhIJkL ABcdEfgHhIjKL AbCdEfgHiJkL  AbCDeFghIjKl AbCDdEfGhIjKl
  AbCdEFgHiJkL aBcDeFgHIjKL  aaBcdEfGHIjKL  abCdeFgHIjKL AbcDefGhIiJKL
  aBcDefGhIjKL aBCdEfgHiJkL  aBCDeFfgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL
  aBbCdEfGHiJkL  aBcdEfGHiJKl AbCdeFgHiJjKL AbCdeFgHiJKL  aBcDefGhiJKl
  ABCdEfgHhiJKl  ABcDeFgHiJkL aBcDEFghIjKl  AbCdEeFGhIjKl  AbcDeFGhIJkL
  aBcdEfGhIJKl AaBcdEfGhIJkL AbCdeFghIJkL  ABcDefGhiIjKL  AbCDefGhiJKl
  AbCDeFgHiJkL aBcDeFGgHiJkL abCDeFgHIjKl  AbcDeFgHIJkL aBccDeFgHIjKL
  aBcdEfgHIjKL AbCdeFghIJkKL AbCdeFghIjKL  AbCdEfGhiJkL AbCDeFgHhIjkL
  AbCdEFgHiJkL abCdEFgHIjKl  AbcDdEfGHiJKl  AbcDefGHiJKL aBcdEfgHiJKL
  AbBcdEfgHiJKL  aBCdeFghIjKL aBCdEfGhiJjKl ABcDEfGhiJkL  aBCdEfGHiJkl

  AbCdEfFGhIJkL  abCdEfGhIJKl AbcDefGHiJKL  aBccDefGhIJKl  ABcdEfgHiJKl
  ABcDeFghIjKkL  ABcDeFghIjKl ABcDeFGhiJkL  aBcDEfGhHiJkL  aBcDeFGhIjKL
  abCdeFGhIJkL AbcDdeFgHIJkL AbcDefGhIJkL  AbCdEfgHiJkL ABbCdEfgHiJkL
  AbCDeFghIjKl AbCDeFgHiJjKl AbCdEFgHiJkL  aBcDeFgHIjKL abCdeFfGHIjKL
  abCdeFgHIjKL aBcDefGhIjKL  AbCcDefGhIjKL  aBCdEfgHiJkL aBCdEfGhIjKkL
  aBCdEfGhIjKl AbCdEfGHiJkL  aBcdEFgHIiJkL  aBcdEfGHiJKl AbCdeFgHiJKL
  aBcDeeFgHiJKl  ABcDefGhiJKl ABCdEfgHijKL  aABcDeFgHiJkL  aBcDEfGhIjKl
  AbCdEfGHiJjKl  AbcDeFGhIJkL aBcdEfGhIJKl  AbCdeFfGhIJkL  AbCdeFghIJkL
  ABcDefGhiJKl ABcCdEfGhiJKl AbCDeFgHiJkl  ABcDeFGhIjKkL  abCdEFgHIjKl
  AbcDeFgHIJkL aBcdEfGgHIjKL aBcdEfgHIjKL  AbCdeFghIjKL AbCDeeFghIjKL

  AbCdEfGhiJkL AbCDeFgHijKl  AaBCdEfGHiJkl  AbCdEFgHIjKl AbcDeFgHIjjKL
  AbcDefGHiJKL aBcdEfgHiJKL  AbCdeFfgHiJKL  aBcDeFghIjKL aBCdEfGhiJkL
  aBCcDEfGhiJkL  aBcDEfGhIJkl AbCdEfGHiJKlL abCdEfGhIJKl  AbcDefGhIJKL
  aBcdEfgHhIJKl  ABcdEfgHiJKl ABcDeFghIjKl  ABCdEeFghIjKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AaBcDeFGhIjKL abCdeFGhIJkL  AbcDefGhIJKkL  AbcDefGhIJkL
  AbCdEfgHiJkL ABcDeFggHiJkL AbCDeFghIjKl  AbCDeFgHiJkL aBcCdEFgHiJkL
  aBcDeFgHIjKl AbCdeFgHIJkL  AabCdeFgHIjKL  aBcDefGhIjKL AbCdEfgHhIjKL
  aBCdEfgHiJkL aBCdEfGhIjKl  AbCdEEfGhIjKl  AbCdEfGHiJkL aBcdEfGHIjKl
  AaBcdEfGHiJKl  AbCdeFgHiJKL aBcDefGhiIJKl ABcDefGhiJKl  ABCdeFgHijKL
  aBCdEfGgHiJkL  aBcDEfGhIjKl AbCdEfGHiJkL  aBccDeFGhIJkL  aBcdEfGhIJKl

  AbCdeFghIJKkL  AbCdefGhIJkL ABcDefGhiJKl  ABcDeFgHhiJkL  AbCDeFgHijKl
  ABcDeFGhIjKl aBcDdEFgHIjKl AbcDeFgHIJkL  aBcdEfGhIJkL AbBcdeFgHIjKL
  AbCdefGhIjKL AbCDefGhiJjKL AbCdEfGhiJkL  AbCDeFgHijKl AbCDeFfGHiJkl
  AbCdEFgHiJKl AbcDeFgHIjKL  aBccDefGHiJKL  aBcdeFgHiJKL aBCdeFghIjKLL
  aBcDeFghIjKL aBCdEfGhiJkL  aBCdEFgHhiJkL  aBcDEfGhIJkl AbCdEfGHiJKl
  AbcDdeFGhIJKl  AbcDefGhIJKl ABcdEfgHiJKL  aBbCdEfgHiJKl  ABcDeFghIjKl
  ABCdEfGhiJjKl  ABcDeFgHiJkL aBcDeFGhIjKl  AbCdEfGgHIjKL  abCdeFGhIJkL
  AbcDefGhIJKl ABccDefGhIJkL AbCdEfgHiJkL  ABcDeFghIjKkL  AbCDefGhIjKl
  AbCDeFgHiJkL aBcDeFGhIiJkL aBcdEFgHIjKl  AbCdeFgHIJkL aBcDeeFgHIjKL
  aBcDefGhIjKL AbCdEfghIJkL  AaBCdeFgHiJkL  aBCdEfGhIjKl AbCdEFgHiJjKl

  AbCdEfGHiJkL aBcdEfGHiJKl  AbCdeFfGHiJKl  AbCdeFgHiJKL aBcDefgHiJKL
  aBCdDefgHiJKl  ABCdeFgHijKL aBCdEfGhIjkLL aBcDEfGhIjKl  AbcDEfGHiJkL
  aBcdEfGHhIJkL  aBcdEfGhIJKl AbCdefGhIJKl  ABcDeefGhIJkL  ABcDefgHiJKl
  ABcDeFgHijKl ABbCDeFgHijKl ABcDeFGhIjKl  aBcDeFGhIJjKl  aBcDeFgHIJkL
  aBcdEfgHIJkL AbCdefFgHIjKL AbCdefGhIjKL  AbCdEfgHiJkL AbCDdEfGhiJkL
  AbCDeFgHijKl AbCDeFgHIjKll AbCdEfGHiJKl  aBcDeFgHIjKL aBcdeFgHHiJKL
  aBcdeFgHiJKL aBCdefGhIjKL  AbCdEefGhIjKL  aBCdEfGhiJkL aBcDEfGhIjKl
  AbCcDeFGhIjKl  AbcDeFGhIJkL aBcdEfGhIJKl  AaBcdEfGhIJKl  AbCdeFghIJkL
  ABcDefGhhIJkL  AbCDefGhiJkL ABcDeFgHijKl  ABcDEeFgHiJkl  AbCDeFgHIjKl
  AbcDeFGhIJkL aBbcDeFgHIjKL aBcdEfgHIjKL  AbCdeFghIiJKL  AbCdeFghIjKL

  AbCdEfGhiJkL AbCDeFgHhiJkL aBCdEFgHiJkl  AbCdEFgHIjKl AbcDdEfGHiJKl
  AbcDefGHiJKL aBcdEfgHiJKL  AaBcdEfgHiJKL  aBCdeFghIjKL aBCdEfGhhIjKl
  ABCdEfGhiJkL aBCdEfGHiJkl  AbCdEeFGhIJkL  abCdEfGHiJKl AbcDefGHiJKL
  aBbcDefGhIJKl  ABcdEfgHiJKl ABcDeFghIjJkL ABcDeFghIjKl  ABcDEfGhiJkL
  aBcDEfGgHiJkL  aBcDeFGhIjKl AbCdeFGhIJkL  AbcDdeFgHIJkL  AbcDefGhIJkL
  AbCdEfgHiJkL AAbCdEfgHiJkL AbCDeFghIjKl  AbCDeFgHiIjKl  AbCdEFgHiJkL
  aBcDeFgHIjKl AbCdeEfGHIjKl AbCdeFgHIjKL  aBcDefGhIjKL AbCcDefGhIjKL
  aBCdEfgHijKL aBCDeFghIjKkL aBCdEfGhIjKl  AbCdEFgHiJkL aBcdEFgGHiJkL
  aBcdEfGHiJKl AbCdeFgHiJKL  aBcDdeFghIJKL  aBcDefGhiJKl ABCdEfgHijKLl
  ABcDeFgHijKL aBcDEfGhIjKl  aBCdEfGHiJjKl  AbcDeFGhIJkL aBcdEfGhIJKl

  AbCdeFfGhIJkL  AbCdeFghIJkL ABcDefGhiJKl  ABbCDefGhiJkL  ABcDeFgHijKl
  ABcDeFGhIjKkl  AbCDeFgHIjKl AbcDeFgHIJkL  aBcdEfGgHIjKL  aBcdEfgHIjKL
  AbCdeFghIjKL ABcDdeFghIjKL AbCdEfGhiJkL  AbCDeFgHijKlL  aBCdEFgHiJkl
  AbCdEFgHIjKl aBcDeFgHIiJKl AbcDefGHiJKL  aBcdEfgHiJKL AbCdeFfgHiJKL
  aBcDeFghIjKL aBCdEfGhiJkL  aBCcDEfGhiJkL  aBCdEfGhIjKl AbCdEfGHiJKll
  AbCdEfGhIJKl AbcDefGhIJKl  ABcdEfgGhIJKl  ABcdEfgHiJKl ABcDeFghIjKl
  ABCdEeFghIjKl  ABcDeFgHiJkL aBcDEfGhIjKl  AaBcDeFGhIjKl  AbCdeFGhIJkL
  aBcDefGhIJJkL  AbcDefGhIJkL AbCdEfgHiJkL  ABcDeFfgHiJkL  AbCDeFghIjKl
  AbCDeFgHiJkL aBbCdEFgHiJkL aBcDeFgHIjKl  AbCdeFgHIJkKl  AbCdeFgHIjKL
  aBcDefGhIjKL AbCdEfggHiJKL aBCdEfgHijKL  aBCDefGhIjkL AbCDdEfGhIjKl

  AbCdEfGHiJkL aBcdEfGHIjKl  AaBcdEfGHiJKl  AbCdeFgHiJKL aBcDefgHhIJKl
  ABcDefgHiJKl ABCdEfgHijKL  aBCdEfFgHijKl  ABcDEfGhIjKl aBcDEfGHiJkL
  abBcDeFGhIJkL  aBcdEfGhIJKl AbCdefGhIJKkL AbCdefGhIJkL  ABcDefgHiJkL
  ABcDeFgHhiJkL  AbCDeFgHijKl ABcDeFGhIjkL  aBcDdEFgHIjKl  aBcDeFgHIJkL
  aBcdEfGhIJkL AaBcdeFgHIjKL AbCdefGhIjKL  ABcdEfgHhIjKL  AbCdEfGhiJkL
  AbCDeFgHijKl AbCDeFfGHijKl AbCdEFgHiJKl  aBcDeFgHIjKL abCcDefGHiJKL
  aBcdeFgHiJKL AbCdefGhIjKKL aBcDefGhIjKL  aBCdEfgHiJkL aBCdEFggHiJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcDdeFGhIJkL  aBcdEfGhIJKl ABcdeFgHiJKL
  aAbCdeFgHiJKl  ABcDefGhIjKl ABCdEfgHiIjKl ABcDeFgHiJkL  aBcDEfGhIjKl
  AbCdEeFGhIjKl  AbCdeFGhIJkL aBcdEfGhIJKl  AbCddEfGhIJkL  AbCdeFgHiJkL

  ABcDefGhIjKl ABbCDefGhIjKl AbCDeFgHiJkL  aBcDeFGgHiJkL  aBcdEFgHIjKl
  AbcDeFgHIJkL aBcdEeFgHIjKL aBcdEfgHIjKL  AbCdeFghIjKL AbCCdeFghIjKL
  aBCdEfGhIjkL AbCDeFgHhIjKl aBCdEfGHiJkL  abCdEfGHIjKl AbcDeEfGHiJKl
  AbCdefGHiJKL aBcDefgHiJKL  aBCddEfgHiJKl  ABCdeFghIjKL aBCdEfGhIjjKl
  ABcDEfGhIjkL aBcDEfGHiJkL  )
}
Japanese0764 =

『唐・日本における進朔に関する研究』(2013-10版)を使用する場合の朔閏表

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>764, 'origin_of_LSC'=>2000146,
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:JapaneseTerms::Month::*')}),
     Coordinates::DefaultDayIndex
 ],
'note'      => 'JapaneseNote',
'rule_table'=> %w(        aBCdEfGhiJkL  aBCdEFgHiJjkL
  aBCdEfGHiJkL abCdEfGHiJKl  AbcDeFfGHiJKl  AbCdeFghIJKL aBcdEfgHiJKL
  aBCcDefgHiJKl  ABCdeFgHijKL aBcDEfGhIjkKL aBcDEfGhIjkL  AbcDEfGHiJkL
  aBcdEfGHhIJkL  aBcdEfgHIJkL AbCDefghIJKl  ABcDeefGhIJKL  aBcDefgHiJKL
  aBcDeFgHijKl AAbCDeFghIjKl ABcDeFGhIjkL  aBcDeFGhIiJKl  aBcDeFgHIJkL
  aBcdEfgHIjKL AbCdeeFgHiJKL aBCdefGhIjKL  AbCdEfgHiJkL ABcCdEfGhiJkL
  AbCDeFgHijKl ABcDeFgHIjKkl AbCdEfGHiJkL  aBcdEfGHiJKL abCdeFgGHiJKL
  abCdeFgHiJKL aBcDefGhIjKL  AbCdEefGhiJKL  aBCdEfgHiJkL aBCdEfGhIjKl

  AaBcDeFGhIjKl  AbcDEfGHiJkL aBcdEfGHiJJkL aBcdEfGhIJKl  AbCdeFghIJKL
  aBcDefFghIJKL  aBcDefGhIjKl ABcDEfgHijKL  aBbCDeFgHiJkL  aBcDeFGhIJkl
  AbcDeFGhIJkLl  AbcDeFgHIJkL aBcdEfGhIJKl  AbCdeFggHIjKL  AbCdeFghIjKL
  ABcDefGhiJKl AbCDdEfGhIjkL AbCDeFgHiJkL  aBcDeFgHIjKl AabCdEFgHIjKl
  AbcDeFgHIjKL aBcdEfgHIiJKL aBcdEfgHIjKL  aBCdeFghIjKL AbCdEfGghIjKl
  ABCdEfGhiJkL aBCdEfGHiJkL  AbccDEfGHiJkL  abCdEfGHiJKl AbcDEfgHiJKLl
  AbcDefGHiJKL AbcdEfgHiJKL  aBCdeFggHiJKl  ABcDeFghIjKL aBCdEfGhiJkL
  aBCdEeFGhIjkL  aBcDeFGhIJkL abCdEfGHiJKl  AabCdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiIJkL  ABcdEfgHiJKl ABcDeFghIjKl  ABcDEfGgHijKl  AbCDeFgHIjKl
  aBcDeFGhIJkL abCcDeFgHIJkL abCdeFgHIJkL  AbcDefGhIJkLL  AbcDefGhIjKL

  AbCdEfgHiJkL AbCDeFghHiJkL AbCdEFghIjKl  AbCdEFgHiJKL abcDdEfGHiJKl
  aBcdEfGHIjKL abCdeFgHIjKL  AbbCdeFgHiJKL  aBcDefGhIjKL AbCdEfgHiJJkL
  aBCdEfgHiJkL)
}
Javanese1547 =

Javanese Calendar (SE1547-1674) : Dal年 - 閏年

[CyclicTableBased, {
  'origin_of_LSC' =>  2317690,
  'origin_of_MSC' =>     1555-512,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:JavaneseTerms::IslamicMonth::*')}),
     When::Coordinates::DefaultDayIndex
  ],
  'rule_table'    => {
    'T'   => {'Rule'  =>[354, 355, 354, 354, 355, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
    354   => {'Length'=>[30,29] * 6           },
    355   => {'Length'=>[30,29] * 5 + [30] * 2}
  },
  'note'  => 'JavaneseNotes'
}]
Javanese1675 =

Javanese Calendar (SE1675-1748) : Dal年 - 平年

[CyclicTableBased, {
  'origin_of_LSC' =>  2360214,
  'origin_of_MSC' =>     1675-512,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:JavaneseTerms::IslamicMonth::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'    => {
    'T'   => {'Rule'  =>[354, 355, 354, 355, 354, 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
    354   => {'Length'=>[30,29] * 6                 },
    355   => {'Length'=>[30,29] * 5 + [30] * 2      }
  },
  'note'  => 'JavaneseNotes'
}]
Javanese1749 =

Javanese Calendar (SE1749-) : Dal年 - 平年,月日別配当

[CyclicTableBased, {
  'origin_of_LSC' =>  2385728,
  'origin_of_MSC' =>     1747-512,
  'indices' => [
     When::Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:JavaneseTerms::IslamicMonth::*')}),
     When::Coordinates::DefaultDayIndex
   ],
  'rule_table'    => {
    'T'   => {'Rule'  =>[354, 355, 354, 355, 'D', 354, 354, 355]*15, 'Days' => (354*8+3)*15-1},
    354   => {'Length'=>[30,29] * 6                 },
    'D'   => {'Length'=>[30]*2+[29]*3+[29,30]*3+[30]},
    355   => {'Length'=>[30,29] * 5 + [30] * 2      }
  },
  'note'  => 'JavaneseNotes'
}]
Pranatamangsa =

Pranatamangsa

[CyclicTableBased, {
  'label'         => When.Resource('_m:JavaneseTerms::Pranatamangsa'),
  'origin_of_LSC' => 1721232,
  'origin_of_MSC' =>   -1854,
  'indices' => [
     Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:JavaneseTerms::HinduMonth::*'), :shift=>8}),
     Coordinates::DefaultDayIndex
   ],
  'rule_table'     => {
    'T'  => {'Rule'  =>['LC', 'SC', 'SC', 'SC']},
    'SC' => {'Rule'  =>[365]*4 + [366, 365, 365, 365]*24},
    'LC' => {'Rule'  =>[366, 365, 365, 365]*25},
    365  => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 26, 25, 24, 23, 41]},
    366  => {'Length'=>[41, 23, 24, 25, 27, 43, 43, 27, 25, 24, 23, 41]}
  }
}]
EgyptianCoptic =

Coptic Calendar in Egypt

[CyclicTableBased, {
  'label'         => Parts::Resource._instance('_m:ChristianTerms::Coptic'),
  'origin_of_LSC' => 1825030,
  'origin_of_MSC' =>       1,
  'epoch_in_CE'   =>     285,
  'indices' => [
     When::Coordinates::Index.new({:unit =>13,
                                   :trunk=>When::Parts::Resource._instance('_m:ChristianTerms::EgyptianMonth::*')}),
     When::Coordinates::Index.new
   ],
  'rule_table' => {
    'T' => {'Rule'  =>[366,365,365,365]},
    365 => {'Length'=>[30]*12+[5]},
    366 => {'Length'=>[30]*12+[6]}
  }
}]
EthiopianCoptic =

Coptic Calendar in Ethiopia

[CyclicTableBased, {
  'label'         => Parts::Resource._instance('_m:ChristianTerms::Ethiopian'),
  'origin_of_LSC' => 1825030,
  'origin_of_MSC' =>     277,
  'epoch_in_CE'   =>     285,
  'indices' => [
     When::Coordinates::Index.new({:unit =>13,
                                   :trunk=>When::Parts::Resource._instance('_m:ChristianTerms::EthiopianMonth::*')}),
     When::Coordinates::Index.new
   ],
  'rule_table' => {
    'T' => {'Rule'  =>[366,365,365,365]},
    365 => {'Length'=>[30]*12+[5]},
    366 => {'Length'=>[30]*12+[6]}
  }
}]
Chinese_221 =
秦・漢

顓頊暦 -221 - -162 (冬至を11月に固定) (歳首 建亥月)

顓頊暦 -161 - -103 (雨水を1月に固定) (歳首 建亥月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>-222, 'origin_of_LSC'=>1640021, 'border'=>'0*10-01',
'indices'=> _IndicesM1,
'rule_table'=> %w(
          AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGhIiJkL
  aBcDeFgHiJKl AbCdEfGhIjKl  ABcDeFgHiIjKl  AbCdEFgHiJkL aBcDeFgHIiJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbCdEFgHiIjKl  AbCdEfGHiJkL aBcDeFgHiJkL
  AbCdEfGhIiJkL  aBCdEfGhIjKl AbCdEfGHiIjKl AbCdEfGhIjKL  aBcDeFgHiJkL
  aBCdEfGhIiJkL  aBcDeFGhIjKl AbCdEfGhIJkL  aBcDeFgHiIjKl  ABcDeFgHiJkL

  aBcDeFGhIjKl AbCdEfGhIIjKl AbCdEfGhIjKl  ABcDeFgHiIjKl  AbCDeFgHiJkL
  aBcDeFgHIjKl AbCdEfGhIiJkL AbCdEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIiJkL
  aBcDeFgHiJKl AbCdEfGhIiJkL aBCdEfGhIjKl  AbCdEfGHiJkL aBcDeFgHiIJkL
  aBcDeFgHiJkL aBCdEfGhIjKl  AbCdEFgHiIjKl  AbCdEfGhIJkL aBcDeFgHiJkL
  aBCdEfGhIiJkL  aBcDEfGhIjKl AbCdEfGhIIjKl AbCdEfGhIjKL  aBcDeFgHiJkL
  aBcDEfGhIiJkL  aBcDeFgHIjKl AbCdEfGhIjKL  aBcDeFgHiIjKl  AbCDeFgHiJkL
  aBcDeFgHIiJkL  aBcDeFgHiJKl AbCdEfGhIjKl  AbCDeFgHiIjKl  AbCdEFgHiJkL
  aBcDeFgHiJKl AbCdEfGhIiJkL aBCdEfGhIjKl  AbCdEFgHiIjKl  AbCdEfGhIJkL
  aBcDeFgHiJkL AbCdEfGhIiJkL aBcDEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiIjKL
  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGHiIjKl  AbCdEfGhIjKL aBcDeFgHiIjKl

  AbCDeFgHiJkL aBcDeFGhIjKl  AbCdEfGhIiJKl  AbCdEfGhIjKl ABcDeFgHiJkL
  aBcDeFGhIiJkL  aBcDeFgHiJKl AbCdEfGhIiJkL AbCdEfGhIjKl  AbCdEFgHiJkL
  aBcDeFgHIiJkL  aBcDeFgHiJkL AbCdEfGhIjKl  AbCdEFgHiIjKl  AbCdEfGHiJkL
  aBcDeFgHiJkL AbCdEfGhIiJkL aBCdEfGhIjKl  AbCdEfGHiIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBCdEfGhIiJkL aBcDeFGhIjKl  AbCdEfGhIJkL aBcDeFgHiIjKl
  ABcDeFgHiJkL aBcDeFGhIiJkL aBcDeFgHIjKl  AbCdEfGhIjKl ABcDeFgHiIjKl
  AbCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhIiJkL  AbCdEfGhIjKl AbCDeFgHiJkL
  aBcDeFgHIiJkL  aBcDeFgHiJKl AbCdEfGhIiJkL aBCdEfGhIjKl  AbCdEfGHiJkL
  aBcDeFgHiIJkL  aBcDeFgHiJkL aBCdEfGhIjKl  AbCdEFgHiIjKl  AbCdEfGhIJkL
  aBcDeFgHiIjKl  ABcdeFgHiJkL )
}
Chinese_103 =
漢・新

太初暦 -103 - 84

漢・魏

四分暦 85 - 237

蜀漢

四分暦 221 - 264

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>-103, 'origin_of_LSC'=>1683490,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      ABcdeFgHiJkL aBCdEfGhIjKl  AbCdEfFGhIjKl  AbCdEfGhIJkL

  aBcDeFgHiJkL aBCcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGhIJkLl  AbCdEfGhIjKl
  ABcDeFgHiJkL aBcDEfGhIiJkL aBcDeFgHIjKl  AbCdEfGhIjKL aBcDeEfGhIjKl
  AbCDeFgHiJkL aBcDeFgHIjKl  AaBcDeFgHiJKl  AbCdEfGhIjKl AbCDeFgHiJjKl
  AbCdEFgHiJkL aBcDeFgHiJKl  AbCdEfGgHiJkL  aBCdEfGhIjKl AbCdEFgHiJkL
  aBcCdEfGhIJkL  aBcDeFgHiJkL AbCdEfGhIjKkL aBcDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEeFGhIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aAbCDeFgHiJkL aBcDeFGhIjKl  AbCdEfGhIiJKl  AbCdEfGhIjKl
  ABcDeFgHiJkL aBcDeFGgHiJkL aBcDeFgHiJKl  AbCdEfGhIjKl ABcDdEfGhIjKl
  AbCdEFgHiJkL aBcDeFgHIjKlL aBcDeFgHiJkL  AbCdEfGhIjKl AbCdEFgHhIjKl
  AbCdEfGHiJkL aBcDeFgHiJkL  AbCdEeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL

  aBbCdEfGhIjKL  aBcDeFgHiJkL aBCdEfGhIjJkL aBcDeFGhIjKl  AbCdEfGhIJkL
  aBcDeFfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKl  AbCcDeFgHIjKl  AbCdEfGhIjKl
  ABcDeFgHiJkLl  AbCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhHiJkL  AbCdEfGhIjKl
  AbCDeFgHiJkL aBcDdEfGHiJkL aBcDeFgHiJKl  AbCdEfGhIjKl AaBCdEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJJkL aBcDeFgHiJkL  aBCdEfGhIjKl AbCdEFfGhIjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  aBCcDeFgHiJkL  aBcDEfGhIjKl AbCdEfGhIJkLl
  AbCdEfGhIjKL aBcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFgHIjKl AbCdEfGhIjKL
  aBcDeEfGhIjKl  AbCDeFgHiJkL aBcDeFGhIjKl  AaBcDeFgHiJKl  AbCdEfGhIjKl
  AbCDeFgHiJjKl  AbCdEFgHiJkL aBcDeFgHiJKl  AbCdEfGgHiJkL  AbCdEfGhIjKl
  AbCdEFgHiJkL aBcCdEfGhIJkL aBcDeFgHiJkL  AbCdEfGhIjKkL  aBcDEfGhIjKl

  AbCdEfGHiJkL aBcDeFgHhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AbCdEeFGhIjKl
  AbCdEfGhIjKL aBcDeFgHiJkL  aABcDeFgHiJkL  aBcDeFGhIjKl AbCdEfGhIiJKl
  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKl
  ABcDdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIjKlL aBcDeFgHiJkL  AbCdEfGhIjKl
  AbCDeFgHhIjKl  AbCdEfGHiJkL aBcDeFgHiJkL  AbCdEeFgHiJkL  aBCdEfGhIjKl
  AbCdEfGHiJkL aBbCdEfGhIJkL aBcDeFgHiJkL  aBCdEfGhIjJkL  aBcDeFGhIjKl
  AbCdEfGhIJkL aBcDeFfGhIjKl ABcDeFgHiJkL  aBcDEfGhIjKl AbCcDeFgHIjKl
  AbCdEfGhIjKl ABcDeFgHiJkLl AbCDeFgHiJkL  aBcDeFgHIjKl AbCdEfGhHiJKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDdEfGHiJkL  aBcDeFgHiJKl AbCdEfGhIjKl
  AaBCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHiJJkL aBcDeFgHiJkL  aBCdEfGhIjKl

  AbCdEFfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  AbCcDeFgHiJkL  aBcDEfGhIjKl
  AbCdEfGhIJkLl  AbCdEfGhIjKL aBcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFGhIjKl
  AbCdEfGhIjKL aBcDeEfGhIjKl AbCDeFgHiJkL  aBcDeFGhIjKl AaBcDeFgHiJKl
  AbCdEfGhIjKl ABcDeFgHiJjKl AbCdEFgHiJkL  aBcDeFgHiJKl AbCdEfGgHiJkL
  AbCdEfGhIjKl AbCdEFgHiJkL  aBcCdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjKkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcDeFgHhIjKL  aBcDeFgHiJkL aBCdEfGhIjKl
  AbCdEeFGhIjKl  AbCdEfGhIjKL aBcDeFgHiJkL  aABcDeFgHiJkl  AbCdEfGhIjKl
  AbCDeFgHiJjKl  AbCdEfGHiJkL aBcDeFgHiJKl  AbCdEfGgHiJkL  aBCdEfGhIjKl
  AbCdEFgHiJkL aBcCdEfGhIJkL aBcDeFgHiJkL  aBCdEfGhIjKkL  aBcDEfGhIjKl
  AbCdEfGhIJkL aBcDeFgHhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AbCdEeFgHIjKl

  AbCdEfGhIjKL aBcDeFgHiJkL  aAbCDeFgHiJkL  aBcDeFGhIjKl AbCdEfGhIiJKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHiJKl AbCdEfGhIjKl
  ABcDdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHiJKlL aBcDeFgHiJkL  AbCdEfGhIjKl
  AbCdEFgHhIjKl  AbCdEfGHiJkL aBcDeFgHiJkL  AbCdEeFgHiJkL  aBcDEfGhIjKl
  AbCdEfGHiJkL aBbCdEfGhIjKL aBcDeFgHiJkL  aBCdEfGhIjJkL  aBcDeFGhIjKl
  AbCdEfGhIjKL aBcDeFfGhIjKl ABcDeFgHiJkL  aBcDeFGhIjKl AbCcDeFgHIjKl
  AbCdEfGhIjKl ABcDeFgHiJkLl AbCdEFgHiJkL  aBcDeFgHIjKl AbCdEfGhHiJkL
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjKl
  AaBCdEfGhIjKl  AbCdEfGHiJkL aBcDeFgHiJJkL aBcDeFgHiJkL  aBCdEfGhIjKl
  AbCdEfFGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  aBCcDeFgHiJkL  aBcDeFGhIjKl

  AbCdEfGhIJkLl  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFgHIjKl
  AbCdEfGhIjKl ABcDeEfGhIjKl AbCDeFgHiJkL  aBcDeFgHIjKl AaBcDeFgHiJKl
  AbCdEfGhIjKl AbCDeFgHiJjKl AbCdEfGHiJkL  aBcDeFgHiJKl AbCdEfGgHiJkL
  aBCdEfGhIjKl AbCdEFgHiJkL  aBcCdEfGhIJkL  aBcDeFgHiJkL aBCdEfGhIjKkL
  aBcDEfGhIjKl AbCdEfGhIJkL  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl
  AbCdEeFgHIjKl  AbCdEfGhIjKL aBcDeFgHiJkL  aAbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIiJKl  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHiJKl
  AbCdEfGhIjKl ABcDdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHiJKlL  aBcDeFgHiJkL
  AbCdEfGhIjKl AbCdEFgHhIjKl AbCdEfGHiJkL  aBcDeFgHiJkL AbCdEeFgHiJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBbCdEfGhIjKL  aBcDeFgHiJkL aBCdEfGhIjJkL

  aBcDeFGhIjKl AbCdEfGhIjKL  aBcDeFfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKl
  AbCcDeFgHIjKl  AbCdEfGhIjKl ABcDeFgHiJkLl AbCdEFgHiJkL  aBcDeFgHIjKl
  AbCdEfGhHiJkL  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDdEfGHiJkL  aBcDeFgHiJkL
  AbCdEfGhIjKl AaBCdEfGhIjKl AbCdEfGHiJkL  aBcDeFgHiJJkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AbCdEfFGhIjKl AbCdEfGhIJkL  aBcDeFgHiJkL aBCcDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGhIJkLl AbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGhIiJkL
  aBcDeFgHIjKl AbCdEfGhIjKl  ABcDeEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl
  AaBcDeFgHiJKl  AbCdEfGhIjKl AbCDeFgHiJjKl AbCdEfGHiJkL  aBcDeFgHiJKl
  AbCdEfGgHiJkL  aBCdEfGhIjKl AbCdEFgHiJkL  aBcCdEfGhIJkL  aBcDeFgHiJkL
  aBCdEfGhIjKkL  aBcDEfGhIjKl AbCdEfGhIJkL  aBcDeFgHhIjKL  aBcDeFgHiJkL

  aBcDEfGhIjKl AbCdEeFgHIjKl AbCdEfGhIjKL  aBcDeFgHiJkL aAbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGhIiJKl AbCdEfGhIjKl  AbCDeFgHiJkL aBcDeFGgHiJkL
  aBcDeFgHiJKl AbCdEfGhIjKl  ABcDdEfGhIjKl  AbCdEFgHiJkL )
}
Chinese0008 =

太初暦 7 - 23 (歳首 建丑月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>7, 'origin_of_LSC'=>1723652, 'border'=>'0*12-01',
'indices'=> _IndicesM12,
'rule_table'=> %w(
      aBcDeFgHiJkL  aABcDeFgHiJkL  aBcDeFGhIjKl AbCdEfGhIiJKl
  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKl
  ABcDdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIjKlL aBcDeFgHiJkL  AbCdEfGhIjKl
  AbCDeFgHhIjKl  AbCdEfGHiJkL aBcDeFgHiJkL  )
}
Chinese0223 =

四分暦 222

乾象暦 223 - 280

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>222, 'origin_of_LSC'=>1802173,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      AbCdEfFGhIjKl  aBcDeFgHiJKl AbCdEfGhIjKl  ABcDdEfGhIjKl
  AbCdEFgHiJkL aBcDeFgHiJKlL aBcDeFgHiJkL  aBCdEfGhIjKl AbCdEFgHhIjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEeFgHiJkL  aBcDEfGhIjKl AbCdEfGhIJkL
  aBbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGhIjJkL aBcDeFgHIjKl  AbCdEfGhIjKl
  ABcDeFfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl  AbCcDeFgHiJKl  AbCdEfGhIjKl
  AbCDeFgHiJkLl  AbCdEfGhIJkL aBcDeFgHiJkL  AbCdEfGhHiJkL  aBCdEfGhIjKl

  AbCdEfGHiJkL aBcDdEfGhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AaBcDeFGhIjKl
  AbCdEfGhIjKL aBcDeFgHiJjKl AbCDeFgHiJkL  aBcDeFGhIjKl AbCdEfGgHiJKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcCdEFgHiJkL  aBcDeFgHiJKl AbCdEfGhIjKkL
  aBCdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHhIJkL  aBcDeFgHiJkL aBCdEfGhIjKl
  AbCdEEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  aABcDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIJjKl  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHiJKl )
}
Chinese0237 =

四分暦 236

景初暦 237 - 239 (歳首 建丑月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>236, 'origin_of_LSC'=>1807282, 'border'=>'0*12-01',
'indices'=> _IndicesM12,
'rule_table'=> %w(AaBcDeFgHiJKl AbCdeFgHiJkL  aBcDeFGhIjJkL  aBcDeFgHiJKl)
}
Chinese0239 =
魏・晋・宋

景初暦 239 - 444 (泰始・永初暦も同じもの)

及び十六国

北魏

景初暦 386? - 451

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>239, 'origin_of_LSC'=>1808404,
'indices'=> _IndicesM1,
'rule_table'=> %w(
              aBcDeFgHiJKl  AbCdEfGhIjKl
  AbCDeFfGhIjKl  AbCdEFgHiJkL aBcDeFgHiJKl  AbCcDeFgHiJkL  aBCdEfGhIjKl
  AbCdEFgHiJkLl  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEfGhIiJkL  aBcDeFGhIjKl

  AbCdEfGhIJkL aBcDeEfGhIjKl ABcDeFgHiJkL  aBcDeFGhIjKl AaBcDeFgHIjKl
  AbCdEfGhIjKl ABcDeFgHiJjKl AbCdEFgHiJkL  aBcDeFgHIjKl AbCdEfGgHiJkL
  AbCdEfGhIjKl AbCdEFgHiJkL  aBcCdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjKkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl
  AbCdEeFGhIjKl  AbCdEfGhIjKL aBcDeFgHiJkL  aAbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIiJKl  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHiJKl
  AbCdEfGhIjKl AbCDdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHiJKlL  aBcDeFgHiJkL
  aBCdEfGhIjKl AbCdEFgHhIjKl AbCdEfGhIJkL  aBcDeFgHiJkL aBCdEeFgHiJkL
  aBcDEfGhIjKl AbCdEfGhIJkL  aBbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGhIjJkL
  aBcDeFgHIjKl AbCdEfGhIjKl  ABcDeFfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl

  AbCcDeFgHiJkL  AbCdEfGhIjKl AbCDeFgHiJkLl AbCdEfGHiJkL  aBcDeFgHiJkL
  AbCdEfGhHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDdEfGhIjKL  aBcDeFgHiJkL
  aBCdEfGhIjKl AaBcDeFGhIjKl AbCdEfGhIjKl  AbCDeFgHiJjKl  ABcDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGgHiJKl AbCdEfGhIjKl  ABcDeFgHiJkL aBcCdEFgHiJkL
  aBcDeFgHiJKl AbCdEfGhIjKkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHhIJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbCdEEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL
  AaBcDeFgHiJkL  aBcDEfGhIjKl AbCdEfGhIJjKl AbCdEfGhIjKL  aBcDeFgHiJkL
  aBcDEfGgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKL  aBcDdEfGhIjKl  AbCDeFgHiJkL
  aBcDeFgHIjKlL  aBcDeFgHiJKl AbCdEfGhIjKl  AbCDeFgHhIjKl  AbCdEfGHiJkL
  aBcDeFgHiJKl AbCdEeFgHiJkL aBCdEfGhIjKl  AbCdEfGHiJkL aBbCdEfGhIJkL

  aBcDeFgHiJkL aBCdEfGhIjJkL aBcDeFGhIjKl  AbCdEfGhIJkL aBcDeFfGhIjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AbCcDeFgHIjKl  AbCdEfGhIjKl ABcDeFgHiJkLl
  AbCdEFgHiJkL aBcDeFgHIjKl  AbCdEfGhHiJkL  AbCdEfGhIjKl AbCdEFgHiJkL
  aBcDdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjKl  AaBcDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHiJjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGgHIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBcCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhIjKLl  AbCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFgHIiJkL aBcDeFgHiJKl  AbCdEfGhIjKl AbCDeEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJKl  AaBcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiJjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEfGgHiJkL  aBcDeFGhIjKl AbCdEfGhIJkL
  aBcCdEfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKkL aBcDeFgHIjKl  AbCdEfGhIjKl

  ABcDeFgHhIjKl  AbCdEFgHiJkL aBcDeFgHIjKl  AbCdEeFgHiJkL  AbCdEfGhIjKl
  AbCdEFgHiJkL aBbCdEfGHiJkL aBcDeFgHiJkL  AbCdEfGhIjJkL  aBcDEfGhIjKl
  AbCdEfGHiJkL aBcDeFfGhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AbCcDeFGhIjKl
  AbCdEfGhIjKL aBcDeFgHiJkLl AbCDeFgHiJkL  aBcDeFGhIjKl AbCdEfGhHiJKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDdEFgHiJkL  aBcDeFgHiJKl AbCdEfGhIjKl
  AaBCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHiJJkL aBcDeFgHiJkL  AbCdEfGhIjKl
  AbCdEFfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  aBCcDeFgHiJkL  aBcDEfGhIjKl
  AbCdEfGhIJkLl  AbCdEfGhIjKl ABcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFgHIjKl
  AbCdEfGhIjKl ABcDeEfGhIjKl AbCDeFgHiJkL  aBcDeFgHIjKl AaBcDeFgHiJkL
  AbCdEfGhIjKl AbCDeFgHiJJkl AbCdEfGHiJkL  aBcDeFgHiJkL AbCdEfGgHiJkL

  aBCdEfGhIjKl)
}
Chinese0445 =
宋・斉・梁

元嘉暦 445 - 509 (建元暦も同じもの)

梁・陳

大明暦 510 - 589

及び後梁

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>445, 'origin_of_LSC'=>1883618,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      AbCdEeFgHiJkL
  AbCdEfGhIjKl AbCDeFgHiJkL  aBbCdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjJkL

  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDeFfGhIjKL  aBcDeFgHiJkL aBCdEfGhIjKl
  AbCcDeFGhIjKl  AbCdEfGhIjKL aBcDeFgHiJkLl AbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIiJKl  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDeEFgHiJkL  aBcDeFgHiJKl
  AbCdEfGhIjKl AaBCdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHiJKkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AbCdEFgGhIjKl AbCdEfGhIJkL  aBcDeFgHiJkL aBCcDeFgHiJkL
  aBcDEfGhIjKl AbCdEfGhIJkLl AbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGhIiJkL
  aBcDeFgHIjKl AbCdEfGhIjKl  ABcDeEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl
  AaBcDeFgHiJkL  AbCdEfGhIjKl AbCDeFgHiJjKl AbCdEfGHiJkL  aBcDeFgHiJkL
  AbCdEfGgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  aBcDdEfGhIjKL  aBcDeFgHiJkL
  aBCdEfGhIjKlL  aBcDeFGhIjKl AbCdEfGhIjKL  aBcDeFgHhIjKl  ABcDeFgHiJkL

  aBcDeFGhIjKl AbCdDeFgHiJKl AbCdEfGhIjKl  ABcDeFgHiJkL aBbCdEFgHiJkL
  aBcDeFgHiJKl AbCdEfGhIjJkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFfGhIJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbCcDEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJkLl
  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGhHIjKl  AbCdEfGhIjKl ABcDeFgHiJkL
  aBcDEeFgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKl  ABbCdEfGhIjKl  AbCDeFgHiJkL
  aBcDeFgHIjJkL  aBcDeFgHiJkL AbCdEfGhIjKl  AbCDeFfGhIjKl  AbCdEfGHiJkL
  aBcDeFgHiJkL AbCcDeFgHiJkL aBCdEfGhIjKl  AbCdEfGHiJkLl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBCdEfGhIiJkL aBcDeFGhIjKl  AbCdEfGhIjKL aBcDeEfGhIjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AaBcDeFgHiJKl  AbCdEfGhIjKl ABcDeFgHiJjKl
  AbCdEFgHiJkL aBcDeFgHiJKl  AbCdEfGgHiJkL  AbCdEfGhIjKl AbCdEFgHiJkL

  aBcCdEfGhIJkL  aBcDeFgHiJkL AbCdEfGhIjKkL aBcDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdDeFgHIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aBbCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhIjJKl  AbCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFfGHiJkL aBcDeFgHiJKl  AbCdEfGhIjKl AbCDdEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJKlL aBcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiIjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEeFgHiJkL  aBcDeFGhIjKl AbCdEfGhIJkL
  aBbCdEfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKkL aBcDeFgHIjKl  AbCdEfGhIjKl
  ABcDeFgGhIjKl  AbCdEFgHiJkL aBcDeFgHIjKl  AbCdDEfGhIjKl  )
}
Chinese0384 =
後秦

三紀暦 384 - 417

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>384, 'origin_of_LSC'=>1861352,
'indices'=> _IndicesM1,
'rule_table'=> %w(
  AbCdEfGhIjKl AbCDeEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJkL  AaBcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiJjKl
  AbCdEfGhIjKL aBcDeFgHiJkL  aBCdEfGgHiJkL  aBcDeFGhIjKl AbCdEfGhIjKL
  aBcCdEfGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKkL aBcDeFgHiJKl  AbCdEfGhIjKl

  ABcDeFgHhIjKl  AbCdEFgHiJkL aBcDeFgHiJKl  AbCdEeFgHiJkL  AbCdEfGhIjKl
  AbCdEFgHiJkL aBbCdEfGhIJkL aBcDeFgHiJkL  AbCdEfGhIjJkL  aBcDEfGhIjKl
  AbCdEfGhIJkL aBcDeFfGhIjKL aBcDeFgHiJkL  aBcDEfGhIjKl AbCcDeFgHIjKl
  AbCdEfGhIjKL aBcDeFgHiJkLl )
}
Chinese0412 =
北涼

玄始暦 412 - 439

北魏

玄始暦 452 - 522

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>412, 'origin_of_LSC'=>1871570,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEeFgHIjKl
  AbCdEfGhIjKL aBcDeFgHiJkL  aBbCDeFgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKKl
  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDeFgGHiJkL  aBcDeFgHiJKl AbCdEfGhIjKl
  AbCDdEfGhIjKl  AbCdEfGHiJkL aBcDeFgHiJKl  AaBcDeFgHiJkL  aBCdEfGhIjKl
  AbCdEfGHiIjKl  AbCdEfGhIJkL aBcDeFgHiJkL  aBCdEeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGhIJkL aBbCdEfGhIjKl ABcDeFgHiJkL  aBcDeFGhIjKkL  aBcDeFgHIjKl
  AbCdEfGhIjKl ABcDeFgHhIjKl AbCdEFgHiJkL  aBcDeFgHIjKl AbCdDeFgHiJkL
  AbCdEfGhIjKl AbCdEFgHiJkLl AbCdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIiJkL

  aBcDEfGhIjKl AbCdEfGHiJkL  aBcDeFfGhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl
  AbBcDeFGhIjKl  AbCdEfGhIjKL aBcDeFgHiJjKl AbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdEfGgHiJKl  AbCdEfGhIjKl AbCDeFgHiJkL  aBcDdEFgHiJkL  aBcDeFgHiJKl
  AbCdEfGhIjKl AaBCdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHiIJkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AbCdEFfGhIjKl AbCdEfGhIJkL  aBcDeFgHiJkL aBCcDeFgHiJkL
  aBcDEfGhIjKl AbCdEfGhIJkKl AbCdEfGhIjKl  ABcDeFgHiJkL aBcDEfGgHiJkL
  aBcDeFgHIjKl AbCdEfGhIjKl  ABcDdEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIjKl
  AaBcDeFgHiJkL  AbCdEfGhIjKl AbCDeFgHiIjKl AbCdEfGHiJkL  aBcDeFgHiJkL
  AbCdEeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  aBbCdEfGhIjKL  aBcDeFgHiJkL
  aBCdEfGhIjKkL  aBcDeFGhIjKl AbCdEfGhIjKL  aBcDeFgHhIjKl  ABcDeFgHiJkL

  aBcDeFGhIjKl AbCdDeFgHiJKl AbCdEfGhIjKl  ABcDeFgHiJkLl  AbCdEFgHiJkL
  aBcDeFgHiJKl AbCdEfGhIiJkL AbCdEfGhIjKl  AbCdEFgHiJkL aBcDeFfGhIJkL
  aBcDeFgHiJkL AbCdEfGhIjKl  AbBcDEfGhIjKl  AbCdEfGhIJkL aBcDeFgHiJjKl
  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGgHIjKl  AbCdEfGhIjKl ABcDeFgHiJkL
  aBcDEeFgHiJkL  aBcDeFgHIjKl )
}
Chinese0540 =
東魏・北斉

興和暦 540 - 550

北斉

天保暦 551 - 577

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>540, 'origin_of_LSC'=>1918317,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      aBcDeEfGhIjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AaBcDeFgHIjKl  AbCdEfGhIjKl ABcDeFgHiJjKl
  AbCdEFgHiJkL aBcDeFgHIjKl  AbCdEfGgHiJkL  AbCdEfGhIjKl AbCdEFgHiJkL

  aBbCdEfGhIJkL  aBcDeFgHiJkL AbCdEfGhIjKkL aBcDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdDeFgHIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkLl  AbCDeFgHiJkL aBcDeFgHIjKl  AbCdEfGhIjJKl  AbCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFfGHiJkL aBcDeFgHiJKl  AbCdEfGhIjKl AbBCdEfGhIjKl
  AbCdEfGHiJkL aBcDeFgHiJKkL aBcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHhIjKl
  AbCdEfGhIJkL aBcDeFgHiJkL  )
}
Chinese0523 =
北魏・西魏

正光暦 523 - 565

及び北周

東魏

正光暦 534 - 539

北周

天和暦 566 - 578

北周・隋

大象暦 579 - 583

開皇暦 584 - 596

隋・唐

大業暦 597 - 618

戊寅暦 619 - 664

唐・周

麟徳暦 665 - 728 総法 1340(小余の分母)

大衍暦 729 - 761 通法 3040( 〃 )

五紀暦 762 - 783 通法 1340( 〃 )

正元暦 784 - 806

観象暦 807 - 821

宣明暦 822 - 892 統法 8400( 〃 )

唐~後晋

崇玄暦 893 - 938

(後晋

調元暦 939 - 943)

(後晋

調元暦? 944 - 946)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>523, 'origin_of_LSC'=>1912115,
'indices'=> _IndicesM1,
'rule_table'=> %w(
          AbCdEfGhIjKL  aBbCdEfGhIjKl  AbCDeFgHiJkL
  aBcDeFgHIjKkL  aBcDeFgHiJKl AbCdEfGhIjKl  AbCDeFgGhIjKl  AbCdEfGHiJkL
  aBcDeFgHiJKl AbCcDeFgHiJkL aBCdEfGhIjKl  AbCdEfGHiJkLl  AbCdEfGhIJkL
  aBcDeFgHiJkL aBCdEfGhIiJkL aBcDeFGhIjKl  AbCdEfGhIJkL aBcDeEfGhIjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AaBcDeFgHIjKl  AbCdEfGhIjKl ABcDeFgHiJjKl
  AbCdEFgHiJkL aBcDeFgHIjKl  AbCdEfGgHiJkL  AbCdEfGhIjKl AbCdEFgHiJkL

  aBcDdEfGHiJkL  aBcDeFgHiJkL AbCdEfGhIjKlL aBcDEfGhIjKl  AbCdEfGHiJkL
  aBcDeFgHhIjKL  aBcDeFgHiJkL aBcDEfGhIjKl  AbCdEeFGhIjKl  AbCdEfGhIjKL
  aBcDeFgHiJkL aAbCDeFgHiJkL aBcDeFGhIjKl  AbCdEfGhIiJKl  AbCdEfGhIjKL
  aBcDeFgHiJkL AbCdEfGhHiJkL aBCdEfGhIjKl  AbCdEfGHiJkL aBcDdEfGhIjKL
  aBcDeFgHiJkL aBCdEfGhIjKl  AaBcDeFGhIjKl  AbCdEfGhIJkL aBcDeFgHiJjKl
  ABcDeFgHiJkL aBcDeFGhIjKl  AbCdEfFgHIjKl  AbCdEfGhIJkL aBcDeFgHiJkL
  AbCcDeFgHiJkL  aBcDEfGhIjKl AbCdEfGhIJkLl aBCdEfGhIjKl  AbCdEFgHiJkL
  aBcDeFgHhIJkL  aBcDeFgHiJkL aBCdEfGhIjKl  AbCdDEfGhIjKl  AbCdEfGhIJkL
  aBcDeFgHiJkLl  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGhIJjKl  AbCdEfGhIjKl
  ABcDeFgHiJkL aBcDeEfGhIJkL aBcDeFgHiJkL  aBCdEfGhIjKl AaBcDeFGhIjKl

  AbCdEfGhIJkL aBcDeFgHiJjKl ABcDeFgHiJkL  aBcDeFGhIjKl AbCdEfGgHIjKl
  AbCdEfGhIjKl ABcDeFgHiJkL  aBcCdEFgHiJkL  aBcDeFgHIjKl AbCdEfGhIjKkL
  AbCdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHIiJkL  aBcDeFgHiJkL AbCdEfGhIjKl
  AbCdEEfGhIjKl  AbCdEfGHiJkL aBcDeFgHiJkL  ABbcdEfGhIJKl  AbCdeFgHiJkL
  ABcDefGhIjJkL  AbCDefGhIjKl ABcDeFgHiJkL  aBcDeFGgHiJkL  aBcDeFgHIjKl
  AbCdeFgHIJkL aBccDeFgHIjKL aBcdEfgHIjKL  AbCdEfghIJkLL  AbCdeFgHiJkL
  AbCdEfGhIjKl AbCDeFgHhIjKl AbCdEFgHiJkL  aBcdEFgHIjKl AbCddEfGHIjKl
  AbCdeFgHiJKL aBcDefGhIjKL  AbBcdEfgHiJKL  aBCdeFghIjKL aBCdEfGhIjJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcdEfFGhIJKl  aBcdEfGhIJKl aBcDeFGhIjKl
  AbCcDeFgHiJKl  AbCdEfGhIjKl AbCDeFgHiJkLl AbCdEFgHiJkL  aBcDeFgHiJKl

  AbCdEfGhIiJkL  aBCdEfGhIjKl AbCdEFgHiJkL  aBcDeEfGhIJkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AaBcDEfGhIjKl AbCdEfGhIJkL  aBcDeFgHiJjKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AbCdEfGgHIjKl AbCdEfGhIjKl  ABcDeFgHiJkL aBcCDeFgHiJkL
  AbCdEfgHiJkL AbCDeFghIjKlL aBCdEfGhIjKl  AbCdEfGHiJKl aBcDeFgHIiJKl
  aBcdEfGHiJKL aBcdeFgHiJKL  aBcDeeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL
  aBCcDeFgHiJkL  aBcDEfGhIjKl AbCdEfGHiJkKl AbcDeFGhIJkL  aBcdEfGhIJKl
  AbCdeFgGhIJKl  AbCdeFghIJkL ABcDefGhiJKL  aBcDEefGhIjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AaBcDeFgHIjKl AbcDeFgHIJkL  aBcdEfGhIIJkL  aBcdEfgHIjKL
  AbCdeFghIJkL ABcDeeFghIJkL AbCdEfGhIjKl  AbCDeFgHiJkL aBbCdEFgHiJkL
  abCdEFgHIjKl AbcDeFgHIJJkl AbcDeFgHiJKL  aBcdEfgHIjKL AbCdeFggHiJKL

  aBCdeFghIjKL aBCdEfGhIjkL  AbCdDEfGhIjKl  aBCdEfGHiJkL abCdEfGHiJKl
  AabCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHIiJKL aBcdEfGhiJKL  aBCdEfgHiJkL
  aBCdEfFgHijKL  aBcDEfGhIjKl aBCdEfGhIJkL  aBbcDeFGhIJkL  aBcdEfGhIJKl
  AbCdeFgHiJKlL  AbcDefGhIJkL ABcdEfGhiJKL  aBcDeFggHiJkL  AbCDeFghIjKl
  AbCDEfgHIjkL aBcDEeFGhIjKl AbcDeFGhIJkL  abCdeFGhIJKlL  aBcdEfgHIJkL
  AbCdefGhIJkL AbCDefGhiIJkL aBCdEfgHiJkL  AbCdEfGhIjKl AbCdEFfGhIjKl
  AbCdEfGHiJKl aBcDeFgHIjKL  aBccDefGHiJKL  abCdeFgHiJKL aBcDefGhIjKKl
  ABcDefGhIjKl ABCdEfGhiJkL  aBCdEFgHhiJkL  aBcDEfGhIjKl AbCdEfGHiJkL
  AbcDdEfGHiJKl  AbcDefGHiJKl ABcdEfgHiJKL  aBBcdEfgHiJKl  ABcDeFghIjKl
  ABCdEfGhiJjKl  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfFgHIjKl  AbCdeFGhIJKl

  AbcDefGhIJKl AbCcdEfGhIJkL AbCdeFgHiJkL  ABcDefGhIjKkL  aBCdEfGhIjKl
  AbCDeFgHiJkL aBcDeFGhHiJkL aBcDeFgHIJkL  abCdeFgHIJkL AbcDdeFgHIjKL
  aBcDefGhIJkL AbCdEfgHiJkL  AaBCdEfgHiJkL  AbCdEfGhIjKl AbCDeFgHiJjKl
  AbCdEfGHiJkL aBcdEfGHIjKl  AbCdeFfGHiJKl  AbCdefGHiJKL aBcDefGhiJKL
  aBCcdEfgHiJKL  aBcDeFgHijKL aBCdEfGhIjKkl ABcDEfGhIjKl  AbcDEfGHiJkL
  abCdEfGHhIJkL  aBcdEfGhIJKl AbCdeFgHiJKl  ABcDeefGHiJKL  aBcdEfgHiJKl
  ABcDeFghIjKL aAbCDeFgHijKl ABcDeFGhIjKl  aBcDeFGhIJjKl  aBcDeFgHIJkL
  abCdeFgHIJkL AbCdeeFgHIJkL AbcDefGhIJkL  AbCdEfgHiJkL ABcDdEfgHiJkL
  AbCdEFgHijKl AbCDeFgHIjKll AbCdEfGHIjKl  aBcDeFgHIjKL aBcdEfgHHiJKL
  aBcdeFgHiJKL aBcDefGhIjKL  AbCdEefGhIjKL  aBCdEfgHiJkL aBCdEfGhIjKl

  AaBcDEfGhIjKl  AbCdEfGHiJKl aBcdEfGHiJJKl aBcdEfGhIJKl  AbCdeFgHiJKL
  aBcDefFgHiJKl  ABcDefGhIjKl ABCdEfGhiJkL  aBCcDeFgHiJkL  aBcDEfGhIJkl
  AbCdEfGHiJKlL  abcDeFGhIJKl AbcdEfGhIJKl  ABcdeFgHhIJKl  AbCdEfgHiJKl
  ABcDeFghIjKl ABcDEefGhIjKl AbCDeFgHiJkL  aBcDeFGhIjKl AaBcDeFgHIjKl
  AbCdeFgHIJkL AbcDefGhIJjKL aBcDefGhIjKL  AbCdEfghIJkL ABcDeFggHiJkL
  AbCDefGhIjKl AbCDeFgHiJkL  aBcCdEFgHiJkL  aBcdEFgHIjKl AbCdeFgHIjKLl
  AbCdeFgHiJKL aBcDefGhIjKL  AbCdEfggHiJKL  aBCdeFgHijKL aBCdEfGhIjKl
  AbCdEeFGhIjKl  AbCdEfGHiJkL aBcdEfGHiJKl  AaBcdEfGhIJKl  AbCdeFgHiJKL
  aBcDefgHiIJKl  ABcDefgHiJkL ABcDeFgHijKL  aBCdEfGgHijKL  aBcDeFGhIjKl
  aBcDEfGhIJkL aBccDeFGhIJkL aBcdEfGhIJKl  AbCdefGhIJKkL  AbCdefGhIJkL

  ABcDefgHiJkL ABcDeFggHiJkL AbCDeFgHijKl  AbCDeFgHIjKl aBcDdEFgHIjKl
  aBcDeFgHIjKL aBcdEfgHIJkL  AbBcdEfgHIjKL  AbCdefGhIjKL AbCdEfGhiJjKL
  aBCdEfGhiJkL AbCdEFgHijKl  AbCDeFfGhIJkl  AbCdEfGHiJKl aBcDeFgHIjKL
  aBccdEfGHiJKL  aBcdeFgHiJKL aBCdefGhIjKLl ABcDeFghIjKL  aBCdEfGhiJkL
  aBCdEfGhHiJkL  aBcDEfGhIjKl AbCdEfGHiJKl  aBcDdeFGhIJkL  AbcDefGhIJKl
  ABcdeFgHiJKl ABbCdEfgHiJkL ABcDeFghIjKl  ABcDEfgHiJjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGgHIjKl AbCdeFgHIJkL  aBcDefGhIJkL AbCcDefGhIjKL
  AbCdEfgHiJkL ABcDefGhIjKkL AbCdEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIiJkL
  aBcdEfGHIjKl AbcDeFgHIjKL  aBcDeeFgHiJKL  aBcdEfgHIjKL AbCdEfghIjKL
  AaBCdeFgHijKL  aBCdEfGhIjKl AbCdEFgHiJjKl aBCdEfGHiJkL  abCdEfGHiJKl

  AbCdeFfGhIJKl  AbCdefGHiJKL aBcDefgHiJKL  aBCdDefgHiJKl  ABcDeFgHijKL
  aBcDEfGhIjkLl  ABcDeFGhIjKl aBcDeFGhIJkL  abCdEfGhHIJkL  aBcdEfGhIJKl
  AbCdefGhIJKl ABcDeefGhIJkL ABcdEfgHiJkL  ABcDeFgHijKl ABbCDeFgHijKl
  AbCDeFgHIjKl aBcDeFGhIJjKl aBcDeFgHIjKL  aBcdeFgHIJkL AbCdefFgHIjKL
  AbCdefGhIjKL AbCdEfgHiJkL  AbCDdEfgHiJkL  aBCdEFgHijKl AbCdEFgHiJKll
  AbCdEfGHiJKl aBcDeFgHIjKL  aBcdeFgHHiJKL  aBcdeFgHiJKL aBcDefGhIjKL
  aBCdEefGhIjKl  ABCdEfgHiJkL aBCdEfGhIjKl  AaBcDEfGhIjKl  AbCdEfGHiJKl
  aBcDefGHiJKkl  ABcdEfGhIJkl ABCdeFgHiJKl  ABcDefGgHiJkL  ABcDefGhIjKl
  ABcDEfgHiJkL aBcCDeFgHiJkL aBcDeFGhIjKl  AbCdeFGhIJkLl  AbcDeFgHIJkL
  aBcdEfGhIJkL)
}
Chinese0689 =
唐・周

麟徳暦 688 - 700 (歳首 建子月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>688, 'origin_of_LSC'=>1972387, 'border'=>'0*11-01',
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:ChineseTerms::MonthA::*')}),
     Coordinates::DefaultDayIndex
 ],
'rule_table'=> %w(
          AbcDeFgHIJkL  aBcdEfGhIIJkL  aBcdEfgHIjKL
  AbCdeFghIJkL ABcDeeFghIJkL AbCdEfGhIjKl  AbCDeFgHiJkL aBbCdEFgHiJkL
  abCdEFgHIjKl AbcDeFgHIJJkl AbcDeFgHiJKL  aBcdEfgHIjKL AbCdeFggHiJKL)
}
Chinese0761 =

大衍暦 760-761 (歳首 建子月)

五紀暦 762 (歳首 建子月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>760, 'origin_of_LSC'=>1998670, 'border'=>'0*11-01',
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:ChineseTerms::MonthB::*')}),
     Coordinates::DefaultDayIndex
 ],
'rule_table'=> %w(AbcDdeFgHIjKL aBcDefGhIJkL  AbCdEfgHiJkL)
}
Chinese0618 =

『唐・日本における進朔に関する研究』(2013-10版)を使用する場合の朔閏表(一部修正あり)

隋・唐

大業暦 618

戊寅暦 619 - 664

唐・周

麟徳暦 665 - 728 総法 1340(小余の分母)

大衍暦 729 - 761 通法 3040( 〃 )

五紀暦 762 - 783 通法 1340( 〃 )

正元暦 784 - 806

観象暦 807 - 821

宣明暦 822 - 892 統法 8400( 〃 )

唐~後梁

崇玄暦 893 - 907

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>618, 'origin_of_LSC'=>1946814,
'indices'=> _IndicesM1,
'rule_table'=> %w(    aBcDeFgHiJkL  ABbcDefGhIJKl  AbCdeFgHiJkL
  ABcDefGhIjJkL  AbCDefGhIjKl AbCDeFgHiJkL  aBcDeFGgHiJkL  aBcdEFgHIjKl
  AbCdeFgHIJkL aBcCdeFgHIjKL aBcdEfgHIjKL  AbCdeFghIJkLL  AbCdeFgHiJkL
  AbCdEfGhIjKl AbCDeFgHhIjKl AbCdEFgHiJkL  aBcdEfGHIjKl AbCddEfGHIjKl
  AbCdeFghIJKL aBcDefgHIjKL  AbBcDefgHiJKL  aBCdeFghIjKL aBCdEfGhIjJkL
  aBcDEfGhIjKl AbcDEfGHiJkL  aBcdEfFGhIJkL  aBcdEfGhIJKl aBcDeFGhIjKl
  AbCcDeFgHiJKl  AbCdEfGhIjKl AbCDeFgHiJkLl AbCdEFgHiJkL  aBcDeFgHiJKl

  AbCdEfGhIiJkL  aBCdEfGhIjKl AbCdEFgHiJkL  aBcDeEfGhIJkL  aBcDeFgHiJkL
  aBCdEfGhIjKl AaBcDEfGhIjKl AbCdEfGhIJkL  aBcDeFgHiJjKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AbCdEfGgHIjKl AbCdEfGhIjKl  ABcDeFgHiJkL aBcCDeFgHiJkL
  AbCdEfgHiJkL AbCDeFghIjKlL aBCdEfGhIjKl  AbCdEFgHiJKl aBcDeFgHIiJKl
  aBcdEfGHiJKL abCdeFgHiJKL  aBcDeeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL
  aBCcDeFgHiJkL  AbcDEfGhIjKL AbcdEfGHiJkKl AbcDeFGhIJkL  aBcdEfGhIJKl
  AbCdeFgGhIJKl  AbCdeFgHiJKl ABcDefGhIjKL  aBcDEefGhIjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AaBcDeFgHIjKl AbcDeFgHIJkL  aBcdEfGhIIJkL  aBcdEfgHIjKL
  AbCdeFghIJKL aBcDeeFghIJKL abCdEfGhIjkL  AbCDeFgHiJkL aBbCdEFgHiJkL
  abCdEFgHIjKl AbcDeFgHIJJkl AbcDeFgHiJKL  aBcdEfgHIJkL AbCdeFggHiJKL

  aBCdeFghIjKL aBCdEfGhIjkL  AbCdDEfGhIjkL  aBCdEfGHiJkL abCdEfGHiJKl
  AabCdEfGHiJKl  AbcDefGHiJKL aBcDefGhIiJKL aBcDefGhIjKL  aBCdEfgHiJkL
  aBCDeFfgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkL  AbbcDeFGHiJkL  aBcdEfGHiJKl
  AbCdeFgHiJKLl  AbcDefGhIJkL ABcdEfgHiJkL  ABcDeFggHiJkL  ABcDeFghIJkL
  aBcDEfGhIjKl AbCdEeFGhIjKl AbcDeFGhIJkL  aBcdEfGhIJkLL  AbcdEfGhIJkL
  AbCdeFghIJkL ABcDefGhiIJkL AbCDefGhiJkL  aBCdEfGHijKl AbCdEFfGhIjKl
  AbCdEfGHiJKl aBcdEfGHIjKL  abCcdEfGHiJKl  AbCdeFgHiJKL aBcDefGhIjKKl
  ABCdeFghIjKL aBCdEfGhiJkL  aBCdEFgHhiJkL  aBcDEfGHiJkl AbCdEfGHiJKl
  AbcDdEfGHiJKl  AbcDefGHiJKL aBcdEfgHiJKL  aBBcdEfgHiJKl  ABcDeFghIjKl
  ABCdEfGhiJjKl  ABcDeFGhiJkL aBcDEfGhIjKl  AbCdEfFGhIJkL  abCdeFGhIJkL

  AbcDefGhIJKl ABccDefGhIJkL AbCdEfgHiJkL  ABcDeFghIjKkL  AbCDeFghIjKl
  AbCDeFGhiJkL aBcDeFGhHiJkL aBcDeFgHIjKL  abCdeFgHIJkL AbcDdeFgHIjKL
  aBcdeFGhIJkL AbCdEFghiJkL  AaBCdEfgHiJkL  AbCdEfGhIjKl AbCDeFgHiJjKl
  AbCdEfGHiJkL aBcdEfGHIjKl  AbCdeFfGHiJKl  AbCdefGHiJKL aBcDefgHiJKL
  AbCcDefgHiJKL  aBCdeFgHijKL aBCdEfGhIjKkl ABcDeFGhIjKl  aBcDEfGhIJkL
  abCdEfGHhIJkL  abCdEfGhIJKl AbCdefGhIJKl  ABcDeefGHiJKL  aBcdEfgHiJKl
  ABcDeFgHijKL aAbCDeFgHijKl AbCDeFGhIjKl  AbcDeFGhIJjKl  aBcDeFgHIJkL
  aBcdeFgHIJKl AbCdeeFgHIjKL AbCdefGhIJkL  AbCdEfGhiJkL AbCDdEfgHiJkL
  AbCdEFgHijKl AbCDeFgHIjKll AbCdEfGHIjKl  aBcDeFgHIjKL aBcdEfgHHiJKL
  aBcdeFgHiJKL aBCdefGhIjKL  AbCdEefGhIjKL  aBCdEfgHiJkL aBCdEfGhIjKl

  AaBcDEfGhIjKl  AbCdEfGHiJKl aBCdefGHiJJKl aBcdEfGhIJKl  AbCdeFgHiJKL
  aBcDeFfgHiJKl  ABcDefGhIjKl ABcDEfGhiJkL  aBCcDeFgHiJkL  aBcDEfGhIJkl
  AbCdEfGHiJKlL  abcDeFGhIJKl AbcDefGhIJKl  ABcdeFgHhIJKl  AbCdEfgHiJkL
  ABcDeFghIjKl ABcDEefGhIjKl AbCDeFgHiJkL  aBcDeFGhIjKl AaBcDeFgHIjKL
  abcDeFgHIJkL AbcDefGhIJjKL aBcDefGhIjKL  AbCdEfghIJkL ABcDeFggHiJkL
  AbCDefGhIjKl AbCDeFgHiJkL  aBcCdEFgHiJkL  aBcdEFgHIjKl AbCdeFgHIjKLl
  AbCdeFgHiJKL aBcDefGhIjKL  AbCdEfggHiJKL  aBCdeFgHijKL aBCdEfGhIjKl
  AbCdEeFGhIjKl  AbCdEfGHiJkL aBcdEfGHiJKl  AaBcdEfGhIJKl  AbCdeFgHiJKL
  aBcDefgHiIJKl  ABcDefgHiJKl ABcDeFgHijKL  aBCdEfGgHijKL  aBcDeFGhIjKl
  aBcDEfGhIJkL aBccDeFGhIJkL aBcdEfGhIJKl  AbCdefGhIJKkL  AbCdefGhIJkL

  ABcDefgHiJkL ABcDeFgHhiJkL AbCDeFgHijKl  AbCDeFgHIjKl aBcDdEFgHIjKl
  AbcDeFgHIjKL aBcdEfgHIJkL  AbBcdeFgHIjKL  AbCdefGhIjKL AbCdEfgHiJjKL
  aBCdEfGhiJkL AbCdEFgHijKl  AbCdEFfGhIJkl  AbCdEfGHiJKl AbcDeFgHIjKL
  aBccdEfGHiJKL  aBcdeFgHiJKL aBCdefGhIjKLl ABcDeFghIjKL  aBCdEfGhiJkL
  aBCdEfGhHiJkL  aBcDEfGhIjKl AbCdEfGHiJKl  aBcDdeFGhIJkL  AbcdEfGhIJKl
  ABcdeFgHiJKl ABbCdeFgHiJkL ABcDeFghIjKl  ABcDEfgHiJjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEfGgHIjKl AbCdeFgHIJkL  aBcDefGhIJkL AbCcDefGhIjKL
  AbCdEfghIJkL ABcDefGhIjKkL AbCdEfGhIjKl  AbCDeFgHiJkL aBcDeFgHIiJkL
  aBcdEFghIJKl AbCdeFgHIjKL  aBcDeeFgHiJKL  aBcDefgHIjKL AbCdEfghIjKL
  AaBCdeFgHijKL  aBCdEfGhIjKl AbCdEFgHiJjKl AbCdEfGHiJkL  abCdEFgHIjKL

  abCdeFfGHiJKl  AbcDefGHiJKL aBcDefgHiJKL  aBCdDefgHiJKl  ABcDeFgHijKL
  aBcDEfGhIjkLl  ABcDeFGhIjKl)
}
Chinese0618B =

『唐・日本における進朔に関する研究』(2013-10版)を使用する場合の朔閏表(一部修正あり)

唐・周

麟徳暦 688 - 700 (歳首 建子月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>688, 'origin_of_LSC'=>1972387, 'border'=>'0*11-01',
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:ChineseTerms::MonthA::*')}),
     Coordinates::DefaultDayIndex
 ],
'rule_table'=> %w(    AbcDeFgHIJkL  aBcdEfGhIIJkL  aBcdEfgHIjKL 
  AbCdeFghIJKL aBcDeeFghIJKL abCdEfGhIjkL  AbCDeFgHiJkL aBbCdEFgHiJkL
  abCdEFgHIjKl AbcDeFgHIJJkl AbcDeFgHiJKL  aBcdEfgHIJkL AbCdeFggHiJKL)
}
Chinese0618C =

『唐・日本における進朔に関する研究』(2013-10版)を使用する場合の朔閏表(一部修正あり)

大衍暦 760-761 (歳首 建子月)

五紀暦 762 (歳首 建子月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>760, 'origin_of_LSC'=>1998670, 'border'=>'0*11-01',
'indices'=> [
     Coordinates::Index.new({:branch=>{1=>When.Resource('_m:CalendarTerms::閏')},
                             :trunk=>When.Resource('_m:ChineseTerms::MonthB::*')}),
     Coordinates::DefaultDayIndex
 ],
'rule_table'=> %w(AbcDdeFgHIjKL aBcdeFGhIJkL  AbCdEFghiJkL)
}
Chinese0939 =
後晋

調元暦 939 - 943

後晋

調元暦? 944 - 946

調元暦 947 - 994

大明暦 995 - 1125

金・西遼

大明暦 1123 - 1181

金・西遼

重修大明暦 1182 - 1234

重修大明暦 1215 - 1280

元・明

授時暦 1281 - 1644 (大統暦もほとんど同じ)

南明

大統暦 1645 - 1662

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>939, 'origin_of_LSC'=>2064050,
'indices'=> _IndicesM1,
'rule_table'=> %w(
  ABcDefGgHiJkL  ABcDefGhIjKl
  ABcDEfgHiJkL aBcCDeFgHiJkL aBcDeFGhIjKl  AbCdeFGhIJkLl  AbcDeFgHIJkL
  aBcdEfGhIJkL AbCdeFggHIjKL AbCdeFghIJkL  AbCDefGhIjKl AbCDeEfGhIjKl

  AbCDeFgHiJkL aBcDeFgHIjKl  AabCdEfGHIjKl  AbcDeFgHIjKL aBcdEfgHIiJKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbCdEfGghIjKL  aBCdEfGhIjkL AbCdEFgHiJkL
  abCcDEfGHiJkL  abCdEfGHiJKl AbcDeFgHiJKLl AbcDEfgHiJKL  aBcdEfgHiJKL
  aBCdeFghHiJKl  ABcDeFghIjKL aBcDEfGhIjkL  aBCdEeFGhIjKl  aBcDeFGhIJkL
  abCdEfGhIJKl AbbCdeFGhIJKl AbcDefGhIJKl  ABcdEfgHiJJkL  AbCdEfgHiJkL
  ABcDeFghIjKl ABcDEfGgHijKl AbCDeFgHIjKl  aBcDeFGhIJkL abCcDeFgHIjKL
  abCdeFgHIJkL AbcDefGhIJkLL AbcDefGhIjKL  AbCdEfgHiJkL AbCDeFghHiJkL
  aBCdEfGhIjKl AbCdEFgHiJkL  aBcDeEfGHiJKl  aBcdEfGHIjKL abCdeFgHIjKL
  AbbCdeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJjKl ABcDEfgHiJkL  aBCdEfGhIjKl
  AbCdEfGGhIjKl  AbCdEfGHiJKl aBcdEfGHiJKl  AbCddEfGhIJKl  AbCdeFgHiJKl

  ABcDefGhiJKkL  ABcDefGhIjKl ABcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFGhIjKl
  AbcDeFGhIJkL aBcdEeFgHIJkL aBcdEfGhIJkL  AbCdeFghIJkL ABbCdeFghIJkL
  AbCDefGhiJKl ABcDeFgHiJjKl AbCdEFgHiJkL  abCDeFgHIjKl AbcDeFgGHIjKl
  AbcDeFgHIjKL aBcdEfgHIjKL  AbCddEfgHIjKL  AbCdeFghIjKL AbCDefGhiJkLL
  aBCdEfGhIjkL aBCdEFgHiJkL  abCdEFgHIiJkL  abCdEfGHiJKl AbcDeFgHiJKL
  aBcdEefGhIJKl  ABcdEfgHiJKL aBCdeFghIjKL  aBCcDeFghIjKl  ABcDEfGhIjkL
  aBCdEfGHiJjKl  aBcDeFGhIJkL abCdeFGhIJKl  AbcDefFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKl ABcDdEfgHiJkL ABcDeFghIjKl  ABcDEfGhIjkLl  AbCDeFgHIjkL
  aBcDeFGhIJkL abCdeFGhIIjKL abCdeFgHIJkL  AbcDefGhIJkL ABcdEefGhIjKL
  AbCdEfgHiJkL AbCDeFghIjKl  AaBCdEfGhIjKl  AbCdEFgHiJkL aBcDeFgHIjKKl

  aBcdEfGHIjKL abCdeFgHIjKL  AbcDefGgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL
  aBCcDEfgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkLl AbCdEfGHiJkL  aBcdEfGHiJKl
  AbCdeFgHhIJKl  AbCdeFgHiJKl ABcDefGhiJKl  ABCdEffGhiJKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AbCcDeFGhIjKl AbcDeFGhIJkL  aBcdEfGhIJKkL  aBcdEfGhIJkL
  AbCdeFghIJkL ABcDefGghIJkL AbCDefGhiJkL  AbCDeFgHiJkl ABcDdEFgHiJkL
  abCDeFgHIjKl AbcDeFgHIJkLl AbcDeFgHIjKL  aBcdEfgHIjKL AbCdeFghHiJKL
  aBCdeFghIjKL AbCdEfGhiJkL  AbCDeFfGhIjkL  aBCdEfGHiJkL abCdEFgHIjKl
  AbbCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHiJKLl ABcdEfgHiJKL  aBCdeFghIjKL
  aBCdEfGhhIjKl  ABcDEfGhiJkL aBcDEfGHiJkL  abCdDeFGhIJkL  abCdEfGhIJKl
  AbcDefGhIJKl ABbcDefGhIJKl ABcdEfgHiJKl  ABcDeFghIiJkL  ABcDeFghIjKl

  ABcDeFGhiJkL aBcDEfFgHIjkL aBcDeFGhIJkL  abCdeFGhIJkL AbCcdeFgHIJkL
  AbcDefGhIjKL AbCdEfgHiJjKL AbCdEfgHiJkL  AbCDeFghIjKl AbCDeFgHhIjKl
  AbCdEFgHiJkL aBcDeFgHIjKL  abCddEfGHIjKL  abCdeFgHiJKL aBcDefGhIjKL
  AaBcDefGhIjKL  aBCdEfgHiJkL aBCdEfGhIiJkL aBcDEfGhIjKl  AbCdEfGHiJkL
  aBcdEeFGHiJkL  aBcdEfGHiJKl AbCdeFgHiJKL  aBcCdeFghIJKl  ABcDefGhiJKl
  ABCdEfgHijKKl  ABcDeFgHiJkL aBcDEfGhIjKl  AbCdEfGHhIjKl  AbcDeFGhIJkL
  aBcdEfGhIJKl AbCddEfgHIJkL AbCdeFghIJkL  ABcDefGhiJKl ABbCDefGhiJkL
  AbCDeFgHiJkl ABcDeFGhIjJkL abCdEFgHIjKl  AbcDeFgHIJkL aBcdEfFgHIjKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbCDdeFghIjKL  aBCdEfGhiJkL AbCDeFgHiJkkL
  aBCdEfGHiJkl ABcdEFgHiJKl  AbcDeFgHHiJKl  AbcDefGHiJKL aBcdEfgHiJKL

  aBCddEfgHiJKL  aBCdeFghIjKL aBCdEfGhiJkLl ABcDEfGhiJkL  aBcDEfGHiJkl
  AbCdEfGHiJJkL  abCdeFGhIJKl AbcDefGhIJKl  ABcdEffGhIJKl  ABcdEfgHiJKl
  ABcDeFghIjKl ABbCDeFghIjKl ABcDeFGhiJkL  aBcDeFGhIjKkL  aBcDeFgHIjKL
  abCdeFgHIJkL AbcDefGgHIJkL AbcDefGhIjKL  AbCdEfgHiJkL ABcDeEfgHiJkL
  AbCDeFghIjKl AbCDeFgHiJkL  aAbCdEFgHiJkL  aBcdEFgHIjKL abCdeFgHIiJKL
  abCdeFgHiJKL aBcDefGhIjKL  AbCdEffGhiJKL  aBCdEfgHiJkL aBCdEfGhIjKl
  AbCcDEfGhIjKl  AbCdEfGHiJkL aBcdEfGHiJKkL aBcdEfGHiJKl  AbCdeFgHiJKL
  aBcDefGghIJKl  ABcDefGhiJKl ABCdEfgHijKL  aBCdEeFgHiJkL  aBcDEfGhIjKl
  AbcDEfGHiJkL aBbcDeFGhIJkL aBcdEfGhIJKl  AbCdeFghIJJkL  AbCdeFghIJkL
  ABcDefGhiJKl ABcDeFfGhiJkL AbCDeFgHiJkl  ABcDeFGhIjKl aBbCdEFgHIjKl

  AbcDeFgHIJkL aBcdEfgHIJkLL aBcdEfgHIjKL  AbCdeFghIjKL AbCdEfGhhIjKL
  aBCdEfGhiJkL AbCdEFgHijKl  AbCDdEfGHiJkL  abCdEfGHiJKl AbcDeFgHIjKL
  aBbcDefGHiJKL  aBcdEfgHiJKL aBCdeFghIiJKL aBcDeFghIjKL  aBCdEfGhiJkL
  aBCdEFgGhiJkL  aBcDEfGhIJkl AbCdEfGHiJKl  AbcCdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKLl  ABcdEfgHiJKl ABcDeFghIjKl  ABcDEfGhhIjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEeFgHIjKL abCdeFgHIJkL  AbcDefGhIJKl ABbcDefGhIjKL
  AbCdEfgHiJkL ABcDeFghIiJkL AbCDefGhIjKl  AbCDeFgHiJkL aBcDeFGgHiJkL
  aBcdEFgHIjKl AbCdeFgHIjKL  aBcDdeFgHiJKL  aBcDefgHIjKL AbCdEfgHijKLL
  aBCdEfgHijKL aBCdEfGhIjKl  AbCdEFgHhIjKl  AbCdEfGHiJkL aBcdEfGHiJKl
  AbCddEfGhIJKl  AbCdeFgHiJKL aBcDefGhiJKL  aBBcDefGhiJKl  ABcDeFgHijKL

  aBcDEfGhIjJkl  ABcDeFGhIjKl aBcDEfGhIJkL  aBcdEfFGhIJkL  aBcdEfGhIJKl
  AbCdefGhIJKl ABcDdeFghIJkL ABcDefgHiJkL  ABcDeFgHijKkL  AbCDeFgHijKl
  AbCDeFGhIjKl aBcDeFGhIIjKl AbcDeFgHIJkL  aBcdEfgHIJkL AbCdeEfgHIjKL
  AbCdeFghIjKL AbCdEfGhiJkL  AaBCdEfGhiJkL  AbCDeFgHijKl AbCDeFgHIjKkl
  AbCdEfGHiJKl AbcDeFgHIjKL  aBcdeFfGHiJKL  aBcdEfgHiJKL aBCdeFghIjKL
  aBCcDeFghIjKL  aBCdEfGhiJkL aBCdEfGHijKkL aBcDEfGhIJkl  AbCdEfGHiJKl
  abCdEfGhHIJkL  aBcdEfgHIJKl AbCdeFghIJkL  ABcDeeFghIjKL  AbCDefGhiJkL
  AbCDeFgHijKl ABbCDeFgHijKl AbCDeFgHIjKl  AbcDeFgHIJjKl  AbcDeFgHIjKL
  aBcdEfgHIjKL AbCdeFfgHiJKL AbCdeFghIjKL  AbCdEfGhiJkL AbCDdEfGhiJkL
  aBCdEFgHiJkl AbCdEFgHiJKll AbCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHHIjKL

  aBcdEfgHiJKL aBCdeFghIjKL  aBCdEeFghIjKl  ABcDEfGhiJkL aBcDEfGhIjKl
  AaBcDeFGhIJkl  AbCdeFGhIJKl AbcDefGhIJKkL AbcDefGhIJKl  ABcdEfgHiJKl
  ABcDeFggHiJkL  ABcDeFghIjKl ABcDeFgHiJkL  aBcCDeFgHiJkL  aBcDeFGhIjKl
  AbCdeFGhIJkL AabCdeFgHIJkL AbcDefGhIjKL  AbCdeFgHhIjKL  AbCdEfgHiJkL
  AbCDefGhIjKl AbCDeEfGhIjKl AbCdEFgHiJkL  aBcdEFgHIjKl AaBcdEfGHIjKl
  AbCdeFgHiJKL aBcDefGhIiJKL aBcDefGhiJKL  aBCdEfgHijKL aBCdEfGgHijKL
  aBCdEfGhIjKl AbCdEfGHiJkL  aBccDeFGHiJkL  aBcdEfGHiJKl AbCdeFGhiJKLl
  AbCdefGhIJKl ABcDefgHiJKl  ABCdEfgHhiJKl  ABcDeFghIjKl ABcDEfGhIjKl
  aBcDEeFGhIjKl  aBcDeFGhIJkL aBcdEfGhIJKl  AbBcdeFgHIJkL  AbCdefGhIJkL
  ABcDefgHiJjKL  AbCdEfGhiJkL AbCDeFgHijKl  ABcDeFGgHiJkl  AbCdEFgHIjKl

  aBcDeFgHIJkL aBccDefGHIjKL aBcdeFgHIjKL  AbCdefGhIjKL AAbCdefGhIjKL
  AbCdEfGhiJkL AbCDeFgHiiJkL aBCdEfGHijKl  AbCdEFgHiJKl aBcDeEfGHiJKl
  AbcDefGHiJKL aBcdeFgHiJKL  AbCcdeFgHiJKL  aBcDefGhIjKL aBCdEfGhiJjKl
  ABcDEfgHiJkL aBcDEfGhIjKl  AbCdEfGGhIJkl  AbCdeFGhIJKl aBcDefGhIJKl
  ABccdEfGhIJKl  AbCdeFgHiJKl ABcDefGhIjKkL ABcDefGhIjKl  ABcDeFgHiJkL
  aBcDEfGhIiJkL  aBcDeFGhIjKl AbCdeFGhIJkL  aBcDeeFgHIJkL  aBcDefGhIjKL
  AbCdEfghIJkL ABbCdeFgHiJkL AbCDefGhIjKl  AbCDeFgHiJjKl  AbCdEFgHiJkL
  aBcdEFgHIjKl AbCdeFfGHIjKl AbCdeFgHiJKL  aBcDefgHIjKL AbCdDefgHiJKL
  aBCdeFgHijKL aBCdEfGhIjkLL aBcDEfGhIjKl  AbCdEfGHiJkL abCdEfGHIiJkL
  abCdEfGHiJKl AbCdefGHiJKL  aBcDeefGhIJKl  ABcDefgHiJKl ABCdeFghIjKL

  aBCcDeFgHijKl  ABcDEfGhIjKl aBcDEfGHiJkKl aBcDeFGhIJkL  abCdEfGhIJKl
  AbCdefGgHIJkL  AbCdefGhIJkL ABcDefgHiJkL  ABcDdEfgHiJkL  AbCDeFgHijKl
  AbCDeFGhIjkLl  AbCdEFgHIjKl aBcDeFgHIJkL  abCdeFgHIIjKL  aBcdeFgHIjKL
  AbCdefGhIjKL AbCdEefGhIjKL AbCdEfgHiJkL  AbCDeFgHijKl AaBCdEfGhIjKl
  AbCdEfGHiJKl aBcDeFgHIjKLl aBcdEfGHiJKL  aBcdeFgHiJKL aBcDefGgHiJKL
  aBcDefGhIjKL aBCdEfgHiJkL  aBCdDEfgHiJkL  aBcDEfGhIjKl AbCdEfGHiJkLl
  AbCdeFGhIJKl aBcdEfGhIJKl  AbCdeFgHhIJKl  AbCdeFgHiJKl ABcDefGhIjKl
  ABCdEffGhIjKl  ABcDeFgHiJkL aBcDeFGhIjKl  AbBcDeFgHIjKl  AbcDeFgHIJkL
  aBcdEfGhIJKkL  aBcdEfgHIjKL AbCdeFghIJkL  ABcDefGghIJkL  AbCDefGhIjKl
  AbCDeFgHiJkL aBcDdEFgHiJkL abCdEFgHIjKl  AbcDeFgHIjKL aAbcDeFgHiJKL

  aBcdEfgHIjKL AbCdeFghIiJKL aBCdeFghIjKL  aBCdEfGhIjkL AbCdEFfGhIjKl
  aBCdEfGHiJkL abCdEfGHiJKl  AbbCdEfGhIJKl  AbcDefGHiJKL aBcdEfgHiJKKl
  ABcdEfgHiJKl ABCdeFghIJkL  aBCdEfGgHijKl  ABcDEfGhIjKl aBcDEfGhIJkL
  abCcDeFGhIJkL  abCdeFGhIJKl AbcDefGhIJKl  ABbcDefGhIJkL  ABcdEfgHiJkL
  ABcDeFghIiJkL  AbCDeFghIjKl AbCDeFGhIjkL  aBcDeFFgHIjKl  aBcDeFgHIjKL
  abCdeFgHIJkL AbbCdeFgHIjKL AbcDefGhIjKL  AbCdEfgHiJjKL  aBCdEfgHiJkL
  aBCDeFghIjKl AbCDeFgHhIjKl AbCdEfGHiJKl  aBcDefGHIjKL abCddEfGHiJKL
  abCdeFgHiJKL aBcDefGhIjKL  AaBcDefGhIjKL  aBCdEfgHiJkL aBCdEfGhIiJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcdEeFGhIJkL  aBcdEfGhIJKl AbCdefGHiJKL
  aBcCdeFghIJKl  ABcDefGhIjKl ABcDEfgHiJkKl AbCDeFgHiJkL  aBcDeFGhIjKl

  AbcDeFGgHIjKl  AbcDeFgHIJkL aBcdEfGhIJKl  AbCddEfgHIjKL  AbCdeFghIJkL
  ABcDefGhiJkL AAbCdEfGhIjKl AbCDeFgHiJkL  aBcDeFGhIiJkL  abCdEFgHIjKl
  AbcDeFgHIjKL aBcdEefGHiJKL aBcdEfgHiJKL  AbCdeFghIjKL AbCDdeFghIjKL
  aBCdEfGhIjkL AbCdEFgHiJkLl aBcDEfGHiJkL  abCdEfGHiJKl AbcDeFgHhIJKl
  AbcDefGhIJKL aBcdEfgHiJKL  aBCddEfgHiJKl  ABcDeFghIjKl ABCdEfGhiJkLl
  ABcDeFGhIjkL aBcDeFGhIJkL  abCdEfGHiJJkL  abCdeFGhIJKl AbcDefGhIJKl
  ABcdEffGhIJkL  ABcdEfgHiJkL ABcDeFghIjKl  ABbCDeFghIjKl  AbCDeFgHIjkL
  aBcDeFGhIJkLl  aBcDeFgHIjKL abCdeFgHIJkL  AbcDefGgHIjKL  AbcDefGhIjKL
  AbCdEfgHiJkL AbCDeEfgHiJkL aBCdEFghIjKl  AbCdEFgHiJkL aAbCdEfGHiJKl
  aBcdEfGHIjKL abCdeFgHIiJKL abCdeFgHiJKL  aBcDefGhIjKL AbCdEffGhIjKl

  ABCdEfgHiJkL aBCdEfGhIjKl  AbCcDEfGhIjKl  AbCdEfGHiJkL aBcdEfGHiJKkL
  aBcdEfGhIJKl AbCdeFgHiJKL  aBcDefGghIJkL  ABcDefGhiJKl ABcDEfgHiJkL
  aBcDEeFgHiJkL  aBcDeFGhIjKl AbcDeFGhIJkL  aBbcDeFgHIJkL  aBcdEfGhIJKl
  AbCdeFghIJjKL  AbCdeFghIJkL ABcDefGhiJkL  ABcDeFfGhIjkL  AbCDeFgHiJkL
  abCDeFgHIjKl AbbCdEfGHIjKl AbcDeFgHIjKL  aBcdEfgHIjKLL  aBcdEfgHiJKL
  AbCdeFghIjKL AbCDefGhhIjKL aBCdEfGhiJkL  aBCdEFgHiJkl AbCdDEfGHiJkL
  abCdEfGHIjKl AbcDefGHiJKL  aBbcDefGhIJKL  aBcdEfgHiJKL aBCdeFghIiJKl
  ABcDeFghIjKl ABCdEfGhiJkL  abCDEfFGhIjKl  aBcDeFGhIJkL abCdEfGHiJKl
  AbcCdeFgHIJKl  AbcDefGhIJKl ABcdEfgHiJKkL AbCdEfgHiJkL  ABcDeFghIjKl
  ABcDEfGhhIjKl  AbCDeFgHiJkL aBcDeFGhIjKL  abCddEFgHIjKl  AbCdeFgHIJkL

  AbcDefGhIJkL ABbcDefGhIjKL AbCdEfgHiJkL  AbCDeFghIiJkL  aBCdEfGhIjKl
  AbCdEFgHiJkL aBcDeFfGHiJkL aBcdEfGHIjKl  AbCdeFgHIjKL aBcCdeFgHiJKL
  aBcDefGhIjKL AbCdEfgHiJkKl ABCdEfgHiJkL  aBCdEfGhIjKl AbCdEFgHhIjKl
  AbcDEfGHiJkL aBcdEfGHiJKl  AbCddEfGhIJKl  AbCdeFghIJKL aBcDefGhiJKl
  ABBcDefGhiJKl  ABcDeFgHiJkL aBcDEfGhIjJkL aBcDeFGhIjKl  AbcDeFGhIJkL
  aBcdEfFgHIJkL  aBcdEfgHIJKl AbCdeFghIJkL  ABcDdeFghIJkL  ABcDefGhiJkL
  ABcDeFgHijKkL  AbCDeFgHiJkl AbCDeFgHIjKl  AbcDeFgHHIjKl  AbcDeFgHIjKL
  aBcdEfgHIjKL AbCddEfgHiJKL AbCdeFghIjKL  AbCdEfGhiJkL AaBCdEfGhiJkL
  aBCdEFgHiJkl AbCdEFgHIjKkL abCdEfGHiJKl  AbcDefGHiJKL aBcdEffGhIJKL
  aBcdEfgHiJKL aBCdeFghIjKL  aBCcDeFghIjKl  ABcDEfGhiJkL aBCdEfGHiJkkL

  aBcDeFGhIJkL abCdEfGhIJKl  AbcDefGgHIJKl  AbcDefGhIJKl ABcdEfgHiJKl
  ABcDeEfgHiJkL  ABcDeFghIjKl ABcDEfGhiJkL  aAbCDeFgHiJkL  aBcDeFGhIjKl
  AbCdeFGhIJjKl  AbCdeFgHIJkL)
}
Chinese0956 =
後漢・後周

調元暦? 947 - 955

後周・北宋

欽天暦 956 - 963

北宋

応天暦 964 - 982

北宋

乾元暦 983 - 1000

北宋

儀天暦 1001 - 1023

北宋・西夏

崇天暦 1024 - 1064

北宋・西夏

明天暦 1065 - 1067

北宋・西夏

崇天暦 1068 - 1074

北宋・西夏

奉元暦 1075 - 1093

北宋・西夏

観天暦 1094 - 1102

北宋・西夏

占天暦 1103 - 1105

宋・西夏

紀元暦 1106 - 1135

南宋

統元暦 1136 - 1167

南宋

乾道暦 1168 - 1176

南宋

淳熙暦 1177 - 1190

南宋

会元暦 1191 - 1198

南宋

統天暦 1199 - 1207

南宋

開禧暦 1208 - 1251

南宋

淳祐暦 1252

南宋

会天暦 1253 - 1270

南宋

成天暦 1271 - 1276

南宋

本天暦 1277 - 1279

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>947, 'origin_of_LSC'=>2066974,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      AbCdeFggHIjKL  AbCdeFghIJkL AbCDefGhiJKl  AbCDeEfGhIjKl

  AbCDeFgHiJkL aBcDeFgHIjKl  AabCdEfGHIjKl  AbcDeFgHIjKL aBcdEfGhIiJKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbCdEfGgHijKL  aBCdEfGhIjKl AbCdEFgHiJkL
  aBccDEfGHiJkL  abCdEfGHiJKl AbcDeFgHiJKLl AbCdefGHiJKL  aBcDefgHiJKL
  aBCdeFghHiJKl  ABcDeFghIjKL aBcDEfGhIjkL  aBCdEeFGhIjKl  aBcDeFGhIJkL
  abCdEfGhIJKl AbbCdeFGhIJKl AbCdefGhIJKl  ABcdEfgHiJJkL  AbCdEfgHiJkL
  ABcDeFghIjKl ABcDEfGgHijKl AbCDeFgHIjKl  aBcDeFGhIJkL abCcDeFgHIjKL
  abCdeFgHIJkL AbcDefGhIJkLL AbcDefGhIjKL  AbCdEfgHiJkL AbCDeFghIiJkL
  AbCdEFghIjKl AbCdEFgHiJkL  aBcDeEfGHiJKl  aBcdEfGHIjKL abCdeFgHIjKL
  AbbCdeFgHiJKL  aBcDefGhIjKL aBCdEfgHiJjKL aBcDEfgHiJkL  aBCdEfGhIjKl
  AbCdEfGGhIjKl  AbCdEfGHiJKl aBcdEfGHiJKl  AbCcdEfGhIJKl  AbCdeFgHiJKL

  aBcDefGhIjKLl  ABcDefGhIjKl ABcDeFgHiJkL  aBcDEfGhIiJkL  aBcDeFGhIjKl
  AbcDeFGhIJkL aBcdEeFgHIJkL aBcdEfGhIJkL  AbCdeFghIJkL ABbCdeFghIJkL
  AbCDefGhiJKl AbCDeFgHiJjKl AbCdEFgHiJkL  abCDeFgHIjKl AbcDeFfGHIjKl
  AbcDeFgHIjKL aBcdEfgHIjKL  AbCddEfgHIjKL  AbCdeFghIjKL AbCdEfGhiJkLL
  aBCdEfGhIjKl aBCdEFgHiJkL  abCdEFgHIiJkL  abCdEfGHiJkL AbcDefGHiJKL
  aBcdEefGhIJKl  ABcdEfgHiJKL aBCdeFghIjKL  aBBcDeFghIjKl  ABcDEfGhIjkL
  aBCdEfGHiJjKl  aBcDeFGhIJkL abCdeFGhIJKl  AbcDefFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKl ABcDdEfgHiJkL ABcDeFghIjKl  ABcDeFGhIjkLl  AbCdEFgHIjKl
  aBcDeFGhIJkL abCdeFGhIIjKL abCdeFgHIJkL  AbcDefGhIjKL AbCdEefGhIjKL
  AbCdEfgHiJkL AbCDeFghIjKl  AaBCdEfGhIjKl  AbCdEFgHiJKl aBcDeFgHIjKKl

  aBcdEfGHIjKL abCdeFgHIjKL  aBcDefGgHiJKL  aBcDefGhIjKL aBCdEfgHiJkL
  aBCcDeFgHiJkL  aBCdEfGhIjKl AbCdEfGHiJkLl AbCdeFGHiJKl  aBcdEfGHiJKl
  AbCdeFgHhIJKl  AbCdeFgHiJKl ABcDefGhiJKl  ABCdEefGhiJKl  ABcDeFgHiJkL
  aBcDEfGhIjKl AbCcDeFGhIjKl AbcDeFGhIJkL  aBcdEfGhIJKkL  aBcdEfgHIJkL
  AbCdeFghIJkL ABcDefGghIJkL AbCdEfGhiJkL  AbCDeFgHiJkL aBcDdEFgHiJkL
  abCDeFgHIjKl AbcDeFgHIJkL  aAbcDeFgHIjKL  aBcdEfgHIjKL AbCdeFghIiJKL
  aBCdeFghIjKL AbCdEfGhiJkL  AbCDeFfGhIjkL  aBCdEfGHiJkL abCdEFgHIjKl
  AbbCdEfGHiJKl  AbcDefGHiJKL aBcdEfgHiJKLl ABcdEfgHiJKL  aBCdeFghIjKL
  aBCdEfGhhIjKl  ABcDEfGhiJkL aBcDEfGHiJkl  AbCdDeFGhIJkL  abCdEfGhIJKl
  AbcDefGhIJKl ABbcDefGhIJKl ABcdEfgHiJKl  ABcDeFghIiJkL  ABcDeFghIjKl

  ABcDeFGhiJkL aBcDEfFgHiJkL aBcDeFgHIJkL  abCdeFGhIJkL AbbCdeFgHIJkL
  AbcDefGhIjKL AbCdEfgHiJjKL AbCdEfgHiJkL  AbCDeFghIjKl AbCDeFgHhIjKl
  AbCdEFgHiJkL aBcDeFgHIjKL  abCddEfGHiJKL  abCdeFgHiJKL aBcDefGhIjKL
  AaBcDefGhIjKL  aBCdEfgHiJkL aBCdEfGhIiJkL aBcDEfGhIjKl  AbCdEfGHiJkL
  aBcdEeFGhIJkL  aBcdEfGHiJKl AbCdeFgHiJKL  aBcCdeFghIJKl  ABcDefGhiJKl
  ABCdEfgHijKKl  ABcDeFgHiJkL aBcDEfGhIjKl  AbcDEfGHhIjKl  AbcDeFGhIJkL
  aBcdEfGhIJKl AbCddEfgHIJkL AbCdeFghIJkL  ABcDefGhiJkL ABbCDefGhiJkL
  AbCDeFgHiJkl ABcDeFGhIjJkL abCdEFgHIjKl  AbcDeFgHIJkL aBcdEfFgHIjKL
  aBcdEfgHIjKL AbCdeFghIjKL  AbCDdeFghIjKL  aBCdEfGhiJkL AbCDeFgHijKkL
  aBCdEfGHiJkl AbCdEfGHiJKl  AbcDeFgHHiJKl  AbcDefGHiJKL aBcdEfgHiJKL

  aBCddEfgHiJKL  aBcDeFghIjKL aBCdEfGhiJkLl ABcDEfGhiJkL  aBcDEfGhIJkl
  AbCdEfGHiJJkL  abCdeFGhIJKl AbcDefGhIJKl  ABcdEffGhIJKl  ABcdEfgHiJKl
  ABcDeFghIjKl ABbCDeFghIjKl ABcDeFgHiJkL  aBcDeFGhIjKkL  aBcDeFgHIjKL
  abCdeFgHIJkL AbcDefGgHIJkL AbcDefGhiJKL  AbCdEfgHiJkL ABcDeEfgHiJkL
  AbCDeFghIjKl AbCDeFgHiJkL  aAbCdEFgHiJkL  aBcdEFgHIjKL abCdeFgHIiJKl
  AbCdeFgHiJKL aBcDefGhIjKL  AbCdEffGhIjKL  aBCdEfgHiJkL aBCdEfGhIjKl
  AbCcDEfGhIjKl  AbCdEfGHiJkL aBcdEfGHiJKkL aBcdEfGhIJKl  AbCdeFgHiJKL
  aBcDefGghIJKl  ABcDefGhiJKl ABCdEfgHijKL  aBCdEeFgHiJkL  aBcDEfGhIjKl
  AbcDEfGHiJkL aBbcDeFGhIJkL aBcdEfGhIJKl  AbCdeFghIJJkL  AbCdeFghIJkL
  ABcDefGhiJKl ABcDeFfGhiJkL AbCDeFgHijKl  ABcDeFGhIjKl aBbCdEFgHIjKl

  AbcDeFgHIJkL aBcdEfgHIJkLL aBcdEfgHIjKL  AbCdeFghIjKL AbCdEfGhhIjKL
  aBCdEfGhiJkL AbCDeFgHiJkl  AbCDdEfGHiJkl  AbCdEfGHiJKl AbcDeFgHIjKL
  aBbcDefGHiJKL  aBcdEfgHiJKL aBCdeFghIiJKL aBcDeFghIjKL  aBCdEfGhiJkL
  aBCdEFgGhiJkL  aBcDEfGhIJkl AbCdEfGHiJKl  AbcCdeFGhIJKl  AbcDefGhIJKl
  ABcdEfgHiJKLl  ABcdEfgHiJKl ABcDeFghIjKl  ABcDEfGhhIjKl  AbCDeFgHiJkL
  aBcDeFGhIjKl AbCdEeFgHIjKL abCdeFgHIJkL  AbcDefGhIJKl ABbcDefGhIjKL
  AbCdEfgHiJkL ABcDeFghIiJkL AbCDefGhIjKl  AbCDeFgHiJkL aBcDeFGgHiJkL
  aBcdEFgHIjKl AbCdeFgHIjKL  aBcDdeFgHiJKL  aBcDefGhIjKL AbCdEfgHijKLL
  aBCdEfgHijKL aBCdEfGhIjKl  AbCdEFgHhIjKl  AbCdEfGHiJkL aBcdEfGHiJKl
  AbCddEfGhIJKl  AbCdeFgHiJKL aBcDefGhiJKL  aBBcDefGhiJKl  ABCdeFgHijKL

  aBCdEFghIjjKL  aBcDeFGhIjKl aBcDEfGHiJkL  aBcdEfFGhIJkL  aBcdEfGhIJKl
  AbCdeFghIJKl ABcDdeFghIJkL ABcDefGhiJKl  ABcDeFgHijKkL  AbCDeFgHijKl
  AbCDeFGhIjKl aBcDeFGhIIjKl aBcDeFgHiJKL  aBcdEfgHIJkL AbCdeEfgHIjKL
  AbCdeFghIjKL AbCdEfGhiJkL  AaBCdEfGhiJkL  AbCDeFgHijKl AbCDeFgHIjjKl
  AbCdEfGHiJKl AbcDeFgHIjKL  aBcdEffGHiJKL  aBcdEfgHiJKL aBCdeFghIjKL
  AbCcDeFghIjKL  aBCdEfGhiJkL aBCdEfGHijKkL aBcDEfGhIJkl  )
}
Chinese1119 =
方臘

紀元暦 1118 - 1120 (歳首 建子月)

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>1118, 'origin_of_LSC'=>2129431, 'border'=>'0*11-01',
'indices'=> _IndicesM11,
'rule_table'=> %w(    aBCdEfGhIiJkL aBcDEfGhIjKl  AbCdEfGHiJkL)
}
Chinese1645 =

時憲暦 1645 - 1911

PatternTableBasedLuniSolar, {
'origin_of_MSC'=>1645, 'origin_of_LSC'=>2321912,
'indices'=> _IndicesM1,
'rule_table'=> %w(
      aBcdEffGhIJKL
  aBcdEfgHiJKL aBCdeFghIjKL  aBCdDeFghIjKl  ABcDEfGhiJkL aBCdEfGHijKl

  AbBcDeFGhIJkl  AbCdEfGHiJKl AbcDefFGhIJkL AbcDefGhIJKl  ABcdEfgHiJKl
  ABcDeEfgHiJkL  ABcDeFghIjKl ABcDEfGhiJkL  aBcCDeFgHiJkL  aBcDeFGhIjKl
  AbCdeFGgHIjKl  AbCdeFgHIJkL AbcDefGhIJkL  AbCdEffGhIjKL  AbCdEfgHiJkL
  AbCDeFghIjKl AbCDdEfGhIjKl AbCdEFgHiJkL  aBcDeFgHIjKl AbBcdEfGHIjKl
  AbCdeFgHIjKL aBcDefGgHiJKL aBcDefGhIjKL  aBCdEfgHijKL aBCDeEfgHiJkL
  aBCdEfGhIjKl AbCdEFgHiJkL  aBccDEfGHiJkL  aBcdEfGHiJKl AbCdeFgHhIJKl
  AbCdeFghIJKl ABcDefGhiJKl  ABCdEffGhiJKl  ABcDeFgHijKl ABcDEfGhIjKl
  aBCdDeFGhIjKl  aBcDeFGhIJkL aBcdEfGhIJKl  AbCcdEfgHIJkL  AbCdeFghIJkL
  ABcDefGghIjKL  AbCDefGhiJkL ABcDeFgHijKl  ABcDeEFgHiJkl  AbCDeFgHIjKl
  aBcDeFgHIJkL aBccDeFgHIjKL aBcdEfgHIjKL  AbCdeFggHiJKL  AbCdeFghIjKL

  AbCdEfGhiJkL AbCDeFfGhiJkL aBCdEFgHijKl  AbCdEFgHIjKl aBcDdEfGHiJKl
  AbcDefGHiJKL aBcdEfgHiJKL  aBCcdEfgHiJKL  aBCdeFghIjKL aBCdEfGghIjKl
  ABcDEfGhiJkL aBcDEfGhIjKl  AbCdEeFGhIJkl  AbCdEfGhIJKl AbcDefGhIJKl
  ABccDefGhIJKl  ABcdEfgHiJKl ABcDeFghHiJkL ABcDeFghIjKl  ABcDeFgHiJkL
  aBcDEfFgHiJkL  aBcDeFGhIjKl AbCdeFGhIJkL  aBcDdeFgHIJkL  aBcDefGhIJkL
  AbCdEfgHiJkL ABcCdEfgHiJkL AbCDeFghIjKl  AbCDeFgGhIjKl  AbCdEFgHiJkL
  aBcDeFgHIjKl AbCdeEfGHIjKl AbCdeFgHIjKL  aBcDefGhIjKL AbCdDefgHiJKL
  aBCdEfgHijKL aBCdEfGhIijKL aBCdEfGhIjKl  AbCdEfGHiJkL aBcdEFfGHiJkL
  aBcdEfGHiJKl AbCdeFgHiJKL  aBcDdefGhIJKl  ABcDefgHiJKl ABCdEfgHijKL
  aBCcDeFgHijKl  ABcDEfGhIjKl aBcDEfGGhIjKl aBcDeFGhIJkL  aBcdEfGhIJKl

  AbCdeEfgHIJkL  AbCdefGhIJkL ABcDefgHiJkL  ABcDdEfGhiJkL  AbCDeFgHijKl
  ABcDeFGhIijKl  AbCdEFgHIjKl aBcDeFgHIJkL  abCdEfFgHIjKL  aBcdeFgHIjKL
  AbCdefGhIjKL AbCDeefGhIjKL AbCdEfgHiJkL  AbCDeFgHijKl AbBCdEfGHijKl
  AbCdEFgHiJKl aBcDeFgGHiJKl aBcDefGHiJKL  aBcdeFgHiJKL aBCdeeFgHiJKL
  aBcDefGhIjKL aBCdEfgHiJkL  aBCcDEfgHiJkL  aBcDEfGhIjKl AbCdEfGHiJjKl
  AbCdeFGhIJkL aBcdEfGhIJKl  AbCdeFfGhIJKl  AbCdeFgHiJKl ABcDefGhIjKl
  ABCdEefGhIjKl  ABcDeFgHiJkL aBcDEfGhIjKl  AbCcDeFGhIjKl  AbCdeFGhIJkL
  aBcdEfGgHIJkL  aBcdEfGhIjKL AbCdEfghIJkL  ABcDeeFgHiJkL  AbCDefGhIjKl
  AbCDeFgHiJkL aBcDdEFgHiJkL aBcdEFgHIjKl  AbcDeFgHIJkL aBbcDeFgHiJKL
  aBcdEfgHIjKL AbCdEffgHiJKL aBCdeFghIjKL  aBCdEfGhIjkL AbCDdEfGhIjKl

  aBCdEfGHiJkL abCdEfGHIjKl  AbbCdEfGHiJKl  AbcDefGHiJKL aBcDeffGhIJKl
  ABcDefgHiJKl ABCdeFghIjKL  aBCdEeFgHijKl  ABcDEfGhIjkL aBcDEfGHiJkL
  abCcDeFGhIJkL  abCdEfGhIJKl AbCdefGhIJKl  ABbCdefGhIJkL  ABcdEfgHiJkL
  ABcDeFfgHiJkL  AbCDeFgHijKl AbCDeFGhIjkL  aBcDdEFgHIjKl  aBcDeFgHIJkL
  abCdeFgHIJkL AbCcdeFgHIjKL AbCdefGhIjKL  AbCdEfgGhIjKL  AbCdEfgHiJkL
  AbCDeFghIjKl AbCDeEfGhIjKl AbCdEFgHiJkL  aBcDeFgHIjKL abCddEfGHiJKL
  abCdeFgHiJKL aBcDefGhIiJKL aBcDefGhIjKL  aBCdEfgHiJkL aBCdEFfgHiJkL
  aBcDEfGhIjKl AbCdEfGHiJkL  aBcDdeFGhIJkL  aBcdEfGhIJKl AbCdeFgHiJKL
  aBcCdeFgHiJkL  ABcDefGhIjKl ABCdEfgGhIjKl ABcDeFgHiJkL  aBcDEfGhIjKl
  AbCdEeFgHIjKl  AbcDeFgHIJkL aBcdEfGhIJKl  AbCddEfGhIjKL  AbCdeFghIJkL

  ABcDefGhhIjKL  AbCDefGhIjkL AbCDeFgHiJkL  aBcDeFGgHiJkL  abCdEFgHIjKl
  AbcDeFgHIJkL aBcdEeFgHiJKL aBcdEfgHIjKL  AbCdeFghIjKL AbCCdeFghIjKL
  aBCdEfGhIjkL AbCdEFgHhIjkL aBCdEfGHiJkL  abCdEfGHiJKl AbcDeEfGHiJKl
  AbcDefGHiJKL aBcdEfgHiJKL  aBCddEfgHiJKl  ABCdeFghIjKl ABCdEfGhiJjKl
  ABcDEfGhIjkL aBcDEfGhIJkL  abCdEfFGhIJkL  abCdEfGhIJKl AbcDefGhIJKl
  ABcdEefGhIJkL  ABcdEfgHiJkL ABcDeFghIjKl  ABcCDeFghIjKl  AbCDeFGhIjkL
  aBcDeFGgHIjKl  aBcDeFgHIjKL abCdeFgHIJkL  AbcDeeFgHIjKL  AbcDefGhIjKL
  AbCdEfgHiJkL ABcDdEfgHiJkL AbCDeFghIjKl  AbCDeFgHiJkL aBbCdEFgHiJkL
  aBcDeFgHIjKL abCdeFfGHiJKL abCdeFgHiJKL  aBcDefGhIjKL AbCdEefGhIjKl
  ABCdEfgHiJkL aBCdEfGhIjKl  AbCcDEfGhIjKl  AbCdEfGHiJkL aBcdEfGHhIJkL

  aBcdEfGhIJKl AbCdeFgHiJKL  aBcDeeFghIJkL  ABcDefGhiJKl ABcDEfgHiJkL
  aBCdDeFgHiJkL  aBcDeFGhIjKl AbcDEfGhIJkL  aBbcDeFgHIJkL  aBcdEfGhIJKl
  AbCdeFfgHIjKL  )
}
World =

World calendar based on Gregorian calendar

[CyclicTableBased, {
  'label'   => When.Resource('_m:WorldTerms::World'),
  'origin_of_LSC'  => 1721060,
  'indices' => [
     Coordinates::Index.new({:unit =>12, :trunk=>When.Resource('_m:CalendarTerms::Month::*')}),
     Coordinates::DefaultDayIndex
   ],
  'rule_table'      => {
    'T'  => {'Rule'  =>['LC', 'SC', 'SC', 'SC']},
    'SC' => {'Rule'  =>[365]*4 + [366, 365, 365, 365]*24},
    'LC' => {'Rule'  =>[366, 365, 365, 365]*25},
    365  => {'Length'=>[31,30,30]*3 + [31,30,31]},
    366  => {'Length'=>[31,30,30,31,30,31] *2}
  },
  'note'   => 'WorldWeek'
}]
Shire =

Shire Calendar based on summer solstice date

[YearLengthTableBased, {
  'label'   => When.Resource('_m:ShireTerms::Shire'),
  'indices' => [
     Coordinates::Index.new({:unit=>14, :trunk=>When.Resource('_m:ShireTerms::Month::*')}),
     Coordinates::DefaultDayIndex
   ],
  'border'       => '00-01-02',
  'day_offset'   => -183,           # the day 183 days before summer solstice
  'cycle_offset' => Rational(1,4),  # summer solstice
  'time_basis'   => '+09:00',       # JST
  'rule_table'   => {
    365 => {'Length'=>[2]+[30]*6+[3]+[30]*6},
    366 => {'Length'=>[2]+[30]*6+[4]+[30]*6}
  },
  'note'   => 'ShireWeek'
}]
ShireG =

Shire Calendar based on Gregorian Date

[CyclicTableBased, {
  'label'   => When.Resource('_m:ShireTerms::Shire'),
  'origin_of_LSC' => 1721060-10,
  'indices' => [
    Coordinates::Index.new({:unit=>14, :trunk=>When.Resource('_m:ShireTerms::Month::*')}),
    Coordinates::DefaultDayIndex
  ],
  'border'     => '00-01-02',
  'rule_table' => {
    'T'  => {'Rule'  =>['LC', 'SC', 'SC', 'SC']},
    'SC' => {'Rule'  =>[365]*4 + [366, 365, 365, 365]*24},
    'LC' => {'Rule'  =>[366, 365, 365, 365]*25},
    365 => {'Length'=>[2]+[30]*6+[3]+[30]*6},
    366 => {'Length'=>[2]+[30]*6+[4]+[30]*6}
  },
  'note'   => 'ShireWeek'
}]
TimeSystems =

Martian Time, Coordinated

_time_systems.keys.join('|')