[{"data":1,"prerenderedAt":5872},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:core-concepts/time-and-sessions":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"core-concepts/time-and-sessions","core-concepts/time-and-sessions.md",{"title":8,"description":9,"order":10,"section":11},"Time and sessions","Read the current bar's clock and trading session from the time source: hour, day of week, day of month, month, year, and session predicates, all in UTC, all as…",13,"core-concepts","---\ntitle: \"Time and sessions\"\ndescription: \"Read the current bar's clock and trading session from the time source: hour, day of week, day of month, month, year, and session predicates, all in UTC, all as…\"\norder: 13\nsection: \"core-concepts\"\n---\n\n\u003C!-- source: docs/indicators/core-concepts/time-and-sessions.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Time and sessions\n\nRead the current bar's clock and trading session from the `time` source:\nhour, day of week, day of month, month, year, and session predicates, all\nin UTC, all as small functions you paste into the file. A wrun indicator\nreads one number per bar, the bar's open time in epoch seconds, and\nderives everything from it with integer math. The `./sdk/clock` module\ndoes this for you\n([Clock and sessions kit](../functions/time-and-sessions-kit.md)); this\npage shows the math underneath.\n\n## Introduction\n\nEvery bar happens at a moment in time, and that moment is often a signal in\nitself: London opening, the Asian session winding down, a fresh day, a\nweekend gap. An indicator reads that moment with one call:\n\n```text\nbar.time()   // the bar's open time, seconds since 1970-01-01 00:00 UTC\n```\n\nThree things to keep in mind:\n\n- **It is seconds, not milliseconds.** `bar.time()` is seconds.\n  Multiply by 1000 for a millisecond value, and keep the math in `i64` (a\n  32-bit integer cannot hold an epoch second past 2038 comfortably, and it\n  cannot hold milliseconds at all).\n- **It is the bar's open.** Not the close, not \"now\". There is no wall\n  clock inside the module: the newest bar is the live edge, and the host\n  tells you nothing about the clock on the wall.\n- **Times are UTC.** Every clock value and every session boundary below is\n  in UTC. There is no local-timezone surprise, but it does mean you compare\n  against UTC hours when you write a rule, and daylight-saving shifts in a\n  venue's local session are yours to encode. A session the user should\n  pick is the one exception: `param.session(\"rth\", \"09:30-16:00\", { tz:\n  \"America/New_York\" })` draws the window in the settings dialog, and\n  `inSession(barOpenSec, start, end, zone)` applies the zone's\n  daylight-saving rule per bar for you\n  ([Sessions and units](../settings/sessions-and-units.md)).\n\nEverything on this page is that integer math, pasted into your file: it\nis what the kit computes underneath, shown so you can read it, and it is\nenough on its own for a rule stated in UTC. When the rule lives in\na venue's own clock (the 09:30 cash open in New York, a daylight-saving\nshift, the first bar of the week in Sydney), the `./sdk/clock` module on\nthe [Clock and sessions kit](../functions/time-and-sessions-kit.md) page keeps the\ncalendar for you: a `Clock` constructed with a zone name answers hour,\nweekday, day of month and is-new-day, -week, -month with the zone's\ndaylight rule applied, and a `Session` answers whether the bar sits\ninside an `0930-1600` window on the weekdays you list, half-open and\nwrapping midnight. The same `Clock` counts the bar index and infers the\ninterval from the gap between opens, so the previous-`bar.time()`\nsubtraction below becomes one `intervalSec()` call.\n\n## Lead example: the clock and the session\n\nThis file computes every clock value from the bar's open time, classifies\nthe bar into a session, and tints the close line by session so you can\nsanity-check the math against the chart's time axis.\n\n```typescript sample=cc-time-sessions\n// The close, tinted by session: 0 off-hours grey, 1 Asia blue, 2 Europe amber, 3 America green.\noutput(\"close\", line, overlay, { width: 2, color_by: \"session\", colors: [\"#94a3b8\", \"#3b82f6\", \"#f59e0b\", \"#22c55e\"], description: \"Close, colored by the session the bar opened in\" });\noutput(\"session\", none, overlay, { description: \"0 off-hours, 1 Asian, 2 European, 3 American (UTC)\" });\noutput(\"hour\", line, lower, { color: \"#2563eb\", description: \"Hour of the bar, 0 to 23 UTC\" });\noutput(\"day_of_week\", line, lower, { color: \"#7c3aed\", description: \"0 Sunday to 6 Saturday\" });\noutput(\"day_of_month\", line, lower, { color: \"#16a34a\", description: \"Day of the month, 1 to 31\" });\noutput(\"month\", line, lower, { color: \"#f59e0b\", description: \"Month, 1 to 12\" });\noutput(\"year\", line, lower, { color: \"#94a3b8\", description: \"Four-digit year\" });\n\n// ---- Clock helpers over epoch seconds (UTC). Paste these into any file. ----\nconst DAY: i64 = 86400;\n\nfunction hourOf(t: i64): i32 {\n  return i32((t % DAY) / 3600);\n}\n\nfunction minuteOf(t: i64): i32 {\n  return i32((t % 3600) / 60);\n}\n\nfunction dayIndex(t: i64): i64 {\n  return t / DAY; // days since 1970-01-01\n}\n\nfunction dayOfWeek(t: i64): i32 {\n  return i32((dayIndex(t) + 4) % 7); // 1970-01-01 was a Thursday: 0 Sunday .. 6 Saturday\n}\n\n// Civil date from a day index (integer math only; exact for every date after 1970).\nlet civilYear: i32 = 0;\nlet civilMonth: i32 = 0;\nlet civilDay: i32 = 0;\n\nfunction civilFromDays(days: i64): void {\n  const z = days + 719468;\n  const era = (z >= 0 ? z : z - 146096) / 146097;\n  const doe = z - era * 146097;\n  const yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365;\n  const y = yoe + era * 400;\n  const doy = doe - (365 * yoe + yoe / 4 - yoe / 100);\n  const mp = (5 * doy + 2) / 153;\n  const d = doy - (153 * mp + 2) / 5 + 1;\n  const m = mp \u003C 10 ? mp + 3 : mp - 9;\n  civilYear = i32(m \u003C= 2 ? y + 1 : y);\n  civilMonth = i32(m);\n  civilDay = i32(d);\n}\n\n// ---- Sessions (UTC). Edit the boundaries to taste; they are ordinary comparisons. ----\nfunction isAsianSession(h: i32): bool {\n  return h >= 0 && h \u003C 8;\n}\n\nfunction isEuropeanSession(h: i32): bool {\n  return h >= 7 && h \u003C 16;\n}\n\nfunction isAmericanSession(h: i32): bool {\n  return h >= 13 && h \u003C 21;\n}\n\nfunction currentSession(h: i32): f64 {\n  if (isAmericanSession(h)) return 3.0; // overlaps resolve to the later session\n  if (isEuropeanSession(h)) return 2.0;\n  if (isAsianSession(h)) return 1.0;\n  return 0.0;\n}\n\nfunction onBar(): void {\n  const t = i64(bar.time());\n  const hour = hourOf(t);\n  const dow = dayOfWeek(t);\n  civilFromDays(dayIndex(t));\n  const session = currentSession(hour);\n  out_close(bar.close());\n  out_session(session);\n  out_hour(f64(hour));\n  out_day_of_week(f64(dow));\n  out_day_of_month(f64(civilDay));\n  out_month(f64(civilMonth));\n  out_year(f64(civilYear));\n}\n```\n\nEach session predicate is a plain `bool` over the hour, so it drops\nstraight into an `if` or a gate. The close line picks up a blue, amber, or\ngreen tint depending on which session the bar opened in, and the lower\npane shows the raw clock values so you can check them against the axis.\n\n## Function reference\n\nEvery helper takes the bar's open time as an `i64` of epoch seconds and\nreturns the value for the **current bar**.\n\n### Clock\n\n| Helper | Returns |\n| --- | --- |\n| `hourOf(t)` | Hour of the bar, `0`..`23` (UTC) |\n| `minuteOf(t)` | Minute of the bar, `0`..`59` |\n| `i32(t % 60)` | Second of the bar, `0`..`59` (always `0` on candle grids) |\n| `dayOfWeek(t)` | `0` Sunday .. `6` Saturday |\n| `civilDay` after `civilFromDays(dayIndex(t))` | Day of the month, `1`..`31` |\n| `civilMonth` | Month, `1`..`12` |\n| `civilYear` | Four-digit year |\n\n`civilFromDays` is the standard days-to-civil algorithm in integer math,\nexact for every date from 1970 onward; it writes three module-level\nvariables because a function returns one value. Prefer `dayIndex(t)` for\n\"is this a new day\" tests; the civil fields are for calendar rules and\nlabels.\n\n### Timestamps\n\n| Need | wrun |\n| --- | --- |\n| the bar's open as a timestamp | `bar.time()` (seconds); `i64(bar.time()) * 1000` for milliseconds |\n| the wall clock | none: no wall clock reaches the module. The newest bar is the live edge, and a run-level renderer or drawing evaluates it on its own |\n\nThe bar's interval is the difference between consecutive open times: keep\nthe previous `bar.time()` in a module-level variable and subtract.\n\n### Sessions\n\n| Helper | Returns |\n| --- | --- |\n| `isAsianSession(h)` | `true` in the Asian session (00:00 to 08:00 UTC in the example) |\n| `isEuropeanSession(h)` | `true` in the European session (07:00 to 16:00 UTC) |\n| `isAmericanSession(h)` | `true` in the American session (13:00 to 21:00 UTC) |\n| `currentSession(h)` | `0` off-hours, `1`, `2`, `3`, as a number an output or a `color_by` ladder can carry |\n\nThe boundaries are ordinary comparisons in your file, so they are yours:\nan indicator states them where you can read and change them. Sessions\noverlap (London and New York share the\n13:00 to 16:00 UTC hours), which is why the predicates are independent and\n`currentSession` picks one by priority.\n\n## The market's own calendar\n\nThe integer math above answers questions in UTC. Two more `time` fields\ncarry the market's own calendar, so an indicator can ask what the venue\nsays about a bar without knowing its schedule:\n\n```text\ninput(\"day\", time.trade_date);   // the bar's trade date: epoch seconds at 00:00 UTC of that date\ninput(\"phase\", time.session);    // 1 regular, 2 pre-market, 3 after-hours, 0 closed\n```\n\nThe trade date is the exchange's: on CME futures it starts at the 17:00\nChicago open, so an evening bar already belongs to the next date; on US\nstocks it is the New York date; on markets without sessions (crypto,\nforex, HIP-3, Polymarket) it is the UTC date and every bar reads `1`,\nregular. On a chart of one day or longer every bar takes its own stamp's\ndate and reads `1` on every market, since the chart stamps daily, weekly\nand monthly bars at 00:00 UTC of their trade date. Both are facts of the\nmarket, the bar and its interval alone, so switching the chart to extended\nhours never changes them ([Data sources](data-sources.md)).\n\n`MarketSession` from `./sdk/clock` folds the two facts once per bar and\nanswers the checks a Pine script reads from `session.*`\n([Clock and sessions kit](../functions/time-and-sessions-kit.md)):\n\n```text\nconst ms = new MarketSession();   // made once, at module level or in onStart()\n// onBar():\nms.update(in_day(), in_phase());\nif (ms.isFirstRegularBar()) {\n  // the cash open: anchor a VWAP, start the day's range\n}\n```\n\nGroup daily, weekly and monthly views by `tradingDayKey()`,\n`tradingWeekKey()` and `tradingMonthKey()` instead of the UTC day index:\non a CME chart the UTC day cuts the evening session off the trade date it\nbelongs to.\n\n### Pine equivalents\n\n| Pine | wrun |\n| --- | --- |\n| `session.ismarket` | `ms.isRegular()` |\n| `session.ispremarket` | `ms.isPremarket()` |\n| `session.ispostmarket` | `ms.isAfterHours()` |\n| `session.isfirstbar` | `ms.isNewTradingDay()` |\n| `session.isfirstbar_regular` | `ms.isFirstRegularBar()` |\n| `time_tradingday` | `in_day()` from a `time.trade_date` input, in seconds (Pine's is milliseconds: multiply by 1000) |\n| `timeframe.change(\"D\")` | `ms.isNewTradingDay()` |\n\n`ms.isExtended()` is pre-market or after-hours, and `ms.isClosed()` marks\na bar printed while the market is closed. Like every check on this page,\nthey read the bar the module is on: on the first bar the chart loads, a\nsession already running counts as new.\n\n## Common patterns\n\n**Only signal during a session.** Wrap your trigger in a session predicate\nso it can only fire when the market you care about is active. The predicate\nbecomes a data-only gate and the mark's `shape_where`:\n\n```text\nconst brokeOut = close > prevHigh && isEuropeanSession(hour);\nout_london_break(high);                          // a shape output at the bar's high\nout_is_london_break(brokeOut ? 1.0 : 0.0);       // its shape_where gate\n```\n\n**Gate by session instead of weekday.** `dayOfWeek(t)` works here, so both\nare available: `dow >= 1 && dow \u003C= 5` is weekdays, and\n`isEuropeanSession(hour) || isAmericanSession(hour)` is \"skip the quiet\nAsian hours.\" Combine them freely.\n\n**Once-per-day reset.** Detect a new day by watching the day index change\nfrom the previous bar, then reset whatever daily accumulator you keep. The\ncookbook's anchored VWAP and key levels are built on exactly this:\n\n```text\nconst day = dayIndex(t);\nif (day != dayIdx) {\n  // the day that just closed is complete; the running sums start over\n  dayIdx = day;\n  dayPv = 0.0;\n  dayVol = 0.0;\n}\n```\n\nThe same idea works for a new week (`(dayIndex(t) + 3) / 7` changes; the\n`+ 3` makes weeks start on Monday 00:00 UTC), a new month (`civilMonth`\nchanges), or a new year (`civilYear` changes). Hold the previous index in\na module-level variable so you can compare, and remember that a period\nalready running when the loaded history starts is incomplete: keep its\nvalues `NaN` until the first boundary passes.\n\n**Weekend gaps.** Crypto trades through; a venue with a session calendar\nsimply has no bars off-hours, and the `time` source follows the primary\ngrid, so there is nothing to skip. The bucket fold that turns these day and\nhour indexes into higher-timeframe views is `multi-timeframe.md`; the\nper-bar candle tint is `render.barcolor`, and\nthe background tint beside it is `render.bgcolor`\n(`presentation/plotting.md`).\n",{"type":14,"children":15,"data":5865,"position":5867},"root",[16,26,29,30,116,117,135,136,150,151,175,176,191,192,403,404,572,573,588,589,602,603,3081,3082,3136,3137,3152,3153,3206,3207,3223,3225,3768,3769,3816,3817,3832,3834,3989,3990,4023,4024,4039,4041,4394,4395,4428,4429,4444,4445,4477,4478,4504,4505,4578,4579,4660,4661,4722,4723,4793,4794,4809,4810,5308,5309,5354,5355,5370,5371,5417,5418,5453,5454,5537,5538,5567,5568,5638,5639,5744,5745],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/core-concepts/time-and-sessions.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},138,137,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":113},"element","p",{},[35,44,58,66,79,87,105],{"type":27,"value":36,"position":37},"Read the current bar's clock and trading session from the ",{"start":38,"end":41},{"line":39,"column":21,"offset":40},5,160,{"line":39,"column":42,"offset":43},59,218,{"type":31,"tagName":45,"properties":46,"children":47,"position":55},"code",{},[48],{"type":27,"value":49,"position":50},"time",{"start":51,"end":52},{"line":39,"column":42,"offset":43},{"line":39,"column":53,"offset":54},65,224,{"start":56,"end":57},{"line":39,"column":42,"offset":43},{"line":39,"column":53,"offset":54},{"type":27,"value":59,"position":60}," source:\nhour, day of week, day of month, month, year, and session predicates, all\nin UTC, all as small functions you paste into the file. A wrun indicator\nreads one number per bar, the bar's open time in epoch seconds, and\nderives everything from it with integer math. The ",{"start":61,"end":62},{"line":39,"column":53,"offset":54},{"line":63,"column":64,"offset":65},9,51,498,{"type":31,"tagName":45,"properties":67,"children":68,"position":76},{},[69],{"type":27,"value":70,"position":71},"./sdk/clock",{"start":72,"end":73},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},64,511,{"start":77,"end":78},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},{"type":27,"value":80,"position":81}," module\ndoes this for you\n(",{"start":82,"end":83},{"line":63,"column":74,"offset":75},{"line":84,"column":85,"offset":86},11,2,538,{"type":31,"tagName":88,"properties":89,"children":91,"position":101},"a",{"href":90},"../functions/time-and-sessions-kit.md",[92],{"type":27,"value":93,"position":94},"Clock and sessions kit",{"start":95,"end":98},{"line":84,"column":96,"offset":97},3,539,{"line":84,"column":99,"offset":100},25,561,{"start":102,"end":103},{"line":84,"column":85,"offset":86},{"line":84,"column":53,"offset":104},601,{"type":27,"value":106,"position":107},"); this\npage shows the math underneath.",{"start":108,"end":109},{"line":84,"column":53,"offset":104},{"line":110,"column":111,"offset":112},12,32,640,{"start":114,"end":115},{"line":39,"column":21,"offset":40},{"line":110,"column":111,"offset":112},{"type":27,"value":28},{"type":31,"tagName":118,"properties":119,"children":120,"position":131},"h2",{},[121],{"type":27,"value":122,"position":123},"Introduction",{"start":124,"end":128},{"line":125,"column":126,"offset":127},14,4,645,{"line":125,"column":129,"offset":130},16,657,{"start":132,"end":134},{"line":125,"column":21,"offset":133},642,{"line":125,"column":129,"offset":130},{"type":27,"value":28},{"type":31,"tagName":32,"properties":137,"children":138,"position":147},{},[139],{"type":27,"value":140,"position":141},"Every bar happens at a moment in time, and that moment is often a signal in\nitself: London opening, the Asian session winding down, a fresh day, a\nweekend gap. An indicator reads that moment with one call:",{"start":142,"end":144},{"line":129,"column":21,"offset":143},659,{"line":145,"column":42,"offset":146},18,864,{"start":148,"end":149},{"line":129,"column":21,"offset":143},{"line":145,"column":42,"offset":146},{"type":27,"value":28},{"type":14,"children":152},[153],{"type":31,"tagName":154,"properties":155,"children":159,"data":-1},"pre",{"class":156,"style":157,"tabindex":158},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[160],{"type":31,"tagName":45,"properties":161,"children":164},{"class":162},[163],"language-text",[165],{"type":31,"tagName":166,"properties":167,"children":169},"span",{"class":168},"line",[170],{"type":31,"tagName":166,"properties":171,"children":172},{},[173],{"type":27,"value":174},"bar.time()   // the bar's open time, seconds since 1970-01-01 00:00 UTC",{"type":27,"value":28},{"type":31,"tagName":32,"properties":177,"children":178,"position":188},{},[179],{"type":27,"value":180,"position":181},"Three things to keep in mind:",{"start":182,"end":185},{"line":183,"column":21,"offset":184},24,951,{"line":183,"column":186,"offset":187},30,980,{"start":189,"end":190},{"line":183,"column":21,"offset":184},{"line":183,"column":186,"offset":187},{"type":27,"value":28},{"type":31,"tagName":193,"properties":194,"children":195,"position":400},"ul",{},[196,197,273,274,304,305,399],{"type":27,"value":28},{"type":31,"tagName":198,"properties":199,"children":200,"position":269},"li",{},[201,220,227,240,248,261],{"type":31,"tagName":202,"properties":203,"children":204,"position":214},"strong",{},[205],{"type":27,"value":206,"position":207},"It is seconds, not milliseconds.",{"start":208,"end":211},{"line":209,"column":39,"offset":210},26,986,{"line":209,"column":212,"offset":213},37,1018,{"start":215,"end":217},{"line":209,"column":96,"offset":216},984,{"line":209,"column":218,"offset":219},39,1020,{"type":27,"value":221,"position":222}," ",{"start":223,"end":224},{"line":209,"column":218,"offset":219},{"line":209,"column":225,"offset":226},40,1021,{"type":31,"tagName":45,"properties":228,"children":229,"position":237},{},[230],{"type":27,"value":231,"position":232},"bar.time()",{"start":233,"end":234},{"line":209,"column":225,"offset":226},{"line":209,"column":235,"offset":236},52,1033,{"start":238,"end":239},{"line":209,"column":225,"offset":226},{"line":209,"column":235,"offset":236},{"type":27,"value":241,"position":242}," is seconds.\nMultiply by 1000 for a millisecond value, and keep the math in ",{"start":243,"end":244},{"line":209,"column":235,"offset":236},{"line":245,"column":246,"offset":247},27,66,1111,{"type":31,"tagName":45,"properties":249,"children":250,"position":258},{},[251],{"type":27,"value":252,"position":253},"i64",{"start":254,"end":255},{"line":245,"column":246,"offset":247},{"line":245,"column":256,"offset":257},71,1116,{"start":259,"end":260},{"line":245,"column":246,"offset":247},{"line":245,"column":256,"offset":257},{"type":27,"value":262,"position":263}," (a\n32-bit integer cannot hold an epoch second past 2038 comfortably, and it\ncannot hold milliseconds at all).",{"start":264,"end":265},{"line":245,"column":256,"offset":257},{"line":266,"column":267,"offset":268},29,36,1230,{"start":270,"end":272},{"line":209,"column":21,"offset":271},982,{"line":266,"column":267,"offset":268},{"type":27,"value":28},{"type":31,"tagName":198,"properties":275,"children":276,"position":300},{},[277,293],{"type":31,"tagName":202,"properties":278,"children":279,"position":287},{},[280],{"type":27,"value":281,"position":282},"It is the bar's open.",{"start":283,"end":285},{"line":186,"column":39,"offset":284},1235,{"line":186,"column":209,"offset":286},1256,{"start":288,"end":290},{"line":186,"column":96,"offset":289},1233,{"line":186,"column":291,"offset":292},28,1258,{"type":27,"value":294,"position":295}," Not the close, not \"now\". There is no wall\nclock inside the module: the newest bar is the live edge, and the host\ntells you nothing about the clock on the wall.",{"start":296,"end":297},{"line":186,"column":291,"offset":292},{"line":111,"column":298,"offset":299},49,1423,{"start":301,"end":303},{"line":186,"column":21,"offset":302},1231,{"line":111,"column":298,"offset":299},{"type":27,"value":28},{"type":31,"tagName":198,"properties":306,"children":307,"position":395},{},[308,326,332,345,351,365,372,388],{"type":31,"tagName":202,"properties":309,"children":310,"position":320},{},[311],{"type":27,"value":312,"position":313},"Times are UTC.",{"start":314,"end":317},{"line":315,"column":39,"offset":316},33,1428,{"line":315,"column":318,"offset":319},19,1442,{"start":321,"end":323},{"line":315,"column":96,"offset":322},1426,{"line":315,"column":324,"offset":325},21,1444,{"type":27,"value":327,"position":328}," Every clock value and every session boundary below is\nin UTC. There is no local-timezone surprise, but it does mean you compare\nagainst UTC hours when you write a rule, and daylight-saving shifts in a\nvenue's local session are yours to encode. A session the user should\npick is the one exception: ",{"start":329,"end":330},{"line":315,"column":324,"offset":325},{"line":212,"column":186,"offset":331},1750,{"type":31,"tagName":45,"properties":333,"children":334,"position":342},{},[335],{"type":27,"value":336,"position":337},"param.session(\"rth\", \"09:30-16:00\", { tz: \"America/New_York\" })",{"start":338,"end":339},{"line":212,"column":186,"offset":331},{"line":340,"column":99,"offset":341},38,1817,{"start":343,"end":344},{"line":212,"column":186,"offset":331},{"line":340,"column":99,"offset":341},{"type":27,"value":346,"position":347}," draws the window in the settings dialog, and\n",{"start":348,"end":349},{"line":340,"column":99,"offset":341},{"line":218,"column":21,"offset":350},1863,{"type":31,"tagName":45,"properties":352,"children":353,"position":362},{},[354],{"type":27,"value":355,"position":356},"inSession(barOpenSec, start, end, zone)",{"start":357,"end":359},{"line":218,"column":96,"offset":358},1865,{"line":218,"column":360,"offset":361},44,1906,{"start":363,"end":364},{"line":218,"column":96,"offset":358},{"line":218,"column":360,"offset":361},{"type":27,"value":366,"position":367}," applies the zone's\ndaylight-saving rule per bar for you\n(",{"start":368,"end":369},{"line":218,"column":360,"offset":361},{"line":370,"column":126,"offset":371},41,1968,{"type":31,"tagName":88,"properties":373,"children":375,"position":384},{"href":374},"../settings/sessions-and-units.md",[376],{"type":27,"value":377,"position":378},"Sessions and units",{"start":379,"end":381},{"line":370,"column":39,"offset":380},1969,{"line":370,"column":382,"offset":383},23,1987,{"start":385,"end":386},{"line":370,"column":126,"offset":371},{"line":370,"column":42,"offset":387},2023,{"type":27,"value":389,"position":390},").",{"start":391,"end":392},{"line":370,"column":42,"offset":387},{"line":370,"column":393,"offset":394},61,2025,{"start":396,"end":398},{"line":315,"column":21,"offset":397},1424,{"line":370,"column":393,"offset":394},{"type":27,"value":28},{"start":401,"end":402},{"line":209,"column":21,"offset":271},{"line":370,"column":393,"offset":394},{"type":27,"value":28},{"type":31,"tagName":32,"properties":405,"children":406,"position":569},{},[407,417,429,436,451,457,469,475,487,493,506,513,524,531,542,550,563],{"type":27,"value":408,"position":409},"Everything on this page is that integer math, pasted into your file: it\nis what the kit computes underneath, shown so you can read it, and it is\nenough on its own for a rule stated in UTC. When the rule lives in\na venue's own clock (the 09:30 cash open in New York, a daylight-saving\nshift, the first bar of the week in Sydney), the ",{"start":410,"end":413},{"line":411,"column":21,"offset":412},43,2027,{"line":414,"column":415,"offset":416},47,50,2360,{"type":31,"tagName":45,"properties":418,"children":419,"position":426},{},[420],{"type":27,"value":70,"position":421},{"start":422,"end":423},{"line":414,"column":415,"offset":416},{"line":414,"column":424,"offset":425},63,2373,{"start":427,"end":428},{"line":414,"column":415,"offset":416},{"line":414,"column":424,"offset":425},{"type":27,"value":430,"position":431}," module on\nthe ",{"start":432,"end":433},{"line":414,"column":424,"offset":425},{"line":434,"column":39,"offset":435},48,2388,{"type":31,"tagName":88,"properties":437,"children":438,"position":446},{"href":90},[439],{"type":27,"value":93,"position":440},{"start":441,"end":444},{"line":434,"column":442,"offset":443},6,2389,{"line":434,"column":291,"offset":445},2411,{"start":447,"end":448},{"line":434,"column":39,"offset":435},{"line":434,"column":449,"offset":450},68,2451,{"type":27,"value":452,"position":453}," page keeps the\ncalendar for you: a ",{"start":454,"end":455},{"line":434,"column":449,"offset":450},{"line":298,"column":324,"offset":456},2487,{"type":31,"tagName":45,"properties":458,"children":459,"position":466},{},[460],{"type":27,"value":461,"position":462},"Clock",{"start":463,"end":464},{"line":298,"column":324,"offset":456},{"line":298,"column":291,"offset":465},2494,{"start":467,"end":468},{"line":298,"column":324,"offset":456},{"line":298,"column":291,"offset":465},{"type":27,"value":470,"position":471}," constructed with a zone name answers hour,\nweekday, day of month and is-new-day, -week, -month with the zone's\ndaylight rule applied, and a ",{"start":472,"end":473},{"line":298,"column":291,"offset":465},{"line":64,"column":186,"offset":474},2635,{"type":31,"tagName":45,"properties":476,"children":477,"position":484},{},[478],{"type":27,"value":479,"position":480},"Session",{"start":481,"end":482},{"line":64,"column":186,"offset":474},{"line":64,"column":218,"offset":483},2644,{"start":485,"end":486},{"line":64,"column":186,"offset":474},{"line":64,"column":218,"offset":483},{"type":27,"value":488,"position":489}," answers whether the bar sits\ninside an ",{"start":490,"end":491},{"line":64,"column":218,"offset":483},{"line":235,"column":84,"offset":492},2684,{"type":31,"tagName":45,"properties":494,"children":495,"position":503},{},[496],{"type":27,"value":497,"position":498},"0930-1600",{"start":499,"end":500},{"line":235,"column":84,"offset":492},{"line":235,"column":501,"offset":502},22,2695,{"start":504,"end":505},{"line":235,"column":84,"offset":492},{"line":235,"column":501,"offset":502},{"type":27,"value":507,"position":508}," window on the weekdays you list, half-open and\nwrapping midnight. The same ",{"start":509,"end":510},{"line":235,"column":501,"offset":502},{"line":511,"column":266,"offset":512},53,2771,{"type":31,"tagName":45,"properties":514,"children":515,"position":521},{},[516],{"type":27,"value":461,"position":517},{"start":518,"end":519},{"line":511,"column":266,"offset":512},{"line":511,"column":267,"offset":520},2778,{"start":522,"end":523},{"line":511,"column":266,"offset":512},{"line":511,"column":267,"offset":520},{"type":27,"value":525,"position":526}," counts the bar index and infers the\ninterval from the gap between opens, so the previous-",{"start":527,"end":528},{"line":511,"column":267,"offset":520},{"line":529,"column":529,"offset":530},54,2868,{"type":31,"tagName":45,"properties":532,"children":533,"position":539},{},[534],{"type":27,"value":231,"position":535},{"start":536,"end":537},{"line":529,"column":529,"offset":530},{"line":529,"column":246,"offset":538},2880,{"start":540,"end":541},{"line":529,"column":529,"offset":530},{"line":529,"column":246,"offset":538},{"type":27,"value":543,"position":544},"\nsubtraction below becomes one ",{"start":545,"end":546},{"line":529,"column":246,"offset":538},{"line":547,"column":548,"offset":549},55,31,2911,{"type":31,"tagName":45,"properties":551,"children":552,"position":560},{},[553],{"type":27,"value":554,"position":555},"intervalSec()",{"start":556,"end":557},{"line":547,"column":548,"offset":549},{"line":547,"column":558,"offset":559},46,2926,{"start":561,"end":562},{"line":547,"column":548,"offset":549},{"line":547,"column":558,"offset":559},{"type":27,"value":564,"position":565}," call.",{"start":566,"end":567},{"line":547,"column":558,"offset":559},{"line":547,"column":235,"offset":568},2932,{"start":570,"end":571},{"line":411,"column":21,"offset":412},{"line":547,"column":235,"offset":568},{"type":27,"value":28},{"type":31,"tagName":118,"properties":574,"children":575,"position":584},{},[576],{"type":27,"value":577,"position":578},"Lead example: the clock and the session",{"start":579,"end":582},{"line":580,"column":126,"offset":581},57,2937,{"line":580,"column":411,"offset":583},2976,{"start":585,"end":587},{"line":580,"column":21,"offset":586},2934,{"line":580,"column":411,"offset":583},{"type":27,"value":28},{"type":31,"tagName":32,"properties":590,"children":591,"position":599},{},[592],{"type":27,"value":593,"position":594},"This file computes every clock value from the bar's open time, classifies\nthe bar into a session, and tints the close line by session so you can\nsanity-check the math against the chart's time axis.",{"start":595,"end":597},{"line":42,"column":21,"offset":596},2978,{"line":393,"column":511,"offset":598},3175,{"start":600,"end":601},{"line":42,"column":21,"offset":596},{"line":393,"column":511,"offset":598},{"type":27,"value":28},{"type":14,"children":604},[605],{"type":31,"tagName":154,"properties":606,"children":608,"data":-1},{"class":156,"style":157,"tabindex":158,"data-sample":607},"cc-time-sessions",[609],{"type":31,"tagName":45,"properties":610,"children":613},{"class":611},[612],"language-typescript",[614,623,624,719,720,749,750,790,791,829,830,868,869,906,907,944,945,948,949,957,958,997,998,1001,1002,1052,1053,1099,1100,1108,1109,1112,1113,1157,1158,1198,1199,1206,1207,1210,1211,1255,1256,1286,1287,1294,1295,1298,1299,1343,1344,1403,1404,1411,1412,1415,1416,1424,1425,1459,1460,1492,1493,1525,1526,1529,1530,1576,1577,1612,1613,1688,1689,1731,1732,1823,1824,1866,1867,1947,1948,2008,2009,2085,2086,2155,2156,2213,2214,2235,2236,2257,2258,2265,2266,2269,2270,2278,2279,2325,2326,2368,2369,2376,2377,2380,2381,2425,2426,2466,2467,2474,2475,2478,2479,2523,2524,2565,2566,2573,2574,2577,2578,2623,2624,2665,2666,2699,2700,2733,2734,2750,2751,2758,2759,2762,2763,2792,2793,2827,2828,2853,2854,2878,2879,2900,2901,2926,2927,2948,2949,2962,2963,2985,2986,3007,3008,3029,3030,3051,3052,3073,3074],{"type":31,"tagName":166,"properties":615,"children":616},{"class":168},[617],{"type":31,"tagName":166,"properties":618,"children":620},{"style":619},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[621],{"type":27,"value":622},"// The close, tinted by session: 0 off-hours grey, 1 Asia blue, 2 Europe amber, 3 America green.",{"type":27,"value":28},{"type":31,"tagName":166,"properties":625,"children":626},{"class":168},[627,633,639,645,650,656,661,666,671,676,681,686,690,695,699,704,709,714],{"type":31,"tagName":166,"properties":628,"children":630},{"style":629},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[631],{"type":27,"value":632},"output",{"type":31,"tagName":166,"properties":634,"children":636},{"style":635},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[637],{"type":27,"value":638},"(",{"type":31,"tagName":166,"properties":640,"children":642},{"style":641},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[643],{"type":27,"value":644},"\"close\"",{"type":31,"tagName":166,"properties":646,"children":647},{"style":635},[648],{"type":27,"value":649},", line, overlay, { width: ",{"type":31,"tagName":166,"properties":651,"children":653},{"style":652},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[654],{"type":27,"value":655},"2",{"type":31,"tagName":166,"properties":657,"children":658},{"style":635},[659],{"type":27,"value":660},", color_by: ",{"type":31,"tagName":166,"properties":662,"children":663},{"style":641},[664],{"type":27,"value":665},"\"session\"",{"type":31,"tagName":166,"properties":667,"children":668},{"style":635},[669],{"type":27,"value":670},", colors: [",{"type":31,"tagName":166,"properties":672,"children":673},{"style":641},[674],{"type":27,"value":675},"\"#94a3b8\"",{"type":31,"tagName":166,"properties":677,"children":678},{"style":635},[679],{"type":27,"value":680},", ",{"type":31,"tagName":166,"properties":682,"children":683},{"style":641},[684],{"type":27,"value":685},"\"#3b82f6\"",{"type":31,"tagName":166,"properties":687,"children":688},{"style":635},[689],{"type":27,"value":680},{"type":31,"tagName":166,"properties":691,"children":692},{"style":641},[693],{"type":27,"value":694},"\"#f59e0b\"",{"type":31,"tagName":166,"properties":696,"children":697},{"style":635},[698],{"type":27,"value":680},{"type":31,"tagName":166,"properties":700,"children":701},{"style":641},[702],{"type":27,"value":703},"\"#22c55e\"",{"type":31,"tagName":166,"properties":705,"children":706},{"style":635},[707],{"type":27,"value":708},"], description: ",{"type":31,"tagName":166,"properties":710,"children":711},{"style":641},[712],{"type":27,"value":713},"\"Close, colored by the session the bar opened in\"",{"type":31,"tagName":166,"properties":715,"children":716},{"style":635},[717],{"type":27,"value":718}," });",{"type":27,"value":28},{"type":31,"tagName":166,"properties":721,"children":722},{"class":168},[723,727,731,735,740,745],{"type":31,"tagName":166,"properties":724,"children":725},{"style":629},[726],{"type":27,"value":632},{"type":31,"tagName":166,"properties":728,"children":729},{"style":635},[730],{"type":27,"value":638},{"type":31,"tagName":166,"properties":732,"children":733},{"style":641},[734],{"type":27,"value":665},{"type":31,"tagName":166,"properties":736,"children":737},{"style":635},[738],{"type":27,"value":739},", none, overlay, { description: ",{"type":31,"tagName":166,"properties":741,"children":742},{"style":641},[743],{"type":27,"value":744},"\"0 off-hours, 1 Asian, 2 European, 3 American (UTC)\"",{"type":31,"tagName":166,"properties":746,"children":747},{"style":635},[748],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":751,"children":752},{"class":168},[753,757,761,766,771,776,781,786],{"type":31,"tagName":166,"properties":754,"children":755},{"style":629},[756],{"type":27,"value":632},{"type":31,"tagName":166,"properties":758,"children":759},{"style":635},[760],{"type":27,"value":638},{"type":31,"tagName":166,"properties":762,"children":763},{"style":641},[764],{"type":27,"value":765},"\"hour\"",{"type":31,"tagName":166,"properties":767,"children":768},{"style":635},[769],{"type":27,"value":770},", line, lower, { color: ",{"type":31,"tagName":166,"properties":772,"children":773},{"style":641},[774],{"type":27,"value":775},"\"#2563eb\"",{"type":31,"tagName":166,"properties":777,"children":778},{"style":635},[779],{"type":27,"value":780},", description: ",{"type":31,"tagName":166,"properties":782,"children":783},{"style":641},[784],{"type":27,"value":785},"\"Hour of the bar, 0 to 23 UTC\"",{"type":31,"tagName":166,"properties":787,"children":788},{"style":635},[789],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":792,"children":793},{"class":168},[794,798,802,807,811,816,820,825],{"type":31,"tagName":166,"properties":795,"children":796},{"style":629},[797],{"type":27,"value":632},{"type":31,"tagName":166,"properties":799,"children":800},{"style":635},[801],{"type":27,"value":638},{"type":31,"tagName":166,"properties":803,"children":804},{"style":641},[805],{"type":27,"value":806},"\"day_of_week\"",{"type":31,"tagName":166,"properties":808,"children":809},{"style":635},[810],{"type":27,"value":770},{"type":31,"tagName":166,"properties":812,"children":813},{"style":641},[814],{"type":27,"value":815},"\"#7c3aed\"",{"type":31,"tagName":166,"properties":817,"children":818},{"style":635},[819],{"type":27,"value":780},{"type":31,"tagName":166,"properties":821,"children":822},{"style":641},[823],{"type":27,"value":824},"\"0 Sunday to 6 Saturday\"",{"type":31,"tagName":166,"properties":826,"children":827},{"style":635},[828],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":831,"children":832},{"class":168},[833,837,841,846,850,855,859,864],{"type":31,"tagName":166,"properties":834,"children":835},{"style":629},[836],{"type":27,"value":632},{"type":31,"tagName":166,"properties":838,"children":839},{"style":635},[840],{"type":27,"value":638},{"type":31,"tagName":166,"properties":842,"children":843},{"style":641},[844],{"type":27,"value":845},"\"day_of_month\"",{"type":31,"tagName":166,"properties":847,"children":848},{"style":635},[849],{"type":27,"value":770},{"type":31,"tagName":166,"properties":851,"children":852},{"style":641},[853],{"type":27,"value":854},"\"#16a34a\"",{"type":31,"tagName":166,"properties":856,"children":857},{"style":635},[858],{"type":27,"value":780},{"type":31,"tagName":166,"properties":860,"children":861},{"style":641},[862],{"type":27,"value":863},"\"Day of the month, 1 to 31\"",{"type":31,"tagName":166,"properties":865,"children":866},{"style":635},[867],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":870,"children":871},{"class":168},[872,876,880,885,889,893,897,902],{"type":31,"tagName":166,"properties":873,"children":874},{"style":629},[875],{"type":27,"value":632},{"type":31,"tagName":166,"properties":877,"children":878},{"style":635},[879],{"type":27,"value":638},{"type":31,"tagName":166,"properties":881,"children":882},{"style":641},[883],{"type":27,"value":884},"\"month\"",{"type":31,"tagName":166,"properties":886,"children":887},{"style":635},[888],{"type":27,"value":770},{"type":31,"tagName":166,"properties":890,"children":891},{"style":641},[892],{"type":27,"value":694},{"type":31,"tagName":166,"properties":894,"children":895},{"style":635},[896],{"type":27,"value":780},{"type":31,"tagName":166,"properties":898,"children":899},{"style":641},[900],{"type":27,"value":901},"\"Month, 1 to 12\"",{"type":31,"tagName":166,"properties":903,"children":904},{"style":635},[905],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":908,"children":909},{"class":168},[910,914,918,923,927,931,935,940],{"type":31,"tagName":166,"properties":911,"children":912},{"style":629},[913],{"type":27,"value":632},{"type":31,"tagName":166,"properties":915,"children":916},{"style":635},[917],{"type":27,"value":638},{"type":31,"tagName":166,"properties":919,"children":920},{"style":641},[921],{"type":27,"value":922},"\"year\"",{"type":31,"tagName":166,"properties":924,"children":925},{"style":635},[926],{"type":27,"value":770},{"type":31,"tagName":166,"properties":928,"children":929},{"style":641},[930],{"type":27,"value":675},{"type":31,"tagName":166,"properties":932,"children":933},{"style":635},[934],{"type":27,"value":780},{"type":31,"tagName":166,"properties":936,"children":937},{"style":641},[938],{"type":27,"value":939},"\"Four-digit year\"",{"type":31,"tagName":166,"properties":941,"children":942},{"style":635},[943],{"type":27,"value":718},{"type":27,"value":28},{"type":31,"tagName":166,"properties":946,"children":947},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":950,"children":951},{"class":168},[952],{"type":31,"tagName":166,"properties":953,"children":954},{"style":619},[955],{"type":27,"value":956},"// ---- Clock helpers over epoch seconds (UTC). Paste these into any file. ----",{"type":27,"value":28},{"type":31,"tagName":166,"properties":959,"children":960},{"class":168},[961,967,972,977,982,987,992],{"type":31,"tagName":166,"properties":962,"children":964},{"style":963},"--shiki-dark:#F97583;--shiki-light:#D73A49",[965],{"type":27,"value":966},"const",{"type":31,"tagName":166,"properties":968,"children":969},{"style":652},[970],{"type":27,"value":971}," DAY",{"type":31,"tagName":166,"properties":973,"children":974},{"style":963},[975],{"type":27,"value":976},":",{"type":31,"tagName":166,"properties":978,"children":979},{"style":629},[980],{"type":27,"value":981}," i64",{"type":31,"tagName":166,"properties":983,"children":984},{"style":963},[985],{"type":27,"value":986}," =",{"type":31,"tagName":166,"properties":988,"children":989},{"style":652},[990],{"type":27,"value":991}," 86400",{"type":31,"tagName":166,"properties":993,"children":994},{"style":635},[995],{"type":27,"value":996},";",{"type":27,"value":28},{"type":31,"tagName":166,"properties":999,"children":1000},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1003,"children":1004},{"class":168},[1005,1010,1015,1019,1025,1029,1033,1038,1042,1047],{"type":31,"tagName":166,"properties":1006,"children":1007},{"style":963},[1008],{"type":27,"value":1009},"function",{"type":31,"tagName":166,"properties":1011,"children":1012},{"style":629},[1013],{"type":27,"value":1014}," hourOf",{"type":31,"tagName":166,"properties":1016,"children":1017},{"style":635},[1018],{"type":27,"value":638},{"type":31,"tagName":166,"properties":1020,"children":1022},{"style":1021},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[1023],{"type":27,"value":1024},"t",{"type":31,"tagName":166,"properties":1026,"children":1027},{"style":963},[1028],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1030,"children":1031},{"style":629},[1032],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1034,"children":1035},{"style":635},[1036],{"type":27,"value":1037},")",{"type":31,"tagName":166,"properties":1039,"children":1040},{"style":963},[1041],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1043,"children":1044},{"style":629},[1045],{"type":27,"value":1046}," i32",{"type":31,"tagName":166,"properties":1048,"children":1049},{"style":635},[1050],{"type":27,"value":1051}," {",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1054,"children":1055},{"class":168},[1056,1061,1065,1070,1075,1079,1084,1089,1094],{"type":31,"tagName":166,"properties":1057,"children":1058},{"style":963},[1059],{"type":27,"value":1060},"  return",{"type":31,"tagName":166,"properties":1062,"children":1063},{"style":629},[1064],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1066,"children":1067},{"style":635},[1068],{"type":27,"value":1069},"((t ",{"type":31,"tagName":166,"properties":1071,"children":1072},{"style":963},[1073],{"type":27,"value":1074},"%",{"type":31,"tagName":166,"properties":1076,"children":1077},{"style":652},[1078],{"type":27,"value":971},{"type":31,"tagName":166,"properties":1080,"children":1081},{"style":635},[1082],{"type":27,"value":1083},") ",{"type":31,"tagName":166,"properties":1085,"children":1086},{"style":963},[1087],{"type":27,"value":1088},"/",{"type":31,"tagName":166,"properties":1090,"children":1091},{"style":652},[1092],{"type":27,"value":1093}," 3600",{"type":31,"tagName":166,"properties":1095,"children":1096},{"style":635},[1097],{"type":27,"value":1098},");",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1101,"children":1102},{"class":168},[1103],{"type":31,"tagName":166,"properties":1104,"children":1105},{"style":635},[1106],{"type":27,"value":1107},"}",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1110,"children":1111},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1114,"children":1115},{"class":168},[1116,1120,1125,1129,1133,1137,1141,1145,1149,1153],{"type":31,"tagName":166,"properties":1117,"children":1118},{"style":963},[1119],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":1121,"children":1122},{"style":629},[1123],{"type":27,"value":1124}," minuteOf",{"type":31,"tagName":166,"properties":1126,"children":1127},{"style":635},[1128],{"type":27,"value":638},{"type":31,"tagName":166,"properties":1130,"children":1131},{"style":1021},[1132],{"type":27,"value":1024},{"type":31,"tagName":166,"properties":1134,"children":1135},{"style":963},[1136],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1138,"children":1139},{"style":629},[1140],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1142,"children":1143},{"style":635},[1144],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":1146,"children":1147},{"style":963},[1148],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1150,"children":1151},{"style":629},[1152],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1154,"children":1155},{"style":635},[1156],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1159,"children":1160},{"class":168},[1161,1165,1169,1173,1177,1181,1185,1189,1194],{"type":31,"tagName":166,"properties":1162,"children":1163},{"style":963},[1164],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":1166,"children":1167},{"style":629},[1168],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1170,"children":1171},{"style":635},[1172],{"type":27,"value":1069},{"type":31,"tagName":166,"properties":1174,"children":1175},{"style":963},[1176],{"type":27,"value":1074},{"type":31,"tagName":166,"properties":1178,"children":1179},{"style":652},[1180],{"type":27,"value":1093},{"type":31,"tagName":166,"properties":1182,"children":1183},{"style":635},[1184],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":1186,"children":1187},{"style":963},[1188],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1190,"children":1191},{"style":652},[1192],{"type":27,"value":1193}," 60",{"type":31,"tagName":166,"properties":1195,"children":1196},{"style":635},[1197],{"type":27,"value":1098},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1200,"children":1201},{"class":168},[1202],{"type":31,"tagName":166,"properties":1203,"children":1204},{"style":635},[1205],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1208,"children":1209},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1212,"children":1213},{"class":168},[1214,1218,1223,1227,1231,1235,1239,1243,1247,1251],{"type":31,"tagName":166,"properties":1215,"children":1216},{"style":963},[1217],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":1219,"children":1220},{"style":629},[1221],{"type":27,"value":1222}," dayIndex",{"type":31,"tagName":166,"properties":1224,"children":1225},{"style":635},[1226],{"type":27,"value":638},{"type":31,"tagName":166,"properties":1228,"children":1229},{"style":1021},[1230],{"type":27,"value":1024},{"type":31,"tagName":166,"properties":1232,"children":1233},{"style":963},[1234],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1236,"children":1237},{"style":629},[1238],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1240,"children":1241},{"style":635},[1242],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":1244,"children":1245},{"style":963},[1246],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1248,"children":1249},{"style":629},[1250],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1252,"children":1253},{"style":635},[1254],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1257,"children":1258},{"class":168},[1259,1263,1268,1272,1276,1281],{"type":31,"tagName":166,"properties":1260,"children":1261},{"style":963},[1262],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":1264,"children":1265},{"style":635},[1266],{"type":27,"value":1267}," t ",{"type":31,"tagName":166,"properties":1269,"children":1270},{"style":963},[1271],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1273,"children":1274},{"style":652},[1275],{"type":27,"value":971},{"type":31,"tagName":166,"properties":1277,"children":1278},{"style":635},[1279],{"type":27,"value":1280},"; ",{"type":31,"tagName":166,"properties":1282,"children":1283},{"style":619},[1284],{"type":27,"value":1285},"// days since 1970-01-01",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1288,"children":1289},{"class":168},[1290],{"type":31,"tagName":166,"properties":1291,"children":1292},{"style":635},[1293],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1296,"children":1297},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1300,"children":1301},{"class":168},[1302,1306,1311,1315,1319,1323,1327,1331,1335,1339],{"type":31,"tagName":166,"properties":1303,"children":1304},{"style":963},[1305],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":1307,"children":1308},{"style":629},[1309],{"type":27,"value":1310}," dayOfWeek",{"type":31,"tagName":166,"properties":1312,"children":1313},{"style":635},[1314],{"type":27,"value":638},{"type":31,"tagName":166,"properties":1316,"children":1317},{"style":1021},[1318],{"type":27,"value":1024},{"type":31,"tagName":166,"properties":1320,"children":1321},{"style":963},[1322],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1324,"children":1325},{"style":629},[1326],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1328,"children":1329},{"style":635},[1330],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":1332,"children":1333},{"style":963},[1334],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1336,"children":1337},{"style":629},[1338],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1340,"children":1341},{"style":635},[1342],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1345,"children":1346},{"class":168},[1347,1351,1355,1360,1365,1370,1375,1380,1384,1388,1393,1398],{"type":31,"tagName":166,"properties":1348,"children":1349},{"style":963},[1350],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":1352,"children":1353},{"style":629},[1354],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1356,"children":1357},{"style":635},[1358],{"type":27,"value":1359},"((",{"type":31,"tagName":166,"properties":1361,"children":1362},{"style":629},[1363],{"type":27,"value":1364},"dayIndex",{"type":31,"tagName":166,"properties":1366,"children":1367},{"style":635},[1368],{"type":27,"value":1369},"(t) ",{"type":31,"tagName":166,"properties":1371,"children":1372},{"style":963},[1373],{"type":27,"value":1374},"+",{"type":31,"tagName":166,"properties":1376,"children":1377},{"style":652},[1378],{"type":27,"value":1379}," 4",{"type":31,"tagName":166,"properties":1381,"children":1382},{"style":635},[1383],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":1385,"children":1386},{"style":963},[1387],{"type":27,"value":1074},{"type":31,"tagName":166,"properties":1389,"children":1390},{"style":652},[1391],{"type":27,"value":1392}," 7",{"type":31,"tagName":166,"properties":1394,"children":1395},{"style":635},[1396],{"type":27,"value":1397},"); ",{"type":31,"tagName":166,"properties":1399,"children":1400},{"style":619},[1401],{"type":27,"value":1402},"// 1970-01-01 was a Thursday: 0 Sunday .. 6 Saturday",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1405,"children":1406},{"class":168},[1407],{"type":31,"tagName":166,"properties":1408,"children":1409},{"style":635},[1410],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1413,"children":1414},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1417,"children":1418},{"class":168},[1419],{"type":31,"tagName":166,"properties":1420,"children":1421},{"style":619},[1422],{"type":27,"value":1423},"// Civil date from a day index (integer math only; exact for every date after 1970).",{"type":27,"value":28},{"type":31,"tagName":166,"properties":1426,"children":1427},{"class":168},[1428,1433,1438,1442,1446,1450,1455],{"type":31,"tagName":166,"properties":1429,"children":1430},{"style":963},[1431],{"type":27,"value":1432},"let",{"type":31,"tagName":166,"properties":1434,"children":1435},{"style":635},[1436],{"type":27,"value":1437}," civilYear",{"type":31,"tagName":166,"properties":1439,"children":1440},{"style":963},[1441],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1443,"children":1444},{"style":629},[1445],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1447,"children":1448},{"style":963},[1449],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1451,"children":1452},{"style":652},[1453],{"type":27,"value":1454}," 0",{"type":31,"tagName":166,"properties":1456,"children":1457},{"style":635},[1458],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1461,"children":1462},{"class":168},[1463,1467,1472,1476,1480,1484,1488],{"type":31,"tagName":166,"properties":1464,"children":1465},{"style":963},[1466],{"type":27,"value":1432},{"type":31,"tagName":166,"properties":1468,"children":1469},{"style":635},[1470],{"type":27,"value":1471}," civilMonth",{"type":31,"tagName":166,"properties":1473,"children":1474},{"style":963},[1475],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1477,"children":1478},{"style":629},[1479],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1481,"children":1482},{"style":963},[1483],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1485,"children":1486},{"style":652},[1487],{"type":27,"value":1454},{"type":31,"tagName":166,"properties":1489,"children":1490},{"style":635},[1491],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1494,"children":1495},{"class":168},[1496,1500,1505,1509,1513,1517,1521],{"type":31,"tagName":166,"properties":1497,"children":1498},{"style":963},[1499],{"type":27,"value":1432},{"type":31,"tagName":166,"properties":1501,"children":1502},{"style":635},[1503],{"type":27,"value":1504}," civilDay",{"type":31,"tagName":166,"properties":1506,"children":1507},{"style":963},[1508],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1510,"children":1511},{"style":629},[1512],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":1514,"children":1515},{"style":963},[1516],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1518,"children":1519},{"style":652},[1520],{"type":27,"value":1454},{"type":31,"tagName":166,"properties":1522,"children":1523},{"style":635},[1524],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1527,"children":1528},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":1531,"children":1532},{"class":168},[1533,1537,1542,1546,1551,1555,1559,1563,1567,1572],{"type":31,"tagName":166,"properties":1534,"children":1535},{"style":963},[1536],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":1538,"children":1539},{"style":629},[1540],{"type":27,"value":1541}," civilFromDays",{"type":31,"tagName":166,"properties":1543,"children":1544},{"style":635},[1545],{"type":27,"value":638},{"type":31,"tagName":166,"properties":1547,"children":1548},{"style":1021},[1549],{"type":27,"value":1550},"days",{"type":31,"tagName":166,"properties":1552,"children":1553},{"style":963},[1554],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1556,"children":1557},{"style":629},[1558],{"type":27,"value":981},{"type":31,"tagName":166,"properties":1560,"children":1561},{"style":635},[1562],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":1564,"children":1565},{"style":963},[1566],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1568,"children":1569},{"style":652},[1570],{"type":27,"value":1571}," void",{"type":31,"tagName":166,"properties":1573,"children":1574},{"style":635},[1575],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1578,"children":1579},{"class":168},[1580,1585,1590,1594,1599,1603,1608],{"type":31,"tagName":166,"properties":1581,"children":1582},{"style":963},[1583],{"type":27,"value":1584},"  const",{"type":31,"tagName":166,"properties":1586,"children":1587},{"style":652},[1588],{"type":27,"value":1589}," z",{"type":31,"tagName":166,"properties":1591,"children":1592},{"style":963},[1593],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1595,"children":1596},{"style":635},[1597],{"type":27,"value":1598}," days ",{"type":31,"tagName":166,"properties":1600,"children":1601},{"style":963},[1602],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":1604,"children":1605},{"style":652},[1606],{"type":27,"value":1607}," 719468",{"type":31,"tagName":166,"properties":1609,"children":1610},{"style":635},[1611],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1614,"children":1615},{"class":168},[1616,1620,1625,1629,1634,1639,1643,1648,1653,1657,1661,1666,1671,1675,1679,1684],{"type":31,"tagName":166,"properties":1617,"children":1618},{"style":963},[1619],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1621,"children":1622},{"style":652},[1623],{"type":27,"value":1624}," era",{"type":31,"tagName":166,"properties":1626,"children":1627},{"style":963},[1628],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1630,"children":1631},{"style":635},[1632],{"type":27,"value":1633}," (z ",{"type":31,"tagName":166,"properties":1635,"children":1636},{"style":963},[1637],{"type":27,"value":1638},">=",{"type":31,"tagName":166,"properties":1640,"children":1641},{"style":652},[1642],{"type":27,"value":1454},{"type":31,"tagName":166,"properties":1644,"children":1645},{"style":963},[1646],{"type":27,"value":1647}," ?",{"type":31,"tagName":166,"properties":1649,"children":1650},{"style":635},[1651],{"type":27,"value":1652}," z ",{"type":31,"tagName":166,"properties":1654,"children":1655},{"style":963},[1656],{"type":27,"value":976},{"type":31,"tagName":166,"properties":1658,"children":1659},{"style":635},[1660],{"type":27,"value":1652},{"type":31,"tagName":166,"properties":1662,"children":1663},{"style":963},[1664],{"type":27,"value":1665},"-",{"type":31,"tagName":166,"properties":1667,"children":1668},{"style":652},[1669],{"type":27,"value":1670}," 146096",{"type":31,"tagName":166,"properties":1672,"children":1673},{"style":635},[1674],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":1676,"children":1677},{"style":963},[1678],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1680,"children":1681},{"style":652},[1682],{"type":27,"value":1683}," 146097",{"type":31,"tagName":166,"properties":1685,"children":1686},{"style":635},[1687],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1690,"children":1691},{"class":168},[1692,1696,1701,1705,1709,1713,1718,1723,1727],{"type":31,"tagName":166,"properties":1693,"children":1694},{"style":963},[1695],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1697,"children":1698},{"style":652},[1699],{"type":27,"value":1700}," doe",{"type":31,"tagName":166,"properties":1702,"children":1703},{"style":963},[1704],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1706,"children":1707},{"style":635},[1708],{"type":27,"value":1652},{"type":31,"tagName":166,"properties":1710,"children":1711},{"style":963},[1712],{"type":27,"value":1665},{"type":31,"tagName":166,"properties":1714,"children":1715},{"style":635},[1716],{"type":27,"value":1717}," era ",{"type":31,"tagName":166,"properties":1719,"children":1720},{"style":963},[1721],{"type":27,"value":1722},"*",{"type":31,"tagName":166,"properties":1724,"children":1725},{"style":652},[1726],{"type":27,"value":1683},{"type":31,"tagName":166,"properties":1728,"children":1729},{"style":635},[1730],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1733,"children":1734},{"class":168},[1735,1739,1744,1748,1753,1757,1762,1766,1771,1776,1780,1784,1789,1794,1798,1802,1806,1810,1814,1819],{"type":31,"tagName":166,"properties":1736,"children":1737},{"style":963},[1738],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1740,"children":1741},{"style":652},[1742],{"type":27,"value":1743}," yoe",{"type":31,"tagName":166,"properties":1745,"children":1746},{"style":963},[1747],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1749,"children":1750},{"style":635},[1751],{"type":27,"value":1752}," (doe ",{"type":31,"tagName":166,"properties":1754,"children":1755},{"style":963},[1756],{"type":27,"value":1665},{"type":31,"tagName":166,"properties":1758,"children":1759},{"style":635},[1760],{"type":27,"value":1761}," doe ",{"type":31,"tagName":166,"properties":1763,"children":1764},{"style":963},[1765],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1767,"children":1768},{"style":652},[1769],{"type":27,"value":1770}," 1460",{"type":31,"tagName":166,"properties":1772,"children":1773},{"style":963},[1774],{"type":27,"value":1775}," +",{"type":31,"tagName":166,"properties":1777,"children":1778},{"style":635},[1779],{"type":27,"value":1761},{"type":31,"tagName":166,"properties":1781,"children":1782},{"style":963},[1783],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1785,"children":1786},{"style":652},[1787],{"type":27,"value":1788}," 36524",{"type":31,"tagName":166,"properties":1790,"children":1791},{"style":963},[1792],{"type":27,"value":1793}," -",{"type":31,"tagName":166,"properties":1795,"children":1796},{"style":635},[1797],{"type":27,"value":1761},{"type":31,"tagName":166,"properties":1799,"children":1800},{"style":963},[1801],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1803,"children":1804},{"style":652},[1805],{"type":27,"value":1670},{"type":31,"tagName":166,"properties":1807,"children":1808},{"style":635},[1809],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":1811,"children":1812},{"style":963},[1813],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1815,"children":1816},{"style":652},[1817],{"type":27,"value":1818}," 365",{"type":31,"tagName":166,"properties":1820,"children":1821},{"style":635},[1822],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1825,"children":1826},{"class":168},[1827,1831,1836,1840,1845,1849,1853,1857,1862],{"type":31,"tagName":166,"properties":1828,"children":1829},{"style":963},[1830],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1832,"children":1833},{"style":652},[1834],{"type":27,"value":1835}," y",{"type":31,"tagName":166,"properties":1837,"children":1838},{"style":963},[1839],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1841,"children":1842},{"style":635},[1843],{"type":27,"value":1844}," yoe ",{"type":31,"tagName":166,"properties":1846,"children":1847},{"style":963},[1848],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":1850,"children":1851},{"style":635},[1852],{"type":27,"value":1717},{"type":31,"tagName":166,"properties":1854,"children":1855},{"style":963},[1856],{"type":27,"value":1722},{"type":31,"tagName":166,"properties":1858,"children":1859},{"style":652},[1860],{"type":27,"value":1861}," 400",{"type":31,"tagName":166,"properties":1863,"children":1864},{"style":635},[1865],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1868,"children":1869},{"class":168},[1870,1874,1879,1883,1887,1891,1896,1901,1906,1910,1914,1918,1922,1926,1930,1934,1938,1943],{"type":31,"tagName":166,"properties":1871,"children":1872},{"style":963},[1873],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1875,"children":1876},{"style":652},[1877],{"type":27,"value":1878}," doy",{"type":31,"tagName":166,"properties":1880,"children":1881},{"style":963},[1882],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1884,"children":1885},{"style":635},[1886],{"type":27,"value":1761},{"type":31,"tagName":166,"properties":1888,"children":1889},{"style":963},[1890],{"type":27,"value":1665},{"type":31,"tagName":166,"properties":1892,"children":1893},{"style":635},[1894],{"type":27,"value":1895}," (",{"type":31,"tagName":166,"properties":1897,"children":1898},{"style":652},[1899],{"type":27,"value":1900},"365",{"type":31,"tagName":166,"properties":1902,"children":1903},{"style":963},[1904],{"type":27,"value":1905}," *",{"type":31,"tagName":166,"properties":1907,"children":1908},{"style":635},[1909],{"type":27,"value":1844},{"type":31,"tagName":166,"properties":1911,"children":1912},{"style":963},[1913],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":1915,"children":1916},{"style":635},[1917],{"type":27,"value":1844},{"type":31,"tagName":166,"properties":1919,"children":1920},{"style":963},[1921],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1923,"children":1924},{"style":652},[1925],{"type":27,"value":1379},{"type":31,"tagName":166,"properties":1927,"children":1928},{"style":963},[1929],{"type":27,"value":1793},{"type":31,"tagName":166,"properties":1931,"children":1932},{"style":635},[1933],{"type":27,"value":1844},{"type":31,"tagName":166,"properties":1935,"children":1936},{"style":963},[1937],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":1939,"children":1940},{"style":652},[1941],{"type":27,"value":1942}," 100",{"type":31,"tagName":166,"properties":1944,"children":1945},{"style":635},[1946],{"type":27,"value":1098},{"type":27,"value":28},{"type":31,"tagName":166,"properties":1949,"children":1950},{"class":168},[1951,1955,1960,1964,1968,1973,1977,1982,1986,1991,1995,1999,2004],{"type":31,"tagName":166,"properties":1952,"children":1953},{"style":963},[1954],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":1956,"children":1957},{"style":652},[1958],{"type":27,"value":1959}," mp",{"type":31,"tagName":166,"properties":1961,"children":1962},{"style":963},[1963],{"type":27,"value":986},{"type":31,"tagName":166,"properties":1965,"children":1966},{"style":635},[1967],{"type":27,"value":1895},{"type":31,"tagName":166,"properties":1969,"children":1970},{"style":652},[1971],{"type":27,"value":1972},"5",{"type":31,"tagName":166,"properties":1974,"children":1975},{"style":963},[1976],{"type":27,"value":1905},{"type":31,"tagName":166,"properties":1978,"children":1979},{"style":635},[1980],{"type":27,"value":1981}," doy ",{"type":31,"tagName":166,"properties":1983,"children":1984},{"style":963},[1985],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":1987,"children":1988},{"style":652},[1989],{"type":27,"value":1990}," 2",{"type":31,"tagName":166,"properties":1992,"children":1993},{"style":635},[1994],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":1996,"children":1997},{"style":963},[1998],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":2000,"children":2001},{"style":652},[2002],{"type":27,"value":2003}," 153",{"type":31,"tagName":166,"properties":2005,"children":2006},{"style":635},[2007],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2010,"children":2011},{"class":168},[2012,2016,2021,2025,2029,2033,2037,2042,2046,2051,2055,2059,2063,2067,2072,2076,2081],{"type":31,"tagName":166,"properties":2013,"children":2014},{"style":963},[2015],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2017,"children":2018},{"style":652},[2019],{"type":27,"value":2020}," d",{"type":31,"tagName":166,"properties":2022,"children":2023},{"style":963},[2024],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2026,"children":2027},{"style":635},[2028],{"type":27,"value":1981},{"type":31,"tagName":166,"properties":2030,"children":2031},{"style":963},[2032],{"type":27,"value":1665},{"type":31,"tagName":166,"properties":2034,"children":2035},{"style":635},[2036],{"type":27,"value":1895},{"type":31,"tagName":166,"properties":2038,"children":2039},{"style":652},[2040],{"type":27,"value":2041},"153",{"type":31,"tagName":166,"properties":2043,"children":2044},{"style":963},[2045],{"type":27,"value":1905},{"type":31,"tagName":166,"properties":2047,"children":2048},{"style":635},[2049],{"type":27,"value":2050}," mp ",{"type":31,"tagName":166,"properties":2052,"children":2053},{"style":963},[2054],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":2056,"children":2057},{"style":652},[2058],{"type":27,"value":1990},{"type":31,"tagName":166,"properties":2060,"children":2061},{"style":635},[2062],{"type":27,"value":1083},{"type":31,"tagName":166,"properties":2064,"children":2065},{"style":963},[2066],{"type":27,"value":1088},{"type":31,"tagName":166,"properties":2068,"children":2069},{"style":652},[2070],{"type":27,"value":2071}," 5",{"type":31,"tagName":166,"properties":2073,"children":2074},{"style":963},[2075],{"type":27,"value":1775},{"type":31,"tagName":166,"properties":2077,"children":2078},{"style":652},[2079],{"type":27,"value":2080}," 1",{"type":31,"tagName":166,"properties":2082,"children":2083},{"style":635},[2084],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2087,"children":2088},{"class":168},[2089,2093,2098,2102,2106,2111,2116,2120,2124,2128,2133,2138,2142,2146,2151],{"type":31,"tagName":166,"properties":2090,"children":2091},{"style":963},[2092],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2094,"children":2095},{"style":652},[2096],{"type":27,"value":2097}," m",{"type":31,"tagName":166,"properties":2099,"children":2100},{"style":963},[2101],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2103,"children":2104},{"style":635},[2105],{"type":27,"value":2050},{"type":31,"tagName":166,"properties":2107,"children":2108},{"style":963},[2109],{"type":27,"value":2110},"\u003C",{"type":31,"tagName":166,"properties":2112,"children":2113},{"style":652},[2114],{"type":27,"value":2115}," 10",{"type":31,"tagName":166,"properties":2117,"children":2118},{"style":963},[2119],{"type":27,"value":1647},{"type":31,"tagName":166,"properties":2121,"children":2122},{"style":635},[2123],{"type":27,"value":2050},{"type":31,"tagName":166,"properties":2125,"children":2126},{"style":963},[2127],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":2129,"children":2130},{"style":652},[2131],{"type":27,"value":2132}," 3",{"type":31,"tagName":166,"properties":2134,"children":2135},{"style":963},[2136],{"type":27,"value":2137}," :",{"type":31,"tagName":166,"properties":2139,"children":2140},{"style":635},[2141],{"type":27,"value":2050},{"type":31,"tagName":166,"properties":2143,"children":2144},{"style":963},[2145],{"type":27,"value":1665},{"type":31,"tagName":166,"properties":2147,"children":2148},{"style":652},[2149],{"type":27,"value":2150}," 9",{"type":31,"tagName":166,"properties":2152,"children":2153},{"style":635},[2154],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2157,"children":2158},{"class":168},[2159,2164,2169,2173,2178,2183,2187,2191,2196,2200,2204,2208],{"type":31,"tagName":166,"properties":2160,"children":2161},{"style":635},[2162],{"type":27,"value":2163},"  civilYear ",{"type":31,"tagName":166,"properties":2165,"children":2166},{"style":963},[2167],{"type":27,"value":2168},"=",{"type":31,"tagName":166,"properties":2170,"children":2171},{"style":629},[2172],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2174,"children":2175},{"style":635},[2176],{"type":27,"value":2177},"(m ",{"type":31,"tagName":166,"properties":2179,"children":2180},{"style":963},[2181],{"type":27,"value":2182},"\u003C=",{"type":31,"tagName":166,"properties":2184,"children":2185},{"style":652},[2186],{"type":27,"value":1990},{"type":31,"tagName":166,"properties":2188,"children":2189},{"style":963},[2190],{"type":27,"value":1647},{"type":31,"tagName":166,"properties":2192,"children":2193},{"style":635},[2194],{"type":27,"value":2195}," y ",{"type":31,"tagName":166,"properties":2197,"children":2198},{"style":963},[2199],{"type":27,"value":1374},{"type":31,"tagName":166,"properties":2201,"children":2202},{"style":652},[2203],{"type":27,"value":2080},{"type":31,"tagName":166,"properties":2205,"children":2206},{"style":963},[2207],{"type":27,"value":2137},{"type":31,"tagName":166,"properties":2209,"children":2210},{"style":635},[2211],{"type":27,"value":2212}," y);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2215,"children":2216},{"class":168},[2217,2222,2226,2230],{"type":31,"tagName":166,"properties":2218,"children":2219},{"style":635},[2220],{"type":27,"value":2221},"  civilMonth ",{"type":31,"tagName":166,"properties":2223,"children":2224},{"style":963},[2225],{"type":27,"value":2168},{"type":31,"tagName":166,"properties":2227,"children":2228},{"style":629},[2229],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2231,"children":2232},{"style":635},[2233],{"type":27,"value":2234},"(m);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2237,"children":2238},{"class":168},[2239,2244,2248,2252],{"type":31,"tagName":166,"properties":2240,"children":2241},{"style":635},[2242],{"type":27,"value":2243},"  civilDay ",{"type":31,"tagName":166,"properties":2245,"children":2246},{"style":963},[2247],{"type":27,"value":2168},{"type":31,"tagName":166,"properties":2249,"children":2250},{"style":629},[2251],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2253,"children":2254},{"style":635},[2255],{"type":27,"value":2256},"(d);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2259,"children":2260},{"class":168},[2261],{"type":31,"tagName":166,"properties":2262,"children":2263},{"style":635},[2264],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2267,"children":2268},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":2271,"children":2272},{"class":168},[2273],{"type":31,"tagName":166,"properties":2274,"children":2275},{"style":619},[2276],{"type":27,"value":2277},"// ---- Sessions (UTC). Edit the boundaries to taste; they are ordinary comparisons. ----",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2280,"children":2281},{"class":168},[2282,2286,2291,2295,2300,2304,2308,2312,2316,2321],{"type":31,"tagName":166,"properties":2283,"children":2284},{"style":963},[2285],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":2287,"children":2288},{"style":629},[2289],{"type":27,"value":2290}," isAsianSession",{"type":31,"tagName":166,"properties":2292,"children":2293},{"style":635},[2294],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2296,"children":2297},{"style":1021},[2298],{"type":27,"value":2299},"h",{"type":31,"tagName":166,"properties":2301,"children":2302},{"style":963},[2303],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2305,"children":2306},{"style":629},[2307],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2309,"children":2310},{"style":635},[2311],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":2313,"children":2314},{"style":963},[2315],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2317,"children":2318},{"style":629},[2319],{"type":27,"value":2320}," bool",{"type":31,"tagName":166,"properties":2322,"children":2323},{"style":635},[2324],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2327,"children":2328},{"class":168},[2329,2333,2338,2342,2346,2351,2355,2359,2364],{"type":31,"tagName":166,"properties":2330,"children":2331},{"style":963},[2332],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":2334,"children":2335},{"style":635},[2336],{"type":27,"value":2337}," h ",{"type":31,"tagName":166,"properties":2339,"children":2340},{"style":963},[2341],{"type":27,"value":1638},{"type":31,"tagName":166,"properties":2343,"children":2344},{"style":652},[2345],{"type":27,"value":1454},{"type":31,"tagName":166,"properties":2347,"children":2348},{"style":963},[2349],{"type":27,"value":2350}," &&",{"type":31,"tagName":166,"properties":2352,"children":2353},{"style":635},[2354],{"type":27,"value":2337},{"type":31,"tagName":166,"properties":2356,"children":2357},{"style":963},[2358],{"type":27,"value":2110},{"type":31,"tagName":166,"properties":2360,"children":2361},{"style":652},[2362],{"type":27,"value":2363}," 8",{"type":31,"tagName":166,"properties":2365,"children":2366},{"style":635},[2367],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2370,"children":2371},{"class":168},[2372],{"type":31,"tagName":166,"properties":2373,"children":2374},{"style":635},[2375],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2378,"children":2379},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":2382,"children":2383},{"class":168},[2384,2388,2393,2397,2401,2405,2409,2413,2417,2421],{"type":31,"tagName":166,"properties":2385,"children":2386},{"style":963},[2387],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":2389,"children":2390},{"style":629},[2391],{"type":27,"value":2392}," isEuropeanSession",{"type":31,"tagName":166,"properties":2394,"children":2395},{"style":635},[2396],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2398,"children":2399},{"style":1021},[2400],{"type":27,"value":2299},{"type":31,"tagName":166,"properties":2402,"children":2403},{"style":963},[2404],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2406,"children":2407},{"style":629},[2408],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2410,"children":2411},{"style":635},[2412],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":2414,"children":2415},{"style":963},[2416],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2418,"children":2419},{"style":629},[2420],{"type":27,"value":2320},{"type":31,"tagName":166,"properties":2422,"children":2423},{"style":635},[2424],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2427,"children":2428},{"class":168},[2429,2433,2437,2441,2445,2449,2453,2457,2462],{"type":31,"tagName":166,"properties":2430,"children":2431},{"style":963},[2432],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":2434,"children":2435},{"style":635},[2436],{"type":27,"value":2337},{"type":31,"tagName":166,"properties":2438,"children":2439},{"style":963},[2440],{"type":27,"value":1638},{"type":31,"tagName":166,"properties":2442,"children":2443},{"style":652},[2444],{"type":27,"value":1392},{"type":31,"tagName":166,"properties":2446,"children":2447},{"style":963},[2448],{"type":27,"value":2350},{"type":31,"tagName":166,"properties":2450,"children":2451},{"style":635},[2452],{"type":27,"value":2337},{"type":31,"tagName":166,"properties":2454,"children":2455},{"style":963},[2456],{"type":27,"value":2110},{"type":31,"tagName":166,"properties":2458,"children":2459},{"style":652},[2460],{"type":27,"value":2461}," 16",{"type":31,"tagName":166,"properties":2463,"children":2464},{"style":635},[2465],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2468,"children":2469},{"class":168},[2470],{"type":31,"tagName":166,"properties":2471,"children":2472},{"style":635},[2473],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2476,"children":2477},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":2480,"children":2481},{"class":168},[2482,2486,2491,2495,2499,2503,2507,2511,2515,2519],{"type":31,"tagName":166,"properties":2483,"children":2484},{"style":963},[2485],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":2487,"children":2488},{"style":629},[2489],{"type":27,"value":2490}," isAmericanSession",{"type":31,"tagName":166,"properties":2492,"children":2493},{"style":635},[2494],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2496,"children":2497},{"style":1021},[2498],{"type":27,"value":2299},{"type":31,"tagName":166,"properties":2500,"children":2501},{"style":963},[2502],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2504,"children":2505},{"style":629},[2506],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2508,"children":2509},{"style":635},[2510],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":2512,"children":2513},{"style":963},[2514],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2516,"children":2517},{"style":629},[2518],{"type":27,"value":2320},{"type":31,"tagName":166,"properties":2520,"children":2521},{"style":635},[2522],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2525,"children":2526},{"class":168},[2527,2531,2535,2539,2544,2548,2552,2556,2561],{"type":31,"tagName":166,"properties":2528,"children":2529},{"style":963},[2530],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":2532,"children":2533},{"style":635},[2534],{"type":27,"value":2337},{"type":31,"tagName":166,"properties":2536,"children":2537},{"style":963},[2538],{"type":27,"value":1638},{"type":31,"tagName":166,"properties":2540,"children":2541},{"style":652},[2542],{"type":27,"value":2543}," 13",{"type":31,"tagName":166,"properties":2545,"children":2546},{"style":963},[2547],{"type":27,"value":2350},{"type":31,"tagName":166,"properties":2549,"children":2550},{"style":635},[2551],{"type":27,"value":2337},{"type":31,"tagName":166,"properties":2553,"children":2554},{"style":963},[2555],{"type":27,"value":2110},{"type":31,"tagName":166,"properties":2557,"children":2558},{"style":652},[2559],{"type":27,"value":2560}," 21",{"type":31,"tagName":166,"properties":2562,"children":2563},{"style":635},[2564],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2567,"children":2568},{"class":168},[2569],{"type":31,"tagName":166,"properties":2570,"children":2571},{"style":635},[2572],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2575,"children":2576},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":2579,"children":2580},{"class":168},[2581,2585,2590,2594,2598,2602,2606,2610,2614,2619],{"type":31,"tagName":166,"properties":2582,"children":2583},{"style":963},[2584],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":2586,"children":2587},{"style":629},[2588],{"type":27,"value":2589}," currentSession",{"type":31,"tagName":166,"properties":2591,"children":2592},{"style":635},[2593],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2595,"children":2596},{"style":1021},[2597],{"type":27,"value":2299},{"type":31,"tagName":166,"properties":2599,"children":2600},{"style":963},[2601],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2603,"children":2604},{"style":629},[2605],{"type":27,"value":1046},{"type":31,"tagName":166,"properties":2607,"children":2608},{"style":635},[2609],{"type":27,"value":1037},{"type":31,"tagName":166,"properties":2611,"children":2612},{"style":963},[2613],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2615,"children":2616},{"style":629},[2617],{"type":27,"value":2618}," f64",{"type":31,"tagName":166,"properties":2620,"children":2621},{"style":635},[2622],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2625,"children":2626},{"class":168},[2627,2632,2636,2641,2646,2651,2656,2660],{"type":31,"tagName":166,"properties":2628,"children":2629},{"style":963},[2630],{"type":27,"value":2631},"  if",{"type":31,"tagName":166,"properties":2633,"children":2634},{"style":635},[2635],{"type":27,"value":1895},{"type":31,"tagName":166,"properties":2637,"children":2638},{"style":629},[2639],{"type":27,"value":2640},"isAmericanSession",{"type":31,"tagName":166,"properties":2642,"children":2643},{"style":635},[2644],{"type":27,"value":2645},"(h)) ",{"type":31,"tagName":166,"properties":2647,"children":2648},{"style":963},[2649],{"type":27,"value":2650},"return",{"type":31,"tagName":166,"properties":2652,"children":2653},{"style":652},[2654],{"type":27,"value":2655}," 3.0",{"type":31,"tagName":166,"properties":2657,"children":2658},{"style":635},[2659],{"type":27,"value":1280},{"type":31,"tagName":166,"properties":2661,"children":2662},{"style":619},[2663],{"type":27,"value":2664},"// overlaps resolve to the later session",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2667,"children":2668},{"class":168},[2669,2673,2677,2682,2686,2690,2695],{"type":31,"tagName":166,"properties":2670,"children":2671},{"style":963},[2672],{"type":27,"value":2631},{"type":31,"tagName":166,"properties":2674,"children":2675},{"style":635},[2676],{"type":27,"value":1895},{"type":31,"tagName":166,"properties":2678,"children":2679},{"style":629},[2680],{"type":27,"value":2681},"isEuropeanSession",{"type":31,"tagName":166,"properties":2683,"children":2684},{"style":635},[2685],{"type":27,"value":2645},{"type":31,"tagName":166,"properties":2687,"children":2688},{"style":963},[2689],{"type":27,"value":2650},{"type":31,"tagName":166,"properties":2691,"children":2692},{"style":652},[2693],{"type":27,"value":2694}," 2.0",{"type":31,"tagName":166,"properties":2696,"children":2697},{"style":635},[2698],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2701,"children":2702},{"class":168},[2703,2707,2711,2716,2720,2724,2729],{"type":31,"tagName":166,"properties":2704,"children":2705},{"style":963},[2706],{"type":27,"value":2631},{"type":31,"tagName":166,"properties":2708,"children":2709},{"style":635},[2710],{"type":27,"value":1895},{"type":31,"tagName":166,"properties":2712,"children":2713},{"style":629},[2714],{"type":27,"value":2715},"isAsianSession",{"type":31,"tagName":166,"properties":2717,"children":2718},{"style":635},[2719],{"type":27,"value":2645},{"type":31,"tagName":166,"properties":2721,"children":2722},{"style":963},[2723],{"type":27,"value":2650},{"type":31,"tagName":166,"properties":2725,"children":2726},{"style":652},[2727],{"type":27,"value":2728}," 1.0",{"type":31,"tagName":166,"properties":2730,"children":2731},{"style":635},[2732],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2735,"children":2736},{"class":168},[2737,2741,2746],{"type":31,"tagName":166,"properties":2738,"children":2739},{"style":963},[2740],{"type":27,"value":1060},{"type":31,"tagName":166,"properties":2742,"children":2743},{"style":652},[2744],{"type":27,"value":2745}," 0.0",{"type":31,"tagName":166,"properties":2747,"children":2748},{"style":635},[2749],{"type":27,"value":996},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2752,"children":2753},{"class":168},[2754],{"type":31,"tagName":166,"properties":2755,"children":2756},{"style":635},[2757],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2760,"children":2761},{"class":168},[],{"type":27,"value":28},{"type":31,"tagName":166,"properties":2764,"children":2765},{"class":168},[2766,2770,2775,2780,2784,2788],{"type":31,"tagName":166,"properties":2767,"children":2768},{"style":963},[2769],{"type":27,"value":1009},{"type":31,"tagName":166,"properties":2771,"children":2772},{"style":629},[2773],{"type":27,"value":2774}," onBar",{"type":31,"tagName":166,"properties":2776,"children":2777},{"style":635},[2778],{"type":27,"value":2779},"()",{"type":31,"tagName":166,"properties":2781,"children":2782},{"style":963},[2783],{"type":27,"value":976},{"type":31,"tagName":166,"properties":2785,"children":2786},{"style":652},[2787],{"type":27,"value":1571},{"type":31,"tagName":166,"properties":2789,"children":2790},{"style":635},[2791],{"type":27,"value":1051},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2794,"children":2795},{"class":168},[2796,2800,2805,2809,2813,2818,2822],{"type":31,"tagName":166,"properties":2797,"children":2798},{"style":963},[2799],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2801,"children":2802},{"style":652},[2803],{"type":27,"value":2804}," t",{"type":31,"tagName":166,"properties":2806,"children":2807},{"style":963},[2808],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2810,"children":2811},{"style":629},[2812],{"type":27,"value":981},{"type":31,"tagName":166,"properties":2814,"children":2815},{"style":635},[2816],{"type":27,"value":2817},"(bar.",{"type":31,"tagName":166,"properties":2819,"children":2820},{"style":629},[2821],{"type":27,"value":49},{"type":31,"tagName":166,"properties":2823,"children":2824},{"style":635},[2825],{"type":27,"value":2826},"());",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2829,"children":2830},{"class":168},[2831,2835,2840,2844,2848],{"type":31,"tagName":166,"properties":2832,"children":2833},{"style":963},[2834],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2836,"children":2837},{"style":652},[2838],{"type":27,"value":2839}," hour",{"type":31,"tagName":166,"properties":2841,"children":2842},{"style":963},[2843],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2845,"children":2846},{"style":629},[2847],{"type":27,"value":1014},{"type":31,"tagName":166,"properties":2849,"children":2850},{"style":635},[2851],{"type":27,"value":2852},"(t);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2855,"children":2856},{"class":168},[2857,2861,2866,2870,2874],{"type":31,"tagName":166,"properties":2858,"children":2859},{"style":963},[2860],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2862,"children":2863},{"style":652},[2864],{"type":27,"value":2865}," dow",{"type":31,"tagName":166,"properties":2867,"children":2868},{"style":963},[2869],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2871,"children":2872},{"style":629},[2873],{"type":27,"value":1310},{"type":31,"tagName":166,"properties":2875,"children":2876},{"style":635},[2877],{"type":27,"value":2852},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2880,"children":2881},{"class":168},[2882,2887,2891,2895],{"type":31,"tagName":166,"properties":2883,"children":2884},{"style":629},[2885],{"type":27,"value":2886},"  civilFromDays",{"type":31,"tagName":166,"properties":2888,"children":2889},{"style":635},[2890],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2892,"children":2893},{"style":629},[2894],{"type":27,"value":1364},{"type":31,"tagName":166,"properties":2896,"children":2897},{"style":635},[2898],{"type":27,"value":2899},"(t));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2902,"children":2903},{"class":168},[2904,2908,2913,2917,2921],{"type":31,"tagName":166,"properties":2905,"children":2906},{"style":963},[2907],{"type":27,"value":1584},{"type":31,"tagName":166,"properties":2909,"children":2910},{"style":652},[2911],{"type":27,"value":2912}," session",{"type":31,"tagName":166,"properties":2914,"children":2915},{"style":963},[2916],{"type":27,"value":986},{"type":31,"tagName":166,"properties":2918,"children":2919},{"style":629},[2920],{"type":27,"value":2589},{"type":31,"tagName":166,"properties":2922,"children":2923},{"style":635},[2924],{"type":27,"value":2925},"(hour);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2928,"children":2929},{"class":168},[2930,2935,2939,2944],{"type":31,"tagName":166,"properties":2931,"children":2932},{"style":629},[2933],{"type":27,"value":2934},"  out_close",{"type":31,"tagName":166,"properties":2936,"children":2937},{"style":635},[2938],{"type":27,"value":2817},{"type":31,"tagName":166,"properties":2940,"children":2941},{"style":629},[2942],{"type":27,"value":2943},"close",{"type":31,"tagName":166,"properties":2945,"children":2946},{"style":635},[2947],{"type":27,"value":2826},{"type":27,"value":28},{"type":31,"tagName":166,"properties":2950,"children":2951},{"class":168},[2952,2957],{"type":31,"tagName":166,"properties":2953,"children":2954},{"style":629},[2955],{"type":27,"value":2956},"  out_session",{"type":31,"tagName":166,"properties":2958,"children":2959},{"style":635},[2960],{"type":27,"value":2961},"(session);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2964,"children":2965},{"class":168},[2966,2971,2975,2980],{"type":31,"tagName":166,"properties":2967,"children":2968},{"style":629},[2969],{"type":27,"value":2970},"  out_hour",{"type":31,"tagName":166,"properties":2972,"children":2973},{"style":635},[2974],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2976,"children":2977},{"style":629},[2978],{"type":27,"value":2979},"f64",{"type":31,"tagName":166,"properties":2981,"children":2982},{"style":635},[2983],{"type":27,"value":2984},"(hour));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":2987,"children":2988},{"class":168},[2989,2994,2998,3002],{"type":31,"tagName":166,"properties":2990,"children":2991},{"style":629},[2992],{"type":27,"value":2993},"  out_day_of_week",{"type":31,"tagName":166,"properties":2995,"children":2996},{"style":635},[2997],{"type":27,"value":638},{"type":31,"tagName":166,"properties":2999,"children":3000},{"style":629},[3001],{"type":27,"value":2979},{"type":31,"tagName":166,"properties":3003,"children":3004},{"style":635},[3005],{"type":27,"value":3006},"(dow));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":3009,"children":3010},{"class":168},[3011,3016,3020,3024],{"type":31,"tagName":166,"properties":3012,"children":3013},{"style":629},[3014],{"type":27,"value":3015},"  out_day_of_month",{"type":31,"tagName":166,"properties":3017,"children":3018},{"style":635},[3019],{"type":27,"value":638},{"type":31,"tagName":166,"properties":3021,"children":3022},{"style":629},[3023],{"type":27,"value":2979},{"type":31,"tagName":166,"properties":3025,"children":3026},{"style":635},[3027],{"type":27,"value":3028},"(civilDay));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":3031,"children":3032},{"class":168},[3033,3038,3042,3046],{"type":31,"tagName":166,"properties":3034,"children":3035},{"style":629},[3036],{"type":27,"value":3037},"  out_month",{"type":31,"tagName":166,"properties":3039,"children":3040},{"style":635},[3041],{"type":27,"value":638},{"type":31,"tagName":166,"properties":3043,"children":3044},{"style":629},[3045],{"type":27,"value":2979},{"type":31,"tagName":166,"properties":3047,"children":3048},{"style":635},[3049],{"type":27,"value":3050},"(civilMonth));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":3053,"children":3054},{"class":168},[3055,3060,3064,3068],{"type":31,"tagName":166,"properties":3056,"children":3057},{"style":629},[3058],{"type":27,"value":3059},"  out_year",{"type":31,"tagName":166,"properties":3061,"children":3062},{"style":635},[3063],{"type":27,"value":638},{"type":31,"tagName":166,"properties":3065,"children":3066},{"style":629},[3067],{"type":27,"value":2979},{"type":31,"tagName":166,"properties":3069,"children":3070},{"style":635},[3071],{"type":27,"value":3072},"(civilYear));",{"type":27,"value":28},{"type":31,"tagName":166,"properties":3075,"children":3076},{"class":168},[3077],{"type":31,"tagName":166,"properties":3078,"children":3079},{"style":635},[3080],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3083,"children":3084,"position":3133},{},[3085,3094,3106,3113,3125],{"type":27,"value":3086,"position":3087},"Each session predicate is a plain ",{"start":3088,"end":3091},{"line":3089,"column":21,"offset":3090},148,6070,{"line":3089,"column":3092,"offset":3093},35,6104,{"type":31,"tagName":45,"properties":3095,"children":3096,"position":3103},{},[3097],{"type":27,"value":3098,"position":3099},"bool",{"start":3100,"end":3101},{"line":3089,"column":3092,"offset":3093},{"line":3089,"column":370,"offset":3102},6110,{"start":3104,"end":3105},{"line":3089,"column":3092,"offset":3093},{"line":3089,"column":370,"offset":3102},{"type":27,"value":3107,"position":3108}," over the hour, so it drops\nstraight into an ",{"start":3109,"end":3110},{"line":3089,"column":370,"offset":3102},{"line":3111,"column":145,"offset":3112},149,6155,{"type":31,"tagName":45,"properties":3114,"children":3115,"position":3122},{},[3116],{"type":27,"value":3117,"position":3118},"if",{"start":3119,"end":3120},{"line":3111,"column":145,"offset":3112},{"line":3111,"column":501,"offset":3121},6159,{"start":3123,"end":3124},{"line":3111,"column":145,"offset":3112},{"line":3111,"column":501,"offset":3121},{"type":27,"value":3126,"position":3127}," or a gate. The close line picks up a blue, amber, or\ngreen tint depending on which session the bar opened in, and the lower\npane shows the raw clock values so you can check them against the axis.",{"start":3128,"end":3129},{"line":3111,"column":501,"offset":3121},{"line":3130,"column":3131,"offset":3132},151,72,6355,{"start":3134,"end":3135},{"line":3089,"column":21,"offset":3090},{"line":3130,"column":3131,"offset":3132},{"type":27,"value":28},{"type":31,"tagName":118,"properties":3138,"children":3139,"position":3148},{},[3140],{"type":27,"value":3141,"position":3142},"Function reference",{"start":3143,"end":3146},{"line":3144,"column":126,"offset":3145},153,6360,{"line":3144,"column":501,"offset":3147},6378,{"start":3149,"end":3151},{"line":3144,"column":21,"offset":3150},6357,{"line":3144,"column":501,"offset":3147},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3154,"children":3155,"position":3203},{},[3156,3164,3175,3182,3197],{"type":27,"value":3157,"position":3158},"Every helper takes the bar's open time as an ",{"start":3159,"end":3162},{"line":3160,"column":21,"offset":3161},155,6380,{"line":3160,"column":558,"offset":3163},6425,{"type":31,"tagName":45,"properties":3165,"children":3166,"position":3172},{},[3167],{"type":27,"value":252,"position":3168},{"start":3169,"end":3170},{"line":3160,"column":558,"offset":3163},{"line":3160,"column":64,"offset":3171},6430,{"start":3173,"end":3174},{"line":3160,"column":558,"offset":3163},{"line":3160,"column":64,"offset":3171},{"type":27,"value":3176,"position":3177}," of epoch seconds and\nreturns the value for the ",{"start":3178,"end":3179},{"line":3160,"column":64,"offset":3171},{"line":3180,"column":245,"offset":3181},156,6478,{"type":31,"tagName":202,"properties":3183,"children":3184,"position":3192},{},[3185],{"type":27,"value":3186,"position":3187},"current bar",{"start":3188,"end":3190},{"line":3180,"column":266,"offset":3189},6480,{"line":3180,"column":225,"offset":3191},6491,{"start":3193,"end":3194},{"line":3180,"column":245,"offset":3181},{"line":3180,"column":3195,"offset":3196},42,6493,{"type":27,"value":3198,"position":3199},".",{"start":3200,"end":3201},{"line":3180,"column":3195,"offset":3196},{"line":3180,"column":411,"offset":3202},6494,{"start":3204,"end":3205},{"line":3160,"column":21,"offset":3161},{"line":3180,"column":411,"offset":3202},{"type":27,"value":28},{"type":31,"tagName":3208,"properties":3209,"children":3210,"position":3219},"h3",{},[3211],{"type":27,"value":461,"position":3212},{"start":3213,"end":3216},{"line":3214,"column":39,"offset":3215},158,6500,{"line":3214,"column":3217,"offset":3218},10,6505,{"start":3220,"end":3222},{"line":3214,"column":21,"offset":3221},6496,{"line":3214,"column":3217,"offset":3218},{"type":27,"value":3224},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":3226,"properties":3227,"children":3228,"position":3765},"table",{},[3229,3273],{"type":31,"tagName":3230,"properties":3231,"children":3232,"position":3270},"thead",{},[3233],{"type":31,"tagName":3234,"properties":3235,"children":3236,"position":3267},"tr",{},[3237,3253],{"type":31,"tagName":3238,"properties":3239,"children":3240,"position":3248},"th",{},[3241],{"type":27,"value":3242,"position":3243},"Helper",{"start":3244,"end":3246},{"line":40,"column":96,"offset":3245},6509,{"line":40,"column":63,"offset":3247},6515,{"start":3249,"end":3251},{"line":40,"column":21,"offset":3250},6507,{"line":40,"column":3217,"offset":3252},6516,{"type":31,"tagName":3238,"properties":3254,"children":3255,"position":3263},{},[3256],{"type":27,"value":3257,"position":3258},"Returns",{"start":3259,"end":3261},{"line":40,"column":110,"offset":3260},6518,{"line":40,"column":318,"offset":3262},6525,{"start":3264,"end":3265},{"line":40,"column":3217,"offset":3252},{"line":40,"column":324,"offset":3266},6527,{"start":3268,"end":3269},{"line":40,"column":21,"offset":3250},{"line":40,"column":324,"offset":3266},{"start":3271,"end":3272},{"line":40,"column":21,"offset":3250},{"line":40,"column":324,"offset":3266},{"type":31,"tagName":3274,"properties":3275,"children":3276,"position":3762},"tbody",{},[3277,3349,3410,3493,3556,3662,3723],{"type":31,"tagName":3234,"properties":3278,"children":3279,"position":3346},{},[3280,3301],{"type":31,"tagName":3281,"properties":3282,"children":3283,"position":3295},"td",{},[3284],{"type":31,"tagName":45,"properties":3285,"children":3286,"position":3289},{},[3287],{"type":27,"value":3288},"hourOf(t)",{"start":3290,"end":3293},{"line":3291,"column":96,"offset":3292},162,6544,{"line":3291,"column":125,"offset":3294},6555,{"start":3296,"end":3298},{"line":3291,"column":21,"offset":3297},6542,{"line":3291,"column":3299,"offset":3300},15,6556,{"type":31,"tagName":3281,"properties":3302,"children":3303,"position":3342},{},[3304,3313,3321,3327,3336],{"type":27,"value":3305,"position":3306},"Hour of the bar, ",{"start":3307,"end":3310},{"line":3291,"column":3308,"offset":3309},17,6558,{"line":3291,"column":3311,"offset":3312},34,6575,{"type":31,"tagName":45,"properties":3314,"children":3315,"position":3317},{},[3316],{"type":27,"value":158},{"start":3318,"end":3319},{"line":3291,"column":3311,"offset":3312},{"line":3291,"column":212,"offset":3320},6578,{"type":27,"value":3322,"position":3323},"..",{"start":3324,"end":3325},{"line":3291,"column":212,"offset":3320},{"line":3291,"column":218,"offset":3326},6580,{"type":31,"tagName":45,"properties":3328,"children":3329,"position":3332},{},[3330],{"type":27,"value":3331},"23",{"start":3333,"end":3334},{"line":3291,"column":218,"offset":3326},{"line":3291,"column":411,"offset":3335},6584,{"type":27,"value":3337,"position":3338}," (UTC)",{"start":3339,"end":3340},{"line":3291,"column":411,"offset":3335},{"line":3291,"column":298,"offset":3341},6590,{"start":3343,"end":3344},{"line":3291,"column":3299,"offset":3300},{"line":3291,"column":64,"offset":3345},6592,{"start":3347,"end":3348},{"line":3291,"column":21,"offset":3297},{"line":3291,"column":64,"offset":3345},{"type":31,"tagName":3234,"properties":3350,"children":3351,"position":3407},{},[3352,3371],{"type":31,"tagName":3281,"properties":3353,"children":3354,"position":3366},{},[3355],{"type":31,"tagName":45,"properties":3356,"children":3357,"position":3360},{},[3358],{"type":27,"value":3359},"minuteOf(t)",{"start":3361,"end":3364},{"line":3362,"column":96,"offset":3363},163,6595,{"line":3362,"column":129,"offset":3365},6608,{"start":3367,"end":3369},{"line":3362,"column":21,"offset":3368},6593,{"line":3362,"column":3308,"offset":3370},6609,{"type":31,"tagName":3281,"properties":3372,"children":3373,"position":3403},{},[3374,3381,3389,3394],{"type":27,"value":3375,"position":3376},"Minute of the bar, ",{"start":3377,"end":3379},{"line":3362,"column":318,"offset":3378},6611,{"line":3362,"column":340,"offset":3380},6630,{"type":31,"tagName":45,"properties":3382,"children":3383,"position":3385},{},[3384],{"type":27,"value":158},{"start":3386,"end":3387},{"line":3362,"column":340,"offset":3380},{"line":3362,"column":370,"offset":3388},6633,{"type":27,"value":3322,"position":3390},{"start":3391,"end":3392},{"line":3362,"column":370,"offset":3388},{"line":3362,"column":411,"offset":3393},6635,{"type":31,"tagName":45,"properties":3395,"children":3396,"position":3399},{},[3397],{"type":27,"value":3398},"59",{"start":3400,"end":3401},{"line":3362,"column":411,"offset":3393},{"line":3362,"column":414,"offset":3402},6639,{"start":3404,"end":3405},{"line":3362,"column":3308,"offset":3370},{"line":3362,"column":298,"offset":3406},6641,{"start":3408,"end":3409},{"line":3362,"column":21,"offset":3368},{"line":3362,"column":298,"offset":3406},{"type":31,"tagName":3234,"properties":3411,"children":3412,"position":3490},{},[3413,3432],{"type":31,"tagName":3281,"properties":3414,"children":3415,"position":3427},{},[3416],{"type":31,"tagName":45,"properties":3417,"children":3418,"position":3421},{},[3419],{"type":27,"value":3420},"i32(t % 60)",{"start":3422,"end":3425},{"line":3423,"column":96,"offset":3424},164,6644,{"line":3423,"column":129,"offset":3426},6657,{"start":3428,"end":3430},{"line":3423,"column":21,"offset":3429},6642,{"line":3423,"column":3308,"offset":3431},6658,{"type":31,"tagName":3281,"properties":3433,"children":3434,"position":3485},{},[3435,3442,3450,3455,3463,3470,3478],{"type":27,"value":3436,"position":3437},"Second of the bar, ",{"start":3438,"end":3440},{"line":3423,"column":318,"offset":3439},6660,{"line":3423,"column":340,"offset":3441},6679,{"type":31,"tagName":45,"properties":3443,"children":3444,"position":3446},{},[3445],{"type":27,"value":158},{"start":3447,"end":3448},{"line":3423,"column":340,"offset":3441},{"line":3423,"column":370,"offset":3449},6682,{"type":27,"value":3322,"position":3451},{"start":3452,"end":3453},{"line":3423,"column":370,"offset":3449},{"line":3423,"column":411,"offset":3454},6684,{"type":31,"tagName":45,"properties":3456,"children":3457,"position":3459},{},[3458],{"type":27,"value":3398},{"start":3460,"end":3461},{"line":3423,"column":411,"offset":3454},{"line":3423,"column":414,"offset":3462},6688,{"type":27,"value":3464,"position":3465}," (always ",{"start":3466,"end":3467},{"line":3423,"column":414,"offset":3462},{"line":3423,"column":3468,"offset":3469},56,6697,{"type":31,"tagName":45,"properties":3471,"children":3472,"position":3474},{},[3473],{"type":27,"value":158},{"start":3475,"end":3476},{"line":3423,"column":3468,"offset":3469},{"line":3423,"column":42,"offset":3477},6700,{"type":27,"value":3479,"position":3480}," on candle grids)",{"start":3481,"end":3482},{"line":3423,"column":42,"offset":3477},{"line":3423,"column":3483,"offset":3484},76,6717,{"start":3486,"end":3487},{"line":3423,"column":3308,"offset":3431},{"line":3423,"column":3488,"offset":3489},78,6719,{"start":3491,"end":3492},{"line":3423,"column":21,"offset":3429},{"line":3423,"column":3488,"offset":3489},{"type":31,"tagName":3234,"properties":3494,"children":3495,"position":3553},{},[3496,3515],{"type":31,"tagName":3281,"properties":3497,"children":3498,"position":3510},{},[3499],{"type":31,"tagName":45,"properties":3500,"children":3501,"position":3504},{},[3502],{"type":27,"value":3503},"dayOfWeek(t)",{"start":3505,"end":3508},{"line":3506,"column":96,"offset":3507},165,6722,{"line":3506,"column":3308,"offset":3509},6736,{"start":3511,"end":3513},{"line":3506,"column":21,"offset":3512},6720,{"line":3506,"column":145,"offset":3514},6737,{"type":31,"tagName":3281,"properties":3516,"children":3517,"position":3549},{},[3518,3528,3534,3543],{"type":31,"tagName":45,"properties":3519,"children":3520,"position":3522},{},[3521],{"type":27,"value":158},{"start":3523,"end":3526},{"line":3506,"column":3524,"offset":3525},20,6739,{"line":3506,"column":382,"offset":3527},6742,{"type":27,"value":3529,"position":3530}," Sunday .. ",{"start":3531,"end":3532},{"line":3506,"column":382,"offset":3527},{"line":3506,"column":3311,"offset":3533},6753,{"type":31,"tagName":45,"properties":3535,"children":3536,"position":3539},{},[3537],{"type":27,"value":3538},"6",{"start":3540,"end":3541},{"line":3506,"column":3311,"offset":3533},{"line":3506,"column":212,"offset":3542},6756,{"type":27,"value":3544,"position":3545}," Saturday",{"start":3546,"end":3547},{"line":3506,"column":212,"offset":3542},{"line":3506,"column":558,"offset":3548},6765,{"start":3550,"end":3551},{"line":3506,"column":145,"offset":3514},{"line":3506,"column":434,"offset":3552},6767,{"start":3554,"end":3555},{"line":3506,"column":21,"offset":3512},{"line":3506,"column":434,"offset":3552},{"type":31,"tagName":3234,"properties":3557,"children":3558,"position":3659},{},[3559,3619],{"type":31,"tagName":3281,"properties":3560,"children":3561,"position":3614},{},[3562,3573,3579],{"type":31,"tagName":45,"properties":3563,"children":3564,"position":3567},{},[3565],{"type":27,"value":3566},"civilDay",{"start":3568,"end":3571},{"line":3569,"column":96,"offset":3570},166,6770,{"line":3569,"column":10,"offset":3572},6780,{"type":27,"value":3574,"position":3575}," after ",{"start":3576,"end":3577},{"line":3569,"column":10,"offset":3572},{"line":3569,"column":3524,"offset":3578},6787,{"type":31,"tagName":45,"properties":3580,"children":3581,"position":3610},{},[3582,3584,3588,3590,3593,3595,3598,3600,3603,3605,3608],{"type":27,"value":3583},"civil",{"type":31,"tagName":3585,"properties":3586,"children":3587},"wbr",{},[],{"type":27,"value":3589},"From",{"type":31,"tagName":3585,"properties":3591,"children":3592},{},[],{"type":27,"value":3594},"Days(",{"type":31,"tagName":3585,"properties":3596,"children":3597},{},[],{"type":27,"value":3599},"day",{"type":31,"tagName":3585,"properties":3601,"children":3602},{},[],{"type":27,"value":3604},"Index(",{"type":31,"tagName":3585,"properties":3606,"children":3607},{},[],{"type":27,"value":3609},"t))",{"start":3611,"end":3612},{"line":3569,"column":3524,"offset":3578},{"line":3569,"column":434,"offset":3613},6815,{"start":3615,"end":3617},{"line":3569,"column":21,"offset":3616},6768,{"line":3569,"column":298,"offset":3618},6816,{"type":31,"tagName":3281,"properties":3620,"children":3621,"position":3654},{},[3622,3630,3639,3645],{"type":27,"value":3623,"position":3624},"Day of the month, ",{"start":3625,"end":3627},{"line":3569,"column":64,"offset":3626},6818,{"line":3569,"column":3628,"offset":3629},69,6836,{"type":31,"tagName":45,"properties":3631,"children":3632,"position":3635},{},[3633],{"type":27,"value":3634},"1",{"start":3636,"end":3637},{"line":3569,"column":3628,"offset":3629},{"line":3569,"column":3131,"offset":3638},6839,{"type":27,"value":3322,"position":3640},{"start":3641,"end":3642},{"line":3569,"column":3131,"offset":3638},{"line":3569,"column":3643,"offset":3644},74,6841,{"type":31,"tagName":45,"properties":3646,"children":3647,"position":3650},{},[3648],{"type":27,"value":3649},"31",{"start":3651,"end":3652},{"line":3569,"column":3643,"offset":3644},{"line":3569,"column":3488,"offset":3653},6845,{"start":3655,"end":3656},{"line":3569,"column":298,"offset":3618},{"line":3569,"column":3657,"offset":3658},80,6847,{"start":3660,"end":3661},{"line":3569,"column":21,"offset":3616},{"line":3569,"column":3657,"offset":3658},{"type":31,"tagName":3234,"properties":3663,"children":3664,"position":3720},{},[3665,3684],{"type":31,"tagName":3281,"properties":3666,"children":3667,"position":3679},{},[3668],{"type":31,"tagName":45,"properties":3669,"children":3670,"position":3673},{},[3671],{"type":27,"value":3672},"civilMonth",{"start":3674,"end":3677},{"line":3675,"column":96,"offset":3676},167,6850,{"line":3675,"column":3299,"offset":3678},6862,{"start":3680,"end":3682},{"line":3675,"column":21,"offset":3681},6848,{"line":3675,"column":129,"offset":3683},6863,{"type":31,"tagName":3281,"properties":3685,"children":3686,"position":3716},{},[3687,3694,3702,3707],{"type":27,"value":3688,"position":3689},"Month, ",{"start":3690,"end":3692},{"line":3675,"column":145,"offset":3691},6865,{"line":3675,"column":99,"offset":3693},6872,{"type":31,"tagName":45,"properties":3695,"children":3696,"position":3698},{},[3697],{"type":27,"value":3634},{"start":3699,"end":3700},{"line":3675,"column":99,"offset":3693},{"line":3675,"column":291,"offset":3701},6875,{"type":27,"value":3322,"position":3703},{"start":3704,"end":3705},{"line":3675,"column":291,"offset":3701},{"line":3675,"column":186,"offset":3706},6877,{"type":31,"tagName":45,"properties":3708,"children":3709,"position":3712},{},[3710],{"type":27,"value":3711},"12",{"start":3713,"end":3714},{"line":3675,"column":186,"offset":3706},{"line":3675,"column":3311,"offset":3715},6881,{"start":3717,"end":3718},{"line":3675,"column":129,"offset":3683},{"line":3675,"column":267,"offset":3719},6883,{"start":3721,"end":3722},{"line":3675,"column":21,"offset":3681},{"line":3675,"column":267,"offset":3719},{"type":31,"tagName":3234,"properties":3724,"children":3725,"position":3759},{},[3726,3745],{"type":31,"tagName":3281,"properties":3727,"children":3728,"position":3740},{},[3729],{"type":31,"tagName":45,"properties":3730,"children":3731,"position":3734},{},[3732],{"type":27,"value":3733},"civilYear",{"start":3735,"end":3738},{"line":3736,"column":96,"offset":3737},168,6886,{"line":3736,"column":125,"offset":3739},6897,{"start":3741,"end":3743},{"line":3736,"column":21,"offset":3742},6884,{"line":3736,"column":3299,"offset":3744},6898,{"type":31,"tagName":3281,"properties":3746,"children":3747,"position":3755},{},[3748],{"type":27,"value":3749,"position":3750},"Four-digit year",{"start":3751,"end":3753},{"line":3736,"column":3308,"offset":3752},6900,{"line":3736,"column":111,"offset":3754},6915,{"start":3756,"end":3757},{"line":3736,"column":3299,"offset":3744},{"line":3736,"column":3311,"offset":3758},6917,{"start":3760,"end":3761},{"line":3736,"column":21,"offset":3742},{"line":3736,"column":3311,"offset":3758},{"start":3763,"end":3764},{"line":3291,"column":21,"offset":3297},{"line":3736,"column":3311,"offset":3758},{"start":3766,"end":3767},{"line":40,"column":21,"offset":3250},{"line":3736,"column":3311,"offset":3758},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3770,"children":3771,"position":3813},{},[3772,3786,3793,3805],{"type":31,"tagName":45,"properties":3773,"children":3774,"position":3783},{},[3775],{"type":27,"value":3776,"position":3777},"civilFromDays",{"start":3778,"end":3781},{"line":3779,"column":21,"offset":3780},170,6919,{"line":3779,"column":129,"offset":3782},6934,{"start":3784,"end":3785},{"line":3779,"column":21,"offset":3780},{"line":3779,"column":129,"offset":3782},{"type":27,"value":3787,"position":3788}," is the standard days-to-civil algorithm in integer math,\nexact for every date from 1970 onward; it writes three module-level\nvariables because a function returns one value. Prefer ",{"start":3789,"end":3790},{"line":3779,"column":129,"offset":3782},{"line":3791,"column":3468,"offset":3792},172,7115,{"type":31,"tagName":45,"properties":3794,"children":3795,"position":3802},{},[3796],{"type":27,"value":3797,"position":3798},"dayIndex(t)",{"start":3799,"end":3800},{"line":3791,"column":3468,"offset":3792},{"line":3791,"column":3628,"offset":3801},7128,{"start":3803,"end":3804},{"line":3791,"column":3468,"offset":3792},{"line":3791,"column":3628,"offset":3801},{"type":27,"value":3806,"position":3807}," for\n\"is this a new day\" tests; the civil fields are for calendar rules and\nlabels.",{"start":3808,"end":3809},{"line":3791,"column":3628,"offset":3801},{"line":3810,"column":3811,"offset":3812},174,8,7211,{"start":3814,"end":3815},{"line":3779,"column":21,"offset":3780},{"line":3810,"column":3811,"offset":3812},{"type":27,"value":28},{"type":31,"tagName":3208,"properties":3818,"children":3819,"position":3828},{},[3820],{"type":27,"value":3821,"position":3822},"Timestamps",{"start":3823,"end":3826},{"line":3824,"column":39,"offset":3825},176,7217,{"line":3824,"column":3299,"offset":3827},7227,{"start":3829,"end":3831},{"line":3824,"column":21,"offset":3830},7213,{"line":3824,"column":3299,"offset":3827},{"type":27,"value":3833},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":3226,"properties":3835,"children":3836,"position":3986},{},[3837,3880],{"type":31,"tagName":3230,"properties":3838,"children":3839,"position":3877},{},[3840],{"type":31,"tagName":3234,"properties":3841,"children":3842,"position":3874},{},[3843,3860],{"type":31,"tagName":3238,"properties":3844,"children":3845,"position":3855},{},[3846],{"type":27,"value":3847,"position":3848},"Need",{"start":3849,"end":3852},{"line":3850,"column":96,"offset":3851},178,7231,{"line":3850,"column":3853,"offset":3854},7,7235,{"start":3856,"end":3858},{"line":3850,"column":21,"offset":3857},7229,{"line":3850,"column":3811,"offset":3859},7236,{"type":31,"tagName":3238,"properties":3861,"children":3862,"position":3870},{},[3863],{"type":31,"tagName":166,"properties":3864,"children":3867},{"className":3865},[3866],"brand-lc",[3868],{"type":27,"value":3869},"wrun",{"start":3871,"end":3872},{"line":3850,"column":3811,"offset":3859},{"line":3850,"column":129,"offset":3873},7244,{"start":3875,"end":3876},{"line":3850,"column":21,"offset":3857},{"line":3850,"column":129,"offset":3873},{"start":3878,"end":3879},{"line":3850,"column":21,"offset":3857},{"line":3850,"column":129,"offset":3873},{"type":31,"tagName":3274,"properties":3881,"children":3882,"position":3983},{},[3883,3945],{"type":31,"tagName":3234,"properties":3884,"children":3885,"position":3942},{},[3886,3902],{"type":31,"tagName":3281,"properties":3887,"children":3888,"position":3897},{},[3889],{"type":27,"value":3890,"position":3891},"the bar's open as a timestamp",{"start":3892,"end":3895},{"line":3893,"column":96,"offset":3894},180,7261,{"line":3893,"column":111,"offset":3896},7290,{"start":3898,"end":3900},{"line":3893,"column":21,"offset":3899},7259,{"line":3893,"column":315,"offset":3901},7291,{"type":31,"tagName":3281,"properties":3903,"children":3904,"position":3937},{},[3905,3914,3920,3930],{"type":31,"tagName":45,"properties":3906,"children":3907,"position":3909},{},[3908],{"type":27,"value":231},{"start":3910,"end":3912},{"line":3893,"column":3092,"offset":3911},7293,{"line":3893,"column":414,"offset":3913},7305,{"type":27,"value":3915,"position":3916}," (seconds); ",{"start":3917,"end":3918},{"line":3893,"column":414,"offset":3913},{"line":3893,"column":42,"offset":3919},7317,{"type":31,"tagName":45,"properties":3921,"children":3922,"position":3925},{},[3923],{"type":27,"value":3924},"i64(bar.time()) * 1000",{"start":3926,"end":3927},{"line":3893,"column":42,"offset":3919},{"line":3893,"column":3928,"offset":3929},83,7341,{"type":27,"value":3931,"position":3932}," for milliseconds",{"start":3933,"end":3934},{"line":3893,"column":3928,"offset":3929},{"line":3893,"column":3935,"offset":3936},100,7358,{"start":3938,"end":3939},{"line":3893,"column":315,"offset":3901},{"line":3893,"column":3940,"offset":3941},102,7360,{"start":3943,"end":3944},{"line":3893,"column":21,"offset":3899},{"line":3893,"column":3940,"offset":3941},{"type":31,"tagName":3234,"properties":3946,"children":3947,"position":3980},{},[3948,3964],{"type":31,"tagName":3281,"properties":3949,"children":3950,"position":3959},{},[3951],{"type":27,"value":3952,"position":3953},"the wall clock",{"start":3954,"end":3957},{"line":3955,"column":96,"offset":3956},181,7363,{"line":3955,"column":3308,"offset":3958},7377,{"start":3960,"end":3962},{"line":3955,"column":21,"offset":3961},7361,{"line":3955,"column":145,"offset":3963},7378,{"type":31,"tagName":3281,"properties":3965,"children":3966,"position":3975},{},[3967],{"type":27,"value":3968,"position":3969},"none: no wall clock reaches the module. The newest bar is the live edge, and a run-level renderer or drawing evaluates it on its own",{"start":3970,"end":3972},{"line":3955,"column":3524,"offset":3971},7380,{"line":3955,"column":3973,"offset":3974},152,7512,{"start":3976,"end":3977},{"line":3955,"column":145,"offset":3963},{"line":3955,"column":3978,"offset":3979},154,7514,{"start":3981,"end":3982},{"line":3955,"column":21,"offset":3961},{"line":3955,"column":3978,"offset":3979},{"start":3984,"end":3985},{"line":3893,"column":21,"offset":3899},{"line":3955,"column":3978,"offset":3979},{"start":3987,"end":3988},{"line":3850,"column":21,"offset":3857},{"line":3955,"column":3978,"offset":3979},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3991,"children":3992,"position":4020},{},[3993,4002,4013],{"type":27,"value":3994,"position":3995},"The bar's interval is the difference between consecutive open times: keep\nthe previous ",{"start":3996,"end":3999},{"line":3997,"column":21,"offset":3998},183,7516,{"line":4000,"column":125,"offset":4001},184,7603,{"type":31,"tagName":45,"properties":4003,"children":4004,"position":4010},{},[4005],{"type":27,"value":231,"position":4006},{"start":4007,"end":4008},{"line":4000,"column":125,"offset":4001},{"line":4000,"column":209,"offset":4009},7615,{"start":4011,"end":4012},{"line":4000,"column":125,"offset":4001},{"line":4000,"column":209,"offset":4009},{"type":27,"value":4014,"position":4015}," in a module-level variable and subtract.",{"start":4016,"end":4017},{"line":4000,"column":209,"offset":4009},{"line":4000,"column":4018,"offset":4019},67,7656,{"start":4021,"end":4022},{"line":3997,"column":21,"offset":3998},{"line":4000,"column":4018,"offset":4019},{"type":27,"value":28},{"type":31,"tagName":3208,"properties":4025,"children":4026,"position":4035},{},[4027],{"type":27,"value":4028,"position":4029},"Sessions",{"start":4030,"end":4033},{"line":4031,"column":39,"offset":4032},186,7662,{"line":4031,"column":10,"offset":4034},7670,{"start":4036,"end":4038},{"line":4031,"column":21,"offset":4037},7658,{"line":4031,"column":10,"offset":4034},{"type":27,"value":4040},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":3226,"properties":4042,"children":4043,"position":4391},{},[4044,4084],{"type":31,"tagName":3230,"properties":4045,"children":4046,"position":4081},{},[4047],{"type":31,"tagName":3234,"properties":4048,"children":4049,"position":4078},{},[4050,4065],{"type":31,"tagName":3238,"properties":4051,"children":4052,"position":4060},{},[4053],{"type":27,"value":3242,"position":4054},{"start":4055,"end":4058},{"line":4056,"column":96,"offset":4057},188,7674,{"line":4056,"column":63,"offset":4059},7680,{"start":4061,"end":4063},{"line":4056,"column":21,"offset":4062},7672,{"line":4056,"column":3217,"offset":4064},7681,{"type":31,"tagName":3238,"properties":4066,"children":4067,"position":4074},{},[4068],{"type":27,"value":3257,"position":4069},{"start":4070,"end":4072},{"line":4056,"column":110,"offset":4071},7683,{"line":4056,"column":318,"offset":4073},7690,{"start":4075,"end":4076},{"line":4056,"column":3217,"offset":4064},{"line":4056,"column":324,"offset":4077},7692,{"start":4079,"end":4080},{"line":4056,"column":21,"offset":4062},{"line":4056,"column":324,"offset":4077},{"start":4082,"end":4083},{"line":4056,"column":21,"offset":4062},{"line":4056,"column":324,"offset":4077},{"type":31,"tagName":3274,"properties":4085,"children":4086,"position":4388},{},[4087,4152,4213,4272],{"type":31,"tagName":3234,"properties":4088,"children":4089,"position":4149},{},[4090,4124],{"type":31,"tagName":3281,"properties":4091,"children":4092,"position":4119},{},[4093],{"type":31,"tagName":45,"properties":4094,"children":4095,"position":4113},{},[4096,4098,4101,4103,4106,4108,4111],{"type":27,"value":4097},"is",{"type":31,"tagName":3585,"properties":4099,"children":4100},{},[],{"type":27,"value":4102},"Asian",{"type":31,"tagName":3585,"properties":4104,"children":4105},{},[],{"type":27,"value":4107},"Session(",{"type":31,"tagName":3585,"properties":4109,"children":4110},{},[],{"type":27,"value":4112},"h)",{"start":4114,"end":4117},{"line":4115,"column":96,"offset":4116},190,7709,{"line":4115,"column":501,"offset":4118},7728,{"start":4120,"end":4122},{"line":4115,"column":21,"offset":4121},7707,{"line":4115,"column":382,"offset":4123},7729,{"type":31,"tagName":3281,"properties":4125,"children":4126,"position":4144},{},[4127,4137],{"type":31,"tagName":45,"properties":4128,"children":4129,"position":4132},{},[4130],{"type":27,"value":4131},"true",{"start":4133,"end":4135},{"line":4115,"column":99,"offset":4134},7731,{"line":4115,"column":548,"offset":4136},7737,{"type":27,"value":4138,"position":4139}," in the Asian session (00:00 to 08:00 UTC in the example)",{"start":4140,"end":4141},{"line":4115,"column":548,"offset":4136},{"line":4115,"column":4142,"offset":4143},88,7794,{"start":4145,"end":4146},{"line":4115,"column":382,"offset":4123},{"line":4115,"column":4147,"offset":4148},90,7796,{"start":4150,"end":4151},{"line":4115,"column":21,"offset":4121},{"line":4115,"column":4147,"offset":4148},{"type":31,"tagName":3234,"properties":4153,"children":4154,"position":4210},{},[4155,4186],{"type":31,"tagName":3281,"properties":4156,"children":4157,"position":4181},{},[4158],{"type":31,"tagName":45,"properties":4159,"children":4160,"position":4175},{},[4161,4162,4165,4167,4170,4171,4174],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":4163,"children":4164},{},[],{"type":27,"value":4166},"European",{"type":31,"tagName":3585,"properties":4168,"children":4169},{},[],{"type":27,"value":4107},{"type":31,"tagName":3585,"properties":4172,"children":4173},{},[],{"type":27,"value":4112},{"start":4176,"end":4179},{"line":4177,"column":96,"offset":4178},191,7799,{"line":4177,"column":99,"offset":4180},7821,{"start":4182,"end":4184},{"line":4177,"column":21,"offset":4183},7797,{"line":4177,"column":209,"offset":4185},7822,{"type":31,"tagName":3281,"properties":4187,"children":4188,"position":4205},{},[4189,4198],{"type":31,"tagName":45,"properties":4190,"children":4191,"position":4193},{},[4192],{"type":27,"value":4131},{"start":4194,"end":4196},{"line":4177,"column":291,"offset":4195},7824,{"line":4177,"column":3311,"offset":4197},7830,{"type":27,"value":4199,"position":4200}," in the European session (07:00 to 16:00 UTC)",{"start":4201,"end":4202},{"line":4177,"column":3311,"offset":4197},{"line":4177,"column":4203,"offset":4204},79,7875,{"start":4206,"end":4207},{"line":4177,"column":209,"offset":4185},{"line":4177,"column":4208,"offset":4209},81,7877,{"start":4211,"end":4212},{"line":4177,"column":21,"offset":4183},{"line":4177,"column":4208,"offset":4209},{"type":31,"tagName":3234,"properties":4214,"children":4215,"position":4269},{},[4216,4247],{"type":31,"tagName":3281,"properties":4217,"children":4218,"position":4242},{},[4219],{"type":31,"tagName":45,"properties":4220,"children":4221,"position":4236},{},[4222,4223,4226,4228,4231,4232,4235],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":4224,"children":4225},{},[],{"type":27,"value":4227},"American",{"type":31,"tagName":3585,"properties":4229,"children":4230},{},[],{"type":27,"value":4107},{"type":31,"tagName":3585,"properties":4233,"children":4234},{},[],{"type":27,"value":4112},{"start":4237,"end":4240},{"line":4238,"column":96,"offset":4239},192,7880,{"line":4238,"column":99,"offset":4241},7902,{"start":4243,"end":4245},{"line":4238,"column":21,"offset":4244},7878,{"line":4238,"column":209,"offset":4246},7903,{"type":31,"tagName":3281,"properties":4248,"children":4249,"position":4265},{},[4250,4259],{"type":31,"tagName":45,"properties":4251,"children":4252,"position":4254},{},[4253],{"type":27,"value":4131},{"start":4255,"end":4257},{"line":4238,"column":291,"offset":4256},7905,{"line":4238,"column":3311,"offset":4258},7911,{"type":27,"value":4260,"position":4261}," in the American session (13:00 to 21:00 UTC)",{"start":4262,"end":4263},{"line":4238,"column":3311,"offset":4258},{"line":4238,"column":4203,"offset":4264},7956,{"start":4266,"end":4267},{"line":4238,"column":209,"offset":4246},{"line":4238,"column":4208,"offset":4268},7958,{"start":4270,"end":4271},{"line":4238,"column":21,"offset":4244},{"line":4238,"column":4208,"offset":4268},{"type":31,"tagName":3234,"properties":4273,"children":4274,"position":4385},{},[4275,4302],{"type":31,"tagName":3281,"properties":4276,"children":4277,"position":4297},{},[4278],{"type":31,"tagName":45,"properties":4279,"children":4280,"position":4291},{},[4281,4283,4286,4287,4290],{"type":27,"value":4282},"current",{"type":31,"tagName":3585,"properties":4284,"children":4285},{},[],{"type":27,"value":4107},{"type":31,"tagName":3585,"properties":4288,"children":4289},{},[],{"type":27,"value":4112},{"start":4292,"end":4295},{"line":4293,"column":96,"offset":4294},193,7961,{"line":4293,"column":501,"offset":4296},7980,{"start":4298,"end":4300},{"line":4293,"column":21,"offset":4299},7959,{"line":4293,"column":382,"offset":4301},7981,{"type":31,"tagName":3281,"properties":4303,"children":4304,"position":4380},{},[4305,4314,4320,4328,4334,4342,4347,4356,4363,4373],{"type":31,"tagName":45,"properties":4306,"children":4307,"position":4309},{},[4308],{"type":27,"value":158},{"start":4310,"end":4312},{"line":4293,"column":99,"offset":4311},7983,{"line":4293,"column":291,"offset":4313},7986,{"type":27,"value":4315,"position":4316}," off-hours, ",{"start":4317,"end":4318},{"line":4293,"column":291,"offset":4313},{"line":4293,"column":225,"offset":4319},7998,{"type":31,"tagName":45,"properties":4321,"children":4322,"position":4324},{},[4323],{"type":27,"value":3634},{"start":4325,"end":4326},{"line":4293,"column":225,"offset":4319},{"line":4293,"column":411,"offset":4327},8001,{"type":27,"value":680,"position":4329},{"start":4330,"end":4331},{"line":4293,"column":411,"offset":4327},{"line":4293,"column":4332,"offset":4333},45,8003,{"type":31,"tagName":45,"properties":4335,"children":4336,"position":4338},{},[4337],{"type":27,"value":655},{"start":4339,"end":4340},{"line":4293,"column":4332,"offset":4333},{"line":4293,"column":434,"offset":4341},8006,{"type":27,"value":680,"position":4343},{"start":4344,"end":4345},{"line":4293,"column":434,"offset":4341},{"line":4293,"column":415,"offset":4346},8008,{"type":31,"tagName":45,"properties":4348,"children":4349,"position":4352},{},[4350],{"type":27,"value":4351},"3",{"start":4353,"end":4354},{"line":4293,"column":415,"offset":4346},{"line":4293,"column":511,"offset":4355},8011,{"type":27,"value":4357,"position":4358},", as a number an output or a ",{"start":4359,"end":4360},{"line":4293,"column":511,"offset":4355},{"line":4293,"column":4361,"offset":4362},82,8040,{"type":31,"tagName":45,"properties":4364,"children":4365,"position":4368},{},[4366],{"type":27,"value":4367},"color_by",{"start":4369,"end":4370},{"line":4293,"column":4361,"offset":4362},{"line":4293,"column":4371,"offset":4372},92,8050,{"type":27,"value":4374,"position":4375}," ladder can carry",{"start":4376,"end":4377},{"line":4293,"column":4371,"offset":4372},{"line":4293,"column":4378,"offset":4379},109,8067,{"start":4381,"end":4382},{"line":4293,"column":382,"offset":4301},{"line":4293,"column":4383,"offset":4384},111,8069,{"start":4386,"end":4387},{"line":4293,"column":21,"offset":4299},{"line":4293,"column":4383,"offset":4384},{"start":4389,"end":4390},{"line":4115,"column":21,"offset":4121},{"line":4293,"column":4383,"offset":4384},{"start":4392,"end":4393},{"line":4056,"column":21,"offset":4062},{"line":4293,"column":4383,"offset":4384},{"type":27,"value":28},{"type":31,"tagName":32,"properties":4396,"children":4397,"position":4425},{},[4398,4407,4419],{"type":27,"value":4399,"position":4400},"The boundaries are ordinary comparisons in your file, so they are yours:\nan indicator states them where you can read and change them. Sessions\noverlap (London and New York share the\n13:00 to 16:00 UTC hours), which is why the predicates are independent and\n",{"start":4401,"end":4404},{"line":4402,"column":21,"offset":4403},195,8071,{"line":4405,"column":21,"offset":4406},199,8328,{"type":31,"tagName":45,"properties":4408,"children":4409,"position":4416},{},[4410],{"type":27,"value":4411,"position":4412},"currentSession",{"start":4413,"end":4414},{"line":4405,"column":21,"offset":4406},{"line":4405,"column":3308,"offset":4415},8344,{"start":4417,"end":4418},{"line":4405,"column":21,"offset":4406},{"line":4405,"column":3308,"offset":4415},{"type":27,"value":4420,"position":4421}," picks one by priority.",{"start":4422,"end":4423},{"line":4405,"column":3308,"offset":4415},{"line":4405,"column":225,"offset":4424},8367,{"start":4426,"end":4427},{"line":4402,"column":21,"offset":4403},{"line":4405,"column":225,"offset":4424},{"type":27,"value":28},{"type":31,"tagName":118,"properties":4430,"children":4431,"position":4440},{},[4432],{"type":27,"value":4433,"position":4434},"The market's own calendar",{"start":4435,"end":4438},{"line":4436,"column":126,"offset":4437},201,8372,{"line":4436,"column":266,"offset":4439},8397,{"start":4441,"end":4443},{"line":4436,"column":21,"offset":4442},8369,{"line":4436,"column":266,"offset":4439},{"type":27,"value":28},{"type":31,"tagName":32,"properties":4446,"children":4447,"position":4474},{},[4448,4456,4467],{"type":27,"value":4449,"position":4450},"The integer math above answers questions in UTC. Two more ",{"start":4451,"end":4454},{"line":4452,"column":21,"offset":4453},203,8399,{"line":4452,"column":42,"offset":4455},8457,{"type":31,"tagName":45,"properties":4457,"children":4458,"position":4464},{},[4459],{"type":27,"value":49,"position":4460},{"start":4461,"end":4462},{"line":4452,"column":42,"offset":4455},{"line":4452,"column":53,"offset":4463},8463,{"start":4465,"end":4466},{"line":4452,"column":42,"offset":4455},{"line":4452,"column":53,"offset":4463},{"type":27,"value":4468,"position":4469}," fields\ncarry the market's own calendar, so an indicator can ask what the venue\nsays about a bar without knowing its schedule:",{"start":4470,"end":4471},{"line":4452,"column":53,"offset":4463},{"line":4472,"column":414,"offset":4473},205,8589,{"start":4475,"end":4476},{"line":4452,"column":21,"offset":4453},{"line":4472,"column":414,"offset":4473},{"type":27,"value":28},{"type":14,"children":4479},[4480],{"type":31,"tagName":154,"properties":4481,"children":4482,"data":-1},{"class":156,"style":157,"tabindex":158},[4483],{"type":31,"tagName":45,"properties":4484,"children":4486},{"class":4485},[163],[4487,4495,4496],{"type":31,"tagName":166,"properties":4488,"children":4489},{"class":168},[4490],{"type":31,"tagName":166,"properties":4491,"children":4492},{},[4493],{"type":27,"value":4494},"input(\"day\", time.trade_date);   // the bar's trade date: epoch seconds at 00:00 UTC of that date",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4497,"children":4498},{"class":168},[4499],{"type":31,"tagName":166,"properties":4500,"children":4501},{},[4502],{"type":27,"value":4503},"input(\"phase\", time.session);    // 1 regular, 2 pre-market, 3 after-hours, 0 closed",{"type":27,"value":28},{"type":31,"tagName":32,"properties":4506,"children":4507,"position":4575},{},[4508,4517,4528,4535,4546,4553,4569],{"type":27,"value":4509,"position":4510},"The trade date is the exchange's: on CME futures it starts at the 17:00\nChicago open, so an evening bar already belongs to the next date; on US\nstocks it is the New York date; on markets without sessions (crypto,\nforex, HIP-3, Polymarket) it is the UTC date and every bar reads ",{"start":4511,"end":4514},{"line":4512,"column":21,"offset":4513},212,8787,{"line":4515,"column":246,"offset":4516},215,9065,{"type":31,"tagName":45,"properties":4518,"children":4519,"position":4525},{},[4520],{"type":27,"value":3634,"position":4521},{"start":4522,"end":4523},{"line":4515,"column":246,"offset":4516},{"line":4515,"column":3628,"offset":4524},9068,{"start":4526,"end":4527},{"line":4515,"column":246,"offset":4516},{"line":4515,"column":3628,"offset":4524},{"type":27,"value":4529,"position":4530},",\nregular. On a chart of one day or longer every bar takes its own stamp's\ndate and reads ",{"start":4531,"end":4532},{"line":4515,"column":3628,"offset":4524},{"line":4533,"column":129,"offset":4534},217,9158,{"type":31,"tagName":45,"properties":4536,"children":4537,"position":4543},{},[4538],{"type":27,"value":3634,"position":4539},{"start":4540,"end":4541},{"line":4533,"column":129,"offset":4534},{"line":4533,"column":318,"offset":4542},9161,{"start":4544,"end":4545},{"line":4533,"column":129,"offset":4534},{"line":4533,"column":318,"offset":4542},{"type":27,"value":4547,"position":4548}," on every market, since the chart stamps daily, weekly\nand monthly bars at 00:00 UTC of their trade date. Both are facts of the\nmarket, the bar and its interval alone, so switching the chart to extended\nhours never changes them (",{"start":4549,"end":4550},{"line":4533,"column":318,"offset":4542},{"line":4551,"column":245,"offset":4552},220,9390,{"type":31,"tagName":88,"properties":4554,"children":4556,"position":4564},{"href":4555},"data-sources.md",[4557],{"type":27,"value":4558,"position":4559},"Data sources",{"start":4560,"end":4562},{"line":4551,"column":291,"offset":4561},9391,{"line":4551,"column":225,"offset":4563},9403,{"start":4565,"end":4566},{"line":4551,"column":245,"offset":4552},{"line":4551,"column":4567,"offset":4568},58,9421,{"type":27,"value":389,"position":4570},{"start":4571,"end":4572},{"line":4551,"column":4567,"offset":4568},{"line":4551,"column":4573,"offset":4574},60,9423,{"start":4576,"end":4577},{"line":4512,"column":21,"offset":4513},{"line":4551,"column":4573,"offset":4574},{"type":27,"value":28},{"type":31,"tagName":32,"properties":4580,"children":4581,"position":4657},{},[4582,4596,4602,4613,4620,4632,4638,4651],{"type":31,"tagName":45,"properties":4583,"children":4584,"position":4593},{},[4585],{"type":27,"value":4586,"position":4587},"MarketSession",{"start":4588,"end":4591},{"line":4589,"column":21,"offset":4590},222,9425,{"line":4589,"column":129,"offset":4592},9440,{"start":4594,"end":4595},{"line":4589,"column":21,"offset":4590},{"line":4589,"column":129,"offset":4592},{"type":27,"value":4597,"position":4598}," from ",{"start":4599,"end":4600},{"line":4589,"column":129,"offset":4592},{"line":4589,"column":501,"offset":4601},9446,{"type":31,"tagName":45,"properties":4603,"children":4604,"position":4610},{},[4605],{"type":27,"value":70,"position":4606},{"start":4607,"end":4608},{"line":4589,"column":501,"offset":4601},{"line":4589,"column":3092,"offset":4609},9459,{"start":4611,"end":4612},{"line":4589,"column":501,"offset":4601},{"line":4589,"column":3092,"offset":4609},{"type":27,"value":4614,"position":4615}," folds the two facts once per bar and\nanswers the checks a Pine script reads from ",{"start":4616,"end":4617},{"line":4589,"column":3092,"offset":4609},{"line":4618,"column":4332,"offset":4619},223,9541,{"type":31,"tagName":45,"properties":4621,"children":4622,"position":4629},{},[4623],{"type":27,"value":4624,"position":4625},"session.*",{"start":4626,"end":4627},{"line":4618,"column":4332,"offset":4619},{"line":4618,"column":3468,"offset":4628},9552,{"start":4630,"end":4631},{"line":4618,"column":4332,"offset":4619},{"line":4618,"column":3468,"offset":4628},{"type":27,"value":4633,"position":4634},"\n(",{"start":4635,"end":4636},{"line":4618,"column":3468,"offset":4628},{"line":54,"column":85,"offset":4637},9554,{"type":31,"tagName":88,"properties":4639,"children":4640,"position":4647},{"href":90},[4641],{"type":27,"value":93,"position":4642},{"start":4643,"end":4645},{"line":54,"column":96,"offset":4644},9555,{"line":54,"column":99,"offset":4646},9577,{"start":4648,"end":4649},{"line":54,"column":85,"offset":4637},{"line":54,"column":53,"offset":4650},9617,{"type":27,"value":4652,"position":4653},"):",{"start":4654,"end":4655},{"line":54,"column":53,"offset":4650},{"line":54,"column":4018,"offset":4656},9619,{"start":4658,"end":4659},{"line":4589,"column":21,"offset":4590},{"line":54,"column":4018,"offset":4656},{"type":27,"value":28},{"type":14,"children":4662},[4663],{"type":31,"tagName":154,"properties":4664,"children":4665,"data":-1},{"class":156,"style":157,"tabindex":158},[4666],{"type":31,"tagName":45,"properties":4667,"children":4669},{"class":4668},[163],[4670,4678,4679,4687,4688,4696,4697,4705,4706,4714,4715],{"type":31,"tagName":166,"properties":4671,"children":4672},{"class":168},[4673],{"type":31,"tagName":166,"properties":4674,"children":4675},{},[4676],{"type":27,"value":4677},"const ms = new MarketSession();   // made once, at module level or in onStart()",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4680,"children":4681},{"class":168},[4682],{"type":31,"tagName":166,"properties":4683,"children":4684},{},[4685],{"type":27,"value":4686},"// onBar():",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4689,"children":4690},{"class":168},[4691],{"type":31,"tagName":166,"properties":4692,"children":4693},{},[4694],{"type":27,"value":4695},"ms.update(in_day(), in_phase());",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4698,"children":4699},{"class":168},[4700],{"type":31,"tagName":166,"properties":4701,"children":4702},{},[4703],{"type":27,"value":4704},"if (ms.isFirstRegularBar()) {",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4707,"children":4708},{"class":168},[4709],{"type":31,"tagName":166,"properties":4710,"children":4711},{},[4712],{"type":27,"value":4713},"  // the cash open: anchor a VWAP, start the day's range",{"type":27,"value":28},{"type":31,"tagName":166,"properties":4716,"children":4717},{"class":168},[4718],{"type":31,"tagName":166,"properties":4719,"children":4720},{},[4721],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":32,"properties":4724,"children":4725,"position":4790},{},[4726,4734,4746,4753,4765,4771,4783],{"type":27,"value":4727,"position":4728},"Group daily, weekly and monthly views by ",{"start":4729,"end":4732},{"line":4730,"column":21,"offset":4731},235,9848,{"line":4730,"column":3195,"offset":4733},9889,{"type":31,"tagName":45,"properties":4735,"children":4736,"position":4743},{},[4737],{"type":27,"value":4738,"position":4739},"tradingDayKey()",{"start":4740,"end":4741},{"line":4730,"column":3195,"offset":4733},{"line":4730,"column":42,"offset":4742},9906,{"start":4744,"end":4745},{"line":4730,"column":3195,"offset":4733},{"line":4730,"column":42,"offset":4742},{"type":27,"value":4747,"position":4748},",\n",{"start":4749,"end":4750},{"line":4730,"column":42,"offset":4742},{"line":4751,"column":21,"offset":4752},236,9908,{"type":31,"tagName":45,"properties":4754,"children":4755,"position":4762},{},[4756],{"type":27,"value":4757,"position":4758},"tradingWeekKey()",{"start":4759,"end":4760},{"line":4751,"column":21,"offset":4752},{"line":4751,"column":318,"offset":4761},9926,{"start":4763,"end":4764},{"line":4751,"column":21,"offset":4752},{"line":4751,"column":318,"offset":4761},{"type":27,"value":4766,"position":4767}," and ",{"start":4768,"end":4769},{"line":4751,"column":318,"offset":4761},{"line":4751,"column":183,"offset":4770},9931,{"type":31,"tagName":45,"properties":4772,"children":4773,"position":4780},{},[4774],{"type":27,"value":4775,"position":4776},"tradingMonthKey()",{"start":4777,"end":4778},{"line":4751,"column":183,"offset":4770},{"line":4751,"column":411,"offset":4779},9950,{"start":4781,"end":4782},{"line":4751,"column":183,"offset":4770},{"line":4751,"column":411,"offset":4779},{"type":27,"value":4784,"position":4785}," instead of the UTC day index:\non a CME chart the UTC day cuts the evening session off the trade date it\nbelongs to.",{"start":4786,"end":4787},{"line":4751,"column":411,"offset":4779},{"line":4788,"column":110,"offset":4789},238,10066,{"start":4791,"end":4792},{"line":4730,"column":21,"offset":4731},{"line":4788,"column":110,"offset":4789},{"type":27,"value":28},{"type":31,"tagName":3208,"properties":4795,"children":4796,"position":4805},{},[4797],{"type":27,"value":4798,"position":4799},"Pine equivalents",{"start":4800,"end":4803},{"line":4801,"column":39,"offset":4802},240,10072,{"line":4801,"column":324,"offset":4804},10088,{"start":4806,"end":4808},{"line":4801,"column":21,"offset":4807},10068,{"line":4801,"column":324,"offset":4804},{"type":27,"value":3224},{"type":31,"tagName":3226,"properties":4811,"children":4812,"position":5305},{},[4813,4853],{"type":31,"tagName":3230,"properties":4814,"children":4815,"position":4850},{},[4816],{"type":31,"tagName":3234,"properties":4817,"children":4818,"position":4847},{},[4819,4835],{"type":31,"tagName":3238,"properties":4820,"children":4821,"position":4830},{},[4822],{"type":27,"value":4823,"position":4824},"Pine",{"start":4825,"end":4828},{"line":4826,"column":96,"offset":4827},242,10092,{"line":4826,"column":3853,"offset":4829},10096,{"start":4831,"end":4833},{"line":4826,"column":21,"offset":4832},10090,{"line":4826,"column":3811,"offset":4834},10097,{"type":31,"tagName":3238,"properties":4836,"children":4837,"position":4843},{},[4838],{"type":31,"tagName":166,"properties":4839,"children":4841},{"className":4840},[3866],[4842],{"type":27,"value":3869},{"start":4844,"end":4845},{"line":4826,"column":3811,"offset":4834},{"line":4826,"column":129,"offset":4846},10105,{"start":4848,"end":4849},{"line":4826,"column":21,"offset":4832},{"line":4826,"column":129,"offset":4846},{"start":4851,"end":4852},{"line":4826,"column":21,"offset":4832},{"line":4826,"column":129,"offset":4846},{"type":31,"tagName":3274,"properties":4854,"children":4855,"position":5302},{},[4856,4903,4962,5025,5093,5166,5231],{"type":31,"tagName":3234,"properties":4857,"children":4858,"position":4900},{},[4859,4883],{"type":31,"tagName":3281,"properties":4860,"children":4861,"position":4878},{},[4862],{"type":31,"tagName":45,"properties":4863,"children":4864,"position":4872},{},[4865,4867,4870],{"type":27,"value":4866},"session.",{"type":31,"tagName":3585,"properties":4868,"children":4869},{},[],{"type":27,"value":4871},"ismarket",{"start":4873,"end":4876},{"line":4874,"column":96,"offset":4875},244,10122,{"line":4874,"column":324,"offset":4877},10140,{"start":4879,"end":4881},{"line":4874,"column":21,"offset":4880},10120,{"line":4874,"column":501,"offset":4882},10141,{"type":31,"tagName":3281,"properties":4884,"children":4885,"position":4896},{},[4886],{"type":31,"tagName":45,"properties":4887,"children":4888,"position":4891},{},[4889],{"type":27,"value":4890},"ms.isRegular()",{"start":4892,"end":4894},{"line":4874,"column":183,"offset":4893},10143,{"line":4874,"column":225,"offset":4895},10159,{"start":4897,"end":4898},{"line":4874,"column":501,"offset":4882},{"line":4874,"column":3195,"offset":4899},10161,{"start":4901,"end":4902},{"line":4874,"column":21,"offset":4880},{"line":4874,"column":3195,"offset":4899},{"type":31,"tagName":3234,"properties":4904,"children":4905,"position":4959},{},[4906,4929],{"type":31,"tagName":3281,"properties":4907,"children":4908,"position":4924},{},[4909],{"type":31,"tagName":45,"properties":4910,"children":4911,"position":4918},{},[4912,4913,4916],{"type":27,"value":4866},{"type":31,"tagName":3585,"properties":4914,"children":4915},{},[],{"type":27,"value":4917},"ispremarket",{"start":4919,"end":4922},{"line":4920,"column":96,"offset":4921},245,10164,{"line":4920,"column":183,"offset":4923},10185,{"start":4925,"end":4927},{"line":4920,"column":21,"offset":4926},10162,{"line":4920,"column":99,"offset":4928},10186,{"type":31,"tagName":3281,"properties":4930,"children":4931,"position":4955},{},[4932],{"type":31,"tagName":45,"properties":4933,"children":4934,"position":4950},{},[4935,4937,4940,4941,4944,4946,4949],{"type":27,"value":4936},"ms.",{"type":31,"tagName":3585,"properties":4938,"children":4939},{},[],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":4942,"children":4943},{},[],{"type":27,"value":4945},"Premarket(",{"type":31,"tagName":3585,"properties":4947,"children":4948},{},[],{"type":27,"value":1037},{"start":4951,"end":4953},{"line":4920,"column":245,"offset":4952},10188,{"line":4920,"column":4332,"offset":4954},10206,{"start":4956,"end":4957},{"line":4920,"column":99,"offset":4928},{"line":4920,"column":414,"offset":4958},10208,{"start":4960,"end":4961},{"line":4920,"column":21,"offset":4926},{"line":4920,"column":414,"offset":4958},{"type":31,"tagName":3234,"properties":4963,"children":4964,"position":5022},{},[4965,4988],{"type":31,"tagName":3281,"properties":4966,"children":4967,"position":4983},{},[4968],{"type":31,"tagName":45,"properties":4969,"children":4970,"position":4977},{},[4971,4972,4975],{"type":27,"value":4866},{"type":31,"tagName":3585,"properties":4973,"children":4974},{},[],{"type":27,"value":4976},"ispostmarket",{"start":4978,"end":4981},{"line":4979,"column":96,"offset":4980},246,10211,{"line":4979,"column":99,"offset":4982},10233,{"start":4984,"end":4986},{"line":4979,"column":21,"offset":4985},10209,{"line":4979,"column":209,"offset":4987},10234,{"type":31,"tagName":3281,"properties":4989,"children":4990,"position":5018},{},[4991],{"type":31,"tagName":45,"properties":4992,"children":4993,"position":5013},{},[4994,4995,4998,4999,5002,5004,5007,5009,5012],{"type":27,"value":4936},{"type":31,"tagName":3585,"properties":4996,"children":4997},{},[],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":5000,"children":5001},{},[],{"type":27,"value":5003},"After",{"type":31,"tagName":3585,"properties":5005,"children":5006},{},[],{"type":27,"value":5008},"Hours(",{"type":31,"tagName":3585,"properties":5010,"children":5011},{},[],{"type":27,"value":1037},{"start":5014,"end":5016},{"line":4979,"column":291,"offset":5015},10236,{"line":4979,"column":414,"offset":5017},10255,{"start":5019,"end":5020},{"line":4979,"column":209,"offset":4987},{"line":4979,"column":298,"offset":5021},10257,{"start":5023,"end":5024},{"line":4979,"column":21,"offset":4985},{"line":4979,"column":298,"offset":5021},{"type":31,"tagName":3234,"properties":5026,"children":5027,"position":5090},{},[5028,5051],{"type":31,"tagName":3281,"properties":5029,"children":5030,"position":5046},{},[5031],{"type":31,"tagName":45,"properties":5032,"children":5033,"position":5040},{},[5034,5035,5038],{"type":27,"value":4866},{"type":31,"tagName":3585,"properties":5036,"children":5037},{},[],{"type":27,"value":5039},"isfirstbar",{"start":5041,"end":5044},{"line":5042,"column":96,"offset":5043},247,10260,{"line":5042,"column":382,"offset":5045},10280,{"start":5047,"end":5049},{"line":5042,"column":21,"offset":5048},10258,{"line":5042,"column":183,"offset":5050},10281,{"type":31,"tagName":3281,"properties":5052,"children":5053,"position":5086},{},[5054],{"type":31,"tagName":45,"properties":5055,"children":5056,"position":5081},{},[5057,5058,5061,5062,5065,5067,5070,5072,5075,5077,5080],{"type":27,"value":4936},{"type":31,"tagName":3585,"properties":5059,"children":5060},{},[],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":5063,"children":5064},{},[],{"type":27,"value":5066},"New",{"type":31,"tagName":3585,"properties":5068,"children":5069},{},[],{"type":27,"value":5071},"Trading",{"type":31,"tagName":3585,"properties":5073,"children":5074},{},[],{"type":27,"value":5076},"Day(",{"type":31,"tagName":3585,"properties":5078,"children":5079},{},[],{"type":27,"value":1037},{"start":5082,"end":5084},{"line":5042,"column":209,"offset":5083},10283,{"line":5042,"column":434,"offset":5085},10305,{"start":5087,"end":5088},{"line":5042,"column":183,"offset":5050},{"line":5042,"column":415,"offset":5089},10307,{"start":5091,"end":5092},{"line":5042,"column":21,"offset":5048},{"line":5042,"column":415,"offset":5089},{"type":31,"tagName":3234,"properties":5094,"children":5095,"position":5163},{},[5096,5124],{"type":31,"tagName":3281,"properties":5097,"children":5098,"position":5119},{},[5099],{"type":31,"tagName":45,"properties":5100,"children":5101,"position":5113},{},[5102,5103,5106,5108,5111],{"type":27,"value":4866},{"type":31,"tagName":3585,"properties":5104,"children":5105},{},[],{"type":27,"value":5107},"isfirstbar_",{"type":31,"tagName":3585,"properties":5109,"children":5110},{},[],{"type":27,"value":5112},"regular",{"start":5114,"end":5117},{"line":5115,"column":96,"offset":5116},248,10310,{"line":5115,"column":548,"offset":5118},10338,{"start":5120,"end":5122},{"line":5115,"column":21,"offset":5121},10308,{"line":5115,"column":111,"offset":5123},10339,{"type":31,"tagName":3281,"properties":5125,"children":5126,"position":5159},{},[5127],{"type":31,"tagName":45,"properties":5128,"children":5129,"position":5154},{},[5130,5131,5134,5135,5138,5140,5143,5145,5148,5150,5153],{"type":27,"value":4936},{"type":31,"tagName":3585,"properties":5132,"children":5133},{},[],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":5136,"children":5137},{},[],{"type":27,"value":5139},"First",{"type":31,"tagName":3585,"properties":5141,"children":5142},{},[],{"type":27,"value":5144},"Regular",{"type":31,"tagName":3585,"properties":5146,"children":5147},{},[],{"type":27,"value":5149},"Bar(",{"type":31,"tagName":3585,"properties":5151,"children":5152},{},[],{"type":27,"value":1037},{"start":5155,"end":5157},{"line":5115,"column":3311,"offset":5156},10341,{"line":5115,"column":4567,"offset":5158},10365,{"start":5160,"end":5161},{"line":5115,"column":111,"offset":5123},{"line":5115,"column":4573,"offset":5162},10367,{"start":5164,"end":5165},{"line":5115,"column":21,"offset":5121},{"line":5115,"column":4573,"offset":5162},{"type":31,"tagName":3234,"properties":5167,"children":5168,"position":5228},{},[5169,5188],{"type":31,"tagName":3281,"properties":5170,"children":5171,"position":5183},{},[5172],{"type":31,"tagName":45,"properties":5173,"children":5174,"position":5177},{},[5175],{"type":27,"value":5176},"time_tradingday",{"start":5178,"end":5181},{"line":5179,"column":96,"offset":5180},249,10370,{"line":5179,"column":3524,"offset":5182},10387,{"start":5184,"end":5186},{"line":5179,"column":21,"offset":5185},10368,{"line":5179,"column":324,"offset":5187},10388,{"type":31,"tagName":3281,"properties":5189,"children":5190,"position":5223},{},[5191,5201,5207,5216],{"type":31,"tagName":45,"properties":5192,"children":5193,"position":5196},{},[5194],{"type":27,"value":5195},"in_day()",{"start":5197,"end":5199},{"line":5179,"column":382,"offset":5198},10390,{"line":5179,"column":315,"offset":5200},10400,{"type":27,"value":5202,"position":5203}," from a ",{"start":5204,"end":5205},{"line":5179,"column":315,"offset":5200},{"line":5179,"column":370,"offset":5206},10408,{"type":31,"tagName":45,"properties":5208,"children":5209,"position":5212},{},[5210],{"type":27,"value":5211},"time.trade_date",{"start":5213,"end":5214},{"line":5179,"column":370,"offset":5206},{"line":5179,"column":4567,"offset":5215},10425,{"type":27,"value":5217,"position":5218}," input, in seconds (Pine's is milliseconds: multiply by 1000)",{"start":5219,"end":5220},{"line":5179,"column":4567,"offset":5215},{"line":5179,"column":5221,"offset":5222},119,10486,{"start":5224,"end":5225},{"line":5179,"column":324,"offset":5187},{"line":5179,"column":5226,"offset":5227},121,10488,{"start":5229,"end":5230},{"line":5179,"column":21,"offset":5185},{"line":5179,"column":5226,"offset":5227},{"type":31,"tagName":3234,"properties":5232,"children":5233,"position":5299},{},[5234,5263],{"type":31,"tagName":3281,"properties":5235,"children":5236,"position":5258},{},[5237],{"type":31,"tagName":45,"properties":5238,"children":5239,"position":5252},{},[5240,5242,5245,5247,5250],{"type":27,"value":5241},"timeframe.",{"type":31,"tagName":3585,"properties":5243,"children":5244},{},[],{"type":27,"value":5246},"change(",{"type":31,"tagName":3585,"properties":5248,"children":5249},{},[],{"type":27,"value":5251},"\"D\")",{"start":5253,"end":5256},{"line":5254,"column":96,"offset":5255},250,10491,{"line":5254,"column":209,"offset":5257},10514,{"start":5259,"end":5261},{"line":5254,"column":21,"offset":5260},10489,{"line":5254,"column":245,"offset":5262},10515,{"type":31,"tagName":3281,"properties":5264,"children":5265,"position":5295},{},[5266],{"type":31,"tagName":45,"properties":5267,"children":5268,"position":5290},{},[5269,5270,5273,5274,5277,5278,5281,5282,5285,5286,5289],{"type":27,"value":4936},{"type":31,"tagName":3585,"properties":5271,"children":5272},{},[],{"type":27,"value":4097},{"type":31,"tagName":3585,"properties":5275,"children":5276},{},[],{"type":27,"value":5066},{"type":31,"tagName":3585,"properties":5279,"children":5280},{},[],{"type":27,"value":5071},{"type":31,"tagName":3585,"properties":5283,"children":5284},{},[],{"type":27,"value":5076},{"type":31,"tagName":3585,"properties":5287,"children":5288},{},[],{"type":27,"value":1037},{"start":5291,"end":5293},{"line":5254,"column":266,"offset":5292},10517,{"line":5254,"column":64,"offset":5294},10539,{"start":5296,"end":5297},{"line":5254,"column":245,"offset":5262},{"line":5254,"column":511,"offset":5298},10541,{"start":5300,"end":5301},{"line":5254,"column":21,"offset":5260},{"line":5254,"column":511,"offset":5298},{"start":5303,"end":5304},{"line":4874,"column":21,"offset":4880},{"line":5254,"column":511,"offset":5298},{"start":5306,"end":5307},{"line":4826,"column":21,"offset":4832},{"line":5254,"column":511,"offset":5298},{"type":27,"value":28},{"type":31,"tagName":32,"properties":5310,"children":5311,"position":5351},{},[5312,5326,5332,5344],{"type":31,"tagName":45,"properties":5313,"children":5314,"position":5323},{},[5315],{"type":27,"value":5316,"position":5317},"ms.isExtended()",{"start":5318,"end":5321},{"line":5319,"column":21,"offset":5320},252,10543,{"line":5319,"column":145,"offset":5322},10560,{"start":5324,"end":5325},{"line":5319,"column":21,"offset":5320},{"line":5319,"column":145,"offset":5322},{"type":27,"value":5327,"position":5328}," is pre-market or after-hours, and ",{"start":5329,"end":5330},{"line":5319,"column":145,"offset":5322},{"line":5319,"column":511,"offset":5331},10595,{"type":31,"tagName":45,"properties":5333,"children":5334,"position":5341},{},[5335],{"type":27,"value":5336,"position":5337},"ms.isClosed()",{"start":5338,"end":5339},{"line":5319,"column":511,"offset":5331},{"line":5319,"column":449,"offset":5340},10610,{"start":5342,"end":5343},{"line":5319,"column":511,"offset":5331},{"line":5319,"column":449,"offset":5340},{"type":27,"value":5345,"position":5346}," marks\na bar printed while the market is closed. Like every check on this page,\nthey read the bar the module is on: on the first bar the chart loads, a\nsession already running counts as new.",{"start":5347,"end":5348},{"line":5319,"column":449,"offset":5340},{"line":5349,"column":218,"offset":5350},255,10800,{"start":5352,"end":5353},{"line":5319,"column":21,"offset":5320},{"line":5349,"column":218,"offset":5350},{"type":27,"value":28},{"type":31,"tagName":118,"properties":5356,"children":5357,"position":5366},{},[5358],{"type":27,"value":5359,"position":5360},"Common patterns",{"start":5361,"end":5364},{"line":5362,"column":126,"offset":5363},257,10805,{"line":5362,"column":318,"offset":5365},10820,{"start":5367,"end":5369},{"line":5362,"column":21,"offset":5368},10802,{"line":5362,"column":318,"offset":5365},{"type":27,"value":28},{"type":31,"tagName":32,"properties":5372,"children":5373,"position":5414},{},[5374,5390,5397,5409],{"type":31,"tagName":202,"properties":5375,"children":5376,"position":5385},{},[5377],{"type":27,"value":5378,"position":5379},"Only signal during a session.",{"start":5380,"end":5383},{"line":5381,"column":96,"offset":5382},259,10824,{"line":5381,"column":111,"offset":5384},10853,{"start":5386,"end":5388},{"line":5381,"column":21,"offset":5387},10822,{"line":5381,"column":3311,"offset":5389},10855,{"type":27,"value":5391,"position":5392}," Wrap your trigger in a session predicate\nso it can only fire when the market you care about is active. The predicate\nbecomes a data-only gate and the mark's ",{"start":5393,"end":5394},{"line":5381,"column":3311,"offset":5389},{"line":5395,"column":370,"offset":5396},261,11013,{"type":31,"tagName":45,"properties":5398,"children":5399,"position":5406},{},[5400],{"type":27,"value":5401,"position":5402},"shape_where",{"start":5403,"end":5404},{"line":5395,"column":370,"offset":5396},{"line":5395,"column":529,"offset":5405},11026,{"start":5407,"end":5408},{"line":5395,"column":370,"offset":5396},{"line":5395,"column":529,"offset":5405},{"type":27,"value":976,"position":5410},{"start":5411,"end":5412},{"line":5395,"column":529,"offset":5405},{"line":5395,"column":547,"offset":5413},11027,{"start":5415,"end":5416},{"line":5381,"column":21,"offset":5387},{"line":5395,"column":547,"offset":5413},{"type":27,"value":28},{"type":14,"children":5419},[5420],{"type":31,"tagName":154,"properties":5421,"children":5422,"data":-1},{"class":156,"style":157,"tabindex":158},[5423],{"type":31,"tagName":45,"properties":5424,"children":5426},{"class":5425},[163],[5427,5435,5436,5444,5445],{"type":31,"tagName":166,"properties":5428,"children":5429},{"class":168},[5430],{"type":31,"tagName":166,"properties":5431,"children":5432},{},[5433],{"type":27,"value":5434},"const brokeOut = close > prevHigh && isEuropeanSession(hour);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5437,"children":5438},{"class":168},[5439],{"type":31,"tagName":166,"properties":5440,"children":5441},{},[5442],{"type":27,"value":5443},"out_london_break(high);                          // a shape output at the bar's high",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5446,"children":5447},{"class":168},[5448],{"type":31,"tagName":166,"properties":5449,"children":5450},{},[5451],{"type":27,"value":5452},"out_is_london_break(brokeOut ? 1.0 : 0.0);       // its shape_where gate",{"type":27,"value":28},{"type":31,"tagName":32,"properties":5455,"children":5456,"position":5534},{},[5457,5473,5478,5489,5496,5508,5515,5527],{"type":31,"tagName":202,"properties":5458,"children":5459,"position":5468},{},[5460],{"type":27,"value":5461,"position":5462},"Gate by session instead of weekday.",{"start":5463,"end":5466},{"line":5464,"column":96,"offset":5465},269,11264,{"line":5464,"column":340,"offset":5467},11299,{"start":5469,"end":5471},{"line":5464,"column":21,"offset":5470},11262,{"line":5464,"column":225,"offset":5472},11301,{"type":27,"value":221,"position":5474},{"start":5475,"end":5476},{"line":5464,"column":225,"offset":5472},{"line":5464,"column":370,"offset":5477},11302,{"type":31,"tagName":45,"properties":5479,"children":5480,"position":5486},{},[5481],{"type":27,"value":3503,"position":5482},{"start":5483,"end":5484},{"line":5464,"column":370,"offset":5477},{"line":5464,"column":547,"offset":5485},11316,{"start":5487,"end":5488},{"line":5464,"column":370,"offset":5477},{"line":5464,"column":547,"offset":5485},{"type":27,"value":5490,"position":5491}," works here, so both\nare available: ",{"start":5492,"end":5493},{"line":5464,"column":547,"offset":5485},{"line":5494,"column":129,"offset":5495},270,11352,{"type":31,"tagName":45,"properties":5497,"children":5498,"position":5505},{},[5499],{"type":27,"value":5500,"position":5501},"dow >= 1 && dow \u003C= 5",{"start":5502,"end":5503},{"line":5494,"column":129,"offset":5495},{"line":5494,"column":340,"offset":5504},11374,{"start":5506,"end":5507},{"line":5494,"column":129,"offset":5495},{"line":5494,"column":340,"offset":5504},{"type":27,"value":5509,"position":5510}," is weekdays, and\n",{"start":5511,"end":5512},{"line":5494,"column":340,"offset":5504},{"line":5513,"column":21,"offset":5514},271,11392,{"type":31,"tagName":45,"properties":5516,"children":5517,"position":5524},{},[5518],{"type":27,"value":5519,"position":5520},"isEuropeanSession(hour) || isAmericanSession(hour)",{"start":5521,"end":5522},{"line":5513,"column":21,"offset":5514},{"line":5513,"column":511,"offset":5523},11444,{"start":5525,"end":5526},{"line":5513,"column":21,"offset":5514},{"line":5513,"column":511,"offset":5523},{"type":27,"value":5528,"position":5529}," is \"skip the quiet\nAsian hours.\" Combine them freely.",{"start":5530,"end":5531},{"line":5513,"column":511,"offset":5523},{"line":5532,"column":3092,"offset":5533},272,11498,{"start":5535,"end":5536},{"line":5464,"column":21,"offset":5470},{"line":5532,"column":3092,"offset":5533},{"type":27,"value":28},{"type":31,"tagName":32,"properties":5539,"children":5540,"position":5564},{},[5541,5557],{"type":31,"tagName":202,"properties":5542,"children":5543,"position":5552},{},[5544],{"type":27,"value":5545,"position":5546},"Once-per-day reset.",{"start":5547,"end":5550},{"line":5548,"column":96,"offset":5549},274,11502,{"line":5548,"column":501,"offset":5551},11521,{"start":5553,"end":5555},{"line":5548,"column":21,"offset":5554},11500,{"line":5548,"column":183,"offset":5556},11523,{"type":27,"value":5558,"position":5559}," Detect a new day by watching the day index change\nfrom the previous bar, then reset whatever daily accumulator you keep. The\ncookbook's anchored VWAP and key levels are built on exactly this:",{"start":5560,"end":5561},{"line":5548,"column":183,"offset":5556},{"line":5562,"column":4018,"offset":5563},276,11715,{"start":5565,"end":5566},{"line":5548,"column":21,"offset":5554},{"line":5562,"column":4018,"offset":5563},{"type":27,"value":28},{"type":14,"children":5569},[5570],{"type":31,"tagName":154,"properties":5571,"children":5572,"data":-1},{"class":156,"style":157,"tabindex":158},[5573],{"type":31,"tagName":45,"properties":5574,"children":5576},{"class":5575},[163],[5577,5585,5586,5594,5595,5603,5604,5612,5613,5621,5622,5630,5631],{"type":31,"tagName":166,"properties":5578,"children":5579},{"class":168},[5580],{"type":31,"tagName":166,"properties":5581,"children":5582},{},[5583],{"type":27,"value":5584},"const day = dayIndex(t);",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5587,"children":5588},{"class":168},[5589],{"type":31,"tagName":166,"properties":5590,"children":5591},{},[5592],{"type":27,"value":5593},"if (day != dayIdx) {",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5596,"children":5597},{"class":168},[5598],{"type":31,"tagName":166,"properties":5599,"children":5600},{},[5601],{"type":27,"value":5602},"  // the day that just closed is complete; the running sums start over",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5605,"children":5606},{"class":168},[5607],{"type":31,"tagName":166,"properties":5608,"children":5609},{},[5610],{"type":27,"value":5611},"  dayIdx = day;",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5614,"children":5615},{"class":168},[5616],{"type":31,"tagName":166,"properties":5617,"children":5618},{},[5619],{"type":27,"value":5620},"  dayPv = 0.0;",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5623,"children":5624},{"class":168},[5625],{"type":31,"tagName":166,"properties":5626,"children":5627},{},[5628],{"type":27,"value":5629},"  dayVol = 0.0;",{"type":27,"value":28},{"type":31,"tagName":166,"properties":5632,"children":5633},{"class":168},[5634],{"type":31,"tagName":166,"properties":5635,"children":5636},{},[5637],{"type":27,"value":1107},{"type":27,"value":28},{"type":31,"tagName":32,"properties":5640,"children":5641,"position":5741},{},[5642,5650,5662,5669,5681,5687,5698,5705,5716,5723,5735],{"type":27,"value":5643,"position":5644},"The same idea works for a new week (",{"start":5645,"end":5648},{"line":5646,"column":21,"offset":5647},288,11896,{"line":5646,"column":212,"offset":5649},11932,{"type":31,"tagName":45,"properties":5651,"children":5652,"position":5659},{},[5653],{"type":27,"value":5654,"position":5655},"(dayIndex(t) + 3) / 7",{"start":5656,"end":5657},{"line":5646,"column":212,"offset":5649},{"line":5646,"column":4573,"offset":5658},11955,{"start":5660,"end":5661},{"line":5646,"column":212,"offset":5649},{"line":5646,"column":4573,"offset":5658},{"type":27,"value":5663,"position":5664}," changes; the\n",{"start":5665,"end":5666},{"line":5646,"column":4573,"offset":5658},{"line":5667,"column":21,"offset":5668},289,11969,{"type":31,"tagName":45,"properties":5670,"children":5671,"position":5678},{},[5672],{"type":27,"value":5673,"position":5674},"+ 3",{"start":5675,"end":5676},{"line":5667,"column":21,"offset":5668},{"line":5667,"column":442,"offset":5677},11974,{"start":5679,"end":5680},{"line":5667,"column":21,"offset":5668},{"line":5667,"column":442,"offset":5677},{"type":27,"value":5682,"position":5683}," makes weeks start on Monday 00:00 UTC), a new month (",{"start":5684,"end":5685},{"line":5667,"column":442,"offset":5677},{"line":5667,"column":4573,"offset":5686},12028,{"type":31,"tagName":45,"properties":5688,"children":5689,"position":5695},{},[5690],{"type":27,"value":3672,"position":5691},{"start":5692,"end":5693},{"line":5667,"column":4573,"offset":5686},{"line":5667,"column":3131,"offset":5694},12040,{"start":5696,"end":5697},{"line":5667,"column":4573,"offset":5686},{"line":5667,"column":3131,"offset":5694},{"type":27,"value":5699,"position":5700},"\nchanges), or a new year (",{"start":5701,"end":5702},{"line":5667,"column":3131,"offset":5694},{"line":5703,"column":209,"offset":5704},290,12066,{"type":31,"tagName":45,"properties":5706,"children":5707,"position":5713},{},[5708],{"type":27,"value":3733,"position":5709},{"start":5710,"end":5711},{"line":5703,"column":209,"offset":5704},{"line":5703,"column":212,"offset":5712},12077,{"start":5714,"end":5715},{"line":5703,"column":209,"offset":5704},{"line":5703,"column":212,"offset":5712},{"type":27,"value":5717,"position":5718}," changes). Hold the previous index in\na module-level variable so you can compare, and remember that a period\nalready running when the loaded history starts is incomplete: keep its\nvalues ",{"start":5719,"end":5720},{"line":5703,"column":212,"offset":5712},{"line":5721,"column":3811,"offset":5722},293,12264,{"type":31,"tagName":45,"properties":5724,"children":5725,"position":5732},{},[5726],{"type":27,"value":5727,"position":5728},"NaN",{"start":5729,"end":5730},{"line":5721,"column":3811,"offset":5722},{"line":5721,"column":10,"offset":5731},12269,{"start":5733,"end":5734},{"line":5721,"column":3811,"offset":5722},{"line":5721,"column":10,"offset":5731},{"type":27,"value":5736,"position":5737}," until the first boundary passes.",{"start":5738,"end":5739},{"line":5721,"column":10,"offset":5731},{"line":5721,"column":558,"offset":5740},12302,{"start":5742,"end":5743},{"line":5646,"column":21,"offset":5647},{"line":5721,"column":558,"offset":5740},{"type":27,"value":28},{"type":31,"tagName":32,"properties":5746,"children":5747,"position":5862},{},[5748,5764,5771,5782,5789,5801,5808,5820,5827,5839,5845,5857],{"type":31,"tagName":202,"properties":5749,"children":5750,"position":5759},{},[5751],{"type":27,"value":5752,"position":5753},"Weekend gaps.",{"start":5754,"end":5757},{"line":5755,"column":96,"offset":5756},295,12306,{"line":5755,"column":129,"offset":5758},12319,{"start":5760,"end":5762},{"line":5755,"column":21,"offset":5761},12304,{"line":5755,"column":145,"offset":5763},12321,{"type":27,"value":5765,"position":5766}," Crypto trades through; a venue with a session calendar\nsimply has no bars off-hours, and the ",{"start":5767,"end":5768},{"line":5755,"column":145,"offset":5763},{"line":5769,"column":218,"offset":5770},296,12415,{"type":31,"tagName":45,"properties":5772,"children":5773,"position":5779},{},[5774],{"type":27,"value":49,"position":5775},{"start":5776,"end":5777},{"line":5769,"column":218,"offset":5770},{"line":5769,"column":4332,"offset":5778},12421,{"start":5780,"end":5781},{"line":5769,"column":218,"offset":5770},{"line":5769,"column":4332,"offset":5778},{"type":27,"value":5783,"position":5784}," source follows the primary\ngrid, so there is nothing to skip. The bucket fold that turns these day and\nhour indexes into higher-timeframe views is ",{"start":5785,"end":5786},{"line":5769,"column":4332,"offset":5778},{"line":5787,"column":4332,"offset":5788},298,12569,{"type":31,"tagName":45,"properties":5790,"children":5791,"position":5798},{},[5792],{"type":27,"value":5793,"position":5794},"multi-timeframe.md",{"start":5795,"end":5796},{"line":5787,"column":4332,"offset":5788},{"line":5787,"column":53,"offset":5797},12589,{"start":5799,"end":5800},{"line":5787,"column":4332,"offset":5788},{"line":5787,"column":53,"offset":5797},{"type":27,"value":5802,"position":5803},"; the\nper-bar candle tint is ",{"start":5804,"end":5805},{"line":5787,"column":53,"offset":5797},{"line":5806,"column":183,"offset":5807},299,12618,{"type":31,"tagName":45,"properties":5809,"children":5810,"position":5817},{},[5811],{"type":27,"value":5812,"position":5813},"render.barcolor",{"start":5814,"end":5815},{"line":5806,"column":183,"offset":5807},{"line":5806,"column":370,"offset":5816},12635,{"start":5818,"end":5819},{"line":5806,"column":183,"offset":5807},{"line":5806,"column":370,"offset":5816},{"type":27,"value":5821,"position":5822},", and\nthe background tint beside it is ",{"start":5823,"end":5824},{"line":5806,"column":370,"offset":5816},{"line":5825,"column":3311,"offset":5826},300,12674,{"type":31,"tagName":45,"properties":5828,"children":5829,"position":5836},{},[5830],{"type":27,"value":5831,"position":5832},"render.bgcolor",{"start":5833,"end":5834},{"line":5825,"column":3311,"offset":5826},{"line":5825,"column":415,"offset":5835},12690,{"start":5837,"end":5838},{"line":5825,"column":3311,"offset":5826},{"line":5825,"column":415,"offset":5835},{"type":27,"value":4633,"position":5840},{"start":5841,"end":5842},{"line":5825,"column":415,"offset":5835},{"line":5843,"column":85,"offset":5844},301,12692,{"type":31,"tagName":45,"properties":5846,"children":5847,"position":5854},{},[5848],{"type":27,"value":5849,"position":5850},"presentation/plotting.md",{"start":5851,"end":5852},{"line":5843,"column":85,"offset":5844},{"line":5843,"column":291,"offset":5853},12718,{"start":5855,"end":5856},{"line":5843,"column":85,"offset":5844},{"line":5843,"column":291,"offset":5853},{"type":27,"value":389,"position":5858},{"start":5859,"end":5860},{"line":5843,"column":291,"offset":5853},{"line":5843,"column":186,"offset":5861},12720,{"start":5863,"end":5864},{"line":5755,"column":21,"offset":5761},{"line":5843,"column":186,"offset":5861},{"quirksMode":5866},false,{"start":5868,"end":5869},{"line":21,"column":21,"offset":22},{"line":5870,"column":21,"offset":5871},302,12721,1791265183695]