@hebcal/leyning 5.1.0 → 6.0.1

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,5 +1,5 @@
1
- /*! @hebcal/leyning v5.1.0 */
2
- import { flags, months, HDate, HebrewCalendar, Event, Locale, ParshaEvent, parshiot } from '@hebcal/core';
1
+ /*! @hebcal/leyning v6.0.1 */
2
+ import { flags, months, HDate, HebrewCalendar, Event, Locale, ParshaEvent } from '@hebcal/core';
3
3
 
4
4
  const Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26];const Exodus=[0,22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38];const Leviticus=[0,17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34];const Numbers=[0,54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13];const Deuteronomy=[0,46,37,29,49,30,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12];const Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];const Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];const Ruth=[0,22,23,18,22];const Isaiah=[0,31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24];const Jeremiah=[0,19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34];const Lamentations=[0,22,22,66,22,22];const Baruch=[0,22,35,38,37,9,72];const Ezekiel=[0,28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35];const Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];const Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];const Joel=[0,20,27,5,21];const Amos=[0,15,16,15,13,27,14,17,14,15];const Obadiah=[0,21];const Jonah=[0,16,11,10,11];const Micah=[0,16,13,12,14,14,16,20];const Nachum=[0,14,14,19];const Habakkuk=[0,17,20,19];const Zephaniah=[0,18,15,20];const Haggai=[0,15,23];const Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];const Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
5
5
 
@@ -12,7 +12,6 @@ const Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,
12
12
  const BOOK = ['', 'Genesis', 'Exodus', 'Leviticus', 'Numbers', 'Deuteronomy'];
13
13
  /**
14
14
  * Formats parsha as a string
15
- * @private
16
15
  * @param {string[]} parsha
17
16
  * @return {string}
18
17
  */
@@ -36,21 +35,8 @@ function parshaToString(parsha) {
36
35
  * @property {number} [p] - parsha number (1=Bereshit, 54=Vezot HaBracha)
37
36
  */
38
37
 
39
- /**
40
- * A bit like Object.assign(), but just a shallow copy
41
- * @private
42
- * @param {any} target
43
- * @param {any} source
44
- * @return {any}
45
- */
46
-
47
- function shallowCopy(target, source) {
48
- Object.keys(source).forEach(k => target[k] = source[k]);
49
- return target;
50
- }
51
38
  /**
52
39
  * Makes a deep copy of the src object using JSON stringify and parse
53
- * @private
54
40
  * @param {any} src
55
41
  * @return {any}
56
42
  */
@@ -59,8 +45,10 @@ function clone(src) {
59
45
  return JSON.parse(JSON.stringify(src));
60
46
  }
61
47
  /**
62
- * @private
63
- * @param {any} aliyah
48
+ * Calculates the number of verses in an aliyah or haftara based on
49
+ * the `b` (begin verse), `e` (end verse) and `k` (book).
50
+ * Modifies `aliyah` by setting the `v` field.
51
+ * @param {Aliyah} aliyah
64
52
  * @return {number}
65
53
  */
66
54
 
@@ -128,78 +116,139 @@ function formatAliyahShort(aliyah, showBook) {
128
116
  return `${prefix}${begin}-${end}`;
129
117
  }
130
118
  /**
131
- * @private
132
- * @param {Aliyah[]} parts
133
- * @return {string}
119
+ * Returns the total number of verses in an array of Aliyah (or haftarah) objects
120
+ * @param {Aliyah|Aliyah[]} aliyot
121
+ * @return {number}
134
122
  */
135
123
 
136
- function makeSummaryFromParts(parts) {
137
- let prev = parts[0];
138
- let summary = formatAliyahShort(prev, true);
139
-
140
- for (let i = 1; i < parts.length; i++) {
141
- const part = parts[i];
142
-
143
- if (part.k === prev.k) {
144
- summary += ', ';
145
- } else {
146
- summary += `; ${part.k} `;
147
- }
148
-
149
- summary += formatAliyahShort(part, false);
150
- prev = part;
151
- }
152
-
153
- return summary;
124
+ function sumVerses(aliyot) {
125
+ return Array.isArray(aliyot) ? aliyot.reduce((prev, cur) => prev + cur.v, 0) : aliyot.v;
154
126
  }
155
127
  /**
156
128
  * @private
157
129
  * @param {Aliyah|Aliyah[]} haft
158
- * @return {string}
130
+ * @return {Aliyah|Aliyah[]}
159
131
  */
160
132
 
161
- function makeHaftaraSummary(haft) {
133
+ function cloneHaftara(haft) {
162
134
  if (!haft) {
163
135
  return haft;
164
136
  }
165
137
 
166
- const parts = Array.isArray(haft) ? haft : [haft];
167
- const str = makeSummaryFromParts(parts); // return str.replace(/-/g, ' - ');
138
+ const dest = clone(haft);
139
+
140
+ if (Array.isArray(dest)) {
141
+ dest.map(calculateNumVerses);
142
+ } else {
143
+ calculateNumVerses(dest);
144
+ }
168
145
 
169
- return str;
146
+ return dest;
170
147
  }
148
+
171
149
  /**
172
150
  * @private
173
- * @param {Aliyah|Aliyah[]} haft
174
- * @return {number}
151
+ * @param {string} a
152
+ * @param {string} b
153
+ * @return {boolean}
175
154
  */
176
155
 
177
- function calculateHaftaraNumV(haft) {
178
- return Array.isArray(haft) ? haft.reduce((prev, cur) => prev + cur.v, 0) : haft.v;
156
+ function isChapVerseBefore(a, b) {
157
+ const cv1 = a.split(':').map(x => +x);
158
+ const cv2 = b.split(':').map(x => +x);
159
+ return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
179
160
  }
180
161
  /**
181
- * @private
182
- * @param {Object.<string,string>} haft
183
- * @return {Object.<string,string>}
162
+ * Summarizes an `AliyotMap` by collapsing all adjacent aliyot.
163
+ * Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
164
+ * @param {Object<string,Aliyah>} aliyot
165
+ * @return {Aliyah[]}
184
166
  */
185
167
 
186
- function cloneHaftara(haft) {
187
- if (!haft) {
188
- return haft;
168
+
169
+ function makeLeyningParts(aliyot) {
170
+ const nums = Object.keys(aliyot).filter(x => x.length === 1);
171
+ let start = aliyot[nums[0]];
172
+ let end = start;
173
+ const parts = [];
174
+
175
+ for (let i = 0; i < nums.length; i++) {
176
+ const num = nums[i];
177
+ const aliyah = aliyot[num];
178
+
179
+ if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
180
+ // short-circuit when final aliyah is within the previous (e.g. M inside of 7)
181
+ continue;
182
+ }
183
+
184
+ const prevEndChap = +end.e.split(':')[0];
185
+ const curStartChap = +aliyah.b.split(':')[0];
186
+ const sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
187
+
188
+ if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
189
+ parts.push({
190
+ k: start.k,
191
+ b: start.b,
192
+ e: end.e
193
+ });
194
+ start = aliyah;
195
+ }
196
+
197
+ end = aliyah;
189
198
  }
190
199
 
191
- const dest = clone(haft);
200
+ parts.push({
201
+ k: start.k,
202
+ b: start.b,
203
+ e: end.e
204
+ });
205
+ return parts;
206
+ }
207
+ /**
208
+ * Returns a string representation of the leyning parts.
209
+ * Separate verse ranges read from the same book are separated
210
+ * by commas, e.g. `Isaiah 6:1-7:6, 9:5-6`.
211
+ * Verse ranges from different books are separated by semicolons,
212
+ * e.g. `Genesis 21:1-34; Numbers 29:1-6`.
213
+ * @param {Aliyah|Aliyah[]} parts
214
+ * @return {string}
215
+ */
192
216
 
193
- if (Array.isArray(dest)) {
194
- dest.map(calculateNumVerses);
195
- } else {
196
- calculateNumVerses(dest);
217
+ function makeSummaryFromParts(parts) {
218
+ if (!Array.isArray(parts)) {
219
+ parts = [parts];
197
220
  }
198
221
 
199
- return dest;
222
+ let prev = parts[0];
223
+ let summary = formatAliyahShort(prev, true);
224
+
225
+ for (let i = 1; i < parts.length; i++) {
226
+ const part = parts[i];
227
+
228
+ if (part.k === prev.k) {
229
+ summary += ', ';
230
+ } else {
231
+ summary += `; ${part.k} `;
232
+ }
233
+
234
+ summary += formatAliyahShort(part, false);
235
+ prev = part;
236
+ }
237
+
238
+ return summary;
200
239
  }
240
+ /**
241
+ * Makes a summary of the leyning, like "Genesis 6:9-11:32"
242
+ * @param {Object<string,Aliyah>} aliyot
243
+ * @return {string}
244
+ */
201
245
 
202
- const Purim={fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}};var festivals = {"Pesach I":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:36"},"4":{p:15,k:2,b:"12:37",e:"12:42"},"5":{p:15,k:2,b:"12:43",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach I (on Shabbat)":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:32"},"4":{p:15,k:2,b:"12:33",e:"12:36"},"5":{p:15,k:2,b:"12:37",e:"12:42"},"6":{p:15,k:2,b:"12:43",e:"12:47"},"7":{p:15,k:2,b:"12:48",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II":{haft:[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:25"}],fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II (CH''M)":{note:"Israel only - according to Vaani T'fillati Siddur Yisraeli",fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:8"},"2":{p:31,k:3,b:"23:9",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:44"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 1":{fullkriyah:{"1":{p:15,k:2,b:"13:1",e:"13:4"},"2":{p:15,k:2,b:"13:5",e:"13:10"},"3":{p:15,k:2,b:"13:11",e:"13:16"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 2":{fullkriyah:{"1":{p:18,k:2,b:"22:24",e:"22:26"},"2":{p:18,k:2,b:"22:27",e:"23:5"},"3":{p:18,k:2,b:"23:6",e:"23:19"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 3":{fullkriyah:{"1":{p:21,k:2,b:"34:1",e:"34:10"},"2":{p:21,k:2,b:"34:11",e:"34:17"},"3":{p:21,k:2,b:"34:18",e:"34:26"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 4":{fullkriyah:{"1":{p:36,k:4,b:"9:1",e:"9:5"},"2":{p:36,k:4,b:"9:6",e:"9:8"},"3":{p:36,k:4,b:"9:9",e:"9:14"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"37:1",e:"37:14"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:22"},"2":{p:16,k:2,b:"14:1",e:"14:8"},"3":{p:16,k:2,b:"14:9",e:"14:14"},"4":{p:16,k:2,b:"14:15",e:"14:25"},"5":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII (on Shabbat)":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:19"},"2":{p:16,k:2,b:"13:20",e:"13:22"},"3":{p:16,k:2,b:"14:1",e:"14:4"},"4":{p:16,k:2,b:"14:5",e:"14:8"},"5":{p:16,k:2,b:"14:9",e:"14:14"},"6":{p:16,k:2,b:"14:15",e:"14:25"},"7":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII (on Shabbat)":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach III (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 1"},"Pesach IV (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 2"},"Pesach V (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 3"},"Pesach VI (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 4"},"Shavuot I":{haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II (on Shabbat)":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Fast Day (Morning)":{fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Fast Day (Afternoon)":{haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Asara B'Tevet":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Bechorot":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Esther":{alias:true,key:"Fast Day (Morning)"},"Tzom Gedaliah":{alias:true,key:"Fast Day (Morning)"},"Tzom Tammuz":{alias:true,key:"Fast Day (Morning)"},"Asara B'Tevet (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Bechorot (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Esther (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Gedaliah (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Tammuz (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tish'a B'Av":{haft:{k:"Jeremiah",b:"8:13",e:"9:23"},fullkriyah:{"1":{p:45,k:5,b:"4:25",e:"4:29"},"2":{p:45,k:5,b:"4:30",e:"4:35"},"3":{p:45,k:5,b:"4:36",e:"4:40"}}},"Tish'a B'Av (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Rosh Hashana I":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:12"},"3":{p:4,k:1,b:"21:13",e:"21:21"},"4":{p:4,k:1,b:"21:22",e:"21:27"},"5":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana I (on Shabbat)":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:8"},"3":{p:4,k:1,b:"21:9",e:"21:12"},"4":{p:4,k:1,b:"21:13",e:"21:17"},"5":{p:4,k:1,b:"21:18",e:"21:21"},"6":{p:4,k:1,b:"21:22",e:"21:27"},"7":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana II":{haft:{k:"Jeremiah",b:"31:1",e:"31:19"},fullkriyah:{"1":{p:4,k:1,b:"22:1",e:"22:3"},"2":{p:4,k:1,b:"22:4",e:"22:8"},"3":{p:4,k:1,b:"22:9",e:"22:14"},"4":{p:4,k:1,b:"22:15",e:"22:19"},"5":{p:4,k:1,b:"22:20",e:"22:24"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Yom Kippur":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:6"},"2":{p:29,k:3,b:"16:7",e:"16:11"},"3":{p:29,k:3,b:"16:12",e:"16:17"},"4":{p:29,k:3,b:"16:18",e:"16:24"},"5":{p:29,k:3,b:"16:25",e:"16:30"},"6":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (on Shabbat)":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:3"},"2":{p:29,k:3,b:"16:4",e:"16:6"},"3":{p:29,k:3,b:"16:7",e:"16:11"},"4":{p:29,k:3,b:"16:12",e:"16:17"},"5":{p:29,k:3,b:"16:18",e:"16:24"},"6":{p:29,k:3,b:"16:25",e:"16:30"},"7":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (Mincha, Traditional)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:29,k:3,b:"18:1",e:"18:5"},"2":{p:29,k:3,b:"18:6",e:"18:21"},"3":{p:29,k:3,b:"18:22",e:"18:30"}}},"Yom Kippur (Mincha, Alternate)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:30,k:3,b:"19:1",e:"19:4"},"2":{p:30,k:3,b:"19:5",e:"19:10"},"3":{p:30,k:3,b:"19:11",e:"19:18"}}},"Sukkot I":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot I (on Shabbat)":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"22:33"},"2":{p:31,k:3,b:"23:1",e:"23:3"},"3":{p:31,k:3,b:"23:4",e:"23:8"},"4":{p:31,k:3,b:"23:9",e:"23:14"},"5":{p:31,k:3,b:"23:15",e:"23:22"},"6":{p:31,k:3,b:"23:23",e:"23:32"},"7":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot II":{haft:{k:"I Kings",b:"8:2",e:"8:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot Chol ha-Moed Day 1":{fullkriyah:{"1":{p:41,k:4,b:"29:17",e:"29:19"},"2":{p:41,k:4,b:"29:20",e:"29:22"},"3":{p:41,k:4,b:"29:23",e:"29:25"},"4":{p:41,k:4,b:"29:17",e:"29:22"}}},"Sukkot Chol ha-Moed Day 2":{fullkriyah:{"1":{p:41,k:4,b:"29:20",e:"29:22"},"2":{p:41,k:4,b:"29:23",e:"29:25"},"3":{p:41,k:4,b:"29:26",e:"29:28"},"4":{p:41,k:4,b:"29:20",e:"29:25"}}},"Sukkot Chol ha-Moed Day 3":{fullkriyah:{"1":{p:41,k:4,b:"29:23",e:"29:25"},"2":{p:41,k:4,b:"29:26",e:"29:28"},"3":{p:41,k:4,b:"29:29",e:"29:31"},"4":{p:41,k:4,b:"29:23",e:"29:28"}}},"Sukkot Chol ha-Moed Day 4":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:26",e:"29:31"}}},"Sukkot Chol ha-Moed Day 5":{fullkriyah:{"1":{p:41,k:4,b:"29:29",e:"29:31"},"2":{p:41,k:4,b:"29:32",e:"29:34"},"3":{p:41,k:4,b:"29:35",e:"29:37"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"38:18",e:"39:16"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},"M-day1":{p:41,k:4,b:"29:17",e:"29:22"},"M-day2":{p:41,k:4,b:"29:20",e:"29:25"},"M-day3":{p:41,k:4,b:"29:23",e:"29:28"},"M-day4":{p:41,k:4,b:"29:26",e:"29:31"},"M-day5":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Final Day (Hoshana Raba)":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Shmini Atzeret":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"16:3"},"4":{p:47,k:5,b:"16:4",e:"16:8"},"5":{p:47,k:5,b:"16:9",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shmini Atzeret (on Shabbat)":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Erev Simchat Torah":{fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"}}},"Simchat Torah":{haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"34:12"},"7":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shabbat Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"}},"Shabbat Chanukah II":{haft:{k:"I Kings",b:"7:40",e:"7:50"}},"Shabbat Rosh Chodesh Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 1":{fullkriyah:{"1":{p:35,k:4,b:"7:1",e:"7:11"},"2":{p:35,k:4,b:"7:12",e:"7:14"},"3":{p:35,k:4,b:"7:15",e:"7:17"}},alt:{"1":{p:35,k:4,b:"7:1",e:"7:3"},"2":{p:35,k:4,b:"7:4",e:"7:11"},"3":{p:35,k:4,b:"7:12",e:"7:17"}}},"Chanukah Day 2":{fullkriyah:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:24",e:"7:29"}},alt:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 3":{fullkriyah:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:30",e:"7:35"}},alt:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 4":{fullkriyah:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:36",e:"7:41"}},alt:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 5":{fullkriyah:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:42",e:"7:47"}},alt:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 6":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 7":{fullkriyah:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:54",e:"7:59"}},alt:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Rosh Chodesh)":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 8":{fullkriyah:{"1":{p:35,k:4,b:"7:54",e:"7:56"},"2":{p:35,k:4,b:"7:57",e:"7:59"},"3":{p:35,k:4,b:"7:60",e:"8:4"}}},Purim:Purim,"Shushan Purim":{fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}},"Shabbat HaChodesh":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaChodesh (on Rosh Chodesh)":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaGadol":{haft:{k:"Malachi",b:"3:4",e:"3:24"}},"Shabbat Parah":{haft:{k:"Ezekiel",b:"36:16",e:"36:38"},fullkriyah:{M:{p:39,k:4,b:"19:1",e:"19:22"}}},"Shabbat Shekalim":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shekalim (on Rosh Chodesh)":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shuva":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"},{k:"Joel",b:"2:15",e:"2:27"}]},"Shabbat Zachor":{haft:{k:"I Samuel",b:"15:2",e:"15:34"},fullkriyah:{M:{p:49,k:5,b:"25:17",e:"25:19"}}},"Rosh Chodesh":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:3"},"2":{p:41,k:4,b:"28:3",e:"28:5"},"3":{p:41,k:4,b:"28:6",e:"28:10"},"4":{p:41,k:4,b:"28:11",e:"28:15"}}},"Shabbat Rosh Chodesh":{haft:{k:"Isaiah",b:"66:1",e:"66:24"},fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Shabbat Machar Chodesh":{haft:{k:"I Samuel",b:"20:18",e:"20:42"}}};
246
+ function makeLeyningSummary(aliyot) {
247
+ const parts = makeLeyningParts(aliyot);
248
+ return makeSummaryFromParts(parts);
249
+ }
250
+
251
+ const Purim={fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}};var festivals = {"Pesach I":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:36"},"4":{p:15,k:2,b:"12:37",e:"12:42"},"5":{p:15,k:2,b:"12:43",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach I (on Shabbat)":{haft:{k:"Joshua",b:"5:2",e:"6:1"},fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:32"},"4":{p:15,k:2,b:"12:33",e:"12:36"},"5":{p:15,k:2,b:"12:37",e:"12:42"},"6":{p:15,k:2,b:"12:43",e:"12:47"},"7":{p:15,k:2,b:"12:48",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II":{haft:[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:25"}],fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II (CH''M)":{note:"Israel only - according to Vaani T'fillati Siddur Yisraeli",fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:8"},"2":{p:31,k:3,b:"23:9",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:44"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 1":{fullkriyah:{"1":{p:15,k:2,b:"13:1",e:"13:4"},"2":{p:15,k:2,b:"13:5",e:"13:10"},"3":{p:15,k:2,b:"13:11",e:"13:16"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 2":{fullkriyah:{"1":{p:18,k:2,b:"22:24",e:"22:26"},"2":{p:18,k:2,b:"22:27",e:"23:5"},"3":{p:18,k:2,b:"23:6",e:"23:19"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 3":{fullkriyah:{"1":{p:21,k:2,b:"34:1",e:"34:10"},"2":{p:21,k:2,b:"34:11",e:"34:17"},"3":{p:21,k:2,b:"34:18",e:"34:26"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 4":{fullkriyah:{"1":{p:36,k:4,b:"9:1",e:"9:5"},"2":{p:36,k:4,b:"9:6",e:"9:8"},"3":{p:36,k:4,b:"9:9",e:"9:14"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"37:1",e:"37:14"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:22"},"2":{p:16,k:2,b:"14:1",e:"14:8"},"3":{p:16,k:2,b:"14:9",e:"14:14"},"4":{p:16,k:2,b:"14:15",e:"14:25"},"5":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII (on Shabbat)":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:19"},"2":{p:16,k:2,b:"13:20",e:"13:22"},"3":{p:16,k:2,b:"14:1",e:"14:4"},"4":{p:16,k:2,b:"14:5",e:"14:8"},"5":{p:16,k:2,b:"14:9",e:"14:14"},"6":{p:16,k:2,b:"14:15",e:"14:25"},"7":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII (on Shabbat)":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach III (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 1"},"Pesach IV (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 2"},"Pesach V (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 3"},"Pesach VI (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 4"},"Shavuot I":{haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II (on Shabbat)":{haft:{k:"Habakkuk",b:"3:1",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Fast Day (Morning)":{fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Fast Day (Afternoon)":{haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Asara B'Tevet":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Bechorot":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Esther":{alias:true,key:"Fast Day (Morning)"},"Tzom Gedaliah":{alias:true,key:"Fast Day (Morning)"},"Tzom Tammuz":{alias:true,key:"Fast Day (Morning)"},"Asara B'Tevet (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Bechorot (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Esther (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Gedaliah (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Tammuz (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tish'a B'Av":{haft:{k:"Jeremiah",b:"8:13",e:"9:23"},fullkriyah:{"1":{p:45,k:5,b:"4:25",e:"4:29"},"2":{p:45,k:5,b:"4:30",e:"4:35"},"3":{p:45,k:5,b:"4:36",e:"4:40"}}},"Tish'a B'Av (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Rosh Hashana I":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:12"},"3":{p:4,k:1,b:"21:13",e:"21:21"},"4":{p:4,k:1,b:"21:22",e:"21:27"},"5":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana I (on Shabbat)":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:8"},"3":{p:4,k:1,b:"21:9",e:"21:12"},"4":{p:4,k:1,b:"21:13",e:"21:17"},"5":{p:4,k:1,b:"21:18",e:"21:21"},"6":{p:4,k:1,b:"21:22",e:"21:27"},"7":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana II":{haft:{k:"Jeremiah",b:"31:1",e:"31:19"},fullkriyah:{"1":{p:4,k:1,b:"22:1",e:"22:3"},"2":{p:4,k:1,b:"22:4",e:"22:8"},"3":{p:4,k:1,b:"22:9",e:"22:14"},"4":{p:4,k:1,b:"22:15",e:"22:19"},"5":{p:4,k:1,b:"22:20",e:"22:24"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Yom Kippur":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:6"},"2":{p:29,k:3,b:"16:7",e:"16:11"},"3":{p:29,k:3,b:"16:12",e:"16:17"},"4":{p:29,k:3,b:"16:18",e:"16:24"},"5":{p:29,k:3,b:"16:25",e:"16:30"},"6":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (on Shabbat)":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:3"},"2":{p:29,k:3,b:"16:4",e:"16:6"},"3":{p:29,k:3,b:"16:7",e:"16:11"},"4":{p:29,k:3,b:"16:12",e:"16:17"},"5":{p:29,k:3,b:"16:18",e:"16:24"},"6":{p:29,k:3,b:"16:25",e:"16:30"},"7":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (Mincha, Traditional)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:29,k:3,b:"18:1",e:"18:5"},"2":{p:29,k:3,b:"18:6",e:"18:21"},"3":{p:29,k:3,b:"18:22",e:"18:30"}}},"Yom Kippur (Mincha, Alternate)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:30,k:3,b:"19:1",e:"19:4"},"2":{p:30,k:3,b:"19:5",e:"19:10"},"3":{p:30,k:3,b:"19:11",e:"19:18"}}},"Sukkot I":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot I (on Shabbat)":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"22:33"},"2":{p:31,k:3,b:"23:1",e:"23:3"},"3":{p:31,k:3,b:"23:4",e:"23:8"},"4":{p:31,k:3,b:"23:9",e:"23:14"},"5":{p:31,k:3,b:"23:15",e:"23:22"},"6":{p:31,k:3,b:"23:23",e:"23:32"},"7":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot II":{haft:{k:"I Kings",b:"8:2",e:"8:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot Chol ha-Moed Day 1":{fullkriyah:{"1":{p:41,k:4,b:"29:17",e:"29:19"},"2":{p:41,k:4,b:"29:20",e:"29:22"},"3":{p:41,k:4,b:"29:23",e:"29:25"},"4":{p:41,k:4,b:"29:17",e:"29:22"}}},"Sukkot Chol ha-Moed Day 2":{fullkriyah:{"1":{p:41,k:4,b:"29:20",e:"29:22"},"2":{p:41,k:4,b:"29:23",e:"29:25"},"3":{p:41,k:4,b:"29:26",e:"29:28"},"4":{p:41,k:4,b:"29:20",e:"29:25"}}},"Sukkot Chol ha-Moed Day 3":{fullkriyah:{"1":{p:41,k:4,b:"29:23",e:"29:25"},"2":{p:41,k:4,b:"29:26",e:"29:28"},"3":{p:41,k:4,b:"29:29",e:"29:31"},"4":{p:41,k:4,b:"29:23",e:"29:28"}}},"Sukkot Chol ha-Moed Day 4":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:26",e:"29:31"}}},"Sukkot Chol ha-Moed Day 5":{fullkriyah:{"1":{p:41,k:4,b:"29:29",e:"29:31"},"2":{p:41,k:4,b:"29:32",e:"29:34"},"3":{p:41,k:4,b:"29:35",e:"29:37"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Shabbat Chol ha-Moed":{haft:{k:"Ezekiel",b:"38:18",e:"39:16"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},"M-day1":{p:41,k:4,b:"29:17",e:"29:22"},"M-day2":{p:41,k:4,b:"29:20",e:"29:25"},"M-day3":{p:41,k:4,b:"29:23",e:"29:28"},"M-day4":{p:41,k:4,b:"29:26",e:"29:31"},"M-day5":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Final Day (Hoshana Raba)":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Shmini Atzeret":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"16:3"},"4":{p:47,k:5,b:"16:4",e:"16:8"},"5":{p:47,k:5,b:"16:9",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shmini Atzeret (on Shabbat)":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Erev Simchat Torah":{fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"}}},"Simchat Torah":{haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"34:12"},"7":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shabbat Rosh Chodesh Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 1":{fullkriyah:{"1":{p:35,k:4,b:"7:1",e:"7:11"},"2":{p:35,k:4,b:"7:12",e:"7:14"},"3":{p:35,k:4,b:"7:15",e:"7:17"}},alt:{"1":{p:35,k:4,b:"7:1",e:"7:3"},"2":{p:35,k:4,b:"7:4",e:"7:11"},"3":{p:35,k:4,b:"7:12",e:"7:17"}}},"Chanukah Day 1 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:1",e:"7:17"}}},"Chanukah Day 2":{fullkriyah:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:24",e:"7:29"}},alt:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 2 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 3":{fullkriyah:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:30",e:"7:35"}},alt:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 3 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 4":{fullkriyah:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:36",e:"7:41"}},alt:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 4 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 5":{fullkriyah:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:42",e:"7:47"}},alt:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 5 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 6":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 7":{fullkriyah:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:54",e:"7:59"}},alt:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Rosh Chodesh)":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 8":{fullkriyah:{"1":{p:35,k:4,b:"7:54",e:"7:56"},"2":{p:35,k:4,b:"7:57",e:"7:59"},"3":{p:35,k:4,b:"7:60",e:"8:4"}}},"Chanukah Day 8 (on Shabbat)":{haft:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{M:{p:35,k:4,b:"7:54",e:"8:4"}}},Purim:Purim,"Shushan Purim":{fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}},"Shabbat HaChodesh":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaChodesh (on Rosh Chodesh)":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaGadol":{haft:{k:"Malachi",b:"3:4",e:"3:24"}},"Shabbat Parah":{haft:{k:"Ezekiel",b:"36:16",e:"36:38"},fullkriyah:{M:{p:39,k:4,b:"19:1",e:"19:22"}}},"Shabbat Shekalim":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shekalim (on Rosh Chodesh)":{haft:{k:"II Kings",b:"12:1",e:"12:17"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shuva":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"},{k:"Joel",b:"2:15",e:"2:27"}]},"Shabbat Zachor":{haft:{k:"I Samuel",b:"15:2",e:"15:34"},fullkriyah:{M:{p:49,k:5,b:"25:17",e:"25:19"}}},"Rosh Chodesh":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:3"},"2":{p:41,k:4,b:"28:3",e:"28:5"},"3":{p:41,k:4,b:"28:6",e:"28:10"},"4":{p:41,k:4,b:"28:11",e:"28:15"}}},"Shabbat Rosh Chodesh":{haft:{k:"Isaiah",b:"66:1",e:"66:24"},fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Shabbat Machar Chodesh":{haft:{k:"I Samuel",b:"20:18",e:"20:42"}}};
203
252
 
204
253
  /**
205
254
  * Is there a special festival Torah Reading for `holiday`?
@@ -246,8 +295,6 @@ function lookupFestival(holiday) {
246
295
  return result;
247
296
  }
248
297
 
249
- const Bereshit$2={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":["1:1","2:3"],"2":["2:4","2:19"],"3":["2:20","3:21"],"4":["3:22","4:18"],"5":["4:19","4:22"],"6":["4:23","5:24"],"7":["5:25","6:8"],M:["6:5","6:8"]},weekday:{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"]}};const Noach$2={num:2,hebrew:"נֹחַ",book:1,haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["6:9","6:22"],"2":["7:1","7:16"],"3":["7:17","8:14"],"4":["8:15","9:7"],"5":["9:8","9:17"],"6":["9:18","10:32"],"7":["11:1","11:32"],M:["11:29","11:32"]},weekday:{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"]}};const Vayera$2={num:4,hebrew:"וַיֵּרָא",book:1,haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":["18:1","18:14"],"2":["18:15","18:33"],"3":["19:1","19:20"],"4":["19:21","21:4"],"5":["21:5","21:21"],"6":["21:22","21:34"],"7":["22:1","22:24"],M:["22:20","22:24"]},weekday:{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"]}};const Toldot$2={num:6,hebrew:"תּוֹלְדוֹת",book:1,haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":["25:19","26:5"],"2":["26:6","26:12"],"3":["26:13","26:22"],"4":["26:23","26:29"],"5":["26:30","27:27"],"6":["27:28","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]},weekday:{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","26:5"]}};const Vayetzei$2={num:7,hebrew:"וַיֵּצֵא",book:1,haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":["28:10","28:22"],"2":["29:1","29:17"],"3":["29:18","30:13"],"4":["30:14","30:27"],"5":["30:28","31:16"],"6":["31:17","31:42"],"7":["31:43","32:3"],M:["32:1","32:3"]},weekday:{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"]}};const Vayishlach$2={num:8,hebrew:"וַיִּשְׁלַח",book:1,haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":["32:4","32:13"],"2":["32:14","32:30"],"3":["32:31","33:5"],"4":["33:6","33:20"],"5":["34:1","35:11"],"6":["35:12","36:19"],"7":["36:20","36:43"],M:["36:40","36:43"]},weekday:{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"]}};const Vayeshev$2={num:9,hebrew:"וַיֵּשֶׁב",book:1,haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":["37:1","37:11"],"2":["37:12","37:22"],"3":["37:23","37:36"],"4":["38:1","38:30"],"5":["39:1","39:6"],"6":["39:7","39:23"],"7":["40:1","40:23"],M:["40:20","40:23"]},weekday:{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"]}};const Miketz$2={num:10,hebrew:"מִקֵּץ",book:1,haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":["41:1","41:14"],"2":["41:15","41:38"],"3":["41:39","41:52"],"4":["41:53","42:18"],"5":["42:19","43:15"],"6":["43:16","43:29"],"7":["43:30","44:17"],M:["44:14","44:17"]},weekday:{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"]}};const Vayigash$2={num:11,hebrew:"וַיִּגַּשׁ",book:1,haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":["44:18","44:30"],"2":["44:31","45:7"],"3":["45:8","45:18"],"4":["45:19","45:27"],"5":["45:28","46:27"],"6":["46:28","47:10"],"7":["47:11","47:27"],M:["47:25","47:27"]},weekday:{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"]}};const Vayechi$2={num:12,hebrew:"וַיְחִי",book:1,haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":["47:28","48:9"],"2":["48:10","48:16"],"3":["48:17","48:22"],"4":["49:1","49:18"],"5":["49:19","49:26"],"6":["49:27","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]},weekday:{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"]}};const Shemot$2={num:13,hebrew:"שְׁמוֹת",book:2,haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["1:1","1:17"],"2":["1:18","2:10"],"3":["2:11","2:25"],"4":["3:1","3:15"],"5":["3:16","4:17"],"6":["4:18","4:31"],"7":["5:1","6:1"],M:["5:22","6:1"]},weekday:{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"]}};const Vaera$2={num:14,hebrew:"וָאֵרָא",book:2,haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":["6:2","6:13"],"2":["6:14","6:28"],"3":["6:29","7:7"],"4":["7:8","8:6"],"5":["8:7","8:18"],"6":["8:19","9:16"],"7":["9:17","9:35"],M:["9:33","9:35"]},weekday:{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"]}};const Bo$2={num:15,hebrew:"בֹּא",book:2,haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":["10:1","10:11"],"2":["10:12","10:23"],"3":["10:24","11:3"],"4":["11:4","12:20"],"5":["12:21","12:28"],"6":["12:29","12:51"],"7":["13:1","13:16"],M:["13:14","13:16"]},weekday:{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"]}};const Beshalach$2={num:16,hebrew:"בְּשַׁלַּח",book:2,haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":["13:17","14:8"],"2":["14:9","14:14"],"3":["14:15","14:25"],"4":["14:26","15:26"],"5":["15:27","16:10"],"6":["16:11","16:36"],"7":["17:1","17:16"],M:["17:14","17:16"]},weekday:{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"]}};const Yitro$2={num:17,hebrew:"יִתְרוֹ",book:2,haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},weekday:{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"]}};const Mishpatim$2={num:18,hebrew:"מִּשְׁפָּטִים",book:2,haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":["21:1","21:19"],"2":["21:20","22:3"],"3":["22:4","22:26"],"4":["22:27","23:5"],"5":["23:6","23:19"],"6":["23:20","23:25"],"7":["23:26","24:18"],M:["24:15","24:18"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"]}};const Terumah$2={num:19,hebrew:"תְּרוּמָה",book:2,haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":["25:1","25:16"],"2":["25:17","25:30"],"3":["25:31","26:14"],"4":["26:15","26:30"],"5":["26:31","26:37"],"6":["27:1","27:8"],"7":["27:9","27:19"],M:["27:17","27:19"]},weekday:{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"]}};const Tetzaveh$2={num:20,hebrew:"תְּצַוֶּה",book:2,haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":["27:20","28:12"],"2":["28:13","28:30"],"3":["28:31","28:43"],"4":["29:1","29:18"],"5":["29:19","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]},weekday:{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"]}};const Vayakhel$2={num:22,hebrew:"וַיַּקְהֵל",book:2,haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":["35:1","35:20"],"2":["35:21","35:29"],"3":["35:30","36:7"],"4":["36:8","36:19"],"5":["36:20","37:16"],"6":["37:17","37:29"],"7":["38:1","38:20"],M:["38:18","38:20"]},weekday:{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"]}};const Pekudei$2={num:23,hebrew:"פְקוּדֵי",book:2,haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":["38:21","39:1"],"2":["39:2","39:21"],"3":["39:22","39:32"],"4":["39:33","39:43"],"5":["40:1","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},weekday:{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"]}};const Vayikra$2={num:24,hebrew:"וַיִּקְרָא",book:3,haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":["1:1","1:13"],"2":["1:14","2:6"],"3":["2:7","2:16"],"4":["3:1","3:17"],"5":["4:1","4:26"],"6":["4:27","5:10"],"7":["5:11","5:26"],M:["5:24","5:26"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"]}};const Tzav$2={num:25,hebrew:"צַו",book:3,haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":["6:1","6:11"],"2":["6:12","7:10"],"3":["7:11","7:38"],"4":["8:1","8:13"],"5":["8:14","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]},weekday:{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"]}};const Shmini$2={num:26,hebrew:"שְּׁמִינִי",book:3,haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":["9:1","9:16"],"2":["9:17","9:23"],"3":["9:24","10:11"],"4":["10:12","10:15"],"5":["10:16","10:20"],"6":["11:1","11:32"],"7":["11:33","11:47"],M:["11:45","11:47"]},weekday:{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"]}};const Tazria$2={num:27,hebrew:"תַזְרִיעַ",book:3,haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":["12:1","13:5"],"2":["13:6","13:17"],"3":["13:18","13:23"],"4":["13:24","13:28"],"5":["13:29","13:39"],"6":["13:40","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},weekday:{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"]}};const Metzora$2={num:28,hebrew:"מְּצֹרָע",book:3,haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":["14:1","14:12"],"2":["14:13","14:20"],"3":["14:21","14:32"],"4":["14:33","14:53"],"5":["14:54","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},weekday:{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"]}};const Kedoshim$2={num:30,hebrew:"קְדשִׁים",book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["19:1","19:14"],"2":["19:15","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},weekday:{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"]}};const Emor$2={num:31,hebrew:"אֱמוֹר",book:3,haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":["21:1","21:15"],"2":["21:16","22:16"],"3":["22:17","22:33"],"4":["23:1","23:22"],"5":["23:23","23:32"],"6":["23:33","23:44"],"7":["24:1","24:23"],M:["24:21","24:23"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"]}};const Behar$2={num:32,hebrew:"בְּהַר",book:3,haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":["25:1","25:13"],"2":["25:14","25:18"],"3":["25:19","25:24"],"4":["25:25","25:28"],"5":["25:29","25:38"],"6":["25:39","25:46"],"7":["25:47","26:2"],M:["25:55","26:2"]},weekday:{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"]}};const Bechukotai$2={num:33,hebrew:"בְּחֻקֹּתַי",book:3,haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:15"],"5":["27:16","27:21"],"6":["27:22","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},weekday:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:13"]}};const Bamidbar$2={num:34,hebrew:"בְּמִדְבַּר",book:4,haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":["1:1","1:19"],"2":["1:20","1:54"],"3":["2:1","2:34"],"4":["3:1","3:13"],"5":["3:14","3:39"],"6":["3:40","3:51"],"7":["4:1","4:20"],M:["4:17","4:20"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"]}};const Nasso$2={num:35,hebrew:"נָשׂא",book:4,haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":["4:21","4:37"],"2":["4:38","4:49"],"3":["5:1","5:10"],"4":["5:11","6:27"],"5":["7:1","7:41"],"6":["7:42","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]},weekday:{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"]}};const Korach$2={num:38,hebrew:"קוֹרַח",book:4,haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":["16:1","16:13"],"2":["16:14","16:19"],"3":["16:20","17:8"],"4":["17:9","17:15"],"5":["17:16","17:24"],"6":["17:25","18:20"],"7":["18:21","18:32"],M:["18:30","18:32"]},weekday:{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"]}};const Chukat$2={num:39,hebrew:"חֻקַּת",book:4,haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":["19:1","19:17"],"2":["19:18","20:6"],"3":["20:7","20:13"],"4":["20:14","20:21"],"5":["20:22","21:9"],"6":["21:10","21:20"],"7":["21:21","22:1"],M:["21:34","22:1"]},weekday:{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"]}};const Balak$2={num:40,hebrew:"בָּלָק",book:4,haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":["22:2","22:12"],"2":["22:13","22:20"],"3":["22:21","22:38"],"4":["22:39","23:12"],"5":["23:13","23:26"],"6":["23:27","24:13"],"7":["24:14","25:9"],M:["25:7","25:9"]},weekday:{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"]}};const Pinchas$2={num:41,hebrew:"פִּינְחָס",book:4,haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":["25:10","26:4"],"2":["26:5","26:51"],"3":["26:52","27:5"],"4":["27:6","27:23"],"5":["28:1","28:15"],"6":["28:16","29:11"],"7":["29:12","30:1"],M:["29:35","30:1"]},weekday:{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"]}};const Matot$2={num:42,hebrew:"מַּטּוֹת",book:4,haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["30:2","30:17"],"2":["31:1","31:12"],"3":["31:13","31:24"],"4":["31:25","31:41"],"5":["31:42","31:54"],"6":["32:1","32:19"],"7":["32:20","32:42"],M:["32:39","32:42"]},weekday:{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"]}};const Masei$2={num:43,hebrew:"מַסְעֵי",book:4,haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"}],fullkriyah:{"1":["33:1","33:10"],"2":["33:11","33:49"],"3":["33:50","34:15"],"4":["34:16","34:29"],"5":["35:1","35:8"],"6":["35:9","35:34"],"7":["36:1","36:13"],M:["36:11","36:13"]},weekday:{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"]}};const Devarim$1={num:44,hebrew:"דְּבָרִים",book:5,haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":["1:1","1:10"],"2":["1:11","1:21"],"3":["1:22","1:38"],"4":["1:39","2:1"],"5":["2:2","2:30"],"6":["2:31","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]},weekday:{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:11"]}};const Vaetchanan$1={num:45,hebrew:"וָאֶתְחַנַּן",book:5,haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":["3:23","4:4"],"2":["4:5","4:40"],"3":["4:41","4:49"],"4":["5:1","5:18"],"5":["5:19","6:3"],"6":["6:4","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},weekday:{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:8"]}};const Eikev$2={num:46,hebrew:"עֵקֶב",book:5,haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":["7:12","8:10"],"2":["8:11","9:3"],"3":["9:4","9:29"],"4":["10:1","10:11"],"5":["10:12","11:9"],"6":["11:10","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]},weekday:{"1":["7:12","7:21"],"2":["7:22","8:3"],"3":["8:4","8:10"]}};const Shoftim$2={num:48,hebrew:"שׁוֹפְטִים",book:5,haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":["16:18","17:13"],"2":["17:14","17:20"],"3":["18:1","18:5"],"4":["18:6","18:13"],"5":["18:14","19:13"],"6":["19:14","20:9"],"7":["20:10","21:9"],M:["21:7","21:9"]},weekday:{"1":["16:18","16:20"],"2":["16:21","17:10"],"3":["17:11","17:13"]}};const Nitzavim$2={num:51,hebrew:"נִצָּבִים",book:5,haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},weekday:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"]}};const Vayeilech$2={num:52,hebrew:"וַיֵּלֶךְ",book:5,haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},weekday:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:13"]}};var parshiyotObj = {Bereshit:Bereshit$2,Noach:Noach$2,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":["12:1","12:13"],"2":["12:14","13:4"],"3":["13:5","13:18"],"4":["14:1","14:20"],"5":["14:21","15:6"],"6":["15:7","17:6"],"7":["17:7","17:27"],M:["17:24","17:27"]},weekday:{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"]}},Vayera:Vayera$2,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":["23:1","23:16"],"2":["23:17","24:9"],"3":["24:10","24:26"],"4":["24:27","24:52"],"5":["24:53","24:67"],"6":["25:1","25:11"],"7":["25:12","25:18"],M:["25:16","25:18"]},weekday:{"1":["23:1","23:7"],"2":["23:8","23:12"],"3":["23:13","23:16"]}},Toldot:Toldot$2,Vayetzei:Vayetzei$2,Vayishlach:Vayishlach$2,Vayeshev:Vayeshev$2,Miketz:Miketz$2,Vayigash:Vayigash$2,Vayechi:Vayechi$2,Shemot:Shemot$2,Vaera:Vaera$2,Bo:Bo$2,Beshalach:Beshalach$2,Yitro:Yitro$2,Mishpatim:Mishpatim$2,Terumah:Terumah$2,Tetzaveh:Tetzaveh$2,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":["30:11","31:17"],"2":["31:18","33:11"],"3":["33:12","33:16"],"4":["33:17","33:23"],"5":["34:1","34:9"],"6":["34:10","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]},weekday:{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"]}},Vayakhel:Vayakhel$2,Pekudei:Pekudei$2,Vayikra:Vayikra$2,Tzav:Tzav$2,Shmini:Shmini$2,Tazria:Tazria$2,Metzora:Metzora$2,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":["16:1","16:17"],"2":["16:18","16:24"],"3":["16:25","16:34"],"4":["17:1","17:7"],"5":["17:8","18:5"],"6":["18:6","18:21"],"7":["18:22","18:30"],M:["18:28","18:30"]},weekday:{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"]}},Kedoshim:Kedoshim$2,Emor:Emor$2,Behar:Behar$2,Bechukotai:Bechukotai$2,Bamidbar:Bamidbar$2,Nasso:Nasso$2,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":["8:1","8:14"],"2":["8:15","8:26"],"3":["9:1","9:14"],"4":["9:15","10:10"],"5":["10:11","10:34"],"6":["10:35","11:29"],"7":["11:30","12:16"],M:["12:14","12:16"]},weekday:{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"]}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":["13:1","13:20"],"2":["13:21","14:7"],"3":["14:8","14:25"],"4":["14:26","15:7"],"5":["15:8","15:16"],"6":["15:17","15:26"],"7":["15:27","15:41"],M:["15:37","15:41"]},weekday:{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"]}},Korach:Korach$2,Chukat:Chukat$2,Balak:Balak$2,Pinchas:Pinchas$2,Matot:Matot$2,Masei:Masei$2,Devarim:Devarim$1,Vaetchanan:Vaetchanan$1,Eikev:Eikev$2,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":["11:26","12:10"],"2":["12:11","12:28"],"3":["12:29","13:19"],"4":["14:1","14:21"],"5":["14:22","14:29"],"6":["15:1","15:18"],"7":["15:19","16:17"],M:["16:13","16:17"]},weekday:{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"]}},Shoftim:Shoftim$2,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["21:10","21:21"],"2":["21:22","22:7"],"3":["22:8","23:7"],"4":["23:8","23:24"],"5":["23:25","24:4"],"6":["24:5","24:13"],"7":["24:14","25:19"],M:["25:17","25:19"]},weekday:{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"]}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":["26:1","26:11"],"2":["26:12","26:15"],"3":["26:16","26:19"],"4":["27:1","27:10"],"5":["27:11","28:6"],"6":["28:7","28:69"],"7":["29:1","29:8"],M:["29:6","29:8"]},weekday:{"1":["26:1","26:3"],"2":["26:4","26:11"],"3":["26:12","26:15"]}},Nitzavim:Nitzavim$2,Vayeilech:Vayeilech$2,"Ha'Azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},weekday:{"1":["32:1","32:3"],"2":["32:4","32:6"],"3":["32:7","32:12"]}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},weekday:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"]}},"Vayakhel-Pekudei":{num:101,combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,fullkriyah:{"1":["35:1","35:29"],"2":["35:30","37:16"],"3":["37:17","37:29"],"4":["38:1","39:1"],"5":["39:2","39:21"],"6":["39:22","39:43"],"7":["40:1","40:38"],M:["40:34","40:38"]}},"Tazria-Metzora":{num:102,combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,fullkriyah:{"1":["12:1","13:23"],"2":["13:24","13:39"],"3":["13:40","13:54"],"4":["13:55","14:20"],"5":["14:21","14:32"],"6":["14:33","15:15"],"7":["15:16","15:33"],M:["15:31","15:33"]}},"Achrei Mot-Kedoshim":{num:103,combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,fullkriyah:{"1":["16:1","16:24"],"2":["16:25","17:7"],"3":["17:8","18:21"],"4":["18:22","19:14"],"5":["19:15","19:32"],"6":["19:33","20:7"],"7":["20:8","20:27"],M:["20:25","20:27"]}},"Behar-Bechukotai":{num:104,combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,fullkriyah:{"1":["25:1","25:18"],"2":["25:19","25:28"],"3":["25:29","25:38"],"4":["25:39","26:9"],"5":["26:10","26:46"],"6":["27:1","27:15"],"7":["27:16","27:34"],M:["27:32","27:34"]}},"Chukat-Balak":{num:105,combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,fullkriyah:{"1":["19:1","20:6"],"2":["20:7","20:21"],"3":["20:22","21:20"],"4":["21:21","22:12"],"5":["22:13","22:38"],"6":["22:39","23:26"],"7":["23:27","25:9"],M:["25:7","25:9"]}},"Matot-Masei":{num:106,combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,fullkriyah:{"1":["30:2","31:12"],"2":["31:13","31:54"],"3":["32:1","32:19"],"4":["32:20","33:49"],"5":["33:50","34:15"],"6":["34:16","35:8"],"7":["35:9","36:13"],M:["36:11","36:13"]}},"Nitzavim-Vayeilech":{num:107,combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,fullkriyah:{"1":["29:9","29:28"],"2":["30:1","30:6"],"3":["30:7","30:14"],"4":["30:15","31:6"],"5":["31:7","31:13"],"6":["31:14","31:19"],"7":["31:20","31:30"],M:["31:28","31:30"]}}};
250
-
251
298
  const HOLIDAY_IGNORE_MASK = flags.DAF_YOMI | flags.OMER_COUNT | flags.SHABBAT_MEVARCHIM | flags.MOLAD | flags.USER_EVENT | flags.HEBREW_DATE;
252
299
  /**
253
300
  * Based on the event date, type and title, finds the relevant leyning key
@@ -315,6 +362,8 @@ function getLeyningKeyForEvent(ev, il = false) {
315
362
  return 'Shabbat Rosh Chodesh Chanukah';
316
363
  } else if (isRoshChodesh && ev.chanukahDay == 7) {
317
364
  return `Chanukah Day 7 (on Rosh Chodesh)`;
365
+ } else if (isShabbat) {
366
+ return `Chanukah Day ${ev.chanukahDay} (on Shabbat)`;
318
367
  } else {
319
368
  return `Chanukah Day ${ev.chanukahDay}`;
320
369
  }
@@ -429,31 +478,20 @@ function mergeAliyotWithSpecial(aliyot, special) {
429
478
  }
430
479
  }
431
480
  /**
432
- * @private
433
- * @param {Event} ev
434
- * @param {string} key
435
- * @return {string}
436
- */
437
-
438
-
439
- function getChanukahShabbatKey(ev, key) {
440
- if (key == 'Shabbat Rosh Chodesh Chanukah') {
441
- return undefined;
442
- }
443
-
444
- if (ev.chanukahDay) {
445
- return ev.chanukahDay == 8 ? 'Shabbat Chanukah II' : 'Shabbat Chanukah';
446
- }
447
-
448
- return undefined;
449
- }
450
- /**
451
- * @private
481
+ * Determines if the regular parashat haShavua coincides with an event that requires
482
+ * a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh
483
+ * Chodesh or Machar Chodesh, etc.).
484
+ *
485
+ * If a special maftir occurs, modifies `aliyot` to replace `M` and sets `reason.M`
486
+ * (and in some cases modifies the 6th and 7th aliyah, setting `reason['7']`).
487
+ *
488
+ * If a special Haftarah applies, returns the Haftarah object and sets `reason.haftara`.
489
+ * If no special Haftarah, returns `undefined`
452
490
  * @param {HDate} hd
453
491
  * @param {boolean} il
454
492
  * @param {Object<string,Aliyah>} aliyot
455
493
  * @param {Object<string,string>} reason
456
- * @return {string}
494
+ * @return {Aliyah | Aliyah[]}
457
495
  */
458
496
 
459
497
 
@@ -482,23 +520,7 @@ function specialReadings(hd, il, aliyot, reason) {
482
520
  const special = lookupFestival(key);
483
521
 
484
522
  if (special) {
485
- const shabbatChanukah = getChanukahShabbatKey(ev, key);
486
-
487
- if (shabbatChanukah) {
488
- // only for Shabbat Chanukah I or Shabbat Chanukah II. Note
489
- // this section doesn't apply to Shabbat Rosh Chodesh Chanukah; that
490
- // case gets handled below with the mergeAliyotWithSpecial() logic
491
- haft = cloneHaftara(lookupFestival(shabbatChanukah).haft);
492
- specialHaft = true;
493
- reason.haftara = shabbatChanukah; // Aliyot 1-3 from regular daily reading becomes Maftir
494
-
495
- const maftir = aliyot['M'] = clone(special.fullkriyah['1']);
496
- maftir.e = special.fullkriyah['3'].e;
497
- calculateNumVerses(maftir);
498
- reason.M = key;
499
- } else {
500
- handleSpecial(special, key);
501
- }
523
+ handleSpecial(special, key);
502
524
  }
503
525
  });
504
526
 
@@ -523,6 +545,8 @@ function specialReadings(hd, il, aliyot, reason) {
523
545
  return haft;
524
546
  }
525
547
 
548
+ const Bereshit={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":["1:1","2:3"],"2":["2:4","2:19"],"3":["2:20","3:21"],"4":["3:22","4:18"],"5":["4:19","4:22"],"6":["4:23","5:24"],"7":["5:25","6:8"],M:["6:5","6:8"]},weekday:{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"]}};const Noach={num:2,hebrew:"נֹחַ",book:1,haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["6:9","6:22"],"2":["7:1","7:16"],"3":["7:17","8:14"],"4":["8:15","9:7"],"5":["9:8","9:17"],"6":["9:18","10:32"],"7":["11:1","11:32"],M:["11:29","11:32"]},weekday:{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"]}};const Vayera={num:4,hebrew:"וַיֵּרָא",book:1,haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":["18:1","18:14"],"2":["18:15","18:33"],"3":["19:1","19:20"],"4":["19:21","21:4"],"5":["21:5","21:21"],"6":["21:22","21:34"],"7":["22:1","22:24"],M:["22:20","22:24"]},weekday:{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"]}};const Toldot={num:6,hebrew:"תּוֹלְדוֹת",book:1,haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":["25:19","26:5"],"2":["26:6","26:12"],"3":["26:13","26:22"],"4":["26:23","26:29"],"5":["26:30","27:27"],"6":["27:28","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]},weekday:{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","26:5"]}};const Vayetzei={num:7,hebrew:"וַיֵּצֵא",book:1,haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":["28:10","28:22"],"2":["29:1","29:17"],"3":["29:18","30:13"],"4":["30:14","30:27"],"5":["30:28","31:16"],"6":["31:17","31:42"],"7":["31:43","32:3"],M:["32:1","32:3"]},weekday:{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"]}};const Vayishlach={num:8,hebrew:"וַיִּשְׁלַח",book:1,haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":["32:4","32:13"],"2":["32:14","32:30"],"3":["32:31","33:5"],"4":["33:6","33:20"],"5":["34:1","35:11"],"6":["35:12","36:19"],"7":["36:20","36:43"],M:["36:40","36:43"]},weekday:{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"]}};const Vayeshev={num:9,hebrew:"וַיֵּשֶׁב",book:1,haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":["37:1","37:11"],"2":["37:12","37:22"],"3":["37:23","37:36"],"4":["38:1","38:30"],"5":["39:1","39:6"],"6":["39:7","39:23"],"7":["40:1","40:23"],M:["40:20","40:23"]},weekday:{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"]}};const Miketz={num:10,hebrew:"מִקֵּץ",book:1,haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":["41:1","41:14"],"2":["41:15","41:38"],"3":["41:39","41:52"],"4":["41:53","42:18"],"5":["42:19","43:15"],"6":["43:16","43:29"],"7":["43:30","44:17"],M:["44:14","44:17"]},weekday:{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"]}};const Vayigash={num:11,hebrew:"וַיִּגַּשׁ",book:1,haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":["44:18","44:30"],"2":["44:31","45:7"],"3":["45:8","45:18"],"4":["45:19","45:27"],"5":["45:28","46:27"],"6":["46:28","47:10"],"7":["47:11","47:27"],M:["47:25","47:27"]},weekday:{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"]}};const Vayechi={num:12,hebrew:"וַיְחִי",book:1,haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":["47:28","48:9"],"2":["48:10","48:16"],"3":["48:17","48:22"],"4":["49:1","49:18"],"5":["49:19","49:26"],"6":["49:27","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]},weekday:{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"]}};const Shemot={num:13,hebrew:"שְׁמוֹת",book:2,haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["1:1","1:17"],"2":["1:18","2:10"],"3":["2:11","2:25"],"4":["3:1","3:15"],"5":["3:16","4:17"],"6":["4:18","4:31"],"7":["5:1","6:1"],M:["5:22","6:1"]},weekday:{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"]}};const Vaera={num:14,hebrew:"וָאֵרָא",book:2,haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":["6:2","6:13"],"2":["6:14","6:28"],"3":["6:29","7:7"],"4":["7:8","8:6"],"5":["8:7","8:18"],"6":["8:19","9:16"],"7":["9:17","9:35"],M:["9:33","9:35"]},weekday:{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"]}};const Bo={num:15,hebrew:"בֹּא",book:2,haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":["10:1","10:11"],"2":["10:12","10:23"],"3":["10:24","11:3"],"4":["11:4","12:20"],"5":["12:21","12:28"],"6":["12:29","12:51"],"7":["13:1","13:16"],M:["13:14","13:16"]},weekday:{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"]}};const Beshalach={num:16,hebrew:"בְּשַׁלַּח",book:2,haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":["13:17","14:8"],"2":["14:9","14:14"],"3":["14:15","14:25"],"4":["14:26","15:26"],"5":["15:27","16:10"],"6":["16:11","16:36"],"7":["17:1","17:16"],M:["17:14","17:16"]},weekday:{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"]}};const Yitro={num:17,hebrew:"יִתְרוֹ",book:2,haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},weekday:{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"]}};const Mishpatim={num:18,hebrew:"מִּשְׁפָּטִים",book:2,haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":["21:1","21:19"],"2":["21:20","22:3"],"3":["22:4","22:26"],"4":["22:27","23:5"],"5":["23:6","23:19"],"6":["23:20","23:25"],"7":["23:26","24:18"],M:["24:15","24:18"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"]}};const Terumah={num:19,hebrew:"תְּרוּמָה",book:2,haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":["25:1","25:16"],"2":["25:17","25:30"],"3":["25:31","26:14"],"4":["26:15","26:30"],"5":["26:31","26:37"],"6":["27:1","27:8"],"7":["27:9","27:19"],M:["27:17","27:19"]},weekday:{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"]}};const Tetzaveh={num:20,hebrew:"תְּצַוֶּה",book:2,haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":["27:20","28:12"],"2":["28:13","28:30"],"3":["28:31","28:43"],"4":["29:1","29:18"],"5":["29:19","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]},weekday:{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"]}};const Vayakhel={num:22,hebrew:"וַיַּקְהֵל",book:2,haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":["35:1","35:20"],"2":["35:21","35:29"],"3":["35:30","36:7"],"4":["36:8","36:19"],"5":["36:20","37:16"],"6":["37:17","37:29"],"7":["38:1","38:20"],M:["38:18","38:20"]},weekday:{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"]}};const Pekudei={num:23,hebrew:"פְקוּדֵי",book:2,haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":["38:21","39:1"],"2":["39:2","39:21"],"3":["39:22","39:32"],"4":["39:33","39:43"],"5":["40:1","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},weekday:{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"]}};const Vayikra={num:24,hebrew:"וַיִּקְרָא",book:3,haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":["1:1","1:13"],"2":["1:14","2:6"],"3":["2:7","2:16"],"4":["3:1","3:17"],"5":["4:1","4:26"],"6":["4:27","5:10"],"7":["5:11","5:26"],M:["5:24","5:26"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"]}};const Tzav={num:25,hebrew:"צַו",book:3,haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":["6:1","6:11"],"2":["6:12","7:10"],"3":["7:11","7:38"],"4":["8:1","8:13"],"5":["8:14","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]},weekday:{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"]}};const Shmini={num:26,hebrew:"שְּׁמִינִי",book:3,haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":["9:1","9:16"],"2":["9:17","9:23"],"3":["9:24","10:11"],"4":["10:12","10:15"],"5":["10:16","10:20"],"6":["11:1","11:32"],"7":["11:33","11:47"],M:["11:45","11:47"]},weekday:{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"]}};const Tazria={num:27,hebrew:"תַזְרִיעַ",book:3,haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":["12:1","13:5"],"2":["13:6","13:17"],"3":["13:18","13:23"],"4":["13:24","13:28"],"5":["13:29","13:39"],"6":["13:40","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},weekday:{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"]}};const Metzora={num:28,hebrew:"מְּצֹרָע",book:3,haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":["14:1","14:12"],"2":["14:13","14:20"],"3":["14:21","14:32"],"4":["14:33","14:53"],"5":["14:54","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},weekday:{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"]}};const Kedoshim={num:30,hebrew:"קְדשִׁים",book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["19:1","19:14"],"2":["19:15","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},weekday:{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"]}};const Emor={num:31,hebrew:"אֱמוֹר",book:3,haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":["21:1","21:15"],"2":["21:16","22:16"],"3":["22:17","22:33"],"4":["23:1","23:22"],"5":["23:23","23:32"],"6":["23:33","23:44"],"7":["24:1","24:23"],M:["24:21","24:23"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"]}};const Behar={num:32,hebrew:"בְּהַר",book:3,haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":["25:1","25:13"],"2":["25:14","25:18"],"3":["25:19","25:24"],"4":["25:25","25:28"],"5":["25:29","25:38"],"6":["25:39","25:46"],"7":["25:47","26:2"],M:["25:55","26:2"]},weekday:{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"]}};const Bechukotai={num:33,hebrew:"בְּחֻקֹּתַי",book:3,haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:15"],"5":["27:16","27:21"],"6":["27:22","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},weekday:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:13"]}};const Bamidbar={num:34,hebrew:"בְּמִדְבַּר",book:4,haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":["1:1","1:19"],"2":["1:20","1:54"],"3":["2:1","2:34"],"4":["3:1","3:13"],"5":["3:14","3:39"],"6":["3:40","3:51"],"7":["4:1","4:20"],M:["4:17","4:20"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"]}};const Nasso={num:35,hebrew:"נָשׂא",book:4,haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":["4:21","4:37"],"2":["4:38","4:49"],"3":["5:1","5:10"],"4":["5:11","6:27"],"5":["7:1","7:41"],"6":["7:42","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]},weekday:{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"]}};const Korach={num:38,hebrew:"קוֹרַח",book:4,haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":["16:1","16:13"],"2":["16:14","16:19"],"3":["16:20","17:8"],"4":["17:9","17:15"],"5":["17:16","17:24"],"6":["17:25","18:20"],"7":["18:21","18:32"],M:["18:30","18:32"]},weekday:{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"]}};const Chukat={num:39,hebrew:"חֻקַּת",book:4,haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":["19:1","19:17"],"2":["19:18","20:6"],"3":["20:7","20:13"],"4":["20:14","20:21"],"5":["20:22","21:9"],"6":["21:10","21:20"],"7":["21:21","22:1"],M:["21:34","22:1"]},weekday:{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"]}};const Balak={num:40,hebrew:"בָּלָק",book:4,haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":["22:2","22:12"],"2":["22:13","22:20"],"3":["22:21","22:38"],"4":["22:39","23:12"],"5":["23:13","23:26"],"6":["23:27","24:13"],"7":["24:14","25:9"],M:["25:7","25:9"]},weekday:{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"]}};const Pinchas={num:41,hebrew:"פִּינְחָס",book:4,haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":["25:10","26:4"],"2":["26:5","26:51"],"3":["26:52","27:5"],"4":["27:6","27:23"],"5":["28:1","28:15"],"6":["28:16","29:11"],"7":["29:12","30:1"],M:["29:35","30:1"]},weekday:{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"]}};const Matot={num:42,hebrew:"מַּטּוֹת",book:4,haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["30:2","30:17"],"2":["31:1","31:12"],"3":["31:13","31:24"],"4":["31:25","31:41"],"5":["31:42","31:54"],"6":["32:1","32:19"],"7":["32:20","32:42"],M:["32:39","32:42"]},weekday:{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"]}};const Masei={num:43,hebrew:"מַסְעֵי",book:4,haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"}],fullkriyah:{"1":["33:1","33:10"],"2":["33:11","33:49"],"3":["33:50","34:15"],"4":["34:16","34:29"],"5":["35:1","35:8"],"6":["35:9","35:34"],"7":["36:1","36:13"],M:["36:11","36:13"]},weekday:{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"]}};const Devarim={num:44,hebrew:"דְּבָרִים",book:5,haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":["1:1","1:10"],"2":["1:11","1:21"],"3":["1:22","1:38"],"4":["1:39","2:1"],"5":["2:2","2:30"],"6":["2:31","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]},weekday:{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:11"]}};const Vaetchanan={num:45,hebrew:"וָאֶתְחַנַּן",book:5,haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":["3:23","4:4"],"2":["4:5","4:40"],"3":["4:41","4:49"],"4":["5:1","5:18"],"5":["5:19","6:3"],"6":["6:4","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},weekday:{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:8"]}};const Eikev={num:46,hebrew:"עֵקֶב",book:5,haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":["7:12","8:10"],"2":["8:11","9:3"],"3":["9:4","9:29"],"4":["10:1","10:11"],"5":["10:12","11:9"],"6":["11:10","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]},weekday:{"1":["7:12","7:21"],"2":["7:22","8:3"],"3":["8:4","8:10"]}};const Shoftim={num:48,hebrew:"שׁוֹפְטִים",book:5,haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":["16:18","17:13"],"2":["17:14","17:20"],"3":["18:1","18:5"],"4":["18:6","18:13"],"5":["18:14","19:13"],"6":["19:14","20:9"],"7":["20:10","21:9"],M:["21:7","21:9"]},weekday:{"1":["16:18","16:20"],"2":["16:21","17:10"],"3":["17:11","17:13"]}};const Nitzavim={num:51,hebrew:"נִצָּבִים",book:5,haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},weekday:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"]}};const Vayeilech={num:52,hebrew:"וַיֵּלֶךְ",book:5,haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},weekday:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:13"]}};var parshiyotObj = {Bereshit:Bereshit,Noach:Noach,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":["12:1","12:13"],"2":["12:14","13:4"],"3":["13:5","13:18"],"4":["14:1","14:20"],"5":["14:21","15:6"],"6":["15:7","17:6"],"7":["17:7","17:27"],M:["17:24","17:27"]},weekday:{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"]}},Vayera:Vayera,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":["23:1","23:16"],"2":["23:17","24:9"],"3":["24:10","24:26"],"4":["24:27","24:52"],"5":["24:53","24:67"],"6":["25:1","25:11"],"7":["25:12","25:18"],M:["25:16","25:18"]},weekday:{"1":["23:1","23:7"],"2":["23:8","23:12"],"3":["23:13","23:16"]}},Toldot:Toldot,Vayetzei:Vayetzei,Vayishlach:Vayishlach,Vayeshev:Vayeshev,Miketz:Miketz,Vayigash:Vayigash,Vayechi:Vayechi,Shemot:Shemot,Vaera:Vaera,Bo:Bo,Beshalach:Beshalach,Yitro:Yitro,Mishpatim:Mishpatim,Terumah:Terumah,Tetzaveh:Tetzaveh,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":["30:11","31:17"],"2":["31:18","33:11"],"3":["33:12","33:16"],"4":["33:17","33:23"],"5":["34:1","34:9"],"6":["34:10","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]},weekday:{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"]}},Vayakhel:Vayakhel,Pekudei:Pekudei,Vayikra:Vayikra,Tzav:Tzav,Shmini:Shmini,Tazria:Tazria,Metzora:Metzora,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":["16:1","16:17"],"2":["16:18","16:24"],"3":["16:25","16:34"],"4":["17:1","17:7"],"5":["17:8","18:5"],"6":["18:6","18:21"],"7":["18:22","18:30"],M:["18:28","18:30"]},weekday:{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"]}},Kedoshim:Kedoshim,Emor:Emor,Behar:Behar,Bechukotai:Bechukotai,Bamidbar:Bamidbar,Nasso:Nasso,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":["8:1","8:14"],"2":["8:15","8:26"],"3":["9:1","9:14"],"4":["9:15","10:10"],"5":["10:11","10:34"],"6":["10:35","11:29"],"7":["11:30","12:16"],M:["12:14","12:16"]},weekday:{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"]}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":["13:1","13:20"],"2":["13:21","14:7"],"3":["14:8","14:25"],"4":["14:26","15:7"],"5":["15:8","15:16"],"6":["15:17","15:26"],"7":["15:27","15:41"],M:["15:37","15:41"]},weekday:{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"]}},Korach:Korach,Chukat:Chukat,Balak:Balak,Pinchas:Pinchas,Matot:Matot,Masei:Masei,Devarim:Devarim,Vaetchanan:Vaetchanan,Eikev:Eikev,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":["11:26","12:10"],"2":["12:11","12:28"],"3":["12:29","13:19"],"4":["14:1","14:21"],"5":["14:22","14:29"],"6":["15:1","15:18"],"7":["15:19","16:17"],M:["16:13","16:17"]},weekday:{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"]}},Shoftim:Shoftim,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["21:10","21:21"],"2":["21:22","22:7"],"3":["22:8","23:7"],"4":["23:8","23:24"],"5":["23:25","24:4"],"6":["24:5","24:13"],"7":["24:14","25:19"],M:["25:17","25:19"]},weekday:{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"]}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":["26:1","26:11"],"2":["26:12","26:15"],"3":["26:16","26:19"],"4":["27:1","27:10"],"5":["27:11","28:6"],"6":["28:7","28:69"],"7":["29:1","29:8"],M:["29:6","29:8"]},weekday:{"1":["26:1","26:3"],"2":["26:4","26:11"],"3":["26:12","26:15"]}},Nitzavim:Nitzavim,Vayeilech:Vayeilech,"Ha'Azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},weekday:{"1":["32:1","32:3"],"2":["32:4","32:6"],"3":["32:7","32:12"]}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},weekday:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"]}},"Vayakhel-Pekudei":{num:101,combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,fullkriyah:{"1":["35:1","35:29"],"2":["35:30","37:16"],"3":["37:17","37:29"],"4":["38:1","39:1"],"5":["39:2","39:21"],"6":["39:22","39:43"],"7":["40:1","40:38"],M:["40:34","40:38"]}},"Tazria-Metzora":{num:102,combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,fullkriyah:{"1":["12:1","13:23"],"2":["13:24","13:39"],"3":["13:40","13:54"],"4":["13:55","14:20"],"5":["14:21","14:32"],"6":["14:33","15:15"],"7":["15:16","15:33"],M:["15:31","15:33"]}},"Achrei Mot-Kedoshim":{num:103,combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,fullkriyah:{"1":["16:1","16:24"],"2":["16:25","17:7"],"3":["17:8","18:21"],"4":["18:22","19:14"],"5":["19:15","19:32"],"6":["19:33","20:7"],"7":["20:8","20:27"],M:["20:25","20:27"]}},"Behar-Bechukotai":{num:104,combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,fullkriyah:{"1":["25:1","25:18"],"2":["25:19","25:28"],"3":["25:29","25:38"],"4":["25:39","26:9"],"5":["26:10","26:46"],"6":["27:1","27:15"],"7":["27:16","27:34"],M:["27:32","27:34"]}},"Chukat-Balak":{num:105,combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,fullkriyah:{"1":["19:1","20:6"],"2":["20:7","20:21"],"3":["20:22","21:20"],"4":["21:21","22:12"],"5":["22:13","22:38"],"6":["22:39","23:26"],"7":["23:27","25:9"],M:["25:7","25:9"]}},"Matot-Masei":{num:106,combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,fullkriyah:{"1":["30:2","31:12"],"2":["31:13","31:54"],"3":["32:1","32:19"],"4":["32:20","33:49"],"5":["33:50","34:15"],"6":["34:16","35:8"],"7":["35:9","36:13"],M:["36:11","36:13"]}},"Nitzavim-Vayeilech":{num:107,combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,fullkriyah:{"1":["29:9","29:28"],"2":["30:1","30:6"],"3":["30:7","30:14"],"4":["30:15","31:6"],"5":["31:7","31:13"],"6":["31:14","31:19"],"7":["31:20","31:30"],M:["31:28","31:30"]}}};
549
+
526
550
  /**
527
551
  * Represents an aliyah
528
552
  * @private
@@ -583,73 +607,6 @@ function getLeyningForHoliday(ev, il = false) {
583
607
  const leyning = getLeyningForHolidayKey(key, ev.cholHaMoedDay);
584
608
  return leyning;
585
609
  }
586
- /**
587
- * @private
588
- * @param {string} a
589
- * @param {string} b
590
- * @return {boolean}
591
- */
592
-
593
- function isChapVerseBefore(a, b) {
594
- const cv1 = a.split(':').map(x => +x);
595
- const cv2 = b.split(':').map(x => +x);
596
- return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
597
- }
598
- /**
599
- * Makes a summary of the leyning, like "Genesis 6:9-11:32"
600
- * @param {Object<string,Aliyah>} aliyot
601
- * @return {string}
602
- */
603
-
604
-
605
- function makeLeyningSummary(aliyot) {
606
- const parts = makeLeyningParts(aliyot);
607
- return makeSummaryFromParts(parts);
608
- }
609
- /**
610
- * @private
611
- * @param {Object<string,Aliyah>} aliyot
612
- * @return {Aliyah[]}
613
- */
614
-
615
- function makeLeyningParts(aliyot) {
616
- const nums = Object.keys(aliyot).filter(x => x.length === 1);
617
- let start = aliyot[nums[0]];
618
- let end = start;
619
- const parts = [];
620
-
621
- for (let i = 0; i < nums.length; i++) {
622
- const num = nums[i];
623
- const aliyah = aliyot[num];
624
-
625
- if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
626
- // short-circuit when final aliyah is within the previous (e.g. M inside of 7)
627
- continue;
628
- }
629
-
630
- const prevEndChap = +end.e.split(':')[0];
631
- const curStartChap = +aliyah.b.split(':')[0];
632
- const sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
633
-
634
- if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
635
- parts.push({
636
- k: start.k,
637
- b: start.b,
638
- e: end.e
639
- });
640
- start = aliyah;
641
- }
642
-
643
- end = aliyah;
644
- }
645
-
646
- parts.push({
647
- k: start.k,
648
- b: start.b,
649
- e: end.e
650
- });
651
- return parts;
652
- }
653
610
  /**
654
611
  * Looks up leyning for a given holiday key. Key should be an
655
612
  * (untranslated) string used in holiday-readings.json. Returns some
@@ -703,8 +660,8 @@ function getLeyningForHolidayKey(key, cholHaMoedDay) {
703
660
 
704
661
  if (src.haft) {
705
662
  const haft = leyning.haft = cloneHaftara(src.haft);
706
- leyning.haftara = makeHaftaraSummary(haft);
707
- leyning.haftaraNumV = calculateHaftaraNumV(haft);
663
+ leyning.haftara = makeSummaryFromParts(haft);
664
+ leyning.haftaraNumV = sumVerses(haft);
708
665
  }
709
666
 
710
667
  return leyning;
@@ -726,22 +683,15 @@ function getHaftaraKey(parsha) {
726
683
  }
727
684
  /**
728
685
  * @private
729
- * @param {Event} ev the Hebcal event associated with this leyning
730
- * @return {any}
686
+ * @param {string[]} parsha
687
+ * @param {HDate} hd
688
+ * @return {Object|boolean}
731
689
  */
732
690
 
733
691
 
734
- function getSpecialHaftara(ev) {
735
- if (!ev instanceof Event) {
736
- throw new TypeError(`Bad event argument: ${ev}`);
737
- } else if (ev.getFlags() != flags.PARSHA_HASHAVUA) {
738
- throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
739
- }
740
-
741
- const parsha = ev.parsha;
692
+ function getSpecialHaftara(parsha, hd) {
742
693
  const name = parshaToString(parsha); // untranslated
743
694
 
744
- const hd = ev.getDate();
745
695
  const day = hd.getDate();
746
696
 
747
697
  if (name === 'Pinchas') {
@@ -835,14 +785,14 @@ function getLeyningForParsha(parsha) {
835
785
 
836
786
  if (haft0) {
837
787
  const haft = result.haft = cloneHaftara(haft0);
838
- result.haftara = makeHaftaraSummary(haft);
839
- result.haftaraNumV = calculateHaftaraNumV(haft);
788
+ result.haftara = makeSummaryFromParts(haft);
789
+ result.haftaraNumV = sumVerses(haft);
840
790
  }
841
791
 
842
792
  if (raw.seph) {
843
793
  const seph = result.seph = cloneHaftara(raw.seph);
844
- result.sephardic = makeHaftaraSummary(seph);
845
- result.sephardicNumV = calculateHaftaraNumV(seph);
794
+ result.sephardic = makeSummaryFromParts(seph);
795
+ result.sephardicNumV = sumVerses(seph);
846
796
  }
847
797
 
848
798
  const weekdaySrc = raw.weekday || parshiyotObj[parshaNameArray[0]].weekday;
@@ -898,7 +848,7 @@ function getLeyningForParshaHaShavua(ev, il = false) {
898
848
  result.summaryParts = parts;
899
849
  }
900
850
 
901
- const specialHaftara2 = getSpecialHaftara(ev);
851
+ const specialHaftara2 = getSpecialHaftara(parsha, hd);
902
852
 
903
853
  if (specialHaftara2) {
904
854
  result.haft = cloneHaftara(specialHaftara2.haft);
@@ -925,8 +875,8 @@ function getLeyningForParshaHaShavua(ev, il = false) {
925
875
 
926
876
  if (updateHaftaraSummary) {
927
877
  const haft = result.haft;
928
- result.haftara = makeHaftaraSummary(haft);
929
- result.haftaraNumV = calculateHaftaraNumV(haft);
878
+ result.haftara = makeSummaryFromParts(haft);
879
+ result.haftaraNumV = sumVerses(haft);
930
880
  }
931
881
 
932
882
  return result;
@@ -1059,501 +1009,6 @@ function lookupParsha(parsha) {
1059
1009
  return raw;
1060
1010
  }
1061
1011
 
1062
- const Bereshit$1={book:1,years:{"Y.1":{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"],"4":["1:14","1:19"],"5":["1:20","1:23"],"6":["1:24","1:31"],"7":["2:1","2:3"],M:["2:1","2:3"]},"Y.2":{"1":["2:4","2:9"],"2":["2:10","2:19"],"3":["2:20","2:25"],"4":["3:1","3:21"],"5":["3:22","3:24"],"6":["4:1","4:18"],"7":["4:19","4:26"],M:["4:23","4:26"]},"Y.3":{"1":["5:1","5:5"],"2":["5:6","5:8"],"3":["5:9","5:14"],"4":["5:15","5:20"],"5":["5:21","5:24"],"6":["5:25","5:31"],"7":["5:32","6:8"],M:["6:5","6:8"]}}};const Noach$1={book:1,years:{"Y.1":{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"],"4":["7:1","7:9"],"5":["7:10","7:16"],"6":["7:17","7:24"],"7":["8:1","8:14"],M:["8:12","8:14"]},"Y.2":{"1":["8:15","8:22"],"2":["9:1","9:7"],"3":["9:8","9:17"],"4":["9:18","9:29"],"5":["10:1","10:14"],"6":["10:15","10:20"],"7":["10:21","10:32"],M:["10:26","10:32"]},"Y.3":{"1":["11:1","11:4"],"2":["11:5","11:9"],"3":["11:10","11:13"],"4":["11:14","11:17"],"5":["11:18","11:21"],"6":["11:22","11:25"],"7":["11:26","11:32"],M:["11:29","11:32"]}}};const Vayera$1={book:1,years:{"Y.1":{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"],"4":["18:15","18:21"],"5":["18:22","18:26"],"6":["18:27","18:30"],"7":["18:31","18:33"],M:["18:31","18:33"]},"Y.2":{"1":["19:1","19:11"],"2":["19:12","19:20"],"3":["19:21","19:29"],"4":["19:30","19:38"],"5":["20:1","20:8"],"6":["20:9","20:14"],"7":["20:15","20:18"],M:["20:15","20:18"]},"Y.3":{"1":["21:1","21:4"],"2":["21:5","21:13"],"3":["21:14","21:21"],"4":["21:22","21:34"],"5":["22:1","22:8"],"6":["22:9","22:19"],"7":["22:20","22:24"],M:["22:20","22:24"]}}};const Toldot$1={book:1,years:{"Y.1":{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","25:34"],"4":["26:1","26:5"],"5":["26:6","26:12"],"6":["26:13","26:16"],"7":["26:17","26:22"],M:["26:19","26:22"]},"Y.2":{"1":["26:23","26:29"],"2":["26:30","26:33"],"3":["26:34","27:4"],"4":["27:5","27:13"],"5":["27:14","27:17"],"6":["27:18","27:23"],"7":["27:24","27:27"],M:["27:24","27:27"]},"Y.3":{"1":["27:28","27:30"],"2":["27:31","27:33"],"3":["27:34","27:37"],"4":["27:38","27:40"],"5":["27:41","27:46"],"6":["28:1","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]}}};const Vayetzei$1={book:1,years:{"Y.1":{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"],"4":["29:1","29:8"],"5":["29:9","29:17"],"6":["29:18","29:33"],"7":["29:34","30:13"],M:["30:9","30:13"]},"Y.2":{"1":["30:14","30:16"],"2":["30:17","30:21"],"3":["30:22","30:27"],"4":["30:28","30:36"],"5":["30:37","30:43"],"6":["31:1","31:9"],"7":["31:10","31:16"],M:["31:14","31:16"]},"Y.3":{"1":["31:17","31:21"],"2":["31:22","31:24"],"3":["31:25","31:35"],"4":["31:36","31:42"],"5":["31:43","31:45"],"6":["31:46","31:50"],"7":["31:51","32:3"],M:["32:1","32:3"]}}};const Vayishlach$1={book:1,years:{"Y.1":{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"],"4":["32:14","32:22"],"5":["32:23","32:30"],"6":["32:31","33:5"],"7":["33:6","33:20"],M:["33:18","33:20"]},"Y.2":{"1":["34:1","34:4"],"2":["34:5","34:12"],"3":["34:13","34:17"],"4":["34:18","34:23"],"5":["34:24","34:31"],"6":["35:1","35:11"],"7":["35:12","35:15"],M:["35:12","35:15"]},"Y.3":{"1":["35:16","35:26"],"2":["35:27","35:29"],"3":["36:1","36:8"],"4":["36:9","36:19"],"5":["36:20","36:30"],"6":["36:31","36:39"],"7":["36:40","36:43"],M:["36:40","36:43"]}}};const Vayeshev$1={book:1,years:{"Y.1":{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"],"4":["37:12","37:17"],"5":["37:18","37:22"],"6":["37:23","37:28"],"7":["37:29","37:36"],M:["37:34","37:36"]},"Y.2":{"1":["38:1","38:5"],"2":["38:6","38:11"],"3":["38:12","38:14"],"4":["38:15","38:19"],"5":["38:20","38:23"],"6":["38:24","38:26"],"7":["38:27","38:30"],M:["38:27","38:30"]},"Y.3":{"1":["39:1","39:6"],"2":["39:7","39:10"],"3":["39:11","39:18"],"4":["39:19","39:23"],"5":["40:1","40:8"],"6":["40:9","40:15"],"7":["40:16","40:23"],M:["40:20","40:23"]}}};const Miketz$1={book:1,years:{"Y.1":{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"],"4":["41:15","41:24"],"5":["41:25","41:38"],"6":["41:39","41:43"],"7":["41:44","41:52"],M:["41:50","41:52"]},"Y.2":{"1":["41:53","41:57"],"2":["42:1","42:5"],"3":["42:6","42:18"],"4":["42:19","42:28"],"5":["42:29","42:38"],"6":["43:1","43:7"],"7":["43:8","43:15"],M:["43:11","43:15"]},"Y.3":{"1":["43:16","43:18"],"2":["43:19","43:25"],"3":["43:26","43:29"],"4":["43:30","43:34"],"5":["44:1","44:6"],"6":["44:7","44:10"],"7":["44:11","44:17"],M:["44:14","44:17"]}}};const Vayigash$1={book:1,years:{"Y.1":{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"],"4":["44:31","44:34"],"5":["45:1","45:7"],"6":["45:8","45:18"],"7":["45:19","45:27"],M:["45:25","45:27"]},"Y.2":{"1":["45:28","46:4"],"2":["46:5","46:7"],"3":["46:8","46:11"],"4":["46:12","46:15"],"5":["46:16","46:18"],"6":["46:19","46:22"],"7":["46:23","46:27"],M:["46:23","46:27"]},"Y.3":{"1":["46:28","46:30"],"2":["46:31","46:34"],"3":["47:1","47:6"],"4":["47:7","47:10"],"5":["47:11","47:19"],"6":["47:20","47:22"],"7":["47:23","47:27"],M:["47:25","47:27"]}}};const Vayechi$1={book:1,years:{"Y.1":{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"],"4":["48:10","48:13"],"5":["48:14","48:16"],"6":["48:17","48:19"],"7":["48:20","48:22"],M:["48:20","48:22"]},"Y.2":{"1":["49:1","49:4"],"2":["49:5","49:7"],"3":["49:8","49:12"],"4":["49:13","49:15"],"5":["49:16","49:18"],"6":["49:19","49:21"],"7":["49:22","49:26"],M:["49:22","49:26"]},"Y.3":{"1":["49:27","49:30"],"2":["49:31","49:33"],"3":["50:1","50:6"],"4":["50:7","50:9"],"5":["50:10","50:14"],"6":["50:15","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]}}};const Shemot$1={book:2,years:{"Y.1":{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"],"4":["1:18","1:22"],"5":["2:1","2:10"],"6":["2:11","2:15"],"7":["2:16","2:25"],M:["2:23","2:25"]},"Y.2":{"1":["3:1","3:6"],"2":["3:7","3:10"],"3":["3:11","3:15"],"4":["3:16","3:22"],"5":["4:1","4:5"],"6":["4:6","4:9"],"7":["4:10","4:17"],M:["4:14","4:17"]},"Y.3":{"1":["4:18","4:20"],"2":["4:21","4:26"],"3":["4:27","4:31"],"4":["5:1","5:5"],"5":["5:6","5:9"],"6":["5:10","5:14"],"7":["5:15","6:1"],M:["5:22","6:1"]}}};const Vaera$1={book:2,years:{"Y.1":{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"],"4":["6:14","6:19"],"5":["6:20","6:25"],"6":["6:26","6:28"],"7":["6:29","7:7"],M:["7:5","7:7"]},"Y.2":{"1":["7:8","7:13"],"2":["7:14","7:18"],"3":["7:19","7:25"],"4":["7:26","7:29"],"5":["8:1","8:6"],"6":["8:7","8:11"],"7":["8:12","8:15"],M:["8:12","8:15"]},"Y.3":{"1":["8:16","8:23"],"2":["8:24","8:28"],"3":["9:1","9:7"],"4":["9:8","9:16"],"5":["9:17","9:21"],"6":["9:22","9:26"],"7":["9:27","9:35"],M:["9:33","9:35"]}}};const Bo$1={book:2,years:{"Y.1":{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"],"4":["10:12","10:15"],"5":["10:16","10:23"],"6":["10:24","10:29"],"7":["11:1","11:3"],M:["11:1","11:3"]},"Y.2":{"1":["11:4","11:10"],"2":["12:1","12:10"],"3":["12:11","12:13"],"4":["12:14","12:16"],"5":["12:17","12:20"],"6":["12:21","12:24"],"7":["12:25","12:28"],M:["12:25","12:28"]},"Y.3":{"1":["12:29","12:32"],"2":["12:33","12:36"],"3":["12:37","12:42"],"4":["12:43","12:51"],"5":["13:1","13:4"],"6":["13:5","13:10"],"7":["13:11","13:16"],M:["13:14","13:16"]}}};const Beshalach$1={book:2,years:{"Y.1":{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"],"4":["14:9","14:14"],"5":["14:15","14:20"],"6":["14:21","14:25"],"7":["14:26","15:26"],M:["15:22","15:26"]},"Y.2":{"1":["14:15","14:20"],"2":["14:21","14:25"],"3":["14:26","15:21"],"4":["15:22","15:26"],"5":["15:27","16:3"],"6":["16:4","16:7"],"7":["16:8","16:10"],M:["16:8","16:10"]},"Y.3":{"1":["14:26","15:21"],"2":["15:22","15:26"],"3":["15:27","16:10"],"4":["16:11","16:27"],"5":["16:28","16:36"],"6":["17:1","17:7"],"7":["17:8","17:16"],M:["17:14","17:16"]}}};const Yitro$1={book:2,descr:"full parashah with Ten Commandments every year",variations:{"Y.1":{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},"Y.2":"Y.1","Y.3":"Y.1"},alt:{descr:"triennial divisions with Ten Commandments in years two and three",variations:{"Y.1":{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"],"4":["18:13","18:16"],"5":["18:17","18:19"],"6":["18:20","18:23"],"7":["18:24","18:27"],M:["18:24","18:27"]},"Y.2":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:13"],"4":["19:14","19:19"],"5":["19:20","20:14"],"6":["20:15","20:18"],"7":["20:19","20:23"],M:["20:21","20:23"]},"Y.3":"Y.2"}}};const Mishpatim$1={book:2,years:{"Y.1":{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"],"4":["21:20","21:27"],"5":["21:28","21:32"],"6":["21:33","21:36"],"7":["21:37","22:3"],M:["21:37","22:3"]},"Y.2":{"1":["22:4","22:8"],"2":["22:9","22:12"],"3":["22:13","22:18"],"4":["22:19","22:26"],"5":["22:27","23:5"],"6":["23:6","23:13"],"7":["23:14","23:19"],M:["23:14","23:19"]},"Y.3":{"1":["23:20","23:25"],"2":["23:26","23:30"],"3":["23:31","23:33"],"4":["24:1","24:6"],"5":["24:7","24:11"],"6":["24:12","24:14"],"7":["24:15","24:18"],M:["24:15","24:18"]}}};const Terumah$1={book:2,years:{"Y.1":{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"],"4":["25:17","25:22"],"5":["25:23","25:30"],"6":["25:31","25:33"],"7":["25:34","25:40"],M:["25:37","25:40"]},"Y.2":{"1":["26:1","26:3"],"2":["26:4","26:6"],"3":["26:7","26:11"],"4":["26:12","26:14"],"5":["26:15","26:21"],"6":["26:22","26:25"],"7":["26:26","26:30"],M:["26:26","26:30"]},"Y.3":{"1":["26:31","26:33"],"2":["26:34","26:37"],"3":["27:1","27:3"],"4":["27:4","27:8"],"5":["27:9","27:12"],"6":["27:13","27:16"],"7":["27:17","27:19"],M:["27:17","27:19"]}}};const Tetzaveh$1={book:2,years:{"Y.1":{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"],"4":["28:13","28:17"],"5":["28:18","28:21"],"6":["28:22","28:25"],"7":["28:26","28:30"],M:["28:28","28:30"]},"Y.2":{"1":["28:31","28:35"],"2":["28:36","28:38"],"3":["28:39","28:43"],"4":["29:1","29:4"],"5":["29:5","29:9"],"6":["29:10","29:14"],"7":["29:15","29:18"],M:["29:15","29:18"]},"Y.3":{"1":["29:19","29:21"],"2":["29:22","29:25"],"3":["29:26","29:30"],"4":["29:31","29:34"],"5":["29:35","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]}}};const Vayakhel$1={book:2,variations:{"C.2":{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"],"4":["35:21","35:29"],"5":["35:30","35:35"],"6":["36:1","36:7"],"7":["36:8","36:19"],M:["36:17","36:19"]},"B.2":{"1":["37:17","37:19"],"2":["37:20","37:24"],"3":["37:25","37:29"],"4":["38:1","38:3"],"5":["38:4","38:8"],"6":["38:9","38:15"],"7":["38:16","38:20"],M:["38:18","38:20"]},"C.3":{"1":["36:20","36:30"],"2":["36:31","36:38"],"3":["37:1","37:16"],"4":["37:17","37:24"],"5":["37:25","37:29"],"6":["38:1","38:8"],"7":["38:9","38:20"],M:["38:18","38:20"]},"A.3":"C.3","D.1":"C.2","D.2":"C.3","E.1":"C.2","E.3":"C.3","F.1":{"1":["35:1","35:10"],"2":["35:11","35:20"],"3":["35:21","35:29"],"4":["35:30","36:7"],"5":["36:8","36:19"],"6":["36:20","36:38"],"7":["37:1","37:16"],M:["37:10","37:16"]},"G.1":{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"],"4":["35:21","35:23"],"5":["35:24","35:26"],"6":["35:27","35:29"],"7":["35:30","35:35"],M:["35:30","35:35"]},"G.2":{"1":["36:1","36:7"],"2":["36:8","36:13"],"3":["36:14","36:19"],"4":["36:20","36:30"],"5":["36:31","36:38"],"6":["37:1","37:9"],"7":["37:10","37:16"],M:["37:13","37:16"]},"G.3":{"1":["37:17","37:19"],"2":["37:20","37:24"],"3":["37:25","37:29"],"4":["38:1","38:3"],"5":["38:4","38:8"],"6":["38:9","38:15"],"7":["38:16","38:20"],M:["38:18","38:20"]}}};const Pekudei$1={book:2,variations:{"A.3":{"1":["39:22","39:26"],"2":["39:27","39:32"],"3":["39:33","39:43"],"4":["40:1","40:8"],"5":["40:9","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},"B.2":{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"],"4":["39:2","39:7"],"5":["39:8","39:14"],"6":["39:15","39:18"],"7":["39:19","39:21"],M:["39:19","39:21"]},"C.2":"B.2","C.3":"A.3","D.1":"B.2","D.2":"A.3","E.1":"B.2","E.3":"A.3","F.1":"B.2","G.1":{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"],"4":["39:2","39:7"],"5":["39:8","39:14"],"6":["39:15","39:18"],"7":["39:19","39:21"],M:["39:19","39:21"]},"G.2":{"1":["39:22","39:26"],"2":["39:27","39:29"],"3":["39:30","39:32"],"4":["39:33","39:43"],"5":["40:1","40:3"],"6":["40:4","40:6"],"7":["40:7","40:9"],M:["40:7","40:9"]},"G.3":{"1":["40:10","40:12"],"2":["40:13","40:16"],"3":["40:17","40:19"],"4":["40:20","40:25"],"5":["40:26","40:29"],"6":["40:30","40:33"],"7":["40:34","40:38"],M:["40:36","40:38"]}}};const Vayikra$1={book:3,years:{"Y.1":{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"],"4":["1:14","1:17"],"5":["2:1","2:6"],"6":["2:7","2:13"],"7":["2:14","2:16"],M:["2:14","2:16"]},"Y.2":{"1":["3:1","3:5"],"2":["3:6","3:11"],"3":["3:12","3:17"],"4":["4:1","4:7"],"5":["4:8","4:12"],"6":["4:13","4:21"],"7":["4:22","4:26"],M:["4:24","4:26"]},"Y.3":{"1":["4:27","4:31"],"2":["4:32","4:35"],"3":["5:1","5:10"],"4":["5:11","5:13"],"5":["5:14","5:16"],"6":["5:17","5:19"],"7":["5:20","5:26"],M:["5:24","5:26"]}}};const Tzav$1={book:3,years:{"Y.1":{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"],"4":["6:12","6:16"],"5":["6:17","6:23"],"6":["7:1","7:6"],"7":["7:7","7:10"],M:["7:7","7:10"]},"Y.2":{"1":["7:11","7:15"],"2":["7:16","7:18"],"3":["7:19","7:21"],"4":["7:22","7:27"],"5":["7:28","7:31"],"6":["7:32","7:34"],"7":["7:35","7:38"],M:["7:35","7:38"]},"Y.3":{"1":["8:1","8:5"],"2":["8:6","8:9"],"3":["8:10","8:13"],"4":["8:14","8:17"],"5":["8:18","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]}}};const Shmini$1={book:3,years:{"Y.1":{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"],"4":["9:17","9:23"],"5":["9:24","10:3"],"6":["10:4","10:7"],"7":["10:8","10:11"],M:["10:8","10:11"]},"Y.2":{"1":["10:12","10:15"],"2":["10:16","10:20"],"3":["11:1","11:8"],"4":["11:9","11:12"],"5":["11:13","11:19"],"6":["11:20","11:28"],"7":["11:29","11:32"],M:["11:29","11:32"]},"Y.3":{"1":["11:1","11:8"],"2":["11:9","11:12"],"3":["11:13","11:19"],"4":["11:20","11:28"],"5":["11:29","11:32"],"6":["11:33","11:38"],"7":["11:39","11:47"],M:["11:45","11:47"]}}};const Tazria$1={book:3,variations:{"D.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:8"],"5":["13:9","13:17"],"6":["13:18","13:23"],"7":["13:24","13:28"],M:["13:26","13:28"]},"B.2":{"1":["13:29","13:34"],"2":["13:35","13:39"],"3":["13:40","13:42"],"4":["13:43","13:46"],"5":["13:47","13:50"],"6":["13:51","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},"A.3":"B.2","C.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:17"],"5":["13:18","13:23"],"6":["13:24","13:28"],"7":["13:29","13:39"],M:["13:37","13:39"]},"D.3":"B.2"}};const Metzora$1={book:3,variations:{"A.3":{"1":["14:33","14:38"],"2":["14:39","14:47"],"3":["14:48","14:53"],"4":["14:54","15:7"],"5":["15:8","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},"B.2":{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"],"4":["14:13","14:15"],"5":["14:16","14:20"],"6":["14:21","14:25"],"7":["14:26","14:32"],M:["14:30","14:32"]},"C.1":"B.2","D.1":"B.2","D.3":"A.3"}};const Kedoshim$1={book:3,variations:{"A.3":{"1":["19:15","19:18"],"2":["19:19","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},"B.2":{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"],"4":["19:15","19:18"],"5":["19:19","19:22"],"6":["19:23","19:32"],"7":["19:33","19:37"],M:["19:35","19:37"]},"C.1":"B.2","D.1":"B.2","D.3":{"1":["19:23","19:25"],"2":["19:26","19:28"],"3":["19:29","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]}}};const Emor$1={book:3,years:{"Y.1":{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"],"4":["21:16","21:24"],"5":["22:1","22:9"],"6":["22:10","22:12"],"7":["22:13","22:16"],M:["22:13","22:16"]},"Y.2":{"1":["22:17","22:20"],"2":["22:21","22:25"],"3":["22:26","22:33"],"4":["23:1","23:3"],"5":["23:4","23:8"],"6":["23:9","23:14"],"7":["23:15","23:22"],M:["23:19","23:22"]},"Y.3":{"1":["23:23","23:25"],"2":["23:26","23:32"],"3":["23:33","23:44"],"4":["24:1","24:4"],"5":["24:5","24:9"],"6":["24:10","24:12"],"7":["24:13","24:23"],M:["24:21","24:23"]}}};const Behar$1={book:3,variations:{"D.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:10"],"4":["25:11","25:13"],"5":["25:14","25:18"],"6":["25:19","25:24"],"7":["25:25","25:28"],M:["25:25","25:28"]},"B.2":{"1":["25:29","25:34"],"2":["25:35","25:38"],"3":["25:39","25:43"],"4":["25:44","25:46"],"5":["25:47","25:50"],"6":["25:51","25:54"],"7":["25:55","26:2"],M:["25:55","26:2"]},"A.3":"B.2","C.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"],"4":["25:14","25:18"],"5":["25:19","25:24"],"6":["25:25","25:28"],"7":["25:29","25:38"],M:["25:35","25:38"]},"D.3":"B.2"}};const Bechukotai$1={book:3,variations:{"A.3":{"1":["27:1","27:4"],"2":["27:5","27:8"],"3":["27:9","27:15"],"4":["27:16","27:21"],"5":["27:22","27:25"],"6":["27:26","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},"B.2":{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:4"],"5":["27:5","27:8"],"6":["27:9","27:11"],"7":["27:12","27:15"],M:["27:12","27:15"]},"C.1":"B.2","D.1":"B.2","D.3":"A.3"}};const Bamidbar$1={book:4,years:{"Y.1":{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"],"4":["1:20","1:27"],"5":["1:28","1:35"],"6":["1:36","1:43"],"7":["1:44","1:54"],M:["1:52","1:54"]},"Y.2":{"1":["2:1","2:9"],"2":["2:10","2:16"],"3":["2:17","2:24"],"4":["2:25","2:31"],"5":["2:32","2:34"],"6":["3:1","3:4"],"7":["3:5","3:13"],M:["3:11","3:13"]},"Y.3":{"1":["3:14","3:20"],"2":["3:21","3:26"],"3":["3:27","3:39"],"4":["3:40","3:43"],"5":["3:44","3:51"],"6":["4:1","4:10"],"7":["4:11","4:20"],M:["4:17","4:20"]}}};const Nasso$1={book:4,years:{"Y.1":{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"],"4":["4:34","4:37"],"5":["4:38","4:49"],"6":["5:1","5:4"],"7":["5:5","5:10"],M:["5:8","5:10"]},"Y.2":{"1":["5:11","5:15"],"2":["5:16","5:26"],"3":["5:27","6:4"],"4":["6:5","6:8"],"5":["6:9","6:15"],"6":["6:16","6:21"],"7":["6:22","6:27"],M:["6:22","6:27"]},"Y.3":{"1":["7:1","7:11"],"2":["7:12","7:23"],"3":["7:24","7:35"],"4":["7:36","7:47"],"5":["7:48","7:59"],"6":["7:60","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]}}};const Korach$1={book:4,years:{"Y.1":{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"],"4":["16:14","16:19"],"5":["16:20","16:35"],"6":["17:1","17:8"],"7":["17:9","17:15"],M:["17:9","17:15"]},"Y.2":{"1":["16:20","16:27"],"2":["16:28","16:35"],"3":["17:1","17:5"],"4":["17:6","17:8"],"5":["17:9","17:15"],"6":["17:16","17:20"],"7":["17:21","17:24"],M:["17:21","17:24"]},"Y.3":{"1":["17:25","18:7"],"2":["18:8","18:10"],"3":["18:11","18:13"],"4":["18:14","18:20"],"5":["18:21","18:24"],"6":["18:25","18:29"],"7":["18:30","18:32"],M:["18:30","18:32"]}}};const Chukat$1={book:4,variations:{"C.2":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"],"4":["19:18","19:22"],"5":["20:1","20:6"],"6":["20:7","20:13"],"7":["20:14","20:21"],M:["20:18","20:21"]},"B.2":{"1":["21:11","21:13"],"2":["21:14","21:16"],"3":["21:17","21:20"],"4":["21:21","21:25"],"5":["21:26","21:28"],"6":["21:29","21:33"],"7":["21:34","22:1"],M:["21:34","22:1"]},"C.3":{"1":["20:22","21:3"],"2":["21:4","21:10"],"3":["21:11","21:16"],"4":["21:17","21:20"],"5":["21:21","21:25"],"6":["21:26","21:33"],"7":["21:34","22:1"],M:["21:34","22:1"]},"A.3":"C.3","D.1":"C.2","D.2":"C.3","E.1":"C.2","E.3":"C.3","F.1":{"1":["19:1","19:9"],"2":["19:10","19:17"],"3":["19:18","20:6"],"4":["20:7","20:13"],"5":["20:14","20:21"],"6":["20:22","21:9"],"7":["21:10","21:20"],M:["21:16","21:20"]},"G.1":{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:13"],"4":["19:14","19:17"],"5":["19:18","19:22"],"6":["20:1","20:6"],"7":["20:7","20:13"],M:["20:7","20:13"]},"G.2":{"1":["20:1","20:6"],"2":["20:7","20:13"],"3":["20:14","20:17"],"4":["20:18","20:21"],"5":["20:22","21:3"],"6":["21:4","21:7"],"7":["21:8","21:10"],M:["21:8","21:10"]},"G.3":"B.2"}};const Balak$1={book:4,variations:{"A.3":{"1":["22:39","23:5"],"2":["23:6","23:12"],"3":["23:13","23:26"],"4":["23:27","23:30"],"5":["24:1","24:13"],"6":["24:14","24:25"],"7":["25:1","25:9"],M:["25:7","25:9"]},"B.2":{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"],"4":["22:13","22:20"],"5":["22:21","22:27"],"6":["22:28","22:30"],"7":["22:31","22:38"],M:["22:36","22:38"]},"C.2":"B.2","C.3":"A.3","D.1":"B.2","D.2":"A.3","E.1":"B.2","E.3":"A.3","F.1":"B.2","G.1":"B.2","G.2":{"1":["22:39","22:41"],"2":["23:1","23:3"],"3":["23:4","23:6"],"4":["23:7","23:12"],"5":["23:13","23:15"],"6":["23:16","23:18"],"7":["23:19","23:26"],M:["23:19","23:26"]},"G.3":{"1":["23:27","23:30"],"2":["24:1","24:9"],"3":["24:10","24:13"],"4":["24:14","24:19"],"5":["24:20","24:25"],"6":["25:1","25:6"],"7":["25:7","25:9"],M:["25:7","25:9"]}}};const Pinchas$1={book:4,years:{"Y.1":{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"],"4":["26:5","26:11"],"5":["26:12","26:22"],"6":["26:23","26:34"],"7":["26:35","26:51"],M:["26:48","26:51"]},"Y.2":{"1":["26:52","26:56"],"2":["26:57","26:62"],"3":["26:63","27:5"],"4":["27:6","27:14"],"5":["27:15","27:23"],"6":["28:1","28:10"],"7":["28:11","28:15"],M:["28:11","28:15"]},"Y.3":{"1":["28:16","28:25"],"2":["28:26","28:31"],"3":["29:1","29:6"],"4":["29:7","29:11"],"5":["29:12","29:16"],"6":["29:17","29:28"],"7":["29:29","30:1"],M:["29:35","30:1"]}}};const Matot$1={book:4,variations:{"B.2":{"1":["31:1","32:4"],"2":["32:5","32:19"],"3":["32:20","32:24"],"4":["32:25","32:27"],"5":["32:28","32:30"],"6":["32:31","32:38"],"7":["32:39","32:42"],M:["32:39","32:42"]},"A.3":"B.2","C.1":{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"],"4":["31:1","31:12"],"5":["31:13","31:24"],"6":["31:25","31:41"],"7":["31:42","31:54"],M:["31:51","31:54"]}}};const Masei$1={book:4,variations:{"A.3":{"1":["33:50","34:15"],"2":["34:16","34:29"],"3":["35:1","35:8"],"4":["35:9","35:15"],"5":["35:16","35:29"],"6":["35:30","35:34"],"7":["36:1","36:13"],M:["36:10","36:13"]},"B.2":{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"],"4":["33:11","33:23"],"5":["33:24","33:36"],"6":["33:37","33:43"],"7":["33:44","33:49"],M:["33:47","33:49"]},"C.1":"B.2"}};const Devarim={book:5,years:{"Y.1":{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:10"],"4":["1:11","1:21"],"5":["1:22","1:28"],"6":["1:29","1:38"],"7":["1:39","2:1"],M:["1:39","2:1"]},"Y.2":{"1":["2:2","2:5"],"2":["2:6","2:12"],"3":["2:13","2:16"],"4":["2:17","2:19"],"5":["2:20","2:22"],"6":["2:23","2:25"],"7":["2:26","2:30"],M:["2:28","2:30"]},"Y.3":{"1":["2:31","2:34"],"2":["2:35","2:37"],"3":["3:1","3:3"],"4":["3:4","3:7"],"5":["3:8","3:11"],"6":["3:12","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]}}};const Vaetchanan={book:5,descr:"with the Ten Commandments every year and the Sh'ma in years two and three",years:{"Y.1":{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:14"],"4":["4:15","4:20"],"5":["4:21","4:40"],"6":["4:41","4:49"],"7":["5:1","5:18"],M:["5:16","5:18"]},"Y.2":{"1":["5:1","5:18"],"2":["5:19","5:24"],"3":["5:25","5:30"],"4":["6:1","6:3"],"5":["6:4","6:9"],"6":["6:10","6:19"],"7":["6:20","6:25"],M:["6:23","6:25"]},"Y.3":{"1":["5:1","5:18"],"2":["5:19","5:24"],"3":["5:25","6:3"],"4":["6:4","6:9"],"5":["6:10","6:19"],"6":["6:20","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},alt:{descr:"with the Ten Commandments in year two and the Sh'ma in year three",years:{"Y.1":{"1":["3:23","3:25"],"2":["3:26","3:29"],"3":["4:1","4:4"],"4":["4:5","4:14"],"5":["4:15","4:20"],"6":["4:21","4:29"],"7":["4:30","4:40"],M:["4:36","4:40"]},"Y.2":{"1":["4:41","4:43"],"2":["4:44","4:49"],"3":["5:1","5:18"],"4":["5:19","5:21"],"5":["5:22","5:24"],"6":["5:25","5:30"],"7":["6:1","6:3"],M:["6:1","6:3"]},"Y.3":{"1":["6:4","6:9"],"2":["6:10","6:19"],"3":["6:20","6:22"],"4":["6:23","6:25"],"5":["7:1","7:5"],"6":["7:6","7:8"],"7":["7:9","7:11"],M:["7:9","7:11"]}}}}};const Eikev$1={book:5,years:{"Y.1":{"1":["7:12","7:16"],"2":["7:17","7:21"],"3":["7:22","7:26"],"4":["8:1","8:3"],"5":["8:4","8:10"],"6":["8:11","8:18"],"7":["8:19","9:3"],M:["9:1","9:3"]},"Y.2":{"1":["9:4","9:10"],"2":["9:11","9:14"],"3":["9:15","9:21"],"4":["9:22","9:29"],"5":["10:1","10:5"],"6":["10:6","10:8"],"7":["10:9","10:11"],M:["10:9","10:11"]},"Y.3":{"1":["10:12","10:15"],"2":["10:16","10:22"],"3":["11:1","11:9"],"4":["11:10","11:12"],"5":["11:13","11:15"],"6":["11:16","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]}}};const Shoftim$1={book:5,years:{"Y.1":{"1":["16:18","16:20"],"2":["16:21","17:7"],"3":["17:8","17:10"],"4":["17:11","17:13"],"5":["17:14","17:17"],"6":["17:18","17:20"],"7":["18:1","18:5"],M:["18:3","18:5"]},"Y.2":{"1":["18:6","18:8"],"2":["18:9","18:13"],"3":["18:14","18:17"],"4":["18:18","18:22"],"5":["19:1","19:7"],"6":["19:8","19:10"],"7":["19:11","19:13"],M:["19:11","19:13"]},"Y.3":{"1":["19:14","19:21"],"2":["20:1","20:4"],"3":["20:5","20:9"],"4":["20:10","20:14"],"5":["20:15","20:20"],"6":["21:1","21:6"],"7":["21:7","21:9"],M:["21:7","21:9"]}}};const Nitzavim$1={book:5,descr:"When these Sidrot are not combined, they should each be read in their entirety.",variations:{"Y.1":{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},"Y.2":"Y.1","Y.3":"Y.1"}};const Vayeilech$1={book:5,descr:"When these Sidrot are not combined, they should each be read in their entirety.",variations:{"Y.1":{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},"Y.2":"Y.1","Y.3":"Y.1"}};var triennialConfig = {Bereshit:Bereshit$1,Noach:Noach$1,"Lech-Lecha":{book:1,years:{"Y.1":{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"],"4":["12:14","12:20"],"5":["13:1","13:4"],"6":["13:5","13:11"],"7":["13:12","13:18"],M:["13:16","13:18"]},"Y.2":{"1":["14:1","14:9"],"2":["14:10","14:16"],"3":["14:17","14:20"],"4":["14:21","14:24"],"5":["15:1","15:6"],"6":["15:7","15:16"],"7":["15:17","15:21"],M:["15:17","15:21"]},"Y.3":{"1":["16:1","16:6"],"2":["16:7","16:9"],"3":["16:10","16:16"],"4":["17:1","17:6"],"5":["17:7","17:17"],"6":["17:18","17:23"],"7":["17:24","17:27"],M:["17:24","17:27"]}}},Vayera:Vayera$1,"Chayei Sara":{book:1,years:{"Y.1":{"1":["23:1","23:4"],"2":["23:5","23:7"],"3":["23:8","23:12"],"4":["23:13","23:16"],"5":["23:17","23:20"],"6":["24:1","24:4"],"7":["24:5","24:9"],M:["24:5","24:9"]},"Y.2":{"1":["24:10","24:14"],"2":["24:15","24:20"],"3":["24:21","24:26"],"4":["24:27","24:33"],"5":["24:34","24:41"],"6":["24:42","24:49"],"7":["24:50","24:52"],M:["24:50","24:52"]},"Y.3":{"1":["24:53","24:58"],"2":["24:59","24:61"],"3":["24:62","24:67"],"4":["25:1","25:6"],"5":["25:7","25:11"],"6":["25:12","25:15"],"7":["25:16","25:18"],M:["25:16","25:18"]}}},Toldot:Toldot$1,Vayetzei:Vayetzei$1,Vayishlach:Vayishlach$1,Vayeshev:Vayeshev$1,Miketz:Miketz$1,Vayigash:Vayigash$1,Vayechi:Vayechi$1,Shemot:Shemot$1,Vaera:Vaera$1,Bo:Bo$1,Beshalach:Beshalach$1,Yitro:Yitro$1,Mishpatim:Mishpatim$1,Terumah:Terumah$1,Tetzaveh:Tetzaveh$1,"Ki Tisa":{book:2,years:{"Y.1":{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"],"4":["30:22","30:33"],"5":["30:34","30:38"],"6":["31:1","31:11"],"7":["31:12","31:17"],M:["31:15","31:17"]},"Y.2":{"1":["31:18","32:6"],"2":["32:7","32:11"],"3":["32:12","32:14"],"4":["32:15","32:24"],"5":["32:25","32:29"],"6":["32:30","33:6"],"7":["33:7","33:11"],M:["33:9","33:11"]},"Y.3":{"1":["33:12","33:16"],"2":["33:17","33:23"],"3":["34:1","34:9"],"4":["34:10","34:17"],"5":["34:18","34:21"],"6":["34:22","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]}}},Vayakhel:Vayakhel$1,Pekudei:Pekudei$1,Vayikra:Vayikra$1,Tzav:Tzav$1,Shmini:Shmini$1,Tazria:Tazria$1,Metzora:Metzora$1,"Achrei Mot":{book:3,variations:{"D.1":{"1":["16:1","16:3"],"2":["16:4","16:6"],"3":["16:7","16:11"],"4":["16:12","16:17"],"5":["16:18","16:24"],"6":["16:25","16:30"],"7":["16:31","16:34"],M:["16:31","16:34"]},"B.2":{"1":["17:1","17:7"],"2":["17:8","17:12"],"3":["17:13","17:16"],"4":["18:1","18:5"],"5":["18:6","18:21"],"6":["18:22","18:25"],"7":["18:26","18:30"],M:["18:26","18:30"]},"A.3":"B.2","C.1":{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"],"4":["16:18","16:24"],"5":["16:25","16:30"],"6":["16:31","16:34"],"7":["17:1","17:7"],M:["17:5","17:7"]},"D.3":"B.2"}},Kedoshim:Kedoshim$1,Emor:Emor$1,Behar:Behar$1,Bechukotai:Bechukotai$1,Bamidbar:Bamidbar$1,Nasso:Nasso$1,"Beha'alotcha":{book:4,years:{"Y.1":{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"],"4":["8:15","8:22"],"5":["8:23","8:26"],"6":["9:1","9:8"],"7":["9:9","9:14"],M:["9:12","9:14"]},"Y.2":{"1":["9:15","9:18"],"2":["9:19","9:23"],"3":["10:1","10:7"],"4":["10:8","10:10"],"5":["10:11","10:20"],"6":["10:21","10:28"],"7":["10:29","10:34"],M:["10:32","10:34"]},"Y.3":{"1":["10:35","11:9"],"2":["11:10","11:18"],"3":["11:19","11:22"],"4":["11:23","11:29"],"5":["11:30","11:35"],"6":["12:1","12:13"],"7":["12:14","12:16"],M:["12:14","12:16"]}}},"Sh'lach":{book:4,years:{"Y.1":{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"],"4":["13:21","13:24"],"5":["13:25","13:30"],"6":["13:31","13:33"],"7":["14:1","14:7"],M:["14:5","14:7"]},"Y.2":{"1":["14:8","14:10"],"2":["14:11","14:20"],"3":["14:21","14:25"],"4":["14:26","14:38"],"5":["14:39","14:42"],"6":["14:43","15:3"],"7":["15:4","15:7"],M:["15:4","15:7"]},"Y.3":{"1":["15:8","15:10"],"2":["15:11","15:16"],"3":["15:17","15:21"],"4":["15:22","15:26"],"5":["15:27","15:31"],"6":["15:32","15:36"],"7":["15:37","15:41"],M:["15:37","15:41"]}}},Korach:Korach$1,Chukat:Chukat$1,Balak:Balak$1,Pinchas:Pinchas$1,Matot:Matot$1,Masei:Masei$1,Devarim:Devarim,Vaetchanan:Vaetchanan,Eikev:Eikev$1,"Re'eh":{book:5,years:{"Y.1":{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"],"4":["12:11","12:16"],"5":["12:17","12:19"],"6":["12:20","12:25"],"7":["12:26","12:28"],M:["12:26","12:28"]},"Y.2":{"1":["12:29","13:1"],"2":["13:2","13:6"],"3":["13:7","13:12"],"4":["13:13","13:19"],"5":["14:1","14:8"],"6":["14:9","14:21"],"7":["14:22","14:29"],M:["14:22","14:29"]},"Y.3":{"1":["15:1","15:6"],"2":["15:7","15:11"],"3":["15:12","15:18"],"4":["15:19","15:23"],"5":["16:1","16:8"],"6":["16:9","16:12"],"7":["16:13","16:17"],M:["16:13","16:17"]}}},Shoftim:Shoftim$1,"Ki Teitzei":{book:5,years:{"Y.1":{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"],"4":["21:22","22:7"],"5":["22:8","22:12"],"6":["22:13","22:29"],"7":["23:1","23:7"],M:["23:4","23:7"]},"Y.2":{"1":["23:8","23:12"],"2":["23:13","23:15"],"3":["23:16","23:19"],"4":["23:20","23:24"],"5":["23:25","24:4"],"6":["24:5","24:9"],"7":["24:10","24:13"],M:["24:10","24:13"]},"Y.3":{"1":["24:14","24:16"],"2":["24:17","24:19"],"3":["24:20","24:22"],"4":["25:1","25:4"],"5":["25:5","25:10"],"6":["25:11","25:16"],"7":["25:17","25:19"],M:["25:17","25:19"]}}},"Ki Tavo":{book:5,years:{"Y.1":{"1":["26:1","26:3"],"2":["26:4","26:8"],"3":["26:9","26:11"],"4":["26:12","26:15"],"5":["26:16","26:19"],"6":["27:1","27:4"],"7":["27:5","27:10"],M:["27:7","27:10"]},"Y.2":{"1":["26:12","26:15"],"2":["26:16","26:19"],"3":["27:1","27:3"],"4":["27:4","27:8"],"5":["27:6","27:10"],"6":["27:11","28:3"],"7":["28:4","28:6"],M:["28:4","28:6"]},"Y.3":{"1":["27:11","28:3"],"2":["28:4","28:6"],"3":["28:7","28:11"],"4":["28:12","28:14"],"5":["28:15","28:69"],"6":["29:1","29:5"],"7":["29:6","29:8"],M:["29:6","29:8"]}}},Nitzavim:Nitzavim$1,Vayeilech:Vayeilech$1,"Ha'Azinu":{book:5,descr:"every year",variations:{"Y.1":{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},"Y.2":"Y.1","Y.3":"Y.1"}},"Vezot Haberakhah":{book:5,descr:"האזינו-וזאת הברכה should both be read in their entirety due to their brief length",variations:{"Y.1":{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},"Y.2":"Y.1","Y.3":"Y.1"}},"Vayakhel-Pekudei":{book:2,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["35:1","35:10"],"2":["35:11","35:20"],"3":["35:21","35:29"],"4":["35:30","36:7"],"5":["36:8","36:19"],"6":["36:20","36:38"],"7":["37:1","37:16"],M:["37:10","37:16"]},"Y.2":{"1":["37:17","37:24"],"2":["37:25","37:29"],"3":["38:1","38:8"],"4":["38:9","38:20"],"5":["38:21","39:1"],"6":["39:2","39:7"],"7":["39:8","39:21"],M:["39:19","39:21"]},"Y.3":{"1":["39:22","39:26"],"2":["39:27","39:32"],"3":["39:33","39:43"],"4":["40:1","40:8"],"5":["40:9","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]}},patterns:{TTS:"A",TST:"B",TSS:"C",SST:"D",STS:"E",STT:"F",SSS:"G"}},"Tazria-Metzora":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"],"4":["13:6","13:17"],"5":["13:18","13:23"],"6":["13:24","13:28"],"7":["13:29","13:39"],M:["13:37","13:39"]},"Y.2":{"1":["13:40","13:46"],"2":["13:47","13:54"],"3":["13:55","13:59"],"4":["14:1","14:5"],"5":["14:6","14:12"],"6":["14:13","14:20"],"7":["14:21","14:32"],M:["14:30","14:32"]},"Y.3":{"1":["14:33","14:38"],"2":["14:39","14:47"],"3":["14:48","14:53"],"4":["14:54","15:7"],"5":["15:8","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Achrei Mot-Kedoshim":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"],"4":["16:18","16:24"],"5":["16:25","16:30"],"6":["16:31","16:34"],"7":["17:1","17:7"],M:["17:5","17:7"]},"Y.2":{"1":["17:8","17:12"],"2":["17:13","17:16"],"3":["18:1","18:5"],"4":["18:6","18:21"],"5":["18:22","18:30"],"6":["19:1","19:4"],"7":["19:5","19:14"],M:["19:11","19:14"]},"Y.3":{"1":["19:15","19:18"],"2":["19:19","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Behar-Bechukotai":{book:3,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"],"4":["25:14","25:18"],"5":["25:19","25:24"],"6":["25:25","25:28"],"7":["25:29","25:38"],M:["25:35","25:38"]},"Y.2":{"1":["25:39","25:43"],"2":["25:44","25:46"],"3":["25:47","25:54"],"4":["25:55","26:2"],"5":["26:3","26:5"],"6":["26:6","26:9"],"7":["26:10","26:46"],M:["26:44","26:46"]},"Y.3":{"1":["27:1","27:4"],"2":["27:5","27:8"],"3":["27:9","27:15"],"4":["27:16","27:21"],"5":["27:22","27:25"],"6":["27:26","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]}},patterns:{TTS:"A",TST:"B",STT:"C",STS:"D"}},"Chukat-Balak":{book:4,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["19:1","19:9"],"2":["19:10","19:17"],"3":["19:18","20:6"],"4":["20:7","20:13"],"5":["20:14","20:21"],"6":["20:22","21:9"],"7":["21:10","21:20"],M:["21:16","21:20"]},"Y.2":{"1":["21:21","21:25"],"2":["21:26","22:1"],"3":["22:2","22:7"],"4":["22:8","22:12"],"5":["22:13","22:20"],"6":["22:21","22:30"],"7":["22:31","22:38"],M:["22:36","22:38"]},"Y.3":{"1":["22:39","23:5"],"2":["23:6","23:12"],"3":["23:13","23:26"],"4":["23:27","23:30"],"5":["24:1","24:13"],"6":["24:14","24:25"],"7":["25:1","25:9"],M:["25:7","25:9"]}},patterns:{TTS:"A",TST:"B",TSS:"C",SST:"D",STS:"E",STT:"F",SSS:"G"}},"Matot-Masei":{book:4,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"],"4":["31:1","31:12"],"5":["31:13","31:24"],"6":["31:25","31:41"],"7":["31:42","31:54"],M:["31:51","31:54"]},"Y.2":{"1":["32:1","32:4"],"2":["32:5","32:19"],"3":["32:20","32:27"],"4":["32:28","32:42"],"5":["33:1","33:6"],"6":["33:7","33:36"],"7":["33:37","33:49"],M:["33:47","33:49"]},"Y.3":{"1":["33:50","34:15"],"2":["34:16","34:29"],"3":["35:1","35:8"],"4":["35:9","35:15"],"5":["35:16","35:29"],"6":["35:30","35:34"],"7":["36:1","36:13"],M:["36:10","36:13"]}},patterns:{TTS:"A",TST:"B",STT:"C"}},"Nitzavim-Vayeilech":{book:5,descr:"Aliyot Divisions for Combined Sidrot",years:{"Y.1":{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:3"],"5":["30:4","30:6"],"6":["30:7","30:10"],"7":["30:11","30:14"],M:["30:11","30:14"]},"Y.2":{"1":["30:1","30:3"],"2":["30:4","30:6"],"3":["30:7","30:10"],"4":["30:11","30:14"],"5":["30:15","30:20"],"6":["31:1","31:3"],"7":["31:4","31:6"],M:["31:4","31:6"]},"Y.3":{"1":["31:7","31:9"],"2":["31:10","31:13"],"3":["31:14","31:19"],"4":["31:20","31:22"],"5":["31:22","31:24"],"6":["31:25","31:27"],"7":["31:28","31:30"],M:["31:28","31:30"]}},patterns:{TTS:"Y",TST:"Y",TSS:"Y",SST:"Y",STS:"Y",STT:"Y",SSS:"Y"}}};
1063
-
1064
- const Bereshit={"1":{k:"Isaiah",b:"42:5",e:"42:21",note:"God identified as the creator // Creation"},"2":{k:"Isaiah",b:"40:25",e:"40:31",note:"God created, called by name // Eden"},"3":{k:"II Kings",b:"2:1",e:"2:13",note:"Elijah taken // Hanokh"}};const Noach={"1":{k:"Isaiah",b:"54:11",e:"55:5",note:"Storm tossed boat // Ark"},"2":{k:"Isaiah",b:"54:1",e:"54:10",note:"waters of Noah no more"},"3":{k:"Zephaniah",b:"3:9",e:"3:20",note:"one language // babel"}};const Vayera={"1":{k:"II Kings",b:"4:8",e:"4:17",note:"birth of promised child // promise to Sarah"},"2":{k:"II Kings",b:"6:8",e:"6:23",note:"blinding episode // Sodom"},"3":{k:"II Kings",b:"4:18",e:"4:36",note:"saving of child // akedah"}};const Toldot={"1":{k:"Malachi",b:"1:1",e:"1:14",note:"Jacob / Esau"},"2":{k:"II Samuel",b:"19:32",e:"19:40",note:"Barzilay infirm in old age // Isaac"},"3":[{k:"Judges",b:"3:15",e:"3:27",note:"Ehud's ploy // Jacob's ploy"},{k:"Judges",b:"3:30",e:"3:30"}]};const Vayetzei={"1":{k:"Hosea",b:"12:3",e:"12:14",note:"Jacob story"},"2":{k:"Zechariah",b:"1:7",e:"1:17",note:"striped horses //streaked sheep"},"3":{k:"I Samuel",b:"19:11",e:"19:18",note:"deceit / terafim / female wiles // Rachel hides terafim"}};const Vayishlach={"1":[{k:"Obadiah",b:"1:10",e:"1:18",note:"Jacob defeats Edom (Babylon) // Jacob meets Esau"},{k:"Obadiah",b:"1:21",e:"1:21"}],"2":{k:"Jeremiah",b:"30:10",e:"30:22",note:"Jacob will return, settle // Jacob's early settling in Shechem and Bet El"},"3":[{k:"Amos",b:"1:1",e:"1:1",note:"prophecy against Edom // genealogy of Edom"},{k:"Amos",b:"1:11",e:"2:3"}]};const Vayeshev={"1":[{k:"Amos",b:"2:6",e:"3:2",note:"reference to sale of righteous // sale of Joseph"},{k:"Amos",b:"3:7",e:"3:8"}],"2":{k:"I Samuel",b:"24:2",e:"24:15",note:"recognition of significant object David to Saul // Tamar to Judah"},"3":{k:"Judges",b:"7:9",e:"7:20",note:"Gideon dream interpretation // Joseph's in jail"}};const Miketz={"1":{k:"I Kings",b:"3:5",e:"3:15",note:"Solomon's dream // Pharaoh's dream"},"2":{k:"I Kings",b:"3:16",e:"4:1",note:"Solomon's wisdom // Joseph's"},"3":{k:"I Kings",b:"10:1",e:"10:9",note:"Solomon's wisdom and household // Joseph's"}};const Vayigash={"1":{k:"Ezekiel",b:"37:15",e:"37:28",note:"Judah and Joseph united"},"2":{k:"Zechariah",b:"10:3",e:"10:12",note:"Judah and Joseph, return from Egypt // J & J, brothers return to Jacob"},"3":{k:"Isaiah",b:"41:1",e:"41:10",note:"brother helps / Jacob not fear // Joseph settles his family in Goshen"}};const Vayechi={"1":{k:"Amos",b:"5:4",e:"5:15",note:"prophecy to remnants of Joseph // Joseph and kids"},"2":{k:"I Kings",b:"2:1",e:"2:12",note:"David's // Jacob's last speech"},"3":[{k:"II Samuel",b:"1:12",e:"1:12",note:"(lament over) deaths of Saul and Jonathan // deaths of Jacob, Joseph"},{k:"II Samuel",b:"1:17",e:"1:27"}]};const Shemot={"1":[{k:"Isaiah",b:"27:6",e:"27:13",note:"growth of Jacob / Israel // Israel in Egypt"},{k:"Isaiah",b:"29:22",e:"29:23"}],"2":[{k:"Joshua",b:"5:13",e:"6:5",note:"Joshua shoes off // burning bush"},{k:"Joshua",b:"6:15",e:"6:16"}],"3":[{k:"I Samuel",b:"9:15",e:"9:21",note:"anointing of Saul // Moses"},{k:"I Samuel",b:"9:27",e:"10:1"}]};const Vaera={"1":[{k:"Jeremiah",b:"1:1",e:"1:10",note:"appointment of Jeremiah // Moses"},{k:"Jeremiah",b:"1:8",e:"1:8"}],"2":[{k:"Ezekiel",b:"28:25",e:"29:12",note:"Speak to Pharaoh, show Egypt, strike Nile"},{k:"Ezekiel",b:"29:21",e:"29:21"}],"3":[{k:"Isaiah",b:"10:12",e:"10:12",note:"smite Assyria as Egypt"},{k:"Isaiah",b:"10:15",e:"10:26"},{k:"Isaiah",b:"10:32",e:"10:33"}]};const Bo={"1":{k:"Jeremiah",b:"10:1",e:"10:10",note:"goyim will fear signs from heaven // plagues"},"2":{k:"Jeremiah",b:"46:13",e:"46:28",note:"Egypt's fall / Israel's redemption // Exodus"},"3":{k:"II Samuel",b:"7:18",e:"7:29",note:"David recalls Exodus"}};const Beshalach={"1":{k:"Judges",b:"4:4",e:"4:24",note:"defeat of Sisera // defeat of Pharaoh"},"2":{k:"Judges",b:"5:1",e:"5:31",note:"Deborah's song // Moses' song of sea"},"3":[{k:"Joshua",b:"3:9",e:"3:17",note:"splitting Jordan, crossing on dry land // splitting Red Sea"},{k:"Joshua",b:"4:19",e:"4:24"}]};const Yitro={"1":{k:"Isaiah",b:"6:1",e:"6:13",note:"Isaiah's revelation of God // Moses' revelation at Sinai"},"2":{k:"Isaiah",b:"44:9",e:"44:23",note:"making idols to false god // you shall have no other Gods"},"3":{k:"Ezekiel",b:"16:4",e:"16:14",note:"Israel's birth / covenant / marriage(?) // revelation at Sinai"}};const Mishpatim={"1":[{k:"Jeremiah",b:"34:12",e:"34:22",note:"Jeremiah refers to the law that followed the covenant // Mishpatim"},{k:"Jeremiah",b:"33:25",e:"33:26"}],"2":{k:"I Samuel",b:"18:20",e:"18:28",note:"Michal's bride price // a law of Mishpatim"},"3":{k:"Joshua",b:"24:16",e:"24:28",note:"Joshua's covenant // na'aseh v'nishma"}};const Terumah={"1":{k:"Zechariah",b:"2:5",e:"2:17",note:"God's presence in Israelvshakhanti b'tokhekh"},"2":{k:"I Kings",b:"6:1",e:"6:13",note:"Temple // Tabernacle"},"3":{k:"II Samuel",b:"7:1",e:"7:16",note:"Temple // Tabernacle"}};const Tetzaveh={"1":{k:"Ezekiel",b:"43:10",e:"43:17",note:"Temple // Tabernacle"},"2":{k:"Haggai",b:"1:1",e:"1:12",note:"T / T"},"3":{k:"Haggai",b:"2:1",e:"2:9",note:"T / T"}};const Vayakhel={"1":{k:"I Kings",b:"7:40",e:"7:50",note:"T / T"},"2":{k:"I Kings",b:"7:13",e:"7:26",note:"T / T"},"3":{k:"Ezekiel",b:"43:1",e:"43:9",note:"T / T"}};const Pekudei={"1":{k:"I Kings",b:"8:1",e:"8:11",note:"T / T"},"2":{k:"I Kings",b:"8:10",e:"8:21",note:"T / T"},"3":{k:"I Kings",b:"8:22",e:"8:39",note:"T / T"}};const Vayikra={"1":{k:"Isaiah",b:"43:21",e:"44:8",note:"sacrifices"},"2":{k:"I Samuel",b:"2:13",e:"2:26",note:"misbehaving kohanim // if a priest sins"},"3":{k:"Malachi",b:"2:13",e:"3:4",note:"sinfulness ruins offering // sin offerings"}};const Tzav={"1":[{k:"Jeremiah",b:"7:21",e:"7:28",note:"justice over sacrifices // sacrifices at Tabernacle"},{k:"Jeremiah",b:"9:22",e:"9:23"}],"2":{k:"Jeremiah",b:"33:14",e:"33:22",note:"priests offer sacrifices // sacrifices at Tabernacle"},"3":{k:"Ezekiel",b:"42:13",e:"42:20",note:"priestly precincts / clothes // priestly vestments"}};const Shmini={"1":{k:"II Samuel",b:"6:1",e:"6:15",note:"Uzza struck down // Nadav and Avihu"},"2":{k:"Ezekiel",b:"43:18",e:"43:27",note:"8th day sacrifices"},"3":{k:"Hosea",b:"9:1",e:"9:9",note:"Israel has eaten non-kosher // kashrut rules"}};const Tazria={"1":{k:"Isaiah",b:"46:3",e:"46:13",note:"since birth // birth"},"2":{k:"Jeremiah",b:"30:1",e:"30:9",note:"im yoled zakhar // v'yaldah zakhar"}};const Metzora={"1":{k:"II Kings",b:"5:1",e:"5:14",note:"Healing of a leper"},"2":{k:"II Kings",b:"7:3",e:"7:16",note:"4 lepers discover Aram's flight"},"3":{k:"II Kings",b:"5:20",e:"5:27",note:"Gechazi gets leprosy"}};const Kedoshim={"1":{k:"Isaiah",b:"61:1",e:"61:9",note:"you shall be called Priests // kedoshim"},"2":{k:"Amos",b:"9:7",e:"9:15",note:"opposite of chosenness"},"3":{k:"Hosea",b:"4:1",e:"4:15",note:"opposite of holiness / niuf // kedoshim, arayot"}};const Emor={"1":{k:"Ezekiel",b:"44:15",e:"44:24",note:"the conduct of kohanim"},"2":[{k:"Malachi",b:"2:1",e:"2:10",note:"conduct of kohanim / chillul hashem // particularly vs. 22:31-32"},{k:"Malachi",b:"2:7",e:"2:7"}],"3":[{k:"Nachum",b:"1:1",e:"1:7",note:"Judah shall observe its festivals // complete festival calendar"},{k:"Nachum",b:"2:1",e:"2:3"},{k:"Nachum",b:"2:2b",e:"2:3a"}]};const Behar={"1":{k:"Jeremiah",b:"32:6",e:"32:15",note:"land redemption // shmittah"},"2":{k:"Jeremiah",b:"32:16",e:"32:27",note:"prayerwill Israel ever redeem its land // shmittah"}};const Bechukotai={"1":{k:"Jeremiah",b:"17:1",e:"17:14",note:"blessings and curses // tokhechah"},"2":[{k:"Jeremiah",b:"16:9",e:"16:15",note:"desolation and redemption // tokhechah"},{k:"Jeremiah",b:"16:19",e:"16:21"}],"3":{k:"Malachi",b:"3:5",e:"3:12",note:"curses and blessings // tokhechah"}};const Bamidbar={"1":[{k:"Hosea",b:"2:1",e:"2:7",note:"number, lead thru desert as after Egypt // census, desert wanderings"},{k:"Hosea",b:"2:16",e:"2:22"}],"2":{k:"Isaiah",b:"63:7",e:"63:16",note:"God carries us as in desert // desert wanderings"},"3":[{k:"Joshua",b:"8:30",e:"8:35",note:"kohanim who carried the ark // korachites"},{k:"Joshua",b:"8:33",e:"8:33"}]};const Nasso={"1":[{k:"Joshua",b:"6:5",e:"6:14",note:"kohanim carrying ark // gershunites and merarites"},{k:"Joshua",b:"6:12",e:"6:12"}],"2":[{k:"Judges",b:"13:2",e:"13:14",note:"Samson // nazirite rules"},{k:"Judges",b:"13:24",e:"13:25"}],"3":[{k:"Joel",b:"1:8",e:"1:13",note:"end of sacrifices, hope for restart // dedication of Tabernacle"},{k:"Joel",b:"2:12",e:"2:14"}]};const Korach={"1":{k:"I Samuel",b:"12:1",e:"12:13",note:"Samuel's apologia references Moses leadership // Moses'"},"2":{k:"I Samuel",b:"12:13",e:"12:22",note:"appointing non-prophet as leader // Korach's rebellion"},"3":{k:"Ezekiel",b:"45:1",e:"45:15",note:"portion of kohen and levi"}};const Chukat={"1":{k:"Judges",b:"15:9",e:"15:20",note:"Samson gets miraculous water from split ground // splitting rock"},"2":{k:"Judges",b:"11:12",e:"11:27",note:"journey across Moav recalled"},"3":[{k:"II Kings",b:"18:1",e:"18:13",note:"Hezekiah destroys nachash n'choshet // Moses builds nachash n'choshet"},{k:"II Kings",b:"19:15",e:"19:19"}]};const Balak={"1":{k:"Micah",b:"6:1",e:"6:8",note:"events of Balak recalled"},"2":{k:"Micah",b:"5:1",e:"5:8",note:"she'erit Yaakov described // Bila'am's blessing"},"3":{k:"Joshua",b:"24:1",e:"24:14",note:"history mentions Balak"}};const Pinchas={"1":{k:"I Kings",b:"19:1",e:"19:16",note:"Elijah's zeal // Pinchas"},"2":[{k:"Joshua",b:"17:1",e:"17:6",note:"Bnot Tzlofhad"},{k:"Joshua",b:"17:17",e:"17:18"}],"3":{k:"Ezekiel",b:"46:1",e:"46:11",note:"sacrifices on Shabbat and holidays // detailed festival sacrifices"}};const Matot={"1":{k:"Jeremiah",b:"1:11",e:"2:3",note:"miztafon tipatach hara'ah"},"2":{k:"II Kings",b:"22:8",e:"22:19",note:"hinneni mevi ra'ah (Hezekiah's discovered book of Torah)"},"3":{k:"Jeremiah",b:"14:11",e:"14:22",note:"ki yatzumu, eineni shomea"}};const Masei={"1":[{k:"Jeremiah",b:"2:4",e:"2:13",note:"shtayim ra'ot asah ami"},{k:"Jeremiah",b:"4:1",e:"4:2"}],"2":[{k:"Jeremiah",b:"2:14",e:"2:28",note:"ra vamar ozvekh"},{k:"Jeremiah",b:"3:4",e:"3:4"}],"3":[{k:"I Kings",b:"9:2",e:"9:9",note:"l'mashal v'lishninah"},{k:"I Kings",b:"9:4",e:"9:5a"}]};const Eikev={"1":{k:"Isaiah",b:"49:14",e:"49:26",note:"ani moshiekh"},"2":{k:"Isaiah",b:"50:1",e:"51:3",note:"sason v'simcha yimatze"},"3":{k:"Zechariah",b:"8:1",e:"8:8",note:"be'emet u-vitzdakah"}};const Shoftim={"1":[{k:"Isaiah",b:"51:12",e:"51:23",note:"anokhi anokhi"},{k:"Isaiah",b:"51:22",e:"51:22"}],"2":{k:"Isaiah",b:"52:1",e:"52:12",note:"uri uri"},"3":{k:"Isaiah",b:"44:24",e:"45:7",note:"l'ma'an avdi"}};const Nitzavim={"1":{k:"Isaiah",b:"61:10",e:"62:12",note:"sos asis"},"2":{k:"Isaiah",b:"63:1",e:"63:9",note:"tzaratam lo tzar"},"3":{k:"Isaiah",b:"65:16",e:"65:25",note:"terem yikrau ani e'eneh"}};const Vayeilech={"1":{k:"Isaiah",b:"61:10",e:"62:12",note:"sos asis"},"2":{k:"Isaiah",b:"63:1",e:"63:9",note:"tzaratam lo tzar"},"3":{k:"Isaiah",b:"65:16",e:"65:25",note:"terem yikrau ani e'eneh"}};const _holidays={"Pesach I":{k:"Joshua",b:"5:2",e:"5:12"},"Pesach I (on Shabbat)":{k:"Joshua",b:"5:2",e:"5:12"},"Pesach II":[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:23"}],"Pesach VII":{k:"II Samuel",b:"22:1",e:"22:19"},"Pesach VII (on Shabbat)":{k:"II Samuel",b:"22:1",e:"22:19"},"Pesach VIII":[{k:"Isaiah",b:"11:1",e:"11:12"},{k:"Isaiah",b:"11:16",e:"11:16"}],"Pesach VIII (on Shabbat)":[{k:"Isaiah",b:"11:1",e:"11:12"},{k:"Isaiah",b:"11:16",e:"11:16"}],"Shavuot II":[{k:"Habakkuk",b:"3:1",e:"3:13"},{k:"Habakkuk",b:"3:18",e:"3:19"}],"Shavuot II (on Shabbat)":[{k:"Habakkuk",b:"3:1",e:"3:13"},{k:"Habakkuk",b:"3:18",e:"3:19"}],"Rosh Hashana II":{k:"Jeremiah",b:"31:2",e:"31:20"},"Yom Kippur":{k:"Isaiah",b:"58:1",e:"58:14"},"Yom Kippur (on Shabbat)":{k:"Isaiah",b:"58:1",e:"58:14"},"Yom Kippur (Mincha, Traditional)":[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],"Yom Kippur (Mincha, Alternate)":[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],"Sukkot I":[{k:"Zechariah",b:"14:1",e:"14:9"},{k:"Zechariah",b:"14:16",e:"14:21"}],"Sukkot I (on Shabbat)":[{k:"Zechariah",b:"14:1",e:"14:9"},{k:"Zechariah",b:"14:16",e:"14:21"}],"Sukkot II":{k:"I Kings",b:"8:2",e:"8:13"},"Sukkot Shabbat Chol ha-Moed":{k:"Ezekiel",b:"38:18",e:"39:7"},"Simchat Torah":{k:"Joshua",b:"1:1",e:"1:9"},"Shabbat Chanukah":{k:"Zechariah",b:"3:6",e:"4:7"},"Shabbat Rosh Chodesh Chanukah":{k:"Zechariah",b:"3:6",e:"4:7"},"Shabbat HaChodesh":{k:"Ezekiel",b:"45:16",e:"45:25"},"Shabbat HaChodesh (on Rosh Chodesh)":{k:"Ezekiel",b:"45:16",e:"45:25"},"Shabbat HaGadol":[{k:"Malachi",b:"3:13",e:"3:24"},{k:"Malachi",b:"3:23",e:"3:23"}],"Shabbat Parah":{k:"Ezekiel",b:"36:16",e:"36:38"},"Shabbat Shekalim":{k:"II Kings",b:"12:1",e:"12:17"},"Shabbat Shekalim (on Rosh Chodesh)":{k:"II Kings",b:"12:1",e:"12:17"},"Shabbat Shuva":[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"}],"Shabbat Shuva (alt)":{k:"Joel",b:"2:15",e:"2:27"},"Shabbat Zachor":{k:"I Samuel",b:"15:2",e:"15:34"},"Shabbat Rosh Chodesh":[{k:"Isaiah",b:"66:1",e:"66:14"},{k:"Isaiah",b:"66:22",e:"66:24"},{k:"Isaiah",b:"66:23",e:"66:23"}]};var triennialHaft = {Bereshit:Bereshit,Noach:Noach,"Lech-Lecha":{"1":{k:"Judges",b:"6:24",e:"6:32",note:"Gideon smashes dad's idol // Abraham and Terach's idols (midrash)"},"2":{k:"Joshua",b:"10:1",e:"10:14",note:"battle of Giveon // battle of 4/5 kings"},"3":{k:"Isaiah",b:"41:8",e:"41:16",note:"Israel, Abraham's progeny // promise to Abraham"}},Vayera:Vayera,"Chayei Sara":{"1":{k:"Isaiah",b:"51:1",e:"51:11",note:"Sarah and Abraham as models"},"2":{k:"I Samuel",b:"14:1",e:"14:12",note:"Jonathan's sign // Eliezer's sign"},"3":{k:"I Kings",b:"1:11",e:"1:31",note:"David's old age // Abraham's"}},Toldot:Toldot,Vayetzei:Vayetzei,Vayishlach:Vayishlach,Vayeshev:Vayeshev,Miketz:Miketz,Vayigash:Vayigash,Vayechi:Vayechi,Shemot:Shemot,Vaera:Vaera,Bo:Bo,Beshalach:Beshalach,Yitro:Yitro,Mishpatim:Mishpatim,Terumah:Terumah,Tetzaveh:Tetzaveh,"Ki Tisa":{"1":[{k:"Jeremiah",b:"17:19",e:"17:27",note:"re observance of Shabbat"},{k:"Jeremiah",b:"17:24",e:"17:25"}],"2":{k:"I Kings",b:"18:20",e:"18:39",note:"Elijah on Carmel // Golden Calf"},"3":{k:"Isaiah",b:"63:17",e:"64:8",note:"seeking forgiveness // Moses after Golden Calf"}},Vayakhel:Vayakhel,Pekudei:Pekudei,Vayikra:Vayikra,Tzav:Tzav,Shmini:Shmini,Tazria:Tazria,Metzora:Metzora,"Achrei Mot":{"1":{k:"Ezekiel",b:"22:1",e:"22:16",note:"abominations // arayot"},"2":{k:"Ezekiel",b:"20:2",e:"20:20",note:"abominations of Egypt // arayot"}},Kedoshim:Kedoshim,Emor:Emor,Behar:Behar,Bechukotai:Bechukotai,Bamidbar:Bamidbar,Nasso:Nasso,"Beha'alotcha":{"1":[{k:"Zechariah",b:"3:1",e:"3:5",note:"Purifying kohen, Menorah // Menorah, purifying leviim"},{k:"Zechariah",b:"4:1",e:"4:7"}],"2":[{k:"Joshua",b:"3:3",e:"3:8",note:"Ark leads in travel"},{k:"Joshua",b:"3:17",e:" 4:7"}],"3":{k:"II Kings",b:"20:1",e:"20:11",note:"Hezekiah healed thru prayer // Miriam"}},"Sh'lach":{"1":{k:"Joshua",b:"2:1",e:"2:11",note:"spies"},"2":{k:"Joshua",b:"14:6",e:"14:15",note:"Calev's reward"},"3":{k:"I Kings",b:"17:1",e:"17:16",note:"mkosheshet etzim // mkoshesh etzim"}},Korach:Korach,Chukat:Chukat,Balak:Balak,Pinchas:Pinchas,Matot:Matot,Masei:Masei,"Devarim - Isaiah 1:1-27, same as full kriyah":false,"Vaetchanan - Isaiah 40:1-26, same as full kriyah":false,Eikev:Eikev,"Re'eh":{"1":{k:"Isaiah",b:"54:11",e:"55:5**",note:"aniya soarah"},"2":{k:"Isaiah",b:"43:1",e:"43:10",note:"al tira ki g'altikha"},"3":{k:"Isaiah",b:"43:11",e:"43:20",note:"ami v'chiri"}},Shoftim:Shoftim,"Ki Teitzei":{"1":{k:"Isaiah",b:"54:1",e:"54:10",note:"roni akarah"},"2":{k:"Jeremiah",b:"33:1",e:"33:11",note:"kol sason v'kol simchah"},"3":[{k:"Isaiah",b:"48:12",e:"48:21",note:"goalekh k'dosh yisrael"},{k:"Isaiah",b:"4:20",e:"4:20"}]},"Ki Tavo":{"1":{k:"Isaiah",b:"60:1",e:"60:9",note:"kumi ori"},"2":{k:"Isaiah",b:"60:13",e:"60:22",note:"amekh kulam tzadikim"},"3":{k:"Zechariah",b:"8:11",e:"8:22",note:"emet umishpat shalom"}},Nitzavim:Nitzavim,Vayeilech:Vayeilech,"Ha'Azinu":{"1":[{k:"II Samuel",b:"22:1",e:"22:1",note:"David // Moses' song"},{k:"II Samuel",b:"22:31",e:"22:51"}],"2":[{k:"II Samuel",b:"22:1",e:"22:1",note:"David //Moses' song"},{k:"II Samuel",b:"22:19",e:"22:31"}],"3":{k:"Joshua",b:"23:1",e:"23:11",note:"Joshua's farewell"}},"Tish'a B'Av":{"1":[{k:"Jeremiah",b:"8:13",e:"8:23"},{k:"Jeremiah",b:"9:23",e:"9:23"}],"2":[{k:"Jeremiah",b:"9:1",e:"9:10"},{k:"Jeremiah",b:"9:23",e:"9:23"}],"3":{k:"Jeremiah",b:"9:11",e:"9:23"}},_holidays:_holidays};
1065
-
1066
- /**
1067
- * Represents triennial aliyot for a given date
1068
- * @typedef {Object} TriennialAliyot
1069
- * @property {Object<string,Aliyah>} aliyot - a map of aliyot 1-7 plus "M"
1070
- * @property {number} yearNum - year number, 0-2
1071
- * @property {Date} date - Shabbat date for when this parsha is read in this 3-year cycle
1072
- * @property {boolean} [readSeparately] - true if a double parsha is read separately in year `yearNum`
1073
- * @property {Date} [date1] - Shabbat date of the first part of a read-separately aliyah pair
1074
- * @property {Date} [date2] - Shabbat date of the second part of a read-separately aliyah pair
1075
- */
1076
-
1077
- const VEZOT_HABERAKHAH = 'Vezot Haberakhah';
1078
- const isSometimesDoubled = Object.create(null); // N.B. these are 0-based indices
1079
-
1080
- const doubled = [21, // Vayakhel-Pekudei
1081
- 26, // Tazria-Metzora
1082
- 28, // Achrei Mot-Kedoshim
1083
- 31, // Behar-Bechukotai
1084
- 38, // Chukat-Balak
1085
- 41, // Matot-Masei
1086
- 50 // Nitzavim-Vayeilech
1087
- ];
1088
- doubled.forEach(id => {
1089
- isSometimesDoubled[id] = true;
1090
- isSometimesDoubled[id + 1] = true;
1091
- });
1092
- /**
1093
- * takes a 0-based (Bereshit=0) parsha ID
1094
- * @private
1095
- * @param {number} id
1096
- * @return {string}
1097
- */
1098
-
1099
- function getDoubledName(id) {
1100
- const p1 = parshiot[id];
1101
- const p2 = parshiot[id + 1];
1102
- const name = p1 + '-' + p2;
1103
- return name;
1104
- }
1105
-
1106
- let triennialAliyot;
1107
- /** Triennial Torah readings */
1108
-
1109
- class Triennial {
1110
- /**
1111
- * Builds a Triennial object
1112
- * @param {number} [hebrewYear] Hebrew Year (default current year)
1113
- */
1114
- constructor(hebrewYear) {
1115
- hebrewYear = hebrewYear || new HDate().getFullYear();
1116
-
1117
- if (hebrewYear < 5744) {
1118
- throw new RangeError(`Invalid Triennial year ${hebrewYear}`);
1119
- }
1120
-
1121
- if (!triennialAliyot) {
1122
- triennialAliyot = Triennial.getTriennialAliyot();
1123
- }
1124
-
1125
- this.startYear = Triennial.getCycleStartYear(hebrewYear);
1126
- this.sedraArray = [];
1127
- this.bereshit = Array(4);
1128
-
1129
- for (let yr = 0; yr < 4; yr++) {
1130
- const sedra = HebrewCalendar.getSedra(this.startYear + yr, false);
1131
- const arr = sedra.getSedraArray();
1132
- this.bereshit[yr] = this.sedraArray.length + arr.indexOf(0);
1133
- this.sedraArray = this.sedraArray.concat(arr);
1134
- } // find the first Saturday on or after Rosh Hashana
1135
-
1136
-
1137
- const rh = new HDate(1, months.TISHREI, this.startYear);
1138
- const firstSaturday = rh.onOrAfter(6);
1139
- this.firstSaturday = firstSaturday.abs();
1140
- this.calcVariationOptions();
1141
- this.readings = this.cycleReadings(this.variationOptions);
1142
- }
1143
- /**
1144
- * @param {string} parsha parsha name ("Bereshit" or "Achrei Mot-Kedoshim")
1145
- * @param {number} yearNum 0 through 2 for which year of Triennial cycle
1146
- * @return {Object<string,Aliyah>} a map of aliyot 1-7 plus "M"
1147
- */
1148
-
1149
-
1150
- getReading(parsha, yearNum) {
1151
- const reading = shallowCopy({}, this.readings[parsha][yearNum]);
1152
-
1153
- if (reading.aliyot) {
1154
- Object.values(reading.aliyot).map(aliyah => calculateNumVerses(aliyah));
1155
- }
1156
-
1157
- return reading;
1158
- }
1159
- /**
1160
- * @return {number}
1161
- */
1162
-
1163
-
1164
- getStartYear() {
1165
- return this.startYear;
1166
- }
1167
- /**
1168
- * Returns triennial year 1, 2 or 3 based on this Hebrew year
1169
- * @param {number} year Hebrew year
1170
- * @return {number}
1171
- */
1172
-
1173
-
1174
- static getYearNumber(year) {
1175
- if (year < 5744) {
1176
- throw new RangeError(`Invalid Triennial year ${year}`);
1177
- }
1178
-
1179
- return (year - 5744) % 3 + 1;
1180
- }
1181
- /**
1182
- * Returns Hebrew year that this 3-year triennial cycle began
1183
- * @param {number} year Hebrew year
1184
- * @return {number}
1185
- */
1186
-
1187
-
1188
- static getCycleStartYear(year) {
1189
- return year - (this.getYearNumber(year) - 1);
1190
- }
1191
- /**
1192
- * First, determine if a doubled parsha is read [T]ogether or [S]eparately
1193
- * in each of the 3 years. Yields a pattern like 'SSS', 'STS', 'TTT', 'TTS'.
1194
- * @private
1195
- * @param {number} id
1196
- * @return {string}
1197
- */
1198
-
1199
-
1200
- getThreeYearPattern(id) {
1201
- let pattern = '';
1202
-
1203
- for (let yr = 0; yr <= 2; yr++) {
1204
- let found = this.sedraArray.indexOf(-1 * id, this.bereshit[yr]);
1205
-
1206
- if (found > this.bereshit[yr + 1]) {
1207
- found = -1;
1208
- }
1209
-
1210
- const pat = found == -1 ? 'S' : 'T';
1211
- pattern += pat;
1212
- }
1213
-
1214
- return pattern;
1215
- }
1216
- /**
1217
- * @private
1218
- */
1219
-
1220
-
1221
- calcVariationOptions() {
1222
- const option = this.variationOptions = Object.create(null);
1223
- doubled.forEach(id => {
1224
- const pattern = this.getThreeYearPattern(id);
1225
- const name = getDoubledName(id); // Next, look up the pattern in JSON to determine readings for each year.
1226
- // For "all-together", use "Y" pattern to imply Y.1, Y.2, Y.3
1227
-
1228
- const variation = pattern === 'TTT' ? 'Y' : triennialConfig[name].patterns[pattern];
1229
-
1230
- if (typeof variation === 'undefined') {
1231
- throw new Error(`Can't find pattern ${pattern} for ${name}, startYear=${this.startYear}`);
1232
- }
1233
-
1234
- const p1 = parshiot[id];
1235
- const p2 = parshiot[id + 1];
1236
- option[name] = option[p1] = option[p2] = variation;
1237
- });
1238
- }
1239
- /**
1240
- * @return {string}
1241
- */
1242
-
1243
-
1244
- debug() {
1245
- let str = `Triennial cycle started year ${this.startYear}\n`;
1246
- doubled.forEach(id => {
1247
- const pattern = this.getThreeYearPattern(id);
1248
- const name = getDoubledName(id);
1249
- const variation = this.variationOptions[name];
1250
- str += ` ${name} ${pattern} (${variation})\n`;
1251
- });
1252
- return str;
1253
- }
1254
- /**
1255
- * Builds a lookup table readings["Bereshit"][0], readings["Matot-Masei"][2]
1256
- * @private
1257
- * @param {Object} cycleOption
1258
- * @return {Map<string,Object[]>}
1259
- */
1260
-
1261
-
1262
- cycleReadings(cycleOption) {
1263
- const readings = Object.create(null);
1264
- parshiot.forEach(parsha => {
1265
- readings[parsha] = Array(3);
1266
- });
1267
- readings[VEZOT_HABERAKHAH] = Array(3);
1268
- doubled.map(getDoubledName).forEach(parsha => {
1269
- readings[parsha] = Array(3);
1270
- });
1271
-
1272
- for (let yr = 0; yr <= 2; yr++) {
1273
- this.cycleReadingsForYear(cycleOption, readings, yr);
1274
- }
1275
-
1276
- return readings;
1277
- }
1278
- /**
1279
- * @private
1280
- * @param {string} option
1281
- * @param {Map<string,Object[]>} readings
1282
- * @param {number} yr
1283
- */
1284
-
1285
-
1286
- cycleReadingsForYear(option, readings, yr) {
1287
- const startIdx = this.bereshit[yr];
1288
- const endIdx = this.bereshit[yr + 1];
1289
-
1290
- for (let i = startIdx; i < endIdx; i++) {
1291
- const id = this.sedraArray[i];
1292
-
1293
- if (typeof id !== 'number') {
1294
- continue;
1295
- }
1296
-
1297
- const h = id < 0 ? getDoubledName(-id) : parshiot[id];
1298
- const variationKey = isSometimesDoubled[id] ? option[h] : 'Y';
1299
- const variation = variationKey + '.' + (yr + 1);
1300
- const a = triennialAliyot[h][variation];
1301
-
1302
- if (!a) {
1303
- throw new Error(`can't find ${h} year ${yr} (variation ${variation})`);
1304
- }
1305
-
1306
- const aliyot = clone(a); // calculate numVerses for the subset of aliyot that don't cross chapter boundaries
1307
-
1308
- Object.keys(aliyot).forEach(num => calculateNumVerses(aliyot[num]));
1309
- readings[h][yr] = {
1310
- aliyot,
1311
- date: new HDate(this.firstSaturday + i * 7)
1312
- };
1313
- } // create links for doubled
1314
-
1315
-
1316
- doubled.forEach(id => {
1317
- const h = getDoubledName(id);
1318
- const combined = readings[h][yr];
1319
- const p1 = parshiot[id];
1320
- const p2 = parshiot[id + 1];
1321
-
1322
- if (combined) {
1323
- readings[p1][yr] = readings[p2][yr] = {
1324
- readTogether: h,
1325
- date: combined.date
1326
- };
1327
- } else {
1328
- readings[h][yr] = {
1329
- readSeparately: true,
1330
- date1: readings[p1][yr].date,
1331
- date2: readings[p2][yr].date
1332
- };
1333
- }
1334
- });
1335
- const vezotAliyot = triennialAliyot[VEZOT_HABERAKHAH]['Y.1'];
1336
- readings[VEZOT_HABERAKHAH][yr] = {
1337
- aliyot: vezotAliyot,
1338
- date: new HDate(23, months.TISHREI, this.startYear + yr)
1339
- };
1340
- }
1341
- /**
1342
- * Walks triennialConfig and builds lookup table for triennial aliyot
1343
- * @private
1344
- * @return {Object}
1345
- */
1346
-
1347
-
1348
- static getTriennialAliyot() {
1349
- const triennialAliyot = Object.create(null);
1350
- const triennialAliyotAlt = Object.create(null); // build a lookup table so we don't have to follow num/variation/sameas
1351
-
1352
- Object.keys(triennialConfig).forEach(parsha => {
1353
- const value = triennialConfig[parsha];
1354
-
1355
- if (typeof value !== 'object' || typeof value.book !== 'number') {
1356
- throw new Error(`misconfiguration: ${parsha}`);
1357
- }
1358
-
1359
- const book = BOOK[value.book];
1360
- triennialAliyot[parsha] = Triennial.resolveSameAs(parsha, book, value);
1361
-
1362
- if (value.alt) {
1363
- triennialAliyotAlt[parsha] = Triennial.resolveSameAs(parsha, book, value.alt);
1364
- }
1365
- }); // TODO: handle triennialAliyotAlt also
1366
-
1367
- return triennialAliyot;
1368
- }
1369
- /**
1370
- * Transforms input JSON with sameAs shortcuts like "D.2":"A.3" to
1371
- * actual aliyot objects for a given variation/year
1372
- * @private
1373
- * @param {string} parsha
1374
- * @param {string} book
1375
- * @param {Object} triennial
1376
- * @return {Object}
1377
- */
1378
-
1379
-
1380
- static resolveSameAs(parsha, book, triennial) {
1381
- const variations = triennial.years || triennial.variations;
1382
-
1383
- if (typeof variations === 'undefined') {
1384
- throw new Error(`Parashat ${parsha} has no years or variations`);
1385
- } // first pass, copy only alyiot definitions from triennialConfig into lookup table
1386
-
1387
-
1388
- const lookup = Object.create(null);
1389
- Object.keys(variations).forEach(variation => {
1390
- const aliyot = variations[variation];
1391
-
1392
- if (typeof aliyot === 'object') {
1393
- const dest = {};
1394
- Object.keys(aliyot).forEach(num => {
1395
- const src = aliyot[num];
1396
- const reading = {
1397
- k: book,
1398
- b: src[0],
1399
- e: src[1]
1400
- };
1401
-
1402
- if (src.v) {
1403
- reading.v = src.v;
1404
- }
1405
-
1406
- dest[num] = reading;
1407
- });
1408
- lookup[variation] = dest;
1409
- }
1410
- }); // second pass to resolve sameas strings (to simplify later lookups)
1411
-
1412
- Object.keys(variations).forEach(variation => {
1413
- const aliyot = variations[variation];
1414
-
1415
- if (typeof aliyot === 'string') {
1416
- if (typeof lookup[aliyot] === 'undefined') {
1417
- throw new Error(`Can't find source for ${parsha} ${variation} sameas=${aliyot}`);
1418
- }
1419
-
1420
- lookup[variation] = lookup[aliyot];
1421
- }
1422
- });
1423
- return lookup;
1424
- }
1425
-
1426
- }
1427
-
1428
- const __cache = Object.create(null);
1429
- /**
1430
- * Calculates the 3-year readings for a given year
1431
- * @param {number} year Hebrew year
1432
- * @return {Triennial}
1433
- */
1434
-
1435
-
1436
- function getTriennial(year) {
1437
- const cycleStartYear = Triennial.getCycleStartYear(year);
1438
- const cached = __cache[cycleStartYear];
1439
-
1440
- if (cached) {
1441
- return cached;
1442
- }
1443
-
1444
- const tri = new Triennial(cycleStartYear);
1445
- __cache[cycleStartYear] = tri;
1446
- return tri;
1447
- }
1448
- /**
1449
- * Looks up the triennial leyning for this Parashat HaShavua
1450
- * @param {Event} ev
1451
- * @return {TriennialAliyot} a map of aliyot 1-7 plus "M"
1452
- */
1453
-
1454
- function getTriennialForParshaHaShavua(ev) {
1455
- if (!ev instanceof Event) {
1456
- throw new TypeError(`Bad event argument: ${ev}`);
1457
- } else if (ev.getFlags() != flags.PARSHA_HASHAVUA) {
1458
- throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
1459
- }
1460
-
1461
- const hd = ev.getDate();
1462
- const hyear0 = hd.getFullYear();
1463
- const parsha = ev.parsha; // When Nitzavim & Vayeilech are not combined, they should each be read in their entirety.
1464
- // Vayeilech can occur immediately after RH, so back up one year to pick up
1465
- // the tail end of previous 3-year cycle.
1466
-
1467
- const p1 = parsha[0];
1468
- const hyear = p1 === 'Vayeilech' && hd.getMonth() === months.TISHREI ? hyear0 - 1 : hyear0;
1469
- const triennial = getTriennial(hyear);
1470
- const startYear = triennial.getStartYear();
1471
- const yearNum = hyear - startYear;
1472
- const name = parshaToString(parsha); // untranslated
1473
-
1474
- const reading = triennial.getReading(name, yearNum);
1475
-
1476
- if (typeof reading !== 'object') {
1477
- throw new ReferenceError(`Can't load reading for ${name} in ${hyear} (year number ${yearNum})`);
1478
- }
1479
-
1480
- const aliyotMap = shallowCopy({}, reading.aliyot); // possibly replace 7th aliyah and/or maftir
1481
-
1482
- const reason = {};
1483
- specialReadings(hd, false, aliyotMap, reason);
1484
- Object.keys(reason).forEach(num => {
1485
- const aliyah = aliyotMap[num];
1486
-
1487
- if (typeof aliyah === 'object') {
1488
- aliyah.reason = reason[num];
1489
- }
1490
- });
1491
- reading.yearNum = yearNum;
1492
- reading.aliyot = aliyotMap;
1493
- const triHaft = getTriennialHaftara(parsha, yearNum);
1494
- shallowCopy(reading, triHaft);
1495
- return reading;
1496
- }
1497
- /**
1498
- * Looks up the alternative triennial Haftara for a given parsha
1499
- *
1500
- * INSTRUCTIONS REGARDING DOUBLE PARSHIYOT
1501
- *
1502
- * In any 3 year sequence, in some years these parshiyot are read together
1503
- * and in some they are read separately.
1504
- * When separated: read the next haftarah of the parashah being read.
1505
- * When together: when reading the first third, read the next haftarah
1506
- * of the first parashah, when reading the latter two thirds, read the
1507
- * next haftarah of the latter parashah
1508
- * @private
1509
- * @param {string[]} parsha
1510
- * @param {number} yearNum 0, 1, or 2
1511
- * @return {Object}
1512
- */
1513
-
1514
- function getTriennialHaftara(parsha, yearNum) {
1515
- const idx = parsha.length === 1 || yearNum === 0 ? 0 : 1;
1516
- const name = parsha[idx];
1517
- const triHaft = triennialHaft[name];
1518
- const triHaft2 = triHaft === null || triHaft === void 0 ? void 0 : triHaft[yearNum + 1];
1519
-
1520
- if (typeof triHaft2 === 'object') {
1521
- const haft = cloneHaftara(triHaft2);
1522
- return {
1523
- haft: haft,
1524
- haftara: makeHaftaraSummary(haft),
1525
- haftaraNumV: calculateHaftaraNumV(haft)
1526
- };
1527
- }
1528
-
1529
- return {};
1530
- }
1531
- /**
1532
- * Looks up the alternative triennial Haftara for a holiday
1533
- * @param {string} key
1534
- * @param {number} yearNum
1535
- * @return {Object}
1536
- */
1537
-
1538
- function getTriennialHaftaraForHoliday(key, yearNum) {
1539
- if (key === 'Tish\'a B\'Av') {
1540
- return getTriennialHaftara([key], yearNum);
1541
- }
1542
-
1543
- const triHaft2 = triennialHaft._holidays[key];
1544
-
1545
- if (typeof triHaft2 === 'object') {
1546
- const haft = cloneHaftara(triHaft2);
1547
- return {
1548
- haft: haft,
1549
- haftara: makeHaftaraSummary(haft),
1550
- haftaraNumV: calculateHaftaraNumV(haft)
1551
- };
1552
- }
1553
-
1554
- return undefined;
1555
- }
1556
-
1557
1012
  const fmt = new Intl.DateTimeFormat('en-US', {
1558
1013
  year: 'numeric',
1559
1014
  month: 'short',
@@ -1608,96 +1063,12 @@ function writeFullKriyahCsv(stream, hyear, il) {
1608
1063
  }
1609
1064
  });
1610
1065
  }
1611
- /**
1612
- * @private
1613
- * @param {fs.WriteStream} stream
1614
- * @param {number} hyear
1615
- */
1616
-
1617
- function writeTriennialCsv(stream, hyear) {
1618
- const events0 = HebrewCalendar.calendar({
1619
- year: hyear,
1620
- isHebrewYear: true,
1621
- numYears: 3,
1622
- sedrot: true,
1623
- il: false
1624
- });
1625
- const events = events0.filter(ev => ev.getDesc() !== 'Rosh Chodesh Tevet');
1626
- const parshaDates = getParshaDates(events);
1627
- stream.write('"Date","Parashah","Aliyah","Triennial Reading","Verses"\r\n');
1628
- events.forEach(ev => {
1629
- if (ev.getFlags() === flags.PARSHA_HASHAVUA || !parshaDates[ev.getDate().toString()]) {
1630
- writeTriennialEvent(stream, ev);
1631
- }
1632
- });
1633
- }
1634
- /**
1635
- * @private
1636
- * @param {fs.WriteStream} stream
1637
- * @param {Event} ev
1638
- */
1639
-
1640
- function writeTriennialEvent(stream, ev) {
1641
- if (ignore(ev)) {
1642
- return;
1643
- }
1644
-
1645
- if (ev.getFlags() === flags.PARSHA_HASHAVUA) {
1646
- writeTriennialEventParsha(stream, ev);
1647
- } else {
1648
- writeTriennialEventHoliday(stream, ev);
1649
- }
1650
- }
1651
- /**
1652
- * @private
1653
- * @param {fs.WriteStream} stream
1654
- * @param {Event} ev
1655
- */
1656
-
1657
- function writeTriennialEventHoliday(stream, ev) {
1658
- const il = false;
1659
- const reading = getLeyningForHoliday(ev, il);
1660
-
1661
- if (reading) {
1662
- const key = getLeyningKeyForEvent(ev, il);
1663
- const year = ev.getDate().getFullYear();
1664
- const yearNum = Triennial.getYearNumber(year) - 1;
1665
- const triHaft = getTriennialHaftaraForHoliday(key, yearNum);
1666
-
1667
- if (triHaft) {
1668
- reading.triHaftara = triHaft.haftara;
1669
- reading.triHaftaraNumV = triHaft.haftaraNumV;
1670
- }
1671
-
1672
- writeCsvLines(stream, ev, reading, il, false);
1673
- }
1674
- }
1675
- /**
1676
- * @private
1677
- * @param {fs.WriteStream} stream
1678
- * @param {Event} ev
1679
- */
1680
-
1681
-
1682
- function writeTriennialEventParsha(stream, ev) {
1683
- const triReading = getTriennialForParshaHaShavua(ev);
1684
-
1685
- if (triReading) {
1686
- const il = false;
1687
- const reading = getLeyningForParshaHaShavua(ev, il);
1688
- reading.fullkriyah = triReading.aliyot;
1689
- reading.triHaftara = triReading.haftara;
1690
- reading.triHaftaraNumV = triReading.haftaraNumV;
1691
- writeCsvLines(stream, ev, reading, il, true);
1692
- }
1693
- }
1694
1066
  /**
1695
1067
  * @private
1696
1068
  * @param {Event} ev
1697
1069
  * @return {boolean}
1698
1070
  */
1699
1071
 
1700
-
1701
1072
  function ignore(ev) {
1702
1073
  const mask = ev.getFlags();
1703
1074
 
@@ -1743,7 +1114,7 @@ function writeFullKriyahEvent(stream, ev, il) {
1743
1114
  }
1744
1115
  }
1745
1116
  /**
1746
- * @private
1117
+ * Formats reading for CSV
1747
1118
  * @param {fs.WriteStream} stream
1748
1119
  * @param {Event} ev
1749
1120
  * @param {Leyning} reading
@@ -1772,7 +1143,6 @@ function writeCsvLines(stream, ev, reading, il, isParsha) {
1772
1143
  * @return {any[]}
1773
1144
  */
1774
1145
 
1775
-
1776
1146
  function getFullKriyahLines(reading) {
1777
1147
  const lines = [];
1778
1148
 
@@ -1823,4 +1193,4 @@ function getFullKriyahLines(reading) {
1823
1193
  return lines;
1824
1194
  }
1825
1195
 
1826
- export { BOOK, Triennial, formatAliyahShort, formatAliyahWithBook, getLeyningForHoliday, getLeyningForHolidayKey, getLeyningForParsha, getLeyningForParshaHaShavua, getLeyningKeyForEvent, getLeyningOnDate, getTriennial, getTriennialForParshaHaShavua, getTriennialHaftaraForHoliday, hasFestival, lookupFestival, lookupParsha, makeLeyningParts, makeLeyningSummary, writeFullKriyahCsv, writeTriennialCsv };
1196
+ export { BOOK, calculateNumVerses, clone, cloneHaftara, formatAliyahShort, formatAliyahWithBook, getLeyningForHoliday, getLeyningForHolidayKey, getLeyningForParsha, getLeyningForParshaHaShavua, getLeyningKeyForEvent, getLeyningOnDate, hasFestival, lookupFestival, lookupParsha, makeLeyningParts, makeLeyningSummary, makeSummaryFromParts, parshaToString, specialReadings, sumVerses, writeCsvLines, writeFullKriyahCsv };