@hebcal/core 3.45.4 → 3.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.45.4 */
1
+ /*! @hebcal/core v3.46.0 */
2
2
  /*
3
3
  * More minimal greg routines
4
4
  */
@@ -617,6 +617,9 @@ const AVG_HEBYEAR_DAYS = 365.24682220597794;
617
617
  * @return {number}
618
618
  */
619
619
  function hebrew2abs(year, month, day) {
620
+ if (year < 1) {
621
+ throw new RangeError(`hebrew2abs: invalid year ${year}`);
622
+ }
620
623
  let tempabs = day;
621
624
  if (month < TISHREI$2) {
622
625
  for (let m = TISHREI$2; m <= monthsInYear(year); m++) {
@@ -653,7 +656,9 @@ function abs2hebrew(abs) {
653
656
  throw new TypeError(`invalid parameter to abs2hebrew ${abs}`);
654
657
  }
655
658
  abs = Math.trunc(abs);
656
-
659
+ if (abs <= EPOCH) {
660
+ throw new RangeError(`abs2hebrew: ${abs} is before epoch`);
661
+ }
657
662
  // first, quickly approximate year
658
663
  let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
659
664
  while (newYear(year) <= abs) {
@@ -819,7 +824,7 @@ function shortKislev(year) {
819
824
  */
820
825
 
821
826
  // eslint-disable-next-line require-jsdoc
822
- function throwTypeError$3(msg) {
827
+ function throwTypeError$4(msg) {
823
828
  throw new TypeError(msg);
824
829
  }
825
830
  const UNITS_DAY = 'day';
@@ -916,7 +921,7 @@ class HDate {
916
921
  dd: day.day,
917
922
  mm: day.month,
918
923
  yy: day.year
919
- } : throwTypeError$3(`HDate called with bad argument: ${day}`);
924
+ } : throwTypeError$4(`HDate called with bad argument: ${day}`);
920
925
  const isNumber = typeof abs0 === 'number';
921
926
  const d = isNumber ? abs2hebrew(abs0) : abs0;
922
927
  /**
@@ -1285,7 +1290,7 @@ class HDate {
1285
1290
  */
1286
1291
  static standardizeUnits(units) {
1287
1292
  const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
1288
- return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
1293
+ return UNITS_VALID[full] || throwTypeError$4(`Invalid units '${units}'`);
1289
1294
  }
1290
1295
 
1291
1296
  /**
@@ -1671,7 +1676,7 @@ const flags = {
1671
1676
  SPECIAL_SHABBAT: 0x000200,
1672
1677
  /** Weekly sedrot on Saturdays */
1673
1678
  PARSHA_HASHAVUA: 0x000400,
1674
- /** Daily page of Talmud */
1679
+ /** Daily page of Talmud (Bavli) */
1675
1680
  DAF_YOMI: 0x000800,
1676
1681
  /** Days of the Omer */
1677
1682
  OMER_COUNT: 0x001000,
@@ -1696,7 +1701,9 @@ const flags = {
1696
1701
  /** Mishna Yomi */
1697
1702
  MISHNA_YOMI: 0x400000,
1698
1703
  /** Yom Kippur Katan, minor day of atonement on the day preceeding each Rosh Chodesh */
1699
- YOM_KIPPUR_KATAN: 0x800000
1704
+ YOM_KIPPUR_KATAN: 0x800000,
1705
+ /** Daily page of Jerusalem Talmud (Yerushalmi) */
1706
+ YERUSHALMI_YOMI: 0x1000000
1700
1707
  };
1701
1708
 
1702
1709
  /** Represents an Event with a title, date, and flags */
@@ -2291,7 +2298,7 @@ function pad4(number) {
2291
2298
  }
2292
2299
 
2293
2300
  // eslint-disable-next-line require-jsdoc
2294
- function throwTypeError$2(error) {
2301
+ function throwTypeError$3(error) {
2295
2302
  throw new TypeError(error);
2296
2303
  }
2297
2304
 
@@ -2346,7 +2353,7 @@ class Zmanim {
2346
2353
  if (longitude < -180 || longitude > 180) {
2347
2354
  throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
2348
2355
  }
2349
- const dt = isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
2356
+ const dt = isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$3(`invalid date: ${date}`);
2350
2357
  this.date = dt;
2351
2358
  this.solarCalc = new SolarCalc(this.date, latitude, longitude);
2352
2359
  this.sun = this.solarCalc.sun;
@@ -3538,7 +3545,7 @@ const shas0 = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
3538
3545
  });
3539
3546
 
3540
3547
  // eslint-disable-next-line require-jsdoc
3541
- function throwTypeError$1(msg) {
3548
+ function throwTypeError$2(msg) {
3542
3549
  throw new TypeError(msg);
3543
3550
  }
3544
3551
 
@@ -3551,7 +3558,7 @@ class DafYomi {
3551
3558
  * @param {Date|HDate|number} gregdate Gregorian date
3552
3559
  */
3553
3560
  constructor(gregdate) {
3554
- const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : isDate(gregdate) ? greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
3561
+ const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : isDate(gregdate) ? greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$2(`non-date given to dafyomi: ${gregdate}`);
3555
3562
  if (cday < osday) {
3556
3563
  throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
3557
3564
  }
@@ -4128,10 +4135,10 @@ class ParshaEvent extends Event {
4128
4135
  }
4129
4136
  }
4130
4137
 
4131
- const SUN$1 = 0;
4138
+ const SUN$2 = 0;
4132
4139
  const TUE$1 = 2;
4133
4140
  const FRI$2 = 5;
4134
- const SAT$2 = 6;
4141
+ const SAT$3 = 6;
4135
4142
  const NISAN$3 = months.NISAN;
4136
4143
  const IYYAR = months.IYYAR;
4137
4144
 
@@ -4153,7 +4160,7 @@ function dateYomHaShoah(year) {
4153
4160
  let nisan27dt = new HDate(27, NISAN$3, year);
4154
4161
  if (nisan27dt.getDay() === FRI$2) {
4155
4162
  nisan27dt = new HDate(26, NISAN$3, year);
4156
- } else if (nisan27dt.getDay() === SUN$1) {
4163
+ } else if (nisan27dt.getDay() === SUN$2) {
4157
4164
  nisan27dt = new HDate(28, NISAN$3, year);
4158
4165
  }
4159
4166
  return nisan27dt;
@@ -4172,9 +4179,9 @@ function dateYomHaZikaron(year) {
4172
4179
  let day;
4173
4180
  const pesach = new HDate(15, NISAN$3, year);
4174
4181
  const pdow = pesach.getDay();
4175
- if (pdow === SUN$1) {
4182
+ if (pdow === SUN$2) {
4176
4183
  day = 2;
4177
- } else if (pdow === SAT$2) {
4184
+ } else if (pdow === SAT$3) {
4178
4185
  day = 3;
4179
4186
  } else if (year < 5764) {
4180
4187
  day = 4;
@@ -4806,13 +4813,13 @@ class YomKippurKatanEvent extends HolidayEvent {
4806
4813
  return undefined;
4807
4814
  }
4808
4815
  }
4809
- const SUN = 0;
4816
+ const SUN$1 = 0;
4810
4817
  // const MON = 1;
4811
4818
  const TUE = 2;
4812
4819
  // const WED = 3;
4813
4820
  const THU = 4;
4814
4821
  const FRI$1 = 5;
4815
- const SAT$1 = 6;
4822
+ const SAT$2 = 6;
4816
4823
  const NISAN$2 = months.NISAN;
4817
4824
  // const IYYAR = months.IYYAR;
4818
4825
  // const SIVAN = months.SIVAN;
@@ -4950,7 +4957,7 @@ function getHolidaysForYear_(year) {
4950
4957
  // Variable date holidays
4951
4958
  add(new HolidayEvent(new HDate(3 + (RH.getDay() == THU), TISHREI$1, year), 'Tzom Gedaliah', MINOR_FAST$1));
4952
4959
  // first SAT after RH
4953
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4960
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4954
4961
  // yes, we know Kislev 30-32 are wrong
4955
4962
  // HDate() corrects the month automatically
4956
4963
  for (let candles = 2; candles <= 8; candles++) {
@@ -4966,14 +4973,14 @@ function getHolidaysForYear_(year) {
4966
4973
  }));
4967
4974
  add(new AsaraBTevetEvent(new HDate(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1));
4968
4975
  const pesachAbs = pesach.abs();
4969
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4970
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent(
4976
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4977
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent(
4971
4978
  // if the fast falls on Shabbat, move to Thursday
4972
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$2, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4973
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4979
+ pesach.prev().getDay() == SAT$2 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$2, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4980
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4974
4981
  emoji: '🕍'
4975
4982
  }));
4976
- if (pesach.getDay() == SUN) {
4983
+ if (pesach.getDay() == SUN$1) {
4977
4984
  add(new HolidayEvent(new HDate(16, months.ADAR_II, year), 'Purim Meshulash', MINOR_HOLIDAY$1));
4978
4985
  }
4979
4986
  if (HDate.isLeapYear(year)) {
@@ -4996,11 +5003,11 @@ function getHolidaysForYear_(year) {
4996
5003
  if (year >= h.firstYear) {
4997
5004
  let hd = new HDate(h.dd, h.mm, year);
4998
5005
  const dow = hd.getDay();
4999
- if (h.friSatMovetoThu && (dow === FRI$1 || dow === SAT$1)) {
5006
+ if (h.friSatMovetoThu && (dow === FRI$1 || dow === SAT$2)) {
5000
5007
  hd = hd.onOrBefore(THU);
5001
5008
  } else if (h.friPostponeToSun && dow === FRI$1) {
5002
5009
  hd = new HDate(hd.abs() + 2);
5003
- } else if (h.satPostponeToSun && dow === SAT$1) {
5010
+ } else if (h.satPostponeToSun && dow === SAT$2) {
5004
5011
  hd = hd.next();
5005
5012
  }
5006
5013
  const mask = h.chul ? MODERN_HOLIDAY$1 : MODERN_HOLIDAY$1 | flags.IL_ONLY;
@@ -5013,7 +5020,7 @@ function getHolidaysForYear_(year) {
5013
5020
  });
5014
5021
  let tamuz17 = new HDate(17, TAMUZ, year);
5015
5022
  let tamuz17attrs;
5016
- if (tamuz17.getDay() == SAT$1) {
5023
+ if (tamuz17.getDay() == SAT$2) {
5017
5024
  tamuz17 = new HDate(18, TAMUZ, year);
5018
5025
  tamuz17attrs = {
5019
5026
  observed: true
@@ -5023,7 +5030,7 @@ function getHolidaysForYear_(year) {
5023
5030
  let av9dt = new HDate(9, AV, year);
5024
5031
  let av9title = 'Tish\'a B\'Av';
5025
5032
  let av9attrs;
5026
- if (av9dt.getDay() == SAT$1) {
5033
+ if (av9dt.getDay() == SAT$2) {
5027
5034
  av9dt = av9dt.next();
5028
5035
  av9attrs = {
5029
5036
  observed: true
@@ -5031,7 +5038,7 @@ function getHolidaysForYear_(year) {
5031
5038
  av9title += ' (observed)';
5032
5039
  }
5033
5040
  const av9abs = av9dt.abs();
5034
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
5041
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$2, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
5035
5042
  const monthsInYear = HDate.monthsInYear(year);
5036
5043
  for (let month = 1; month <= monthsInYear; month++) {
5037
5044
  const monthName = HDate.getMonthName(month, year);
@@ -5047,7 +5054,7 @@ function getHolidaysForYear_(year) {
5047
5054
 
5048
5055
  // Don't worry about month overrun; will get "Nisan" for month=14
5049
5056
  const nextMonthName = HDate.getMonthName(month + 1, year);
5050
- add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
5057
+ add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$2), nextMonthName));
5051
5058
  }
5052
5059
 
5053
5060
  // Begin: Yom Kippur Katan
@@ -5062,7 +5069,7 @@ function getHolidaysForYear_(year) {
5062
5069
  }
5063
5070
  let ykk = new HDate(29, month, year);
5064
5071
  const dow = ykk.getDay();
5065
- if (dow === FRI$1 || dow === SAT$1) {
5072
+ if (dow === FRI$1 || dow === SAT$2) {
5066
5073
  ykk = ykk.onOrBefore(THU);
5067
5074
  }
5068
5075
  const nextMonthName = HDate.getMonthName(nextMonth, year);
@@ -5127,7 +5134,7 @@ const numDays = numMishnayot / 2;
5127
5134
  */
5128
5135
 
5129
5136
  // eslint-disable-next-line require-jsdoc
5130
- function throwTypeError(msg) {
5137
+ function throwTypeError$1(msg) {
5131
5138
  throw new TypeError(msg);
5132
5139
  }
5133
5140
 
@@ -5169,7 +5176,7 @@ class MishnaYomiIndex {
5169
5176
  * @return {MishnaYomi[]}
5170
5177
  */
5171
5178
  lookup(date) {
5172
- const abs = typeof date === 'number' && !isNaN(date) ? date : isDate(date) ? greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
5179
+ const abs = typeof date === 'number' && !isNaN(date) ? date : isDate(date) ? greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError$1(`Invalid date: ${date}`);
5173
5180
  if (abs < mishnaYomiStart) {
5174
5181
  const s = date.toISOString().substring(0, 10);
5175
5182
  throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
@@ -5247,6 +5254,162 @@ class MishnaYomiEvent extends Event {
5247
5254
  }
5248
5255
  }
5249
5256
 
5257
+ const vilnaStartDate = new Date(1980, 1, 2);
5258
+ const vilna = {
5259
+ startDate: vilnaStartDate,
5260
+ startAbs: greg2abs(vilnaStartDate),
5261
+ skipYK9Av: true,
5262
+ shas: [['Berakhot', 68], ['Peah', 37], ['Demai', 34], ['Kilayim', 44], ['Sheviit', 31], ['Terumot', 59], ['Maasrot', 26], ['Maaser Sheni', 33], ['Challah', 28], ['Orlah', 20], ['Bikkurim', 13], ['Shabbat', 92], ['Eruvin', 65], ['Pesachim', 71], ['Beitzah', 22], ['Rosh Hashanah', 22], ['Yoma', 42], ['Sukkah', 26], ['Taanit', 26], ['Shekalim', 33], ['Megillah', 34], ['Chagigah', 22], ['Moed Katan', 19], ['Yevamot', 85], ['Ketubot', 72], ['Sotah', 47], ['Nedarim', 40], ['Nazir', 47], ['Gittin', 54], ['Kiddushin', 48], ['Bava Kamma', 44], ['Bava Metzia', 37], ['Bava Batra', 34], ['Shevuot', 44], ['Makkot', 9], ['Sanhedrin', 57], ['Avodah Zarah', 37], ['Horayot', 19], ['Niddah', 13]]
5263
+ };
5264
+ const schottensteinStartDate = new Date(2022, 10, 14);
5265
+ const schottenstein = {
5266
+ startDate: schottensteinStartDate,
5267
+ startAbs: greg2abs(schottensteinStartDate),
5268
+ skipYK9Av: false,
5269
+ shas: [['Berakhot', 94], ['Peah', 73], ['Demai', 77], ['Kilayim', 84], ['Sheviit', 87], ['Terumot', 107], ['Maasrot', 46], ['Maaser Sheni', 59], ['Challah', 49], ['Orlah', 42], ['Bikkurim', 26], ['Shabbat', 113], ['Eruvin', 71], ['Pesachim', 86], ['Shekalim', 61], ['Yoma', 57], ['Sukkah', 33], ['Beitzah', 49], ['Rosh Hashanah', 27], ['Taanit', 31], ['Megillah', 41], ['Chagigah', 28], ['Moed Katan', 23], ['Yevamot', 88], ['Ketubot', 77], ['Nedarim', 42], ['Nazir', 53], ['Sotah', 52], ['Gittin', 53], ['Kiddushin', 53], ['Bava Kamma', 40], ['Bava Metzia', 35], ['Bava Batra', 39], ['Sanhedrin', 75], ['Shevuot', 49], ['Avodah Zarah', 34], ['Makkot', 11], ['Horayot', 18], ['Niddah', 11]]
5270
+ };
5271
+
5272
+ // eslint-disable-next-line require-jsdoc
5273
+ function throwTypeError(msg) {
5274
+ throw new TypeError(msg);
5275
+ }
5276
+ const SUN = 0;
5277
+ const SAT$1 = 6;
5278
+
5279
+ /**
5280
+ * Using the Vilna edition, the Yerushalmi Daf Yomi program takes
5281
+ * ~4.25 years or 51 months.
5282
+ * Unlike the Daf Yomi Bavli cycle, this Yerushalmi cycle skips both
5283
+ * Yom Kippur and Tisha B'Av (returning `null`).
5284
+ * The page numbers are according to the Vilna
5285
+ * Edition which is used since 1900.
5286
+ *
5287
+ * The Schottenstein edition uses different page numbers and takes
5288
+ * ~6 years to complete.
5289
+ *
5290
+ * Throws an exception if the date is before Daf Yomi Yerushalmi
5291
+ * cycle began (2 February 1980 for Vilna,
5292
+ * 14 November 2022 for Schottenstein).
5293
+ *
5294
+ * @param {HDate|Date|number} date - Hebrew or Gregorian date
5295
+ * @param {any} config - either vilna or schottenstein
5296
+ * @return {any}
5297
+ */
5298
+ function yerushalmiYomi(date, config) {
5299
+ if (typeof config !== 'object' || !Array.isArray(config.shas)) {
5300
+ throw new Error('invalid yerushalmi config');
5301
+ }
5302
+ const cday = typeof date === 'number' && !isNaN(date) ? date : isDate(date) ? greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`non-date given to dafyomi: ${date}`);
5303
+ const startAbs = config.startAbs;
5304
+ if (cday < startAbs) {
5305
+ throw new RangeError(`Date ${date} too early; Yerushalmi Yomi cycle began on ${config.startDate}`);
5306
+ }
5307
+ const hd = new HDate(cday);
5308
+ // No Daf for Yom Kippur and Tisha B'Av
5309
+ if (config.skipYK9Av && skipDay(hd)) {
5310
+ return null;
5311
+ }
5312
+ const shas = config.shas;
5313
+ let numDapim = 0;
5314
+ for (let j = 0; j < shas.length; j++) {
5315
+ numDapim += shas[j][1];
5316
+ }
5317
+ let prevCycle = startAbs;
5318
+ let nextCycle = startAbs;
5319
+ while (cday >= nextCycle) {
5320
+ prevCycle = nextCycle;
5321
+ nextCycle += numDapim;
5322
+ nextCycle += numSpecialDays(config, prevCycle, nextCycle);
5323
+ }
5324
+ let total = cday - prevCycle - numSpecialDays(config, prevCycle, cday);
5325
+ for (let j = 0; j < shas.length; j++) {
5326
+ const masechet = shas[j];
5327
+ if (total < masechet[1]) {
5328
+ return {
5329
+ name: masechet[0],
5330
+ blatt: total + 1
5331
+ };
5332
+ }
5333
+ total -= masechet[1];
5334
+ }
5335
+ throw new Error('Interal error, this code should be unreachable');
5336
+ }
5337
+
5338
+ /**
5339
+ * @private
5340
+ * @param {HDate} hd
5341
+ * @return {boolean}
5342
+ */
5343
+ function skipDay(hd) {
5344
+ if (hd.getMonth() === months.TISHREI && hd.getDate() === 10 || hd.getMonth() === months.AV && (hd.getDate() === 9 && hd.getDay() !== SAT$1 || hd.getDate() === 10 && hd.getDay() === SUN)) {
5345
+ return true;
5346
+ }
5347
+ return false;
5348
+ }
5349
+
5350
+ /**
5351
+ * @private
5352
+ * @param {any} config
5353
+ * @param {number} startAbs
5354
+ * @param {number} endAbs
5355
+ * @return {number}
5356
+ */
5357
+ function numSpecialDays(config, startAbs, endAbs) {
5358
+ if (!config.skipYK9Av) {
5359
+ return 0;
5360
+ }
5361
+ const startYear = new HDate(startAbs).getFullYear();
5362
+ const endYear = new HDate(endAbs).getFullYear();
5363
+ let specialDays = 0;
5364
+ for (let year = startYear; year <= endYear; year++) {
5365
+ const ykAbs = new HDate(10, months.TISHREI, year).abs();
5366
+ if (ykAbs >= startAbs && ykAbs <= endAbs) {
5367
+ specialDays++;
5368
+ }
5369
+ let av9dt = new HDate(9, months.AV, year);
5370
+ if (av9dt.getDay() == SAT$1) {
5371
+ av9dt = av9dt.next();
5372
+ }
5373
+ const av9abs = av9dt.abs();
5374
+ if (av9abs >= startAbs && av9abs <= endAbs) {
5375
+ specialDays++;
5376
+ }
5377
+ }
5378
+ return specialDays;
5379
+ }
5380
+
5381
+ /**
5382
+ * Event wrapper around a Yerushalmi Yomi result
5383
+ */
5384
+ class YerushalmiYomiEvent extends Event {
5385
+ /**
5386
+ * @param {HDate} date
5387
+ * @param {any} daf
5388
+ */
5389
+ constructor(date, daf) {
5390
+ super(date, `${daf.name} ${daf.blatt}`, flags.YERUSHALMI_YOMI, {
5391
+ daf
5392
+ });
5393
+ }
5394
+ /**
5395
+ * Returns name of tractate and page (e.g. "Yerushalmi Beitzah 21").
5396
+ * @param {string} [locale] Optional locale name (defaults to active locale).
5397
+ * @return {string}
5398
+ */
5399
+ render(locale) {
5400
+ locale = locale || Locale.getLocaleName();
5401
+ if (typeof locale === 'string') {
5402
+ locale = locale.toLowerCase();
5403
+ }
5404
+ const prefix = Locale.gettext('Yerushalmi', locale);
5405
+ const name = Locale.gettext(this.daf.name, locale);
5406
+ if (locale === 'he' || locale === 'he-x-nonikud') {
5407
+ return prefix + ' ' + name + ' דף ' + gematriya(this.blatt);
5408
+ }
5409
+ return prefix + ' ' + name + ' ' + this.daf.blatt;
5410
+ }
5411
+ }
5412
+
5250
5413
  const NISAN$1 = months.NISAN;
5251
5414
  const CHESHVAN = months.CHESHVAN;
5252
5415
  const KISLEV = months.KISLEV;
@@ -5333,14 +5496,14 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
5333
5496
  return new HDate(day, month, hyear);
5334
5497
  }
5335
5498
 
5336
- const version="3.45.4";
5499
+ const version="3.46.0";
5337
5500
 
5338
- const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);"};const contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"],"Alot HaShachar":["Alos HaShachar"],Misheyakir:["Misheyakir"],"Kriat Shema, sof zeman":["Krias Shema, sof zman"],"Tefilah, sof zeman":["Tefilah, sof zman"],"Chatzot hayom":["Chatzos"],"Tzait HaKochavim":["Tzeis HaKochavim"],"Birkat Hachamah":["Birkas Hachamah"],"Shushan Purim Katan":["Shushan Purim Koton"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
5501
+ const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);"};const contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"],"Alot HaShachar":["Alos HaShachar"],"Kriat Shema, sof zeman":["Krias Shema, sof zman"],"Tefilah, sof zeman":["Tefilah, sof zman"],"Kriat Shema, sof zeman (MGA)":["Krias Shema, sof zman (MGA)"],"Tefilah, sof zeman (MGA)":["Tefilah, sof zman (MGA)"],"Chatzot HaLailah":["Chatzos HaLailah"],"Chatzot hayom":["Chatzos"],"Tzeit HaKochavim":["Tzeis HaKochavim"],"Birkat Hachamah":["Birkas Hachamah"],"Shushan Purim Katan":["Shushan Purim Koton"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
5339
5502
 
5340
5503
  Locale.addLocale('ashkenazi', poAshkenazi);
5341
5504
  Locale.addLocale('a', poAshkenazi);
5342
5505
 
5343
- const headers={"plural-forms":"nplurals=2; plural=(n > 1);"};const contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi":["דַף יוֹמִי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["סְפִירַת הָעוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מִנחָה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מִנחָה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Chol ha-Moed Day 5":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ה׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"],"Chanukah Day 1 (on Shabbat)":["חֲנוּכָּה יוֹם א׳ (בְּשַׁבָּת)"],"Chanukah Day 2 (on Shabbat)":["חֲנוּכָּה יוֹם ב׳ (בְּשַׁבָּת)"],"Chanukah Day 3 (on Shabbat)":["חֲנוּכָּה יוֹם ג׳ (בְּשַׁבָּת)"],"Chanukah Day 4 (on Shabbat)":["חֲנוּכָּה יוֹם ד׳ (בְּשַׁבָּת)"],"Chanukah Day 5 (on Shabbat)":["חֲנוּכָּה יוֹם ה׳ (בְּשַׁבָּת)"],"Chanukah Day 7 (on Shabbat)":["חֲנוּכָּה יוֹם ז׳ (בְּשַׁבָּת)"],"Chanukah Day 8 (on Shabbat)":["חֲנוּכָּה יוֹם ח׳ (בְּשַׁבָּת)"],"Shabbat Rosh Chodesh Chanukah":["שַׁבָּת רֹאשׁ חוֹדֶשׁ חֲנוּכָּה"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"],"Yom Kippur Katan":["יוֹם כִּפּוּר קָטָן"],"Family Day":["יוֹם הַמִּשׁפָּחָה"],"Yitzhak Rabin Memorial Day":["יוֹם הַזִּכָּרוֹן ליצחק רבין"],"Jabotinsky Day":["יוֹם ז׳בוטינסקי"],"Herzl Day":["יוֹם הרצל"],"Ben-Gurion Day":["יוֹם בן־גוריון"],"Birkat Hachamah":["בִרְכַּת הַחַמָּה"],"Shushan Purim Katan":["שׁוּשָׁן פּוּרִים קָטָן"],"Purim Meshulash":["פּוּרִים מְשׁוּלָּשׁ"]}};var poHe = {headers:headers,contexts:contexts};
5506
+ const headers={"plural-forms":"nplurals=2; plural=(n > 1);"};const contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi":["דַף יוֹמִי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["סְפִירַת הָעוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מִנחָה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מִנחָה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Chol ha-Moed Day 5":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ה׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],"Chatzot HaLailah":["חֲצוֹת הַלַיְלָה"],"Alot haShachar":["עֲלוֹת הַשַּׁחַר"],Misheyakir:["משיכיר - זמן ציצית ותפילין"],"Misheyakir Machmir":["משיכיר - זמן ציצית ותפילין"],Dawn:["דִּימְדּוּמֵי בּוֹקֵר"],Sunrise:["הַנֵץ הַחַמָּה"],"Kriat Shema, sof zeman":["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],"Tefilah, sof zeman":["סוֹף זְמַן תְּפִלָּה גר״א"],"Kriat Shema, sof zeman (MGA)":["סוֹף זְמַן קְרִיאַת שְׁמַע מג״א"],"Tefilah, sof zeman (MGA)":["סוֹף זְמַן תְּפִלָּה מג״א"],"Chatzot hayom":["חֲצוֹת הַיּוֹם"],"Mincha Gedolah":["מִנְחָה גְּדוֹלָה"],"Mincha Ketanah":["מִנְחָה קְטַנָּה"],"Plag HaMincha":["פְּלַג הַמִּנְחָה"],Dusk:["דִּימְדּוּמֵי עֶרֶב"],Sunset:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],"Tzeit HaKochavim":["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"],"Chanukah Day 1 (on Shabbat)":["חֲנוּכָּה יוֹם א׳ (בְּשַׁבָּת)"],"Chanukah Day 2 (on Shabbat)":["חֲנוּכָּה יוֹם ב׳ (בְּשַׁבָּת)"],"Chanukah Day 3 (on Shabbat)":["חֲנוּכָּה יוֹם ג׳ (בְּשַׁבָּת)"],"Chanukah Day 4 (on Shabbat)":["חֲנוּכָּה יוֹם ד׳ (בְּשַׁבָּת)"],"Chanukah Day 5 (on Shabbat)":["חֲנוּכָּה יוֹם ה׳ (בְּשַׁבָּת)"],"Chanukah Day 7 (on Shabbat)":["חֲנוּכָּה יוֹם ז׳ (בְּשַׁבָּת)"],"Chanukah Day 8 (on Shabbat)":["חֲנוּכָּה יוֹם ח׳ (בְּשַׁבָּת)"],"Shabbat Rosh Chodesh Chanukah":["שַׁבָּת רֹאשׁ חוֹדֶשׁ חֲנוּכָּה"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"],"Yom Kippur Katan":["יוֹם כִּפּוּר קָטָן"],"Family Day":["יוֹם הַמִּשׁפָּחָה"],"Yitzhak Rabin Memorial Day":["יוֹם הַזִּכָּרוֹן ליצחק רבין"],"Jabotinsky Day":["יוֹם ז׳בוטינסקי"],"Herzl Day":["יוֹם הרצל"],"Ben-Gurion Day":["יוֹם בן־גוריון"],"Birkat Hachamah":["בִרְכַּת הַחַמָּה"],"Shushan Purim Katan":["שׁוּשָׁן פּוּרִים קָטָן"],"Purim Meshulash":["פּוּרִים מְשׁוּלָּשׁ"],"after sunset":["אחרי השקיעה"],Yerushalmi:["יְרוּשַׁלְמִי"]}};var poHe = {headers:headers,contexts:contexts};
5344
5507
 
5345
5508
  Locale.addLocale('he', poHe);
5346
5509
  Locale.addLocale('h', poHe);
@@ -5614,7 +5777,9 @@ const RECOGNIZED_OPTIONS = {
5614
5777
  mask: 1,
5615
5778
  userMask: 1,
5616
5779
  yomKippurKatan: 1,
5617
- hour12: 1
5780
+ hour12: 1,
5781
+ yerushalmi: 1,
5782
+ yerushalmiEdition: 1
5618
5783
  };
5619
5784
 
5620
5785
  /**
@@ -5641,6 +5806,22 @@ function shallowCopy(target, source) {
5641
5806
  Object.keys(source).forEach(k => target[k] = source[k]);
5642
5807
  return target;
5643
5808
  }
5809
+ const israelCityOffset = {
5810
+ 'Jerusalem': 40,
5811
+ 'Haifa': 30,
5812
+ 'Zikhron Ya\'aqov': 30,
5813
+ 'Zikhron Ya\'akov': 30,
5814
+ 'Zikhron Yaakov': 30,
5815
+ 'Zichron Ya\'akov': 30,
5816
+ 'Zichron Yaakov': 30
5817
+ };
5818
+ const geoIdCandleOffset = {
5819
+ '281184': 40,
5820
+ // Jerusalem
5821
+ '294801': 30,
5822
+ // Haifa
5823
+ '293067': 30 // Zikhron Yaakov
5824
+ };
5644
5825
 
5645
5826
  /**
5646
5827
  * Modifies options in-place
@@ -5651,15 +5832,24 @@ function checkCandleOptions(options) {
5651
5832
  if (!options.candlelighting) {
5652
5833
  return;
5653
5834
  }
5654
- if (typeof options.location === 'undefined' || !options.location instanceof Location) {
5835
+ const location = options.location;
5836
+ if (typeof location === 'undefined' || !location instanceof Location) {
5655
5837
  throw new TypeError('options.candlelighting requires valid options.location');
5656
5838
  }
5657
5839
  if (typeof options.havdalahMins === 'number' && typeof options.havdalahDeg === 'number') {
5658
5840
  throw new TypeError('options.havdalahMins and options.havdalahDeg are mutually exclusive');
5659
5841
  }
5660
5842
  let min = parseInt(options.candleLightingMins, 10) || 18;
5661
- if (options.location && options.location.getIsrael() && options.location.getShortName() === 'Jerusalem' && Math.abs(min) === 18) {
5662
- min = 40;
5843
+ if (location.getIsrael() && Math.abs(min) === 18) {
5844
+ const geoid = location.getGeoId();
5845
+ const offset0 = geoIdCandleOffset[geoid];
5846
+ if (typeof offset0 === 'number') {
5847
+ min = offset0;
5848
+ }
5849
+ const offset = israelCityOffset[location.getShortName()];
5850
+ if (typeof offset === 'number') {
5851
+ min = offset;
5852
+ }
5663
5853
  }
5664
5854
  options.candleLightingMins = -1 * Math.abs(min);
5665
5855
  if (typeof options.havdalahMins === 'number') {
@@ -5698,7 +5888,9 @@ function checkCandleOptions(options) {
5698
5888
  * @property {boolean} shabbatMevarchim - add Shabbat Mevarchim
5699
5889
  * @property {boolean} noSpecialShabbat - suppress Special Shabbat
5700
5890
  * @property {boolean} noHolidays - suppress regular holidays
5701
- * @property {boolean} dafyomi - include Daf Yomi
5891
+ * @property {boolean} dafyomi - Babylonian Talmud Daf Yomi
5892
+ * @property {boolean} yerushalmi - Jerusalem Talmud (Yerushalmi) Yomi
5893
+ * @property {number} yerushalmiEdition - Use 1 for Vilna, 2 for Schottenstein
5702
5894
  * @property {boolean} mishnaYomi - include Mishna Yomi
5703
5895
  * @property {boolean} omer - include Days of the Omer
5704
5896
  * @property {boolean} molad - include event announcing the molad
@@ -5823,6 +6015,7 @@ function getMaskFromOptions(options) {
5823
6015
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5824
6016
  if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
5825
6017
  if (m & flags.YOM_KIPPUR_KATAN) options.yomKippurKatan = true;
6018
+ if (m & flags.YERUSHALMI_YOMI) options.yerushalmi = true;
5826
6019
  options.userMask = true;
5827
6020
  return m;
5828
6021
  }
@@ -5874,6 +6067,9 @@ function getMaskFromOptions(options) {
5874
6067
  if (options.yomKippurKatan) {
5875
6068
  mask |= flags.YOM_KIPPUR_KATAN;
5876
6069
  }
6070
+ if (options.yerushalmi) {
6071
+ mask |= flags.YERUSHALMI_YOMI;
6072
+ }
5877
6073
  return mask;
5878
6074
  }
5879
6075
  const MASK_LIGHT_CANDLES = LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;
@@ -5950,7 +6146,8 @@ class HebrewCalendar {
5950
6146
  * Additional non-default event types can be specified:
5951
6147
  * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
5952
6148
  * * Counting of the Omer (`options.omer`)
5953
- * * Daf Yomi (`options.dafyomi`)
6149
+ * * Babylonian Talmud Daf Yomi (`options.dafyomi`)
6150
+ * * Jerusalem Talmud (Yerushalmi) Yomi (`options.yerushalmi`)
5954
6151
  * * Mishna Yomi (`options.mishnaYomi`)
5955
6152
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
5956
6153
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
@@ -5965,7 +6162,8 @@ class HebrewCalendar {
5965
6162
  *
5966
6163
  * To add candle-lighting options, set `options.candlelighting=true` and set
5967
6164
  * `options.location` to an instance of `Location`. By default, candle lighting
5968
- * time is 18 minutes before sundown (40 minutes for Jerusalem) and Havdalah is
6165
+ * time is 18 minutes before sundown (40 minutes for Jerusalem,
6166
+ * 30 minutes for Haifa and Zikhron Ya'akov) and Havdalah is
5969
6167
  * calculated according to Tzeit Hakochavim - Nightfall (the point when 3 small stars
5970
6168
  * are observable in the night time sky with the naked eye). The default Havdalah
5971
6169
  * option (Tzeit Hakochavim) is calculated when the sun is 8.5° below the horizon.
@@ -6056,6 +6254,7 @@ class HebrewCalendar {
6056
6254
  if (options.mishnaYomi) {
6057
6255
  mishnaYomiIndex = new MishnaYomiIndex();
6058
6256
  }
6257
+ const yerushalmiCfg = options.yerushalmiEdition === 2 ? schottenstein : vilna;
6059
6258
  for (let abs = startAbs; abs <= endAbs; abs++) {
6060
6259
  const hd = new HDate(abs);
6061
6260
  const hyear = hd.getFullYear();
@@ -6086,6 +6285,13 @@ class HebrewCalendar {
6086
6285
  if (options.dafyomi && hyear >= 5684) {
6087
6286
  evts.push(new DafYomiEvent(hd));
6088
6287
  }
6288
+ if (options.yerushalmi && abs >= yerushalmiCfg.startAbs) {
6289
+ const daf = yerushalmiYomi(abs, yerushalmiCfg);
6290
+ // daf will be null to signal no Yerushalmi Yomi on YK and 9Av
6291
+ if (daf != null) {
6292
+ evts.push(new YerushalmiYomiEvent(hd, daf));
6293
+ }
6294
+ }
6089
6295
  if (options.mishnaYomi && abs >= mishnaYomiStart) {
6090
6296
  const mishnaYomi = mishnaYomiIndex.lookup(abs);
6091
6297
  evts.push(new MishnaYomiEvent(hd, mishnaYomi));
@@ -6415,4 +6621,4 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
6415
6621
  return candlesEv;
6416
6622
  }
6417
6623
 
6418
- export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, MishnaYomiEvent, MishnaYomiIndex, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };
6624
+ export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, MishnaYomiEvent, MishnaYomiIndex, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, YerushalmiYomiEvent, Zmanim, flags, gematriya, greg, months, parshiot, schottenstein, version, vilna, yerushalmiYomi };